Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 19
Universidad Nacional de Lomas de Zamora
Facultad de Ciencias Económicas
Ingeniería del software
Un enfoque practico (7ma edición) Roger Pressman CAP 2 (completo) Índice 1. Modelo general de proceso 2. Evaluación y mejora del proceso 3. Modelos de proceso prescriptivo a. Cascada b. Incremental c. Evolutivo d. Espiral e. Concurrente 4. Modelos de proceso especializado 5. El proceso unificado 6. Modelos del proceso personal y del equipo 7. Tecnología del proceso 8. Producto y proceso 1 - Modelo general de proceso Estructura general Proceso es la colección de actividades de trabajo, acciones y tareas que se realizan cuando va a crearse algún producto terminado. Estructura general para la ingeniería de software: ● Comunicación ● Planeación ● Modelado ● Construcción ● Despliegue 1 - Modelo general de proceso Flujos de proceso lineal e iterativo 1 - Modelo general de proceso Flujos de proceso evolutivo y paralelo 1 - Modelo general de proceso
Definición de actividad estructural:
Contactar al cliente. Analizar requerimientos. Organizarlos y obtener feedback. Identificación de un conjunto de tareas: Desglosar el proyecto en colecciones de tareas y agruparlas de acuerdo al tipo de trabajo (desarrollo, calidad, etc). Patrones del proceso: Identifican un problema puntual del proceso, el ámbito donde surge y sugiere cómo resolverlo. 2 - Evaluación y mejora del proceso Todo proceso debe garantizar que cumple con ciertos criterios básicos para conducir a características de calidad a largo plazo en el software. Algunos enfoques: ● SCAMPI: Modelo de 5 fases (Inicio, diagnóstico, establecimiento, actuación y aprendizaje) ● CBA IPI: diagnostica la madurez relativa de una organización de software ● SPICE (ISO/IEC 15504): estándar orientado a la elaboración de requerimientos. ● ISO9001:2000: estándar aplicable a organizaciones y compañías de software 3 - Modelos de proceso prescriptivo
Los modelos intentan reducir el caos inherente al desarrollo de software
Los tradicionales presentan una estructuración que los hace inflexibles ante las “sorpresas” En uno prescriptivo, si bien se respetan las actividades estructurales generales, cada una de ellas puede definir un flujo de proceso diferente 3 - Modelos de proceso prescriptivo
Es un enfoque sistemático y secuencial.
Presenta tres problemas principales: 1. Es difícil realizar cambios avanzado el proyecto. 2. 2. El cliente no siempre puede definir un requisito al 100% al inicio 3. 3. Hasta que el proyecto no se encuentre avanzado, no hay una versión funcional/prototipo Aplicable a proyectos con requerimientos fijos y trabajo lineal 3 - Modelos en V
Una variante de la representación del modelo de la cascada se denomina
modelo en V 3 - Modelos de proceso prescriptivo Modelo incremental Combina flujos de proceso lineal y paralelo Con cada incremento, se agrega una o más funcionalidades concretas Se entrega un producto incompleto pero funcional al final de cada incremento. Administra mejor el riesgo técnico cuando hay incertidumbre 3 - Modelos de proceso prescriptivo Modelo evolutivo El software con el tiempo sufre cambios dada la dinámica del negocio que soporta y sus requerimientos El modelo evolutivo permite al software, mediante iteraciones, adaptarse a los nuevos requisitos y continuar vigente Cada iteración genera un prototipo, el cual a su vez sirve para identificar futuros requerimientos 3 - Modelos de proceso prescriptivo Modelo espiral Variación del modelo evolutivo, orientado a desarrollos con mucho riesgo En cada iteración, se entrega un prototipo más sofisticado Permite ajustar dinámicamente el plan del proyecto. Se utiliza en proyectos de gran escala, ya que el flujo ofrece un enfoque muy realista 3 - Modelos de proceso prescriptivo Modelo concurrente Representa las actividades o tareas que se dan de manera recurrente en las distintas fases, pero que tienen un estado distinto en cada una También define la transición del estado entre ciclos. Por ejemplo, si el cliente propone cambios, la tarea de análisis de requerimientos que estaba completa pasa a en desarrollo 4 - Modelos de proceso especializado Reúnen características de modelos tradicionales, pero tienen un enfoque a software específico Basado en componentes: apuntan al desarrollo de un módulo particular, que se integrará a un software más complejo. Permite la modularidad y favorece reutilización Métodos formales: orientado a software de cómputo con implementación de notación matemáticas rigurosa. Complejidad técnica muy alta Orientado a aspectos: enfocado a solucionar problemas o requerimientos transversales a varios módulos, por ejemplo, seguridad del software. 5 - El proceso unificado Intenta unir lo mejor de los modelos tradicionales con los principios del desarrollo ágil Surge el UML (lenguaje de modelado unificado), siendo una notación robusta para modelar y desarrollar software orientado a objetos, pero no define la estructura del proceso El proceso unificado utiliza UML y define las fases del proceso de manera iterativa e incremental 6 - Modelos del proceso personal y del equipo Un proceso de software debe también cubrir las necesidades del equipo que lo desarrollará. Hay dos enfoques: El proceso personal del software (PPS) mide a nivel individual el producto generado como también la calidad del mismo. Delega al desarrollador el poder de controlar el proceso de desarrollo. No es muy adoptado por la industria dado que implica mucha capacitación y costos elevados. El proceso del equipo de software (PES) contempla un equipo autodirigido el cual planee, establezca metas y se adueñe de sus procesos y planes. Exige un compromiso a nivel equipo pero proporciona mayores beneficios en cuanto productividad y calidad. 7 - Tecnología del proceso Existen herramientas de tecnología del proceso que ayudan al equipo de desarrollo analizar, organizar, planificar, controlar y medir el avance del proyecto y sus actividades Definen alternativas de proceso donde se visualiza el tiempo o costo de cada una Al tener un proceso ya definido, permite asignar, vigilar y controlar todas las tareas del mismo 8 - Producto y proceso
Si bien la calidad de un producto final está relacionada como
fue su proceso, esta relación no debe ser de estrecha dependencia El desarrollador obtiene tanta (o más) satisfacción del proceso creativo como del producto final