Ingenieria1

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 11,08 KB

 
TEMA 2: MODELOS DE PROCESOS
Criterios para usar los distintos modelos:
- Tipo de proyecto. -Métodos y herramientas disponibles. -Controles a utilizar. -Productos comprometidos. -Tendencias en el mercado. -Tipo de cliente. -Madurez del equipo de desarrollo.
Modelo adecuado evita: requisitos del usuario, ánalisis, diseño, implementación, pruebas / integracion, deseos del usuario.
Modelos:
1.- Modelos Iniciales.
2.- Modelo lineal / ciclo de vida en cascada o secuencial.
3.- Procesos evolutivos de Software.
4.- Ensamblado de componentes.
5.- El modelo DRA.
6.- Modelo RUP visión General.
1.Modelos Iniciales:
A) Codificar - Fijar: Utilizado en los primeros dias del desarrollo del software. Implicaba: escribir código y ajustar los problemas en el código. Inconvenientes: (Baja estructura en el codigo, Muchos ajustes, Tiempo de desarrollo, Depende de la capacidad del programador, Uso en proyectos de tamaño pequeño.)
B) Por etapas: Desarrollado en 1956. Modelo lineal, cada etapa debe ir despues de la anterior. La info q se obtiene en cada etapa es la q se proporciona en la siguiente. Cadena de producción de sofware. Ventajas: No se puede pasar a la siguiente fase sin terminar la actual, Rigidamente dividido, Estructura clara. Problemas: poco productivo, Dificultad en identificar errores en etapas avanzadas, No hay resultado hasta el final del proceso.
DIBJ. Plan operativo -> Especificacion de requisitos -> Especificacion funcional -> Diseño -> Implementacion -> Integracion -> Validacion y verificacion -> Mantenimiento.
2.Ciclo de Vida en cascada: Llamado tb ciclo de ida clásico o modelo lineal. Desarrollado en 1970 (reduce costes y evolucion en retroalimentacion). Modelo mas utilizado y mas antiguo. Las fases pueden variar en algunos aspectos.
¡¡DIBUJO IGUAL Q EL OTRO FLECHAS TB VUELVEN!!
Ventajas y problemas semejantes al modelo por etapas excepto iteratividad.
Problemas: Dificil de plasmar los requisitos, Los proyectos NO suelen seguir el flujo secuencial, No se ve resultados hasta finalizar el proceso.
3.Proceso Evolutivo de Software
A) Modelo Orientado a Prototipos: Tb llamado Ciclo de Vida por Prototipos (CVP) o modelo de construccion de prototipos. Propuesto en 1988. Ideal cuando hay objetos generales con bajo nivel de requisitos. Uso de prototipos como mecanismo para definir requisitos cuando: +El usuario no es capaz de detallar los requisitos de inicio.+ El equipo tecnico tiene dudas sobre la ejecucion de determinados aspectos.
DIBJ. Implementacion preliminar -> Especificacion de requisitos y prototipado -> Diseño tecnico -> Programacion y prueba -> Operacion y mantenimiento
Analisis y especificacion -> Diseño y construccion -> Evaluacion -> Modificacion
Ventajas: Version operativa casi desde el inico, Elevada integracion del usuario con el proceso de desarrollo, Coste bajo para cada version, Los cambios de direccion en el desarrollo son faciles de realizar. Problemas: El usuario no valora el trabajo, Puede crecer el sistema de forma desmedida, No aplica ingenieria, Confusion del producto final con el prototipo.
B) Desarrollo Evolutivo de Prototipos: Alta relacion con el CVP pero es distinto. El desarrollo evolutivo busca reemplazar el viejo sist. con uno nuevo y el CVP no. El prototipo se convertira en el sistema.
Especificaion Inicial -> Desarrollo del producto -> Implementacion, uso y evaluacion -> Versiones del software
<- Re-especificacion <-
Ventajas: Una version operativa casi desde el inicio, Elevada integracion del usuario al desarrollo. Problemas: El usuario no valora el trabajo, El sist. puede crecer desmedidamente, No aplica ingenieria.
C) Ciclo de Vida en Espiral:Es un modelo evolutivo, Durante las ultimas versiones se produce un sist. mas complejo, Cada ciclo puede definirse como un proyecto, Al iniciar un ciclo supone q el anterior esta terminado, Cada ciclo permite mas de una iteraccion en la espiral, Es adecuado para sistemas grandes, Uso de prototipos para disminuir riesgos.
Ventajas: En cada ciclo el cliente evalua el trabajo, Se llega al sistema final muy rapido, Analiza el momento de salirse del ciclo.
Problemas: Salidas tempranas, Salidas tardias, Dificil convencimiento de clientes grandes, Es poco probado y muy bueno.
4.Ensamblado deComponentes: Orientado a la reutilizacion de componentes, Se construyen los componentes en base a tecnicas orientadas a objetos, Se pueden usar junto con las tecnicas anteriores.




