Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenidos
Ciclos de vida del sofware y los modelos de procesos El papel de los modelos de procesos en el desarrollo de software Modelos de procesos orientados a objetos
l l l
El modelo unificado de Rational El modelo de Bruegge y Dutoit El modelo basado en la reutilizacin de componentes
Development
Use
Retirement
Maintenance
Process
control
results or products
Anlisis y especificacin de requerimientos Diseo de software Implementacin Pruebas de software Entrega del software Mantenimiento del software
Un proceso de software puede ser definido o diseado como una jerarqua de procesos a diferentes niveles de abstraccin:
P P1 ... Pi.1 Pi ... ... Pi.m Pn Process Level Activity Level Task Level
Mtodo
Modelo(s) de Procesos
Tcnicas
Herramientas
Lenguaje de Modelado
El qu
El cmo
Con qu
Reducir la complejidad del proceso de desarrollo y mantenimiento de software Guiar al grupo de desarrollo y/o mantenimiento
l
Ayudar al lder del proyecto a planificary controlar el proyecto Asegurar la produccin de software de alta calidad Mejorar el proceso de desarrollo de software en una organizacin
El modelo de cascada El modelo V El modelo Cleanroom Modelos basados en prototipos El modelo de espiral El modelo incremental El modelo de versiones El modelo de sincronizacin y estabilizacin El modelo de transformaciones El modelo de Booch El modelo unificado de Rational Los modelos basados en componentes reutilizables
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
El enfoque evolutivo
l l l l l
El enfoque formal
l
Cada ciclo libera un producto al cliente Comienzo (Inception): l Definicin de la idea o visin del producto final, su alcance y su factibilidad Elaboracin: l Planificacin del proyecto, definicin de las caractersticas del sistema y de su arquitectura, asignacin de recursos Construccin: l Desarrollo del sistema Transicin: l Instalacin del sistema y su transicin al ambiente de operacin definitivo
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
Utiliza el lenguaje de modelado unificado (Unified Modeling Language - UML) Procesos principales del modelo:
l l l l l l
Descubrimiento de Requerimientos Anlisis Diseo del sistema Diseo de objetos Implementacin Pruebas
l l
Propsito: l Definir los objetivos del sistema, su contexto y sus requerimientos funcionales y no-funcionales Producto: l Modelo de Especificacin del Sistema Notacin usada: l Diagramas de Casos de Uso en UML Propsito: l Producir un modelo del sistema en trminos de sus objetos, atributos y relaciones Producto: l Modelo de Anlisis Notacin usada: l Diagramas de clases en UML
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
Anlisis
l
l l
l l
Propsito: l Transformar el modelo de anlisis en un modelo que defina la arquitectura del sistema, sus estrategias de implementacin y la plataforma de operacin Producto: l Arquitectura del sistema y metas de diseo Notacin usada: l Diagramas de clase y despliegue en UML Propsito: l Refinar el diseo del sistema y convertirlo en un modelo implementable en la plataforma H/S seleccionada Producto: l Modelo Detallado de Objetos Notacin usada: l Diagramas de clases, actividades, secuencias, objetos y componentes en UML
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
Diseo de objetos
l
l l
Propsito: l Traducir el modelo detallado a programas y documentos Producto: l Programas OO y documentacin Notacin usada: l Lenguaje de programacin OO Propsito: l Asegurar la calidad de aplicacin a travs de los procesos de verificacin y validacin Producto: l Una aplicacin verificada y validada Notacin usada: l Diagramas de clases, estado, casos de uso y secuencias en UML
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
Pruebas
l
la especificacin, el anlisis , el diseo, la implementacin y las pruebas de una aplicacin o sistema de software
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
l l l l l l l l l
Un componente de software (p.ej., un mdulo, una clase, un procedimiento, una funcin, un subsistema, una aplicacin) Una especificacin de requerimientos Un modelo o especificacin de diseo Un algoritmo Un patrn de diseo Una arquitectura de dominio Un esquema de base de datos Una especificacin de prueba La documentacin de un sistema Un plan
Son artefactos de software auto-contenidos y claramente identificables que: l describen y/o ejecutan funciones especficas, l tienen interfaces claras, l tienen una documentacin apropiada y l tienen un status de reuso definido. [Sametinger, 1997]
Un CSR se integra con relativa facilidad a un sistema de software en desarrollo a travs de su interfaz.
Desarrollo de software para reutilizacin l Propsito: producir componentes de software reutilizable l Emplea el modelo de procesos de la Ingeniera de Dominios Desarrollo de software con reutilizacin
l
Propsito: desarrollar aplicaciones reutilizando componentes existentes Emplea el modelo de procesos de la Ingeniera de Aplicaciones
Especificacin de requerimentos
modelos de anlisis
diseos genricos
componentes
Diseo de la Arquitectura
Especificacin De Componentes
Bsqueda de Componentes
Integracin de Componentes
Ingeniera de Aplicaciones
ULA - Fac. de Ingeniera - Esc. de Sistemas - Dpto. de Computacin - J. Montilva
10
El estndar IEEE-1074
Un estndar para desarrollar modelos de procesos y mtodos de desarrollo de software Proporciona un marco metodolgico para el diseo de modelos y mtodos Emplea tres niveles jerrquicos:
l l l
Processes Selection of a Life Cycle Model Project Initiation Project Monitoring and Control Software Quality Management Concept Exploration System Allocation Requirements Design Implementation Installation Operation & Support Maintenance Retirement Verification and Validation Software Configuration Management Documentation Development Training
Pre-development Development
Post-development
Integral Process
Development Processes
Concept Exploration Process System Allocation Process Requirements Process Design Process Implementation Process Installation Process Operation & Support Processes Maintenance Process Retirement Process
Management Processes
Integral Processes
El estndar IEEE-1074
11
MEDSI-OO El modelo espiral Desarrollo incremental y por versiones El mtodo OO de Bruegge y Dutoit
12
Definicin del Proyecto Adaptacin y conversin del modelo de procesos en un mtodo Documentacin del mtodo de desarrollo
l l
13
Procesos de Desarrollo
l
Iniciacin del proyecto Gerencia del Proyecto Gestin de la Calidad Gestin de la Configuracin Verificacin & Validacin Adiestramiento Documentacin
l l l l l
Anlisis del Dominio de Aplicacin Descubrimiento de Requerimientos Anlisis & Especificacin de Requerimientos Diseo del Sistema Diseo de Componentes Implementacin del Sistema Pruebas del Sistema Entrega del Sistema
Descubrim. de Requerim.
Procesos Gerenciales
Diseo de Componentes
14
Procesos Gerenciales
Proceso
Gerencia del Proyecto
Actividades
Planificacin del proyecto Organizacin del grupo de desarrollo Direccin del grupo de desarrollo Administracin del personal del grupo Control del proyecto Planificacin de la calidad del S/W Aseguramiento de la calidad del S/W Planificacin de la gestion de configuracin Control de la configuracin Planificacin de la V & V Revisiones de Productos Pruebas de Software Planificacin del Adiestramiento Adiestramiento del grupo de desarrollo Produccin del material de adiestramiento Planificacin de la Documentacin Elaboracin de la Documentacin Entrega de la Documentacin
Adiestramiento
Documentaci n
Descubrim, de Requerim.
15
Que el grupo de desarrollo adquiera un conocimiento adecuado del dominio de aplicacin (el contexto del sistema) Modelo del Dominio de Aplicacin
Modelar los procesos del dominio
Producto:
l
Descubrir y definir informalmente los requerimientos de los usuarios del sistema Documento de Definicin de Requerimientos (DDR) Prototipo de la interfaz Usuario/Sistema (U/S)
Descubrir Requerim. Funcionales Elaborar un prototipo de la interfaz U/S Descubrir Requerim. No-funcionales Elaborar el documento DDR Validar el DDR
Productos:
l l
16
Expresar los requerimientos de los usuarios de una manera formal o tcnica que pueda ser entendida, sin ambiguedad, por los diseadores del sistema Documento de Especificacin de Requerimientos (DER)
Producto:
l
Derivar el Modelo de Objetos Consolidar los modelos Derivar el Modelo Dinmico Elaborar el DER Validar el DER
Traducir los requerimientos del usuario en una solucin de software: l una especificacin del diseo del sistema Documento del Diseo del Sistema (DDS)
Disear la interfaz U/S
Producto:
l
Elaborar el DDS
Validar el DDS
17
Especificar en detalle el diseo de cada componente y conector de la arquitectura del sistema Documento de Diseo de Componentes (DDC)
Producto:
l
Adaptar los componentes reutilizables Elaborar el DDC Disear los componentes no reutilizables Validar el DDC
Traducir las especificaciones de diseo en un producto de software Verificar que los programas implementan el diseo y asegurar su calidad Un sistema parcialmente probado Documentacin del sistema
Planificar las pruebas Probar los componentes Codificar los componentes Validar el sistema Producir la documentacin Probar la integracin de componentes
Productos:
l l
18
Asegurar que el sistema hace lo que el cliente y los usuarios quieren que haga Un sistema validado que est listo para ser instalado
Producto:
l
Producto:
l
Planificar las pruebas Realizar las pruebas de instalacin Instalar el sistema Entregar el sistema al cliente Adiestrar a los usuarios
19
Conclusiones
Principales caractersticas del modelo WATCH:
l l l
Su estructura permite al grupo de desarrollo adaptar el modelo a las caractersticas particulares del proyecto Puede ser utilizado como un marco referencial para mejorar los procesos de desarrollo de software en organizaciones pequeas y medianas Ha sido utilizado en el desarrollo de proyectos acadmicos en los departamentos de computacin de
l l
Fin de la conferencia
20
(Persistencia, S. Dal )
21