0. presentación

54
Informática Industrial Ingeniería de Sistemas y Automática Mohamed Abderrahim, Universidad Carlos III de Madrid INFORMÁTICA INDUSTRIAL I Ingeniería Electrónica Industrial y Automática 3 er curso Profesor: Mohamed Abderrahim / Departamento de Ingeniería de Sistemas y Automática 0. PRESENTACION

Upload: alexxtf904083

Post on 26-Oct-2015

17 views

Category:

Documents


0 download

TRANSCRIPT

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

INFORMÁTICA INDUSTRIAL I

Ingeniería Electrónica Industrial y Automática3er curso

Profesor: Mohamed Abderrahim / Departamento de Ingeniería de Sistemas y Automática

0. PRESENTACION

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Presentación de la asignatura

CREDITOS: 6 HORAS/SEMANA: 4h

– 15 clases (Teoría y revisión C)– 10 clases Prácticas

Profesores– Coordinador: Mohamed Abderrahim (1.3B02)– Teoría: M. Abderrahim y Fares Abu-Dakka– Prácticas: Carlos Alonso, Avinash, Ioannis Douratsos– Coordinador de Prácticas: Javier Gonzalez-Quijano

(1.3B13)

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Calendario

Lunes 9:00-11:00 Teoría Aula 2.3.D04 G21Lunes 15.00-17.00 Teoría Aula 2.3D01 G24

SeptSemana 1 9-sep 10-sep 11-sep 12-sep 13-sep

T-1 T-2 PrSemana 2 16-sep 17-sep 18-sep 19-sep 20-sep

T-3 T-4 PrSemana 3 23-sep 24-sep 25-sep 26-sep 27-sep

T-5 T-6 Pr

OctubreSemana 4 30-sep 1-oct 2-oct 3-oct 4-oct

T-7 T-8 PrSemana 5 7-oct 8-oct 9-oct 10-oct 11-oct

T-9 FLSemana 6 14-oct 15-oct 16-oct 17-oct 18-oct

T-10 P-1Semana 7 21-oct 22-oct 23-oct 24-oct 25-oct

T-11 P-2 Parcial 1Semana 8 28-oct 29-oct 30-oct 31-oct 1-nov

T-12 FN

NoviembreSemana 9 4-nov 5-nov 6-nov 7-nov 8-nov

T-13 P-3Semana 10 11-nov 41590 41591 41592 41593

T-14 P-4Semana 11 18-nov 19-nov 20-nov 21-nov 22-nov

T-15 P-5Semana 12 25-nov 26-nov 27-nov 28-nov 29-nov

P-6 P-7

DiciembreSemana 13 2-dic 3-dic 4-dic 5-dic 6-dic

P-8 FNSemana 14 9-dic 10-dic 11-dic 12-dic 13-dic Fin Clase

P-9 P-10Semana 15 16-dic 17-dic 18-dic 19-dic 20-dic

Defensa de Semana 16 23-dic 24-dic 25-dic 26-dic 27-dic Trabajos

Semana 17 30-dic 31-dic 1-ene 2-ene 3-ene

EneroSemana 17 1-ene 2-ene 3-ene

Semana 18 6-ene 7-ene 8-ene 9-ene 10-ene

13-ene 14-ene 15-ene 16-ene 17-ene

20-ene 21-ene 22-ene 23-ene 24-ene

27-ene 28-ene 29-ene 30-ene 31-ene

Recuperaciones

Examenes

Examenes

Examenes

2º Cuatrimestre -clases-

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Normativa

Clases teóricas (asistencia no obligatoria) Prácticas y Repaso Programación básica (asistencia

obligatoria)

– Evaluación continua– Realizar Trabajo

Evaluación– 0.4 examen final + 0,6 evaluación continua

0.15 Parcial 1 0.15 Parcial 2 0.30 Trabajo Examen final (Nota mínima 3,5)

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Temario (1)

Introducción al desarrollo de sistemasinformáticos

Ingeniería de requisitos El lenguaje unificado de modelado UML y

Análisis Orientado a Objetos– Modelado estructural– Modelo dinámico/comportamiento

Diseño Orientado a Objetos Bases de datos relacionales y SQL Introducción a los sistemas de tiempo real

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Temario (2)