5.MODELO DRA (Desarrollo Rápido de Aplicaciones):
Uso: Desarollo q requieren años y resultan de escasa calidad, Necesidad de un enfoque q pase de tiempos medidos en años a medidos en meses, Incorporar un mayor nº de recursos humanos no incrementa la productividad.
Objetivos: Proporcionar una productividad 10 veces mayor, Proporcionar un conj. de herramientas y técnicas transferibles a cualquier organización xa desarrollar en forma rápida y de manera repetible, Tanto la rapidez como la calidad del desarrollo no dependa de gurús.
Ámbito: Se usa en el desarrollo de aplicaciones de negocios y sist. de info, No se aplica en el desarrollo software altamente especializado (juegos o simuladores).
Características: Modelo lineal secuencial orientado a un ciclo rápido de desarrollo, Se basa en el empleo de componentes para poder entregar un modelo suficientemente operativo en un corto periodo de tiempo, Fundamental para poder modular la aplicación así q cada equipo pueda trabajar en distintos modelos.
Etapas:1.Modelado de Gestió n: determinar los flujos de info para responder a las siguientes preguntas: ¿Qué info conduce los procesos?, ¿Qué info debe generar?, ¿A dónde va dirigida esa info?,¿Quién la genera?
2.Modelado de Datos: se define los distintos objetos y sus relaciones.
3.Modelado de Procesos:se definen los distientos procesos q transformarán la info de tal forma q estos procesos permitan: añadir, modificar, borrar y recuperar objetos de datos.
4.Generació n de la Aplicació n: el DRA basa en crear software mediante el uso de componentes ya existente y en el empleo de herramientas automáticas.
5.Prueba:escasa duración ya q muchos de los componentes ya están probados.
DIBJ.M. de gestión -> M. de datos -> M. de procesos -> Generación de la aplicación -> Prueba
MODELO DE METODOS FORMALES: Utiliza especificación matematica del software, Notacion matematica rigurosa, Enfoque a la identificacion de problemas: Ambiguedad, Incomplitud, Inconsistencia.
6.RUP: Rational Unified Process: Es un proceso de realizacion o de evolucion de software enteramente basado en UML. Esta constituido por un conjunto de directivas que permiten producir software a partir del pliego de condiciones (requisitos). Cada directiva define quién hace qué y en qué momento. Un proceso permite, por tanto, estructurar las diferentes etapas de un proyecto informatico. Los principios de RUP proceden del Proceso Unificado. La diferencia entre RUP y el Proceso Unificado es el gran numero de modelos disponibles que ofrecen un ahorro de tiempo en RUP. Además RUP puede ampliarse para adaptarlo a necesidades especificas gracias a una serie de plug-ins disponibles en el mercado. RUP es conducido por los casos de uso.
RUP es incremental, los procesos se dividen en una serie de subproyectos. RUP es iterativo, todos los subproyectos se efectuan con las mismas actividades.
El ciclo de desarrollo se divide en 4 fases: 1.La fase de inicio q consiste en evaluar el proyecto. 2.El objetivo de la elaboracion es construir la arquitectura del sistema. 3.La construccion corresponde al desarrollo de software de la arquitectura, determinado durante la fase de elaboracion. 4.La transicion comprende el despliegue del software en los equipos del cliente y la formacion de los usuarios.
En RUP cada fase esta detallada por un conjunto de actividades (conj. de acciones descrito por un diagrama de actividades. Las principales actividades de RUP son: modelado de los procesos de negocio, gestion de los requisitos, analisis y diseño, implantacion y test, despliegue.
UML
-Lenguaje de modelado visual se usa para especificar, visualizar, construir y documentar artefactos de un sistema software. Se usa para entender, diseñar, configurar, mantener y controlar informacion sobre los sistemas a construir. UML capta informacion sobre la estructura estatica y el comportamiento dinamico del sistema. Un sistema se modela como una coleccion de objetos que interactuan para realizar un trabajo que finalmente beneficia a un usuario externo.
-El lenguaje de modelado pretende unificar la experiencia pasada sobre tecnicas de modelado e incorporar las mejores practicas actuales en un acercamiento estandar. -UML no es un lenguaje de programacion. Las herramientas pueden ofrecer generadores de codigo UML para una gran variedea de lenguaje de programacion, asi como construir modelos por ingenieria invera a partir de programas existentes. -Es un lenguaje de proposito genera para el modelado orientado a objetos. UML es tb un lenguaje de modelamiento visual que permite una abstraccion del sistema y sus componentes.
Objetivos de UML: es un lenguaje de modelado de proposito general que pueden usar todos los modeladores. UML no pretende se un metodo de desarrollo completo. No incluye un proceso de desarrollo paso a paso.

Entradas relacionadas: