Proceso, modelos y metodos de ingenieria de software
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