Repaso de C Introducción a la programación orientada a

objetos en C++ Sintaxis del lenguaje C++ Conceptos básicos de clases, objetos y métodos Jerarquía de clases y herencia Polimorfismo Concepto de plantillas Manejo de Entrada y Salida Manejo de excepciones

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Bibliografía

Francisco Javier Ceballos. "Programación orientada aobjetos con C++". Cuarta Edición. Ra-ma. 2007.

Francisco Javier Ceballos. "Enciclopedia del lenguajeC++". Segunda Edición. Ra-ma. 2009.

Jorge Badenas, José Luis Llopis, Óscar Coltell. "Cursopráctico de programación en C y C++". SegundaEdición. Publicacions de la Universitat Jaume I. 2001.

Bjarne Stroustrup. "The C++ Programming Language".Tercera Edición. Addison-Wesley. 1997. (Página webdel autor)

Bjarne Stroustrup. "El Lenguaje de programaciónC++". Edición Especial. Addison-Wesley. 2002.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Bibliografía

Stanley B. Lippman, Josée Lajoie. "C++Primer". Tercera Edición. Addison-Wesley.1998.

Enrique Hernández Orallo, José HernándezOrallo, Mª Carmen Juan Lizandra. "C++estándar. Programación con el Estándar ISO yla Biblioteca de Plantillas (STL)". Paraninfo.2002. (Página web del autor)

Luis Joyanes. "Programación en C++.Algoritmos, estructuras de datos y objetos".Segunda Edición. McGraw-Hill. 2006.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

“Aprendiendo UML En 24 Horas”, JosephSchmuller, Prentice Hall PTR, ISBN-13: 978-9684444638

“The Unified Modeling Language”, JamesRumbaugh, Ivan Jacobson, Grady Brooch,Addison-Wesley.

Bibliografía

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

1. INTRODUCCION AL DESARROLLO DE SISTEMAS

INFORMATICOS

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

AGENDA

Ingeniería del Software Ciclo de vida del Software Modelos de ciclo de vida para el desarrollo

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Definición de Software

Para nosotros será el conjunto de información:– capaz de producir en las máquinas el comportamiento

deseado, de forma eficaz y eficiente,– para que los usuarios puedan utilizar el sistema de

forma eficiente.– al que los desarrolladores puedan dar mantenimiento

de forma eficaz y eficiente.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

La Importancia del Software

Nuestra sociedad depende en gran medida de lainformática.– Parece impensable que los sistemas informáticos

dejasen de trabajar, ya que son soporte de muchossistemas.

– Ejemplos de sistemas básicos son: El sistema de control de los semáforos de la ciudad Sistemas de transporte aéreo Sistemas bancarios Sistemas de producción (fabricas), hospitales UVI,

etc..

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

¿Por qué es difícil desarrollar Software?

Lo cierto es que muchos proyectos de desarrollode software fracasan

Escalabilidad y complejidad Centraremos el tema mediante:

– Una estadística realizada sobre 8 proyectos deSoftware Estadounidenses.

– Características del Software.– Aplicaciones del Software.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Estadística

Realizada sobre 8 proyectos de Software Estadounidenses

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Características del Software

Es inmaterial e invisible. El comprador lo puede evaluar cuando ya ha

sido construido. El Software se desarrolla, no se fabrica. Es complejo. Los sistemas actuales están

formados por miles de funciones con interfacescomplejas entre ellas.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

El Software se desarrolla, no se fabrica.

En cualquier sistema de producción podemosobservar dos fases: la de desarrollo y la defabricación.

El desarrollo es lento y costoso. La fabricación es en serie y con costes estables.

Con el Software ocurre lo mismo pero ... Muchas aplicaciones se desarrollan a medida, sin

usar componentes existentes. La fabricación no se considera tal. Fase de pruebas/test

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Aplicaciones del Software

Clasificación según:– La utilización que se hace de él.– El tratamiento comercial que tiene.– La funcionalidad que aporta a la máquina.– La exigencia en eficiencia y los factores críticos que

se le exigen. Requisitos

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de MadridAplicaciones del Software

Según la utilización del software:

De Gestión.– Se trata del software que da soporte a los procesos

comerciales y manejo de información que tienen porobjetivo permitir a las empresas una mejor gestión.

