View
1.918
Download
1
Embed Size (px)
DESCRIPTION
Presentación que sintetiza las metodologías de análisis y diseño de software y el ciclo de vida del desarrollo de software
Citation preview
Introducción a las Metodologías
de Análisis y diseño de Software
Ing. Ariel Adolfo Rodríguez
[email protected] 3141163790
@aadolforh
arielrodriguezh.blogspot.com
Metodologías de Diseño y Desarrollo de Software
Según su enfoque tenemos:
Estructuradas
Orientadas a Procesos
Orientadas a Objetos
• Cascada• Incremental• Prototipado evolutivo• Espiral
• Cluster (Meyer (1990))
• Fuente (Henderson-Seller (1990))
• Remolino (Rumbaugh (1992))
• Pinball (Amler (1994))
• Gane y Sarsons (1979)• DeMarco (1979)• Yourdon (1989)
(Piattini, 1996)
Modelo Cascada (Royce (1970), Boehm (1981), Sommerville (1985) y Sigwart et al. (1990).
En este modelo, el producto evoluciona a través de una secuencia de fases ordenadas en forma lineal, permitiendo iteraciones al estado anterior. Fases
◦Análisis de requisitos del sistema. ◦Análisis de requisitos del software. ◦Diseño preliminar. ◦Diseño detallado. ◦Codificación y pruebas. ◦Explotación (u operación) y mantenimiento
Modelo Incremental (Lehman 1984)
En este modelo, el producto evoluciona a través de una secuencia de fases ordenadas en forma lineal ciclica, Fases
◦Análisis de requisitos del sistema. ◦Análisis de requisitos del software. ◦Diseño preliminar. ◦Diseño detallado. ◦Codificación y pruebas. ◦Explotación (u operación) y mantenimiento
Modelo Prototipado Evolutivo (J. Jusgado 1996)
El uso de prototipos se centra en la idea de ayudar a comprender los requisitos que plantea el usuario, sobre todo si este no tiene una idea muy clara de lo que desea.
Esta versión temprana de lo que será el producto, con una funcionalidad reducida, en principio, podrá incrementarse paulatinamente a través de refinamientos sucesivos de las especificaciones del sistema, evolucionando hasta llegar al sistema final.
Fases ◦ Análisis de requisitos del sistema. ◦ Análisis de requisitos del software. ◦ Diseño, desarrollo e implementación del prototipo Diseño detallado. ◦ Prueba del prototipo. ◦ Refinamiento iterativo del prototipo. ◦ Refinamiento de las especificaciones del prototipo. ◦ Diseño e implementación del sistema final. ◦ Explotación (u operación) y mantenimiento
Modelo en espiral de Boehm (Boehm, 1988)
El movimiento de la espiral,ampliando con cada iteración su amplitud radial, indica que cadavez se van construyendo versiones sucesivas del software, cada vez más completas.
Fases Planeación : determinación de los objetivos, alternativas y
restricciones Análisis de riesgo : análisis de alternativas e
identificación/resolución de riesgos Ingeniería : desarrollo del producto hasta "el siguiente nivel". Evaluación : valoración por parte del cliente de los resultados
obtenidos.
El Ciclo de Vida de un Desarrollo de Software
Fases del Ciclo de Vida de un Desarrollo de Software
1. La planificación de la gestión proyecto, se la puede describir en términos de: las actividades a realizar, los documentos de salida y las técnicas a utilizar.
Fases del Ciclo de Vida de un Desarrollo de Software
2. La identificación de la necesidad, , enunciada en términos concretos, es el punto de partida para la puesta en marcha de un proyecto y la evaluación de las posibles soluciones darán la viabilidad del mismo.
Fases del Ciclo de Vida de un Desarrollo de Software
3. El proceso de especificación de los requisitos , Aquí hay que establecer de un modo conciso, claro y preciso el conjunto de requisitos que deben ser satisfechos por el software a desarrollar. El objetivo es determinar en forma total y consistente los requisitos de software. El análisis se realiza sobre la salida resultante, la descomposición de los datos, el procesamiento de los mismos, las bases de datos y las interfaces de usuario.
(J. Juzgado, 1996).
Fases del Ciclo de Vida de un Desarrollo de Software
4. El proceso de diseño, es la piedra angular para la obtención de un producto coherente que satisfaga los requisitos de software. El diseño desde el punto de vista técnico comprende cuatro tipos de actividades: el diseño de datos, arquitectónico, procedimental y diseño de interfaces y desde el punto de vista del proyecto evoluciona desde un diseño preliminar al diseño detallado.
◦ El diseño de datos, modela las estructuras de datos necesarias para el desarrollo.
◦ El diseño arquitectónico define las relaciones entre las estructuras del programa, considerando el desarrollo de módulos que se relacionan, mezcla la estructura de programas y de datos, y define las interfaces.
◦ El diseño procedimental transforma estructuras en descripción procedimental del software.
◦ El diseño de interface establece los mecanismos de interacción humano- computadora.
Existen herramientas de tipo CASE (Computer Aided Software Engineerig).
(Pressman, 1996).
Fases del Ciclo de Vida de un Desarrollo de Software
4. El proceso de diseño, este proceso requiere tener en cuenta:
Fases del Ciclo de Vida de un Desarrollo de Software
5. El proceso de Implementación, Este proceso produce código fuente, código de la base de datos y documentación de base de acuerdo a los estándares utilizados. La salida de este proceso conduce a las pruebas de validación y verificación.
Fases del Ciclo de Vida de un Desarrollo de Software
6. El proceso de Instalación, Este proceso se centra en la verificación de la implementación adecuada del software y en la conformidad del cliente, previa prueba de aceptación.
Fases del Ciclo de Vida de un Desarrollo de Software
7. Los procesos de mantenimiento y retiro, El proceso de mantenimiento se centra en el cambio asociado a los errores detectados, fallas, mejoras solicitadas y cambios. Se lo considera como una vuelta a la aplicación del ciclo de vida pero con un software existente como iteraciones de desarrollo. Los tipos de mantenimiento pueden ser:
◦ Correctivos, ante defectos encontrados, ◦ Adaptativos, o sea, cambios del software de acuerdo al cambio en el entorno.◦ De mejoras, con agregado de funciones adicionales.
Fases del Ciclo de Vida de un Desarrollo de Software
8. El proceso de verificación y validación, Las tareas que abarca son las siguientes:
◦ Pruebas de verificación◦ Revisiones y auditoría e incluye las tareas de validación ◦ Pruebas de validación que se realizan durante el ciclo de vida del software para
asegurar la satisfacción con los requisitos.
Fases del Ciclo de Vida de un Desarrollo de Software
9. El proceso de la gestión de la configuración, este involucra la gestión de los cambios durante el ciclo de vida que a partir de la configuración del sistema en un dado momento, tiene como objetivo un control de los cambios producidos y la coherencia del mismo.
Fases del Ciclo de Vida de un Desarrollo de Software
10. Los procesos de desarrollo de la documentación y de formación, Este proceso permite planificar, diseñar, implementar, editar, producir, distribuir y mantener los documentos para los desarrolladores y los usuarios. Para una utilización efectiva del sistema se debe proporcionar al usuario las instrucciones y guías necesarias acerca del uso del software y de sus limitaciones. Es un punto fundamental la formación del usuario en el sistema. También es importante la formación de los desarrolladores y soporte técnico.
Bibliografía
Jacobson, I., Booch, G. & Rumbaugh, G. (2000). El Proceso Unificado de Desarrollo de Software. Madrid. Pearson Educación S.A.
Pressman R. (2010). Ingeniería del software. Un enfoque práctico. Editorial Mc Graw Hill. Séptima edición.
Rational Software Corporation. (2006). Rational Unified Process, Versión 2002.05.00. http://www.ts.mah.se/RUP/RationalUnifiedProcess. Página web vigente al 8/05/2012.Software Engineering Standards Committee of the IEEE Computer Society. (1990). IEEE Std 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. (Revision and redesignation of IEEE Std 792-1983). IEEE-SA Standards Board. The Institute of Electrical and Electronics Engineers.
Software Engineering Standards Committee of the IEEE Computer Society. (1998). IEEE Std 830. IEEE Recommended Practice for Software Requirements Specifications. IEEE-SA Standards Board. The Institute of Electrical and Electronics Engineers, Inc. ISBN 0-7381-0332-2. http://www.mug.org.ar/Descargas/Jornadas/default.aspx. Página web vigente al 09/10/2009.
Software Engineering Standards Committee of the IEEE Computer Society. (1998). IEEE Std 1233. 1998. IEEE Guía para el desarrollo de Especificaciones de Requerimientos de Sistemas. (incluye IEEE Std 1233–1996. e IEEE Std 1233a-1998). IEEE-SA Standards Board. The Institute of Electrical and Electronics Engineers.
Software Engineering Institute, Carnegie Mellon University. (2010). CMMI® for Development, Version 1.3. CMMI-DEV, V1.3. Improving processes for developing better products and services. TECHNICAL REPORT CMU/SEI-2010-TR-033. ESC-TR-2010-033. Software Engineering Process Management Program. http://www.sei.cmu.edu/reports/10tr033.pdf . Página web vigente al 21/04/2012.
Sommerville, I. (2005). Ingeniería de software. 7 Edición. México: Addison – Wesley.
Sommerville, I. (2011). Ingeniería de software. 9 Edición. México. Pearson Educación.
Whitten. J, & Bentley. L. (2008). Análisis de sistemas: diseño y métodos. Séptima edición. Mc Graw Hill. México.
Yourdon, E. (2000). Análisis Estructurado Moderno. México: Pearson. ISBN 968-880-330-0.