Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORMTICA INDUSTRIAL I
Ingeniera Electrnica Industrial y Automtica 3er curso
0. PRESENTACION
Profesor: Mohamed Abderrahim / Departamento de Ingeniera de Sistemas y Automtica
Informtica Industrial Ingeniera de Sistemas y Automtica
Presentacin de la asignatura
CREDITOS: 6 HORAS/SEMANA: 4h
15 clases (Teora y revisin C) 10 clases Prcticas
Profesores
Coordinador: Mohamed Abderrahim (1.3B02) Teora: M. Abderrahim y Fares Abu-Dakka Prcticas: Carlos Alonso, Avinash, Ioannis Douratsos Coordinador de Prcticas: Javier Gonzalez-Quijano (1.3B13)
Informtica Industrial
Calendario
Lunes Lunes 9:00-11:00 15.00-17.00 Teora Teora Aula 2.3.D04 G21 Aula 2.3D01 G24
Sept 9-sep T-1 16-sep T-3 23-sep T-5 Octubre 30-sep T-7 7-oct T-9 14-oct T-10 21-oct T-11 28-oct T-12
Semana 13
10-sep 17-sep 24-sep 11-sep 18-sep 25-sep 12-sep 19-sep 26-sep 13-sep T-2 Pr 20-sep T-4 Pr 27-sep T-6 Pr
Diciembre 2-dic P-8 Semana 14 9-dic P-9 Semana 15 16-dic Semana 16 Semana 17 23-dic 30-dic
4-dic 11-dic
5-dic 12-dic
Fin Clase
Defensa de Trabajos
Enero Semana 17
Parcial 1
2-ene
3-ene
Semana 18
Semana 9
Noviembre 4-nov T-13 Semana 10 11-nov T-14 Semana 11 18-nov T-15 Semana 12 25-nov P-6
27-ene
15-ene Examenes 21-ene 22-ene 23-ene Examenes 28-ene 29-ene 30-ene 2 Cuatrimestre -clases-
Informtica Industrial
Normativa
Evaluacin
0.4 examen final + 0,6 evaluacin continua 0.15 Parcial 1 0.15 Parcial 2 0.30 Trabajo Examen final (Nota mnima 3,5)
Informtica Industrial
Temario (1)
Introduccin al desarrollo de sistemas informticos Ingeniera de requisitos El lenguaje unificado de modelado UML y Anlisis Orientado a Objetos
Modelado estructural Modelo dinmico/comportamiento
Diseo Orientado a Objetos Bases de datos relacionales y SQL Introduccin a los sistemas de tiempo real
Ingeniera de Sistemas y Automtica
Informtica Industrial
Temario (2)
Repaso de C Introduccin a la programacin orientada a objetos en C++ Sintaxis del lenguaje C++ Conceptos bsicos de clases, objetos y mtodos Jerarqua de clases y herencia Polimorfismo Concepto de plantillas Manejo de Entrada y Salida Manejo de excepciones
Ingeniera de Sistemas y Automtica
Informtica Industrial
Bibliografa
Francisco Javier Ceballos. "Programacin orientada a objetos con C++". Cuarta Edicin. Ra-ma. 2007. Francisco Javier Ceballos. "Enciclopedia del lenguaje C++". Segunda Edicin. Ra-ma. 2009. Jorge Badenas, Jos Luis Llopis, scar Coltell. "Curso prctico de programacin en C y C++". Segunda Edicin. Publicacions de la Universitat Jaume I. 2001. Bjarne Stroustrup. "The C++ Programming Language". Tercera Edicin. Addison-Wesley. 1997. (Pgina web del autor) Bjarne Stroustrup. "El Lenguaje de programacin C++". Edicin Especial. Addison-Wesley. 2002.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Bibliografa
Stanley B. Lippman, Jose Lajoie. "C++ Primer". Tercera Edicin. Addison-Wesley. 1998. Enrique Hernndez Orallo, Jos Hernndez Orallo, M Carmen Juan Lizandra. "C++ estndar. Programacin con el Estndar ISO y la Biblioteca de Plantillas (STL)". Paraninfo. 2002. (Pgina web del autor) Luis Joyanes. "Programacin en C++. Algoritmos, estructuras de datos y objetos". Segunda Edicin. McGraw-Hill. 2006.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Bibliografa
Aprendiendo UML En 24 Horas, Joseph Schmuller, Prentice Hall PTR, ISBN-13: 9789684444638 The Unified Modeling Language, James Rumbaugh, Ivan Jacobson, Grady Brooch, Addison-Wesley.
Informtica Industrial
Informtica Industrial
AGENDA
Ingeniera del Software Ciclo de vida del Software Modelos de ciclo de vida para el desarrollo
Informtica Industrial
Definicin de Software
Informtica Industrial
Informtica Industrial
Lo cierto es que muchos proyectos de desarrollo de software fracasan Escalabilidad y complejidad Centraremos el tema mediante:
Una estadstica realizada sobre 8 proyectos de Software Estadounidenses. Caractersticas del Software. Aplicaciones del Software.
Informtica Industrial
Estadstica
Realizada sobre 8 proyectos de Software Estadounidenses
Informtica Industrial
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 estn formados por miles de funciones con interfaces complejas entre ellas.
Informtica Industrial
Informtica Industrial
Clasificacin segn:
La utilizacin que se hace de l. El tratamiento comercial que tiene. La funcionalidad que aporta a la mquina. La exigencia en eficiencia y los factores crticos que se le exigen. Requisitos
Informtica Industrial
De Gestin.
Se trata del software que da soporte a los procesos comerciales y manejo de informacin que tienen por objetivo permitir a las empresas una mejor gestin.
Robtica.
Software que se centra en controlar y automatizar el comportamiento de sistemas electro-mecnicos que colaboran con los seres humanos en diversos campos, desde la ortopedia hasta la exploracin de otros planetas.
Informtica Industrial
De Ingeniera y Cientfico.
Da soporte a los procesos creativos y de diseo de las personas, se caracteriza por clculos matemticos complejos. Ejemplo de ello son las herramientas CAD o el soporte a seguimiento de acontecimientos en el espacio (Telescopios, etc.)
Ofimtico.
Software que permite a las personas utilizar los ordenadores en las tareas que habitualmente se realizan en oficinas.
Informtica Industrial
Formacin y divulgacin.
Software que tiene por objetivo el transferir conocimientos al ser humano, en esta categora entran toda la creacin de cursos, simuladores,
Domtico.
Software que se utiliza para controlar el hbitat del ser humano, a pequea escala. Va desde las alarmas hasta 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 los ordenadores.
Informtica Industrial
Software de estantera: COTS (Commercial off the shelf) - Software reutilizable desde un tercero Paquetes parametrizables
> El usuario los adapta
Software a medida
> Especfico para el usuario desde una tercera persona
Software personal
> Hecho para una tarea especfica por el usuario
Informtica Industrial
Software de sistemas
Ej. control de un proceso productivo
Comunicaciones
Ej. Chats, navegadores, control de puertos
Empotrado
Ej. Ordenadores de abordo de un vehculo
De usuario
Ej. GUIs, Juegos, etc
Informtica Industrial
Transaccional
Alta seguridad
Monousuario y PC
Manejo de cuentas de usuario, etc
Informtica Industrial
Ingeniera de Software
Software Ingeniera
"Es el establecimiento y uso de principios (mtodos) slidos de ingeniera con el fin de obtener sistemas programados de forma econmica, confiable y que trabajen en mquinas reales [computadores]" F.L. Bauer, 1972. La aplicacin prctica del conocimiento cientfico en el diseo y construccin de programas para computadores y la asociada requerida para documentacin desarrollarlos, operarlos y mantenerlos". B. Boehm, 1976.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Informtica Industrial
Informtica Industrial
Las nuevas metodologas suponen un enfoque integral del problema, abarcando todas las fases
"Ingeniera del Software: el tratamiento sistemtico de todas las fases del ciclo de vida del software
Informtica Industrial
Informtica Industrial
Lineal o secuencial
Lineal o secuencial
Sucesin escalonada de las etapas que lo componen: requisitos, diseo, codificacin, pruebas e integracin.
Informtica Industrial
Lineal o secuencial
Requisitos Diseo Codificacin Pruebas Integracin
Operacin y mantenimiento
Es necesario terminar por completo cada etapa para pasar a la siguiente Este modelo, identificado ya a principios de la dcada de los 50, resulta muy rgido porque cada fase requiere como elemento de entrada el resultado completo de la anterior
No hay Realimentacin!!!
Ingeniera de Sistemas y Automtica
Informtica Industrial
Lineal o secuencial
Resulta apropiado para: Desarrollar nuevas versiones de sistemas ya veteranos en los que el desconocimiento de las necesidades de los usuarios, o del entorno de operacin no plantea riesgos. Sistemas pequeos, sin previsin de evolucin a corto plazo.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Cascada
Cascada
Requisitos Diseo Codificacin Pruebas El modelo en cascada refleja la necesidad impuesta por la realidad de retornar con frecuencia desde una fase hacia las anteriores con la informacin generada al avanzar el desarrollo.
Informtica Industrial
Cascada
Cascada
Informtica Industrial
Cascada
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 las anteriores.
Este modelo reconoce la importancia de disponer de unos requisitos y un diseo previo antes de comenzar con la codificacin del sistema
Informtica Industrial
Cascada
De nuevo: disponer de documentacin elaborada de requisitos y diseo antes de empezar a codificar puede actuar como una barrera que bloquee el comienzo de la siguiente fase El modelo no se ha hecho muy popular, y los equipos que lo aplican pueden caer en la tentacin de comenzar con el diseo o incluso con la codificacin, sin tener un conocimiento suficiente de los requisitos. Resulta apropiado para:
Informtica Industrial
Evolutivo
Evolutivo
Requisitos Diseo Codificacin Pruebas Integracin Operacin Mantenim. Sistema
Requisitos
Diseo
Codificacin
Pruebas
Integracin
Operacin Mantenim.
Sistema
Requisitos
Diseo
Este modelo est compuesto por varios ciclos de desarrollo. Cada uno de ellos produce un sistema completo con el que se operar en el entorno de operacin. La informacin acumulada en el desarrollo de cada sistema, y durante su fase de operacin sirve para mejorar o ampliar los requisitos y el diseo del siguiente. En realidad es un ciclo de vida comn a todos los sistemas desarrollados que se mejoran a travs de versiones sucesivas.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Evolutivo
Evolutivo
Requisitos Diseo Codificacin Pruebas Integracin Operacin Mantenim. Pruebas Sistema Operacin Mantenim. Requisitos
Requisitos
Diseo
Codificacin
Integracin
Sistema
Diseo
Las circunstancias en las que este modelo puede resultar apropiado son
Desconocimiento
inicial de todas las necesidades operativas que sern precisas, generalmente por tratarse del desarrollo de un sistema que operar en un entorno nuevo sin experiencia previa. Necesidad de que el sistema entre en operacin en tiempos inferiores a los que seran necesarios para disearlo 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 la competencia, etc.).
Aunque en su concepcin inicial contempla desarrollos internos en cascada, tambin podra plantearse, por ejemplo, un ciclo de vida evolutivo con desarrollos internos en espiral.
Ingeniera de Sistemas y Automtica
Informtica Industrial
Espiral
Espiral
DETERMINAR OBJETIVOS, ALTERNATIVAS Y RESTRICCIONES COSTE ACUMULADO EVALUAR ALTERNATIVAS, IDENTIFICAR Y RESOLVER RIESGOS
ANLISIS DE RIESGOS
ANLISIS DE RIESGOS
ANLISIS DE RIESGOS
SIMULACIONES, MODELOS REQUISITOS PLAN CICLO DESARROLLO DESCRIPCIN DE SISTEMA REQUISITOS DE SOFTWARE DISEO DEL SOFTWARE DISEO DETALLADO
PLAN DE DESARROLLO
VALIDACIN DE REQUISITOS
CODIFICACI N
VERIFICACIN
IMPLEMENTACIN
Informtica Industrial
Espiral
Informtica Industrial
Espiral
En la planificacin de cada vuelta se establece el contexto del desarrollo y se decide qu parte del mismo se abordar en el ciclo siguiente. Las actividades de anlisis de riesgo evalan las alternativas posibles para la ejecucin de la siguiente parte del desarrollo, seleccionando la ms ventajosa y previendo los riesgos posibles. Las actividades de ingeniera corresponden a las indicadas en los modelos lineales (secuencial y cascada): anlisis, diseo, codificacin, etc
Ingeniera de Sistemas y Automtica
Informtica Industrial
Espiral
Las actividades de evaluacin analizan los resultados de la fase de ingeniera, tomando el resultado de la evaluacin como punto de partida para el anlisis de la siguiente fase. Este modelo permite mltiples combinaciones ya que en la planificacin de cada ciclo se determina el avance que se va a ejecutar durante la vuelta. ste puede consistir en la obtencin y validacin de requisitos, o en el desarrollo del diseo, o el diseo junto con la codificacin, o en la obtencin de un subsistema completo (cascada de requisitos diseo codificacin pruebas integracin).
Ingeniera de Sistemas y Automtica
Informtica Industrial
Incremental
Incremental
REQUISITOS
Diseo
Codificacin
Pruebas
Integracin
Diseo
Codificacin
Pruebas
Sub-sistema
SISTEMA
Diseo
Codificacin
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 representacin grfica).
Informtica Industrial Ingeniera de Sistemas y Automtica
Incremental
Informtica Industrial
Incremental
Aunque en la representacin grfica de la figura anterior, los desarrollos de cada subsistema se solapan en el tiempo, en su aplicacin real, el segundo y siguientes subsistemas pueden comenzar una vez concluido el anterior. Resulta apropiado:
Desarrollo de sistemas en los que el cliente necesita disponer de parte de la funcionalidad antes de lo que costara desarrollar el sistema completo. Desarrollo de sistemas en los que por razones del contexto interesa realizar la obtencin de los requisitos de forma escalonada a travs de subsistemas.
Informtica Industrial
Prototipos
El prototipado consiste en la construccin de modelos de prueba, que simulen el funcionamiento que se pretende conseguir en el sistema. Los prototipos pueden ser:
Ligeros:
dibujos de pantallas de interfaz con simulacin de funcionamiento por enlaces a otros dibujos Operativos: Mdulos de software con funcionamiento propio que se desarrollan sin cubrir las funcionalidades completas del sistema, normalmente en entornos RAD (rapid application development).
Informtica Industrial
Prototipos
Aunque ofrece muchas ventajas, deben conocerse los riesgos que implica el uso de prototipado: Como puede parecer que se ha desarrollado un interfaz de usuario sofisticado y elaborado, el cliente puede llegar a pensar que ya se ha realizado el grueso del trabajo. Si se trata de un prototipo operativo, puede empezar a crecer al margen de la planificacin, ms 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 al cliente funcionalidades no implementables. El prototipo puede llegar a ofrecer funcionalidades superiores a lo conseguible, por estar construido en un entorno diferente al de desarrollo, o no incluir toda la funcionalidad del sistema.
Informtica Industrial Ingeniera de Sistemas y Automtica
Propuesto por los autores de UML (lenguaje unificado de desarrollo) Basado en componentes interconectados a travs de interfaces Utiliza UML para desarrollar los esquemas y diagramas de un sistema software Principales aspectos definitorios
dirigido por casos de uso centrado en la arquitectura iterativo e incremental
Informtica Industrial
Caso de uso: Fragmento de funcionalidad que proporciona al usuario un resultado importante Modelo de casos de uso: Funcionalidad total del sistema
Qu debe hacer el sistema para cada usuario? Guan el proceso de desarrollo
Informtica Industrial
Centrado en la arquitectura
Describe diferentes vistas del sistema Incluye los aspectos estticos y dinmicos ms 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 especfica de los casos de uso Trabaja con casos de uso claves Progresa con la especificacin de ms casos de uso
Informtica Industrial
Iterativo e incremental
Se divide el trabajo en mini-proyectos Cada mini-proyecto es una iteracin que resulta en un incremento La iteracin Trata un conjunto de casos de uso Trata los riesgos ms importantes En cada iteracin se persiguen unos objetivos concretos Ejemplo de iteracin: 2 a 6 semanas
Ingeniera de Sistemas y Automtica
Informtica Industrial
Informtica Industrial
Informtica Industrial