Producción y control de procesos.– Es el software que da soporte a los procesos productivos y

conducentes a desarrollar las actividades propias de cadanegocio.

Robótica.– Software que se centra en controlar y automatizar el

comportamiento de sistemas electro-mecánicos quecolaboran con los seres humanos en diversos campos,desde la ortopedia hasta la exploración de otros planetas.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

De Ingeniería y Científico.– Da soporte a los procesos creativos y de diseño de las

personas, se caracteriza por cálculos matemáticoscomplejos. Ejemplo de ello son las herramientas CADo el soporte a seguimiento de acontecimientos en elespacio (Telescopios, etc.)

Ofimático.– Software que permite a las personas utilizar los

ordenadores en las tareas que habitualmente serealizan en oficinas.

Aplicaciones del Software

Según la utilización del software:

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Formación y divulgación.– Software que tiene por objetivo el transferir

conocimientos al ser humano, en esta categoría entrantoda la creación de cursos, simuladores,…

Domótico.– Software que se utiliza para controlar el hábitat del

ser humano, a pequeña escala. Va desde las alarmashasta el control de temperaturas de un hogar.

Ocio y Juegos.– Aplicaciones que tienen por objetivo el que el ser

humano pase algo de tiempo disfrutando con losordenadores.

Aplicaciones del Software

Según la utilización del software:

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de MadridAplicaciones del Software

Según el tratamiento comercial que tiene

Software de estantería: COTS (Commercial offthe shelf) - Software reutilizable desde un tercero

Paquetes parametrizables– > El usuario los adapta

Software a medida– > Específico para el usuario desde una tercera persona

Software personal– > Hecho para una tarea específica por el usuario

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de MadridAplicaciones del Software

Funcionalidad que aporta a la máquina:

Software de sistemas– Ej. control de un proceso productivo

Comunicaciones– Ej. Chats, navegadores, control de puertos …

Empotrado– Ej. Ordenadores de abordo de un vehículo

De usuario– Ej. GUIs, Juegos, etc…

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de MadridAplicaciones del Software

Exigencia en eficiencia y factores críticos

Software de tiempo real– Requerimientos de alto rendimiento, respuesta rápida.

Transaccional– Alta seguridad

Monousuario y PC– Manejo de cuentas de usuario, etc…

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Ingeniería de Software

"Es el establecimiento y uso de principios(métodos) sólidos de ingeniería con el fin deobtener sistemas programados de formaeconómica, confiable y que trabajen en máquinasreales [computadores]" F.L. Bauer, 1972.

“La aplicación práctica del conocimientocientífico en el diseño y construcción deprogramas para computadores y ladocumentación asociada requerida paradesarrollarlos, operarlos y mantenerlos". B.Boehm, 1976.

Ingeniería

Software

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Ingeniería de Software: origen

Su origen se debe a que el entorno de desarrollode sistemas software adolecía de:– Retrasos considerables en la planificación– Poca productividad– Elevadas cargas de mantenimiento– Demandas cada vez más desfasadas con las ofertas– Baja calidad y fiabilidad del producto– Dependencia de los realizadores

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Ingeniería de Software: crisis del software

Primera Fase. Los albores (1945-1955)– Programar no es una tarea diferenciada del diseño de una máquina– Uso de lenguaje máquina y ensamblador

Segunda Fase. El florecimiento (1955-1965)– Aparecen multitud de lenguajes– Era posible hacer casi todo

Tercera Fase. La crisis (1965-1970)– Desarrollo inacabable de grandes programas– Ineficiencia, errores, coste impredecible– Nada es posible

Cuarta Fase. Innovación conceptual (1970-1980)– Fundamentos de programación– Verificación de programas– Metodologías de diseño

Quinta Fase. El diseño es el problema (1980-?)– Entornos de programación– Especificación formal– Programación automática

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Ingeniería de Software: crisis del software

Ello ha venido originado por una falta de:– Formalismo y metodología– Herramientas de soporte– Administración eficaz

Las nuevas metodologías suponen un enfoqueintegral del problema, abarcando todas las fases– "Ingeniería del Software”: el tratamiento sistemático

de todas las fases del ciclo de vida del software

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Ciclo de Vida del Software

