13

Click here to load reader

Frankestaba.ing (2)

  • Upload
    id-z

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Frankestaba.ing (2)

INSTITUTO UNIVERSITARIO POLITECNICO“SANTIAGO MARIÑO”

EXTENSION PORLAMARCARRERA: ING DE SISTEMAS

CODIGO: #47

INGENIERIA DE

SOFWARE

Bachiller:Frank EstabaC.l:24.597.548

Page 2: Frankestaba.ing (2)

Hace referencia a los programas y toda la información asociada y materiales necesarios para soportar su instalación, operación, reparación y mejora. Para construir un nuevo elemento software se necesita:

¿Qué es el Software?

1. Detallar las especificaciones2. Diseñar la solución3. Codificar el algoritmo4. Probar el programa5. Documentar6. Mantener

. Es lo que se conoce como el ciclo de vida del software.

software

Page 3: Frankestaba.ing (2)

Las economías de todos las países son cada vez más y más

dependientes del software.

Cada vez más y más sistemas están controlados por software

El gasto en desarrollo de software está aumentando su porcentaje

en el PIB de todos las países

Importancia del software

Page 4: Frankestaba.ing (2)

Según B. Bohem la Ingeniería del Software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software“

En esta definición del proceso de desarrollo Software, se introduce como parte inherente del producto a obtener, la perspectiva de las necesidades de usuario a las que debe dar respuesta: “Aquellos en los que las necesidades del usuario se traducen en requerimientos, estos se transforman en diseño y este a su vez se implementa en código que es probado, documentado y certificado

para su uso” G. Booch, I. Jacobson, y J. Rumbaugh

Ingeniería de software

Page 5: Frankestaba.ing (2)

Mejorar la calidad del software

Acortar los tiempos de desarrollo

Aumentar la productividad

Incrementar la reutilización del software

comprender los procesos técnicos del desarrollo.

dar a conocer, los principios más relevantes de dirección y control

de los procesos.

desarrollar de nuevas teorías, métodos y herramientas de apoyo a la

producción del software

Objetivos

Page 6: Frankestaba.ing (2)

diferencia entre Ingeniería del Software y las Ciencias de la Computación:

Las Ciencias de la Computación tienen que ver con teorías y fundamentos

La Ingeniería del Software tiene que ver con los aspectos prácticos del desarrollo del software.

diferencia entre Ingeniería del Software e Ingeniería de Sistemas: La Ingeniería de Sistemas tiene que ver con todos los aspectos del

desarrollo de sistemas basados en computadoras: hardware, software e Ingeniería de procesos.

Ingeniería del Software es una parte de este proceso

Gonzalo León Serrano

Diferencias

Page 7: Frankestaba.ing (2)

desarrollo de un producto software de cierta complejidad es un desafío

intelectual tanto para la organización en la que se desarrolla como para cada

una de las personas que intervienen. Estos dos factores, humano y

organizativo, se imbrican durante el proceso de gestación del producto.

Producto y proceso concentran por tanto la atención en ingeniería de

sistemas de software. Sobre el producto porque en él deben incorporarse los

requisitos que el usuario desea y es el resultado final del desarrollo; sobre el

proceso de desarrollo porque de él depende el que esos requisitos sean

realmente satisfechos en el producto final dentro de las restricciones de

tiempo y coste establecidas.

Gonzalo León Serrano

Perspectivas del proceso de desarrollo de software

Page 8: Frankestaba.ing (2)

Sistemas de Tiempo Real

Sistemas Empotrados

Sistemas de Gestión

Sistemas de Ingeniería y científicos

Sistemas de Inteligencia Artificial

Sistemas de Ordenadores Personales

Gonzalo León Serrano

Clasificación del Software según los campos de aplicación

Page 9: Frankestaba.ing (2)

Deben responder a eventos externos, asegurando un tiempo máximo de respuesta determinado.

La secuencia de ejecución no sólo está determinada por decisiones del sistema, sino también por eventos que ocurren en el mundo real.

Habitualmente requieren interfaces con una gran cantidad de sensores y actuadores.

Deben ser muy confiables. Su respuesta debe ser controlada, incluso en condiciones de sobrecarga

Gonzalo León Serrano

Sistemas Software de Tiempo Real

Page 10: Frankestaba.ing (2)

1. Los límites de tiempo son estrictos.

2. El no cumplimiento puede tener consecuencias más o menos graves.

3. En algunos casos puede ser preferible un trabajo imperfecto pero terminado a tiempo.

4. Ej.: control de un reactor nuclear.

.Sistemas de tiempo real blando (soft real-time)1. Los límites de tiempo son flexibles.

2. Ej.: sistema de reserva de pasajes. Software de Tiempo Real. Sistemas de tiempo real firme (firm real-time)1. Sistemas de tiempo real duro que pueden tolerar pérdidas, si la

probabilidad de ocurrencia de las mismas es baja.

Sistemas de tiempo real duro (hard real-time)

Page 11: Frankestaba.ing (2)

Se integran con un hardware pasando a formar parte del nuevo entorno. Algunas propiedades:

Eficiencia

Gran parte de los sistemas de control deben responder con gran rapidez a los cambios en el sistema controlado.

Interacción con dispositivos físicos

Los sistemas empotrados interaccionan con su entorno mediante diversos tipos de dispositivos que normalmente no son convencionales (teclados, impresoras, ...): convertidores A/D y D/A, pwm, entradas y salidas digitales paralelo y serie, ... (interfases con sensores, actuadores, periféricos especiales, ...)Los componentes del software que controlan el funcionamiento de estos dispositivos (manejadores, "drivers") son, en general, dependientes del sistema concreto

Sistemas software empotrados (embedded systems)

Page 12: Frankestaba.ing (2)

Objetivo General

Familiarizar al estudiante con los principales conceptos del proceso de desarrollo de sistemas para proporcionarle un punto de inicio en el cual fundamentar el futuro desarrollo de conocimientos en áreas y técnicas específicas que le ayuden a llevar a cabo exitosamente proyectos complejos de desarrollo de software.

Objetivos Específicos

Manejar los principales conceptos asociados a las herramientas y técnicas disponibles para organizar, dirigir y controlar el proceso de desarrollo de sistemas de software.

Identificar las principales metodologías disponibles para la recolección y manejo de requerimientos que deben cumplir los sistemas en desarrollo.

Aplicar principios generales de análisis y diseño de sistemas en la creación de productos de trabajo que proporcionen las entradas necesarias para la fase de codificación de aplicaciones.

Conocer las principales herramientas de verificación y validación de software y su utilidad en las diferentes fases del desarrollo de sistemas.

Objetivo general y especifico