Proceso, modelos y metodos de ingenieria de software

Post on 29-Jun-2015

23.667 views 0 download

Transcript of Proceso, modelos y metodos de ingenieria de software

PROCESOS DEL SOFTWARE

2

Agenda Procesos de software

Definición Fases del proceso de software

Modelos de procesos de software Definición Tipos de modelos

Métodos de la ingeniería de software Definición

Cuadro comparativo

3

Procesos de software

Conjunto de actividades que conducen a la creación de un producto software.

Dependen de personas que toman decisiones y juicios.No existe proceso ideal.

Para los sistemas críticos, se requiere un proceso de desarrollo muy estructurado.

Para sistemas de negocio con requerimientos rápidamente cambiantes, un proceso flexible y ágil probablemente sea más efectivo.

4

Fases de proceso de software

Especificación del software

Se debe definir la funcionalidad del software y las restricciones en su operación.

Es una etapa crítica ya que los errores de esta etapa originan problemas en las demás.

Se produce un documento de requerimientos.

5

Diseño e implementación del software

Se debe producir software que cumpla su especificación.

Proceso de convertir una especificación del sistema en un sistema ejecutable.

Es una descripción de la estructura del software, datos del sistema, interfaces entre los componentes y algoritmos utilizados.

6

Validación del software

Se debe validad el software para asegurarse que hace lo que el cliente desea.

Se utiliza para mostrar que el sistema se ajusta a su especificación.

Deben aprobar un proceso de pruebas.

Etapas: pruebas de componentes, prueba del sistema, prueba de aceptación.

7

Evolución del software

El software debe evolucionar para cubrir las necesidades cambiantes del cliente.

En hardware es muy costoso hacer cambios en su diseño.

En software se pueden hacer cambios en cualquier momento.

El software se cambia continuamente durante su periodo de vida

8

Modelos de procesos de software

Representación abstracta de un proceso del software. Proceso desde perspectiva particular. Proporciona sólo información parcial no son

descripciones definitivas de los procesos del software. Pueden ser extendidos y adaptados para crear procesos

más específicos de ingeniería del software.

Modelos:○ El modelo en cascada○ Desarrollo evolutivo○ Ingeniería del software basada en componentes

9

El modelo en cascada

Las actividades fundamentales del proceso y los representa como fases separadas del proceso

-Análisis y definición de requerimientos .- Restricciones y metas del sistema se definen con los usuarios.

-Diseño del sistema y del software.- Divide los requerimientos en sistemas hardware o software El diseño del software identifica abstracciones y sus relaciones.

-Implementación y prueba de unidades.- Verificar que cada unidades de programas cumpla su especificación.

10

-Integración y prueba del sistema.- Unidades individuales se integran y prueban como un sistema completo, después se entrega al cliente.

-Funcionamiento y mantenimiento.- Se instala y se pone en funcionamiento práctico ,el mantenimiento corrige errores.

Definición de requerimientos

Diseño del sistema y del

software

Implementación y pruebas de

unidades

Integración y prueba del

sistema

Funcionamiento y mantenimiento

11

Desarrollo evolutivo

Se basa en una implementación inicial y refinándola a través de las diferentes versiones Las actividades de especificación, desarrollo y validación se entrelazan.

-Desarrollo exploratorioTrabajar con el cliente para explorar sus requerimientos y entregar un sistema final empieza con las partes que se comprenden mejor.

-Prototipos desechadles-comprender los requerimientos del cliente y desarrollar una definición mejorada.

12

-Desventajas importantes

-El proceso no es visible

Administradores hacen entregas regulares para medir el progreso no es rentable producir documentos cada versión del sistema.

-A menudo los sistemas tienen una estructura deficiente

Cambios continuos corrompen la estructura del software.

13

Ingeniería del software basada en componentes Reutilización de software. Código similares los buscan, los modifican según lo creen

necesario y los incorporan en el sistema. Tiene la ventaja obvia de reducir la cantidad de software a

desarrollarse y así reduce los costos y los riesgos.

las etapas en el proceso de la reutilización : Análisis de componentes Modificación de requerimientos Diseño del sistema con reutilización Desarrollo e integración

14

Análisis de componentes Según la especificación buscan componentes para esta especificación.

Modificación de requerimientosAnalizan requerimientos, los componentes encontrados se modifican.

Diseño del sistema con reutilizaciónSe diseña o se reutiliza un marco de trabajo.

Desarrollo e integraciónEl software que no se puede adquirir externamente se desarrolla.

15

Métodos de ingeniería de software

Estructurado para el desarrollo de software.

Facilita la producción de software de alta calidad de una forma costeable.

No existe un método ideal.

Métodos se basan en la idea de modelos gráficos.

16

Cuadro comparativo

Procesos de software

Dependen de personas que toman decisiones y juicios.

No existe proceso ideal.

Modelos de procesos

Contienen información parcial.

Pueden adaptarse

Métodos de procesos

No existe un método ideal

Basado en el Lenguaje de Modelado Unificado (UML)

17

GRACIAS POR SU ATENCION