•Ciclo de vida del software: El periodo de tiempocomprendido desde la definición de los requisitoshasta el fin del su uso.

•Procesos: Actividades y tareas implicadas en eldesarrollo operación y mantenimiento de unsistema de software.

•La aplicación de los procesos, tanto en eldesarrollo como en el posterior mantenimiento yoperación del software, se dibuja a través de unos“patrones fijos” que configuran el esquema demapa de situación, relación y continuidad entrelos diferentes procesos, actividades y tareas.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de Vida

Lineal o secuencial Cascada Evolutivo Espiral Incremental

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaLineal o secuencial

Lineal o secuencial

Requisitos

Diseño

Codificación

Pruebas

Integración

Operación y mantenimiento

Sucesión escalonada de las etapas que lo componen: requisitos, diseño, codificación, pruebas e integración.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaLineal o secuencial

Es necesario terminar por completo cadaetapa para pasar a la siguiente

Este modelo, identificado ya a principios dela década de los 50, resulta muy rígidoporque cada fase requiere como elemento deentrada el resultado completo de la anterior

– No hay Realimentación!!!

Requisitos

Diseño

Codificación

Pruebas

Integración

Operación y mantenimiento

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaLineal o secuencial

En situaciones reales su rigidez genera problemas:– Ej: Dificultad para disponer de requisitos completos o del diseño

pormenorizado del sistema en las fases iniciales, creando unabarrera que impide avanzar o mejorar el sistema en desarrollosfuturos.

Resulta apropiado para:Desarrollar nuevas versiones de sistemas ya veteranos

en los que el desconocimiento de las necesidades delos usuarios, o del entorno de operación no planteariesgos.Sistemas pequeños, sin previsión de evolución a corto

plazo.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaCascada

Cascada

Requisitos

Diseño

Codificación

Pruebas

Integración

Operación y mantenimiento

El modelo en cascada refleja la necesidad impuesta por la realidad de retornar con frecuencia desde una fase hacia las anteriores con la información generada al avanzar el desarrollo.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaCascada

Cascada

Requisitos

Diseño

Codificación

Pruebas

Integración

Operación y mantenimiento

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaCascada

Dos representaciones– La primera parece indicar que el retorno posible se da solamente entre

una fase y la anterior.– Mientras que en la segunda se refleja mejor el hecho de que en

cualquier fase puede surgir un retorno para modificar cualquiera de lasanteriores.

Este modelo reconoce la importancia de disponer de unosrequisitos y un diseño previo antes de comenzar con lacodificación del sistema

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaCascada

De nuevo: disponer de documentación elaborada de requisitosy diseño antes de empezar a codificar puede actuar como unabarrera que bloquee el comienzo de la siguiente fase

El modelo no se ha hecho muy popular, y los equipos que loaplican pueden caer en la tentación de comenzar con el diseñoo incluso con la codificación, sin tener un conocimientosuficiente de los requisitos.

Resulta apropiado para:Desarrollar nuevas versiones de sistemas ya veteranos en los que

el desconocimiento de las necesidades de los usuarios, o delentorno de operación no plantean riesgos.Sistemas pequeños, sin previsión de evolución a corto plazo.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEvolutivo

Este modelo está compuesto por varios ciclos de desarrollo. Cadauno de ellos produce un sistema completo con el que se operará en elentorno de operación.

La información acumulada en el desarrollo de cada sistema, ydurante su fase de operación sirve para mejorar o ampliar losrequisitos y el diseño del siguiente.

En realidad es un ciclo de vida común a todos los sistemasdesarrollados que se mejoran a través de versiones sucesivas.

Evolutivo

Diseño Codificación Pruebas Integración OperaciónMantenim. SistemaRequisitos

Diseño Codificación Pruebas Integración OperaciónMantenim. SistemaRequisitos

Diseño …Requisitos

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEvolutivo

Las circunstancias en las que este modelo puede resultar apropiado son Desconocimiento inicial de todas las necesidades operativas que serán precisas,

generalmente por tratarse del desarrollo de un sistema que operará en un entornonuevo sin experiencia previa. Necesidad de que el sistema entre en operación en tiempos inferiores a los que

