UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCIÓN GENERAL DE ASUNTOS ACADÉMICOS PROGRAMA DE ASIGNATURA POR S I. DATOS DE IDENTIFICACIÓN 1. Unidad Académica: Facultad de Ciencias Químicas e Ingeniería 2. Programa (s) de estudio: (Técnico, Licenciatura) Ingeniero en Computación 3. Vigencia del plan:_2003-1_ 4. Nombre de la Asignatura: SISTEMAS DE INFORMACION 5. Clave: 5333 6. HC: 3 HL HT_2 HPC HCL HE 3 CR 8 7. Ciclo Escolar: 2003-2 8. Etapa de formación a la que pertenece: DISCIPLINARIA 9. Carácter de la Asignatura: Obligatoria X Optativa 10. Requisitos para cursar la asignatura: 5033 POOI y Recomendable Programación Orientada a Objetos II Formuló: M.C. J. Reyes Juárez Ramírez Vo. Bo. _Dr. Guillermo Rodríquez Ventura Cargo: _Sub-director Fecha: Junio del 2003
II. PROPÓSITO GENERAL DEL CURSO Aprender a modelar un sistema de software partiendo de un análisis de requisitos, realizando un análisis y diseño orientados a objetos para crear los modelos dinámico y funcional del sistema, apoyándose en el lenguaje de modelado unificado (UML) y en un ambiente visual como Rational Rose, de tal manera que se logre un modelado consistente e independiente en gran medida de las herramientas de desarrollo (lenguajes de programación) y de las arquitecturas de hardware y software. El curso se desarrolla mediante clases teoricas, ejercicios y prácticas de laboratorio bajo el ambiente de modelado visual de Rational Rose y los ambientes de desarrollo de JAVA y otros Lenguajes Visuales, usando pricipalmente las plataformas Windows y Unix. Esta materia está clasificada como disciplinaria, permite al estudiante que ya tiene el conocimiento sobre la Programación Orientada a Objetos, modelar un sistema de software bajo el modelo de objetos y le proporciona bases sólidas para otras materias como son Aplicaciones Distribuidas, Reingeniería de Procesos, Desarrollo de aplicaciones para Internet e Ingeniería de Software. III. (S) DEL CURSO Aplicar correctamente las técnicas y herramientas establecidas para el modelado de sistemas de información, de tal manera que, mediante obtención de un modelo robusto y consiste, se apoye en forma eficiente el desarrollo de software, contribuyendo de esta manera a la calidad tanto del proceso de implementación, como del producto final.
IV. EVIDENCIA (S) DE DESEMPEÑO - Crear el modelo dinámico y arquitectura del sistema. - Crear el modelo funcional del sistema. - Integrar la documentación técnica del sistema a base de la diagramación con el estándar UML. V. DESARROLLO POR UNIDADES Identificar plenamente cada una de las etapas del desarrollo de software, las actividades que se realizan en cada una de ellas, los documentos resultantes y manejar correctamente los mecanismos de retroalimentación entre cada etapa, lo cual debe permitir manejar el proceso en forma ordenada para lograr productos a tiempo y con la calidad requerida. CONTENIDO DURACIÓN 5 HORAS 1. El cliclo de vida de los sistemas de información. 1.1. Etapas principales. 1.1.1 Descripción de cada etapa. 1.1.2 Concentración de esfuerzos. 1.2. Modelos para el manejo del ciclo vida. 1.2.1 Modelo en cascada. 1.2.2 Modelo en espiral. 1.2.3 Otros modelos.
V. DESARROLLO POR UNIDADES Aprender a utilizar adecuadamente las técnicas y nomenclaturas existentes de diagramación y documentación para crear modelos consistentes de sistemas de software, tomando en cuenta las capacidades de cada técnica que se ajusten mejor a la naturaleza del problema tratado y a las exigencias de la solución a implementar. CONTENIDO DURACIÓN 10 HORAS 2. Conceptos básicos del modelado de distemas. 2.1. Conceptos de modelos. 2.2. Lenguajes de expresión. 2.3. Nomenclaturas. 3.4. Estándares de modelado de sistemas. 2.5 Modelo Orientado a Objetos. 2.5.1 Análisis Orientado a Objetos. 2.5.2 Diseño Orientado a Objetos. 2.6. Tipos de diagramación. 2.6.1 Diagramas de objetos. 2.6.2 Diagramas de composición. 2.6.3 Diagramas de supertipos y subtipos. 2.6.4 Diagramas de relaciones entre objetos. 2.6.5 Diagramas de eventos. 2.7. Implicaciones del modelo. 2.7.1 Asociación con las estructuras de los lenguajes de Programación Orientados a Objetos. 2.7.2 Asociación con el comportamiento de un lenguaje de Programación Orientado a Objetos. 2.7.3 Consideraciones para un lenguaje de Programación no Orientados a Objetos. 2.6. Herramientas CASE. 2.5.1 Funcionamiento. 2.5.2 Capacidades.
V. DESARROLLO POR UNIDADES Identificar las capacidades y ventajas que tiene el lenguaje de modelado unificado para el diseño de software, aprendiendo a manejar adecuadamente los conceptos de objetos y relaciones entre objetos para plasmar un problema en un modelo o diseño. CONTENIDO DURACIÓN 5 HORAS 3. Introducción al Lenguaje de Modelado Unificado 3.1. Características principales 3.2. Conceptos de objetos y relaciones. 3.3. Nomenclatura y simbología utilizadas. 3.4. Ventajas. 3.5. Desventajas. V. DESARROLLO POR UNIDADES Utilizar adecuadamente los distintos tipos de diagramas en la nomenclatura UML, de tal manera que se logre un modelo o diseño consistente en el que cada diagrama represente un nivel superior de completitud e integración del dominio del problema y sobre todo de la solución del sistema de software a implementar. CONTENIDO DURACIÓN 20 HORAS 4. Tipos de diagramas en UML 4.1. Diagramas de casos de uso. 4.3. Diagramas de interacción (secuencia y colaboración). 4.4. Diagramas de clases. 4.5. Diagramas de estado. 4.6. Diagramas de actividades. 4.7. Diagramas de paquetes. 4.8. Diagramas de distribución (emplazamiento).
V. DESARROLLO POR UNIDADES Utilizar adecuadamente las capacidades de creación de diagramas y generación de código que tiene Rational Rose, creando y ligando correctamente cada uno de los productos de diagramación para lograr un modelo o diseño coherente, consistente y bien documentado que permita generar código a partir de la misma herramienta o que pueda ser consultado para su implementación en una herramienta distinta. CONTENIDO DURACIÓN 5 HORAS 5. El proceso de desarrollo en UML con Rational Rose 5.1. Creación de proyectos de trabajo. 5.2. Creación de objetos y actores. 5.3. Documentación de diagramas y objetos de diagramas. 5.4. Creación de diagramas. 5.5. Generación de código a partir diagramas de clase. 5.6. Generación de diagramas a partir del código. V. DESARROLLO POR UNIDADES Identificar y valorar la aplicación adecuada de las técnicas de diagramación y construcción de modelos en sistemas ya desarrollados, para adquirir experiencia en la aplicación de dichas técnicas y aplicarlas correctamente en un proyecto de software, desarrollando un modelo íntegro y robusto con diagramación y documentación bajo la metodogía UML. CONTENIDO DURACIÓN 15 HORAS 6. Estudio de casos 6.1. El sistema de elevadores. 6.2. El sistemas de subscripciones. 6.3. Guías de mantenimiento del sistema. 6.4. Proyecto semestral.
VI. ESTRUCTURA DE LAS PRACTICAS No. De Competencia(s) Descripción Material de Apoyo Duración Práctica 1 Identificar en forma objetiva las actividades a realizar en cada etapa del ciclo de desarrollo de un proyecto de software, proponiendo una serie de etapas bien definidas en cuanto al resultado de cada una ellas y a la concentración de esfuerzos, de tal manera que queden bien secuenciadas y que permitan una retroalimentación entre ellas con el mínimo de esfuerzos e impactos de posibles cambios. Proponer un plan de desarrollo de un proyecto de software. - Editor de textos. 2 Identificar el uso apropiado de cada tipo de diagramas para el modelado de sistemas y elegir el más apropiado según las características del problema tratrado y las exigencias de la solución a implementar, utilizando una nomenclatura clara y con una lógica precisa, la cual refleje la relación entre la diagramación y la forma de las estructuras de datos, métodos y funcionalidad de los lenguajes de programación susceptibles a utilizar para la implementación del sistema. 3 Aplicar diferentes nomenclaturas, no estandarizadas (propias del alumno) y estandarizas (UML), comparar la eficiencia de cada una de ellas como puntos de partida para la codificación, evaluando aspectos tales, como claridad, sentido lógico, conectividad de componentes y facilidad de uso. Implementación de diagramas de objetos, composición, relaciones entre objetos y de eventos. Comparación de nomenclaturas estandarizadas y no estandarizadas. - Editor de textos. - Editor de textos. - Compilador.
No. De Competencia(s) Descripción Material de Apoyo Duración Práctica 4 Crear diagramas de Casos de Uso sobre un problema en particular, usando adecuadamente la nomenclatura UML y la cantidad necesaria de los mismos, de tal manera que la funcionalidad del sistema a desarrollar, del módulo o submódulo, quede completamente expresada en ellos, esto desde el punto de vista del usuario y en cuanto a todas sus posibilidades de aplicación en la realidad del problema tratado. Casos de Uso. 5 Crear diagramas de Secuencia sobre un problema en particular, usando adecuadamente la nomenclatura UML y plasmar la cantidad necesaria y suficiente de objetos y las acciones de los objetos, de tal manera que queden completamente expresadas la lógica y la secuencia computacional de las actividades de los objetos involucrados en la completitud de cada caso de uso mínimo. Secuencia. 6 Crear en forma ordenada diagramas de Colaboración sobre los diagramas de secuencia, observando la carga de trabajo de cada objeto involucrado y en dado caso redistribuir las actividades para balancear cargas, de tal manera que se obtengan objetos equilibrados. 7 Crear diagramas de clases bien definidos, donde cada clase tenga completamente expresados los atributos y métodos necesarios y suficientes y bien relacionados que cubran una abstracción o una funcionalidad del sistema a desarrollar, expresando además las relaciones entre clases conectándolas mediante la Colaboración. Clases. - Compilador.
No. De Práctica nomenclatura correcta, de tal manera que la codificación del sistema sea realizada casi en forma automática a partir de los diagramas de clases. 8 Crear diagramas de estados en forma correcta y precisa, de tal manera que se visualicen todos los posibles estados que un objeto pueda tener en cuanto a los valores de sus atributos y a la operatividad de sus métodos, distuinguiendo entre objetos estáticos y objetos dinámicos, así como la sincronización con otros objetos, todo esto con el fin de hacer cambios a los objetos ya diseñados y retroalimentar todo el diseño. 9 Implementar los diagramas de actividades y diagramas de paquetes y diagramas de distribución en forma correcta, de tal manera que la programación a realizar sea prevista para estar agrupada en módulos lógicos integrados en base a su funcionalidad y utilidad, así como preveer la distribución de los programas ejecutables a los largo de la red o redes computacionales según la naturaleza de la aplicación desarrollada y de las necesidades del cliente y del usuario. 10 Crear un documento integrado mediante un diagrama o diagramas donde se expresen las estrechas relaciones e implicacnias entre los productos (documentos, diagramas, código) de cada etapa del desarrollo de software, de tal manera que se visualice claramente el impacto que cambio o moviento realizado a un objeto tien sobre los demas objetos. Competencia(s) Descripción Material de Apoyo Duración estado. Actividades, Diagramas de Paquetes y Diagramas de Distribución. Implementación de una guía de mantenimiento sobre el proyecto desarrollado. - Editor de texto.
VII. METODOLOGÍA DE TRABAJO Por parte del profesor: 1.- Exposición de temas y conceptos mediane explicaciones en pizarrón, presentaciones en Power Point, Páginas Web y material impreso (copias). 2.- Demostraciones de diagramas y documentaciones técnicas de sistemas. Por parte del alumno (individual o en equipo): 1.- Realización de prácticas en el laborario de cómputo mediante las cuales se pueda fortalecer y afianzar el conocimiento, usando una PC o una estación de trabajo y una herramienta de modelado visual que permitan la creación de diagramas para el modelado de sistemas. 2.- Presentación de diagramas y documentaciones funcionales por cada práctica realizada, los cuales permitan visulaizar claramente las soluciones dadas a los problemas o tareas referentes al modelado una actividad, submódulos o sistemas completos de información. VIII. CRITERIOS DE EVALUACIÓN - Realización de prácticas formuladas y entrega de modelos diagramados sobre tareas específicas de procesamiento información. 30% - Entrega de un proyecto: modelado de un sistema para el procesamiento de información utilizando UML y Rose. 20% - Exámenes teóricos para afianzar los conceptos básicos. 50%
Básica IX. BIBLIOGRAFÍA Complementaria Título: Análisis y diseño orientado a objetos Autor: James Martin, James J. Odell. Editorial: Prentice-Hall 1994, ISBN:968-880-362-6 Título: Object Oriented Modeling and Design. Autor: James Rumbaugh, Michael Blaha, William Premerlan, Frederik Eddy, William Lorensen. Editorial: Prentice-Hall 1991, ISBN: 0-13-629841-9 Título: Desarrollo y gestión de proyectos informáticos Autor: Steve McConnell Editorial: Mc-Graw-Hill 1997, ISBN: 84-481-1229-6 Título: Teach Yourself UML in 24 hours Autor: Joseph Smuller. Editorial: SAMS 1999, ISBN: 0-672-31636-8 Título: Mastering UML with Rational Rose Autor: Wendy Boggs, Michael Boggs. Editorial: Sybex 1999 Título: Utilización de UML en ingeniería de Software con objetos y componentes Autor: Perdita Stevens, Rob Pooley. Editorial: Addison Wesley 2002, ISBN: 84-7829-054-0