Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERA DE SOFTWARE
Prof. Ing. Johny Pretell
Sesin 02
1 /38
Agenda
01 La Ingeniera de SW - Capas
02 El Proceso de Ingeniera de SW
2 /38
Mario Piatini
3 /38
Ingeniera de Software
Es la disciplina o rea de la informtica que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad
4 /38
Cualquier disciplina de ingeniera (incluida la Ing. de SW) debe descansar sobre un esfuerzo de organizacin de calidad.
La gestin total de la calidad y las filosofas similares fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques cada vez ms robustos para la Ing. de SW.
5 /38
8 /38
Proceso de Software
Qu es un proceso de Software? Es un conjunto estructurado de actividades para: Especificar Disear Implementar Probar Mantener Software.
9 /38
Proceso de Software
.se basan en modelos, mtodos y herramientas que sirven como una gua para los ingenieros de Software durante el proceso de desarrollo, con la finalidad de mejorar la calidad de los proyectos, procesos y productos mediante la evaluacin y medicin de los mismos . requiere de un conjunto de conceptos, una metodologa y un lenguaje propio. A este proceso tambin se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepcin, elaboracin, construccin y transicin
10 /38
11 /38
12 /38
Modelo Cascada
Definicin de Requerimientos
13 /38
Modelo Cascada
Se puede hacer uso de este modelo cuando se presenten las siguientes condiciones: Cuando los requisitos del problema se entienden razonablemente. Para hacer adaptaciones o mejoras bien definidas a un sistema existente. Limitadamente en proyectos nuevos, solo cuando los requisitos estn muy bien definidos y estables en forma razonable. El modelo en cascada sugiere un enfoque sistemtico, secuencial hacia el desarrollo del software.
Problemas que se presentan al aplicar el modelo en cascada: Es raro que los proyectos reales sigan el flujo secuencial que propone el modelo. El modelo tiene iteracciones indirectas, lo cual confunde al equipo desarrollador. Con frecuencia es difcil para el cliente establecer todos los requisitos de manera explicita. El modelo lo requiere desde un principio. El Cliente debe tener paciencia. Una versin funcionando estar lista cuando el proyecto este muy avanzado.
14 /38
Modelo Incremental
Cuando hay una necesidad imperiosa de producir de manera rpida un conjunto limitado de funcionalidad para el usuario y despus refinarla y expandirla en entregas posteriores de software. En estos casos se elige un modelo de proceso diseado para producir el software de manera incremental.
15 /38
Modelo Incremental
El modelo incremental combina elementos del modelo en cascada aplicado en forma iterativa.
1. Combina elementos del modelo lineal con la filosofa de creacin de prototipos 2. El primer incremento a menudo es un producto esencial (ncleo) 3. A partir de la evaluacin se planea el siguiente incremento y as sucesivamente 4. Es interactivo por naturaleza 5. Aseguramiento de la calidad 6. Es til cuando el personal no es suficiente para la implementacin completa
Ventajas: Se puede financiar el proyecto por partes Apropiado para proyectos grandes de larga duracin No se necesita tanto personal al principio como para una implementacin completa Desventajas: Se necesitan pruebas de regresin Pueden aumentar el coste debido a las pruebas
16 /38
El Modelo DRA
Desarrollo rpido de aplicaciones (DRA) es un modelo que resalta un ciclo de desarrollo corto. Si se entienden bien los requisitos y se limita bien el mbito del proyecto, un equipo de desarrollo puede crear un sistema completamente funcional dentro de un periodo muy corto.
17 /38
El Modelo DRA
Inconvenientes: Para proyectos grandes requiere recursos humanos suficientes Los clientes y desarrolladores deben estar comprometidos en las rpidas actividades Si el sistema no se puede modularizar ser problemtico no es adecuado con riesgos tcnicos altos
18 /38
Especificacin
Desarrollo
Versiones Intermedias
Validacin
Versin Final
19 /38
20 /38
21 /38
Construccin de Prototipos
Ventajas:
No modifica el flujo del ciclo de vida. Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios. Reduce costos y aumenta la probabilidad de xito. Exige disponer de las herramientas adecuadas. No presenta calidad ni robustez. Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniera.
Inconvenientes:
A los usuarios les gusta el sistema real y a los desarrolladores les gusta construir algo de inmediato. Sin embargo, la construccin de prototipos se torna problemtica por las siguientes razones: El cliente ve funcionando lo que para el es la primera versin del prototipo que ha sido construido con chicle y cable para embalaje, y puede decepcionarse al indicarle que el sistema aun no ha sido construido. El desarrollador puede caer en la tentacin de aumentar el prototipo para construir el sistema final sin tener en cuenta los obligaciones de calidad y de mantenimiento que tiene con el cliente.
22 /38
El Modelo en Espiral
Determine objetivos alternativas y restricciones Anlisis de Riesgos Anlisis de Riesgos Anlisis de Riesgos Anlisis de Proto Riesgos tipo 3 Prototipo Prototipo 3 2 Evale alternativas, identifique y resuelva riesgos
Prototipo Operacional
REVISIN
Requeri Diseo mientos de Diseo del Detallado SW Plan de Validacin de Producto Codificacin Desarrollo Requerimientos Prueba de Unidades Plan de Integracin Diseo Prueba de y Prueba V &V Prueba de Integracin Desarrolla y verifica Aceptacin el siguiente nivel Servicio del producto
23 /38
El Modelo en Espiral
Ventajas Centra su atencin en la reutilizacin de componentes y eliminacin de errores en informacin descubierta en fases iniciales. Los objetivos de calidad son el primer objetivo. Integra desarrollo con mantenimiento. Provee un marco de desarrollo de hardware/software. Los desarrolladores observan los resultados de sus trabajos ms rpidamente. Puede modificar algunos requerimientos durante el desarrollo. Desventajas Es un modelo amplio y necesita de personal con experiencia, sino podra fracasar el modelo. Se debe aplicar a proyectos grandes.
24 /38
25 /38
26 /38
27 /38
Modelo MSF
MICROSOFT SOLUTION FRAMEWORK ( MSF )
Es un modelo para el ciclo de vida de un software creado por la compaa Microsoft en el cual se nota un uso de framework. El framework es una estructura o un marco de trabajo utilizado para el desarrollo del sw. Este modelo adems posee una flexibilidad que hace posible que sea usado tanto en proyectos grandes como en proyectos pequeos (refirindose al alcance de los proyectos Es aplicable a proyectos de infraestructura o redes.
28 /38
Modelo XP
Programacin Extrema (XP)
Extreme Programing (XP) Es una de las metodologas de desarrollo de software ms exitosas en la actualidad utilizadas para proyectos de corto plazo, corto equipo y cuyo plazo de entrega era ayer. La metodologa consiste en una programacin rpida o extrema, cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar al xito del proyecto.
29 /38
30 /38
31 /38
32 /38
El CMM - CMMI es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software. Las mejores prcticas CMMI se publican en los documentos llamados modelos. En la actualidad hay tres reas de inters cubiertas por los modelos de CMMI: Desarrollo, Adquisicin y Servicios. es un modelo para la mejora y evaluacin de procesos para el desarrollo, mantenimiento y operacin de sistemas.
33 /38
La versin actual de CMMI es la versin 1.3, liberada el 1 de noviembre de 2010. Hay tres constelaciones de la versin 1.2 disponible: CMMI para el Desarrollo (CMMI-DEV o CMMI for Development), Versin 1.2 fue liberado en agosto de 2006. En l se tratan procesos de desarrollo de productos y servicios. CMMI para la adquisicin (CMMI-ACQ o CMMI for Acquisition), Versin 1.2 fue liberado en noviembre de 2007. En l se tratan la gestin de la cadena de suministro, adquisicin y contratacin externa en los procesos del gobierno y la industria. CMMI para servicios (CMMI-SVC o CMMI for Services), est diseado para cubrir todas las actividades que requieren gestionar, establecer y entregar Servicios.
34 /38
Dentro de la constelacin CMMI-DEV, existen dos modelos: CMMI-DEV CMMI-DEV + IPPD (Integrated Product and Process Development) Independientemente de la constelacin\modelo que opta una organizacin, las prcticas CMMI deben adaptarse a cada organizacin en funcin de sus objetivos de negocio. Las organizaciones no pueden ser certificadas CMMI. Por el contrario, una organizacin es evaluada (por ejemplo, usando un mtodo de evaluacin como SCAMPI) y recibe una calificacin de nivel 1-5 si sigue los niveles de Madurez (si bien se comienza con el nivel 2). En caso de que quiera la organizacin, puede coger reas de proceso y en vez de por niveles de madurez puede obtener los niveles de capacidad en cada una de las reas de Proceso, obteniendo el "Perfil de Capacidad" de la Organizacin.
35 /38
36 /38
Cuantitativamente Gestionado
Se puede seguir con indicadores numricos (estadsticos) la evolucin de los proyectos. Las estadsticas son almacenadas para aprovechar su aportacin en siguientes proyectos. Los proyectos se pueden pedir cuantitativamente.
Optimizado
En base a criterios cuantitativos se pueden determinar las desviaciones ms comunes y optimizar procesos. En los siguientes proyectos se produce una reduccin de costes gracias a la anticipacin de problemas y la continua revisin de procesos conflictivos.
38 /38
Integracin de modelos (CMM-SW, SE-CMM, IPD-CMM) SE-CMM El Modelo de Madurez de Capacidades en la Ingeniera de Sistemas fue publicado por el SEI en noviembre de 1995. Est dedicado a las actividades de ingeniera de sistemas. Define 18 reas de proceso divididas en tres grupos: Ingeniera (7) Proyectos (5) Organizativas (6)
39 /38
No utiliza niveles de madurez generales sino que en cada rea de proceso una organizacin puede alcanzar un determinado nivel de madurez. Al igual que el SW-CMM, ha sido integrado en el CMMI. IPD-CMM El Modelo de Madurez de Capacidades para el Desarrollo Integrado de Productos fue propuesto como un borrador por el SEI en 1997, pero qued integrado en el CMMI al publicarse este en el ao 2000. P-CMM Modelo de Madurez de Capacidades para Recursos Humanos SA-CMM Modelo de Madurez de Capacidades para la Adquisicin de Software S3M Modelo de Madurez de Capacidades para el mantenimiento del software
40 /38
Para asegurar la evolucin por estos modelos de madurez, se deben cumplir una serie de requisitos y prcticas. Existen prcticas a realizar de modo particular (SP = prctica especfica) en cada requerimiento y otras que son globales (GP = Practica global) y van apareciendo repetitivamente en distintos puntos. Cada prctica tiene a su vez sub-prcticas y practicas opcionales....
41 /38
Nivel 2 El nivel 2 requiere que hayamos considerados las siguientes cosas: Gestin de requisitos Plan de Proyecto Monitorizacin y control del proyecto Gestin de acuerdos con proveedores Medida y anlisis Medidas de calidad en el proceso y producto Gestin de la configuracin A continuacin vamos a ver un ejemplo de las actividades detalladas, definidas por CMMI a realizar en el primer punto del nivel de madurez 2.
42 /38
Gestin de requisitos Podemos ver las distintas actividades a realizar en gestin de requisitos SG 1 Gestionar Requerimientos [PA146.IG101] SP 1.1 Obtener y comprender requerimientos SP 1.2 Obtener la aprobacin de los requerimientos SP 1.3 Gestionar los cambios en requisitos SP 1.4 Mantener una trazabilidad bidireccional de requisitos SP 1.5 Identificar inconsistencias entre el trabajo real a realizar y los requisitos.
43 /38
GG 2 Institucionalizar la gestin del proceso de toma de requerimientos [CL103.GL101] GP 2.1 (CO 1) Establecer las polticas de la organizacin GP 2.2 (AB 1) Planificar los procesos GP 2.3 (AB 2) Proporcionar los recursos adecuados GP 2.4 (AB 3) Asignar las responsabilidades GP 2.5 (AB 4) Formar al personal GP 2.6 (DI 1) Gestionar la configuracin GP 2.7 (DI 2) Identificar los actores importantes GP 2.8 (DI 3) Monitorizar y controlar los procesos GP 2.9 (VE 1) Evaluar objetivamente el cumplimiento GP 2.10 (VE 2) Revisar el proyectos con los responsables de mayor nivel.
.....................
44 /38
45 /38
46 /38
Podemos abrir el proyecto que viene por defecto o crear uno nuevo
Al ser una versin de evaluacin, muchas de las ventanas de informacin desaparecen a los pocos segundo de mostrarse pero nos vale para hacernos una idea de cmo funciona.... Al crear uno nuevo y pulsar el botn "prepare" aparece una ventana como sta...
47 /38
La herramienta cubre toda la CMMI. Si se selecciona la parte de Gestin de Requerimientos, nos aparecen las prcticas a desarrollar.
48 /38
Podemos ir rellenando el factor de cumplimiento de distintos elementos, nos proporcionar grficas con indicadores
49 /38
Preguntas
Conclusiones Finales
50 /38