serían necesarios para diseñarlo y elaborarlo de forma exhaustiva. Necesidad de desarrollar sistemas en entornos cambiantes (sujetos a normas

legislativas, mejora continua del producto para hacer frente a desarrollos de lacompetencia, etc.).

Aunque en su concepción inicial contempla desarrollos internos en cascada,también podría plantearse, por ejemplo, un ciclo de vida evolutivo condesarrollos internos en espiral.

Evolutivo

Diseño Codificación Pruebas Integración OperaciónMantenim. SistemaRequisitos

Diseño Codificación Pruebas Integración OperaciónMantenim. SistemaRequisitos

Diseño …Requisitos

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEspiral

Espiral

PROTOTIPOPROTOTIPO

PROTOTIPOOPERATIVO

ANÁLISIS DERIESGOS

ANÁLISIS DERIESGOS

ANÁLISIS DERIESGOS

DISEÑODETALLADO

IMPLEMEN-TACIÓN

VERIFICACIÓN

PRUEBASINTEGRACIÓN

PRUEBAS

CODIFICACIÓN

REQUISITOSDE

SOFTWARE

VALIDACIÓNDE

REQUISITOS

PLAN DEDESARROLLO

PLAN DEINTEGRACIÓN

Y PRUEBAS

DESCRIPCIÓNDE SISTEMA

REQUISITOSPLAN CICLO

DESARROLLO

DETERMINAROBJETIVOS,

ALTERNATIVAS YRESTRICCIONES

EVALUARALTERNATIVAS,IDENTIFICAR Y

RESOLVER RIESGOS

PLANIFICAR FASESSIGUIENTES

DESARROLLAR YVERIFICAR EL

SIGUIENTE NIVEL

DISEÑO DELSOFTWARE

VALIDACIÓN YVERIFICACIÓNDEL DISEÑO

SIMULACIONES, MODELOS

COSTE ACUMULADO

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEspiral

Definido por Boehm en 1988,– Desarrollo evolutivo, en contraste a la linealidad de los anteriores.– Introduce como elemento distintivo la actividad de “análisis de riesgo”

para guiar la evolución del proceso de desarrollo.

El ciclo de iteración: una espiral:– Al representarse sobre ejes cartesianos muestra en cada cuadrante una

clase particular de actividad: Planificación, Análisis de riesgo, Ingeniería y Evaluación,

– Estas actividades pueden suceder de forma consecutiva a lo largo delciclo de vida del desarrollo.

– La dimensión angular representa el avance relativo en el desarrollo delas actividades de cada cuadrante.

– En cada ciclo de la espiral se realiza una parte del desarrollo total, através de los cuatro tipos de actividades.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEspiral

En la planificación de cada vuelta se establece elcontexto del desarrollo y se decide qué parte delmismo se abordará en el ciclo siguiente.

Las actividades de análisis de riesgo evalúan lasalternativas posibles para la ejecución de lasiguiente parte del desarrollo, seleccionando lamás ventajosa y previendo los riesgos posibles.

Las actividades de ingeniería corresponden a lasindicadas en los modelos lineales (secuencial ycascada): análisis, diseño, codificación, etc

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaEspiral

Las actividades de evaluación analizan los resultados dela fase de ingeniería, tomando el resultado de laevaluación como punto de partida para el análisis de lasiguiente fase.

Este modelo permite múltiples combinaciones ya que enla planificación de cada ciclo se determina el avance quese va a ejecutar durante la vuelta. Éste puede consistir enla obtención y validación de requisitos, o en el desarrollodel diseño, o el diseño junto con la codificación, o en laobtención de un subsistema completo (cascada derequisitos – diseño – codificación – pruebas –integración).

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaIncremental

Incremental

RE

QU

ISIT

OS Diseño Codificación Pruebas Integración Operación

Mantenim. Sub-sistema

Diseño Codificación Pruebas Integración OperaciónMantenim. Sub-sistema

Diseño Codificación Pruebas …

SISTEMA

El modelo incremental mitiga la rigidez del modelo en cascada, descomponiendo el desarrollo de un sistema en partes; para cada una de las cuales se aplica un ciclo de desarrollo (en cascada en la representación gráfica).

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaIncremental

Ventajas :El usuario dispone de pequeños subsistemas operativos que

ayudan a perfilar mejor las necesidades reales del sistema en suconjunto.El modelo produce entregas parciales en periodos cortos de

tiempo, comparados con el tiempo necesario para la construccióndel sistema en su conjunto, y permite la incorporación de nuevosrequisitos que pueden no estar disponibles o no ser conocidos aliniciar el desarrollo.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Modelos del Ciclo de VidaIncremental

Aunque en la representación gráfica de la figura anterior,los desarrollos de cada subsistema se solapan en eltiempo, en su aplicación real, el segundo y siguientessubsistemas pueden comenzar una vez concluido elanterior.

Resulta apropiado:– Desarrollo de sistemas en los que el cliente necesita disponer de

parte de la funcionalidad antes de lo que costaría desarrollar elsistema completo.

– Desarrollo de sistemas en los que por razones del contextointeresa realizar la obtención de los requisitos de formaescalonada a través de subsistemas.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Prototipos

El prototipado consiste en la construcción de modelos de prueba,que simulen el funcionamiento que se pretende conseguir en elsistema.

Los prototipos pueden ser:Ligeros: dibujos de pantallas de interfaz con simulación de

funcionamiento por enlaces a otros dibujos…Operativos: Módulos de software con funcionamiento propio que se

desarrollan sin cubrir las funcionalidades completas del sistema,normalmente en entornos RAD (”rapid application development”).

Esta forma de trabajo previo suele tener como principal objetivo laexperimentación con un entorno similar al pretendido, para obtenerretro-información del usuario o cliente que ayuda a losdesarrolladores en la concreción de los requisitos.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Prototipos

Aunque ofrece muchas ventajas, deben conocerse los riesgos queimplica el uso de prototipado:Como puede parecer que se ha desarrollado un interfaz de

usuario sofisticado y elaborado, el cliente puede llegar a pensarque ya se ha realizado el grueso del trabajo.Si se trata de un prototipo operativo, puede empezar a crecer al

margen de la planificación, más allá de los objetivos previstos,desbordando agendas y recursos.Si se trata de un prototipo ligero desarrollado fuera del

departamento de desarrollo (ej. Marketing), puede mostrar alcliente funcionalidades no implementables.El prototipo puede llegar a ofrecer funcionalidades superiores a

lo conseguible, por estar construido en un entorno diferente al dedesarrollo, o no incluir toda la funcionalidad del sistema.

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Proceso Unificado de Desarrollo

Propuesto por los autores de UML (lenguajeunificado de desarrollo)

Basado en componentes interconectados a travésde interfaces

Utiliza UML para desarrollar los esquemas ydiagramas de un sistema software

Principales aspectos definitorios– dirigido por casos de uso– centrado en la arquitectura– iterativo e incremental

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Caso de uso: Fragmento de funcionalidad queproporciona al usuario un resultado importante

Modelo de casos de uso: Funcionalidad total delsistema– ¿Qué debe hacer el sistema … para cada usuario?– Guían el proceso de desarrollo

Proceso Unificado de Desarrollo

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Centrado en la arquitectura– Describe diferentes vistas del sistema– Incluye los aspectos estáticos y dinámicos más significativos– Es la forma del software– La arquitectura y los casos de uso evolucionan en paralelo– Responsable: el arquitecto

Empieza por la parte que no es específica de los casos de uso Trabaja con casos de uso claves Progresa con la especificación de más casos de uso

Proceso Unificado de Desarrollo

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Iterativo e incremental– Se divide el trabajo en mini-proyectos– Cada mini-proyecto es una iteración que resulta en un

incremento– La iteración

Trata un conjunto de casos de uso Trata los riesgos más importantes

– En cada iteración se persiguen unos objetivosconcretos

– Ejemplo de iteración: 2 a 6 semanas

Proceso Unificado de Desarrollo

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Beneficios de un proceso iterativo controlado:– Coste del riesgo a un solo incremento– Reduce el riesgo de no sacar el producto en el

calendario previsto– Acelera el ritmo de desarrollo– Se adapta mejor a las necesidades del cliente

Proceso Unificado de Desarrollo

Informática IndustrialIngeniería de

Sistemas y Automática

Mohamed Abderrahim, Universidad Carlos III de Madrid

Proceso Unificado de Desarrollo