1. IDENTIFICACIÓN

Asignatura INGENIERÍA DEL SOFTWARE
Área Tecnología aplicada Nivel 5
Código ISI-54 Pensum 10
Correquisito(s) DSI44 Prerrequisito(s) BDI42
Créditos 4 TPS 12 TIS 8 TPT 64 TIT 128

2. JUSTIFICACIÓN

El uso de la informática en los procesos productivos y de servicios ha requerido de profesionales cada vez más eficientes en el desarrollo de aplicativos de software, día a día crece más la información, las metodologías para el desarrollo de los sistemas de información, los tipos de sistemas informáticos que solicitan los usuarios y las Tecnologías Informáticas y de Comunicaciones TICs, haciendo cada vez más complejo los procesos de enseñanza y aprendizaje de la ingeniería de software para el desarrollo de sistemas de información que brinden solución a las necesidades crecientes de las empresas. Por ende los procesos de modelamiento del software cada vez requieren ser mejor elaborados y estandarizados.
Por lo anterior, la IEEE crea SWEBOK el modelo de la enseñanza de la ingeniería del software, en búsqueda de estandarizar y organizar las áreas de conocimiento que deben ser tenidas en cuenta en la enseñanza de la ingeniería del software (ANAYA, 2006). El modelo, para que su implementación funcione adecuadamente, requiere de la actualización y adecuación de diseños curriculares en cada una de sus áreas de conocimiento que trabajen con nuevas estrategias de enseñanza aprendizaje que tengan en cuenta estas nuevas realidades, y los nuevos avances de las TICs.
Igualmente, las instituciones de educación superior han tenido que evolucionar sus metodologías de enseñanza de la Ingeniería del Software, para gestar profesionales eficientes en el desarrollo de aplicativos informáticos.
En conclusión el ITM en su programa académico Ingeniería del software ha creado un curso ISI53 para dar respuesta a las necesidades informáticas del medio y de las empresas, con el fin de desarrollar un perfil profesional con alta calidad en el desarrollo de software.

3. OBJETIVO GENERAL

Conceptualizar y manejar los procesos de análisis y diseño de software de forma que puedan desarrollar e implementar sistemas informáticos que den solución a problemas específicos.

4. OBJETIVOS ESPECÍFICOS


  • Conceptualizar y manejar al análisis orientado a objetos y la forma como en sus modelos permite comprender las clases, sus relaciones y comportamientos. .


  • Reconocer el análisis del dominio, los componentes genéricos del modelo de AOO, y el Proceso de AOO, los modelos: Objeto-Relación y Objeto-Comportamiento .


  • Reconocer el proceso del diseño en general y del diseño orientado a objetos en particular


  • Implementar algunos caso de uso de un sistema de información utilizando la metodología orientada a objetos


  • 5. COMPETENCIAS Y CONTENIDOS TEMÁTICOS DEL CURSO

    COMPETENCIAS CONTENIDO TEMÁTICO INDICADOR DE LOGRO
    Desarrollar e implementar sistemas informáticos utilizando herramientas informáticas que manejen diferentes metodologías generales de análisis y diseño de última generación Conceptualización básica de los sistemas de información.
    •Sistema de información y sus componentes
    •Definición de Sistema
    •Definición de Sistema de Información
    Introducción a la Ingeniería del Software:
    •Definición de Ingeniería de Software
    •Historia
    •Características
    •Crisis del software
    •El software como producto.
    •El software como proceso.
    •Modelos y metodologías de desarrollo de software
    •Formulación y evaluación básicas de proyectos de desarrollo de software.
    •Ejecución de un proyecto de desarrollo de software:
    Etapa de análisis de requerimientos:
    •Principios y conceptos de análisis.
    •Construcción de modelos de información
    •Principios de la especificación de los requisitos del software.
    •El Lenguaje de Modelado Unificado (UML) para el desarrollo de la etapa de análisis.
    •Herramientas informáticas de última generación para el desarrollo de software
    Etapa de Diseño de software:
    •Principios y Conceptos del Diseño
    •El lenguaje de Modelado Unificado (UML) para el desarrollo de la etapa de diseño
    •Diseño de la interfaz de usuario.
    •Diseño de pantallas
    •Diseño de reportes
    •Diseño de bases de datos
    •En el contexto de un sistema de información de una organización, propone los modelos y metodologías adecuados para el desarrollo de un software que dé solución a un problema específico.
    •Formula y evalúa la factibilidad de un proyecto específico de desarrollo de software.
    Realiza el desarrollo completo de un aplicativo software en la solución de un problema específico de un proceso productivo.
    •Realiza la etapa de análisis de requerimientos en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generación.
    •Realiza el desarrollo completo de un aplicativo software en la solución de un problema específico de un proceso productivo.
    •Realiza la etapa de diseño de software en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generación.
    •Realiza el desarrollo completo de un aplicativo software en la solución de de algunos caso de uso de un problema específico de un proceso empresarial.

    6. ESTRATEGIAS DIDÁCTICAS / METODOLÓGICAS

    DINÁMICA DE TRABAJO (Metodología de trabajo, espacios de asesorías):

  • Se dictarán clases magistrales y se realizarán talleres en las salas de computadores para los cuales se utilizará el programa Enterprise Architect para el modelado de un sistema de Información.


  • Se debe realizar un proyecto de desarrollo de un aplicativo, el cual debe ser aprobado por el docente, este se realizará en grupo de 3 a 5 estudiantes, Cada equipo debe de realizar 4 entregar formales.

  • Las entregas de los trabajos se calificarán de la siguiente manera:

  • La entrega antes del inicio de clases se califica sobre 5, durante la clase sobre 4, después por cada día se rebaja una unidad.

  • Otros acuerdos:
    Actas de clase:

  • Todas las clases se deben de realizar Acta, el monitor define quien realiza el acta de cada clase. Quien elabora el acta la envía por email y si alguno de los estudiantes o el docente tienen alguna diferencia debe responder con la aclaración del cambio.

  • Asesorías de clase:

  • Los grupos deben de seguir un orden para las asesorías, el docente atenderá a cada grupo según el orden que se tenga.

  • TOMA Y REPORTE ASISTENCIAS:
    Se llamara a lista a los 10 minutos de iniciada la clase

    CONCEPTOS DESARROLLADOS ESTRATEGIA DE ENSEÑANZA UTILIZADA POR EL DOCENTE Y ACTIVIDADES QUE LA ESTRUCTURAN ESTRATEGIAS DE APRENDIZAJE POTENCIADAS DURANTE LA ENSEÑANZA POR EL DOCENTE
    •Conceptualización básica de los sistemas de información.
    •Introducción a la ingeniería del software
    •Formulación y evaluación básicas de proyectos de desarrollo de software.
    •Clase magistral y talleres teórico prácticos con exposiciones por parte de los estudiantes
    •Exponer sobre los modelos de desarrollo de software por grupos de máximo tres estudiantes.
    •Realizar asesorías sobre el preanálisis del proyecto planteado por los estudiantes (en grupo de 3 a 5 estudiantes)
    •Realizar actividades lúdicas con el fin de que los estudiantes reconozcan el software como producto y como proceso.
    •Asesoría virtual (Chat) sobre la realización de la formulación y evaluación del proyecto de software a ser desarrollado. Guía de trabajo independiente N°1
    •Realización del primer parcial
    • Exploración de capítulo 1 y 2 relacionados al tema del libro:
    (PRESSMAN, 2002)
    •Exploración de capítulos relacionados al tema del libro:
    (LARMAN, 2004)
    •Realizar lecturas de los capítulos 1 ,2 y 3 del libro: (GUERRERO, 2007) de la página 1 a la página 20, el ejemplo en el anexo de la página 241 a la 258 y el ejemplo del aplicativo HICAP.
    •Revisar y analizar el ejemplo del trabajo de (MONTOYA Y CORREA) páginas 3 a la 19.
    •Desarrollo del informe 1 siguiendo el ejemplo en el anexo de la página 241 a la 258 (Preanálisis del sistema) del libro (GUERRERO, 2007).
    • Formulación y evaluación básicas de proyectos de desarrollo de software. •Llevar a cabo actividades grupales para que los estudiantes identifiquen los diferentes modelos de desarrollo de software
    • Explicación del ejemplo de (PRESSMAN, 2002) sobre “Hogar seguro” capitulo 20, con este se explica que es una narrativa y como se seleccionan las clases , los atributos y las operaciones
    •Utilizando el sistema de préstamos bibliotecario, explicar en clase :
    •Diagrama de clases (atributos y métodos) y los casos de uso.
    •Explicación del ejemplo sobre TPDV (Terminal Punto de Venta) del libro (LARMAN, 2004) de la página 39 a la 120.
    •Realización de asesorías sobre la primera parte del Análisis del sistema del proyecto seleccionado, reconociendo la aplicación de los conceptos técnicos, métodos y mediciones aplicables al análisis
    •Utilizar los trabajos desarrollados por los otros compañeros para ratificar conceptos.
    Asesoría al desarrollo del informe 2 (Análisis del sistema Parte inicial) Guía de trabajo independiente 2.
    •Realizar un foro participativo con el fin que los estudiantes distingan los objetos y sus relaciones en el modelado AOO, pero sobre todo, reconocer como lo expresa el análisis mediante UML.
    •Clase para realizar el primer parcial
    • Exploración del libro (LARMAN, 2004) de la página 39 a la 120.
    •Realizar lecturas de los capítulos 2, 20 y 21del libro (PRESSMAN, 2002).
    •Revisar el trabajo de (MONTOYA Y CORREA) páginas 19 a la 37.
    •Leer el capítulo: Análisis de requerimientos del libro (GUERRERO,2008)
    •Utilizando el AOO realizar Del sistema de préstamos bibliotecario, explicado en clase : Narrativa, diagrama de clases (atributos y métodos) y los casos de uso.
    •Utilizando el AOO realizar la Narrativa, diagrama de clases (atributos y métodos), los casos de uso del proyecto seleccionado, como parte del informe número 2 –Análisis del sistema (En grupos de 3 a 5 estudiantes)-.
    •Deben de traer las correcciones que el docente realice sobre el informe anterior o que realice durante las asesorías.
    •Deben de corregir los errores en el informe número 1 y deben de entregarlo como parte del informe 2.
    • Ejecución de un proyecto de desarrollo de software
    •Etapa de análisis de requerimientos
    • Exponer el aplicativo “Sistemas de préstamos bibliotecario” para aclarar los diagramas de casos de uso y los casos de uso, y su relación con el diagrama de clases, también para explicar los diagramas de secuencia y explicar los atributos y métodos de los diagramas de clase y su relación con los diagramas de secuencia.
    •Realizar la actividad del juego “Armar la secuencia”
    •Utilizar los trabajos desarrollados por los otros compañeros para ratificar conceptos.
    •Clase presencial para evaluación
    •Asesoría al desarrollo del informe 2 (Análisis del sistema)
    • Realiza la etapa de Análisis de Requerimientos en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generación.
    • Ejecución de un proyecto de desarrollo de software
    •Etapa de análisis de requerimientos
    • Exploración del documento web “Object-Oriented Design” en las direcciones : http://mini.net/cetus/oo_uml.html
    •Taller sobre modelos objeto-relación y objeto comportamiento.
    •Realización de los modelos objeto-relación y objeto comportamiento
    •Leer el capítulo :Análisis de requerimientos del libro (GUERRERO,2008)
    •Desarrollar los ejercicios al final del capítulo 21 del libro: (PRESSMAN, 2002).
    •Del sistema de préstamos bibliotecario, explicado en clase realizar:
    •Diagrama de clases (mejorarlo), Diagramas de casos de uso diagramas de secuencia y contratos.
    •Revisar el trabajo de (MONTOYA Y CORREA) páginas 37 a la 45.
    •Desarrollo completo del informe 2,desarrollando:
    •Diagrama de clases (mejorarlo), Diagramas de casos de uso diagramas de secuencia y contratos del proyecto seleccionado (Análisis del sistema).
    •Asistir a asesoría con el docente en los grupos de trabajo
    • Realiza la etapa de Análisis de Requerimientos en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generación.
    • Ejecución de un proyecto de desarrollo de software
    •Etapa de Diseño de software
    • Exploración del documento web “Object-Oriented Design” en las direcciones : http://mini.net/cetus/oo_uml.html
    • Exploración de los libros
    (PRESSMAN, 2002), capítulos 22,25 y 26; y (LARMAN, 2004), capítulos 14 al 20
    • Desarrollar los ejercicios al final del capítulo 22del libro (PRESSMAN, 2002)
    • Leer el capítulo :Diseño del sistema del libro (GUERRERO,2008)
    • Deben de corregir los errores en el informe número 1 y del informe 2, deben de entregarlo como parte del informe 3.
    • Deben de traer las correcciones que el docente realice sobre el informe anterior o que realice durante las asesorías.
    • Del sistema de préstamos bibliotecario, explicado en clase realizar:
    • Diseño global, diseño de bases de datos, diseño de contratos, diseño de pantallas y diseño de reportes
    • Revisar del trabajo de (MONTOYA Y CORREA) páginas 43 a la 70.
    • Deben de traer las correcciones que el docente realice sobre el informe anterior o que realice durante las asesorías.
    • Desarrollo del informe 3: Diseño global, diseño de bases de datos, diseño de contratos, diseño de pantallas y diseño de reportes del proyecto seleccionado (Diseño del sistema)
    •Consultar sobre información similar en la base de datos DIALNET y SpringerLink
    •Realiza la etapa de Diseño de Software en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generaciónConsultar sobre información similar en la base de datos DIALNET y SpringerLink
    •Realiza la etapa de Diseño de Software en el desarrollo en un aplicativo específico, utilizando una herramienta informática de desarrollo de software de última generación
    • Ejecución de un proyecto de desarrollo de software
    •Etapa de Diseño de software
    • Como parte del informe 4 se debe implementar algunos casos de uso seleccionados por los estudiantes y aprobados por el docente.
    • Deben entregar toda la documentación del sistema de forma impresa y en CD con los códigos fuentes, los ejecutables y un archivo: leame.doc, donde se especifique los usuarios del sistema y sus claves de acceso, el software base( y su versión), la configuración requerida, manejador de bases de datos, sistema operacional, además todas aquellas indicaciones que permitan ejecutar de forma adecuada el sistema.
    Realiza el desarrollo completo de un aplicativo software en la solución de algunos casos de uso de un problema específico de un proceso empresarial


    7. ESTRATEGIAS DE SEGUIMIENTO Y EVALUACIÓN

    DESCRIPCIÓN PONDERACIÓN (%) SESIÓN O FECHA
    Trabajo de campo 1 (Pre-análisis o anteproyecto). 10% 4 SEMANA
    Trabajo de campo 2 (Análisis de requisitos). 10% 7 SEMANA
    Prueba escrita 1 (tema: Análisis de requisitos). 10% 8 SEMANA
    Trabajo de campo 3 (Análisis de requisitos y Diseño). 10% 9 SEMANA
    Prueba escrita 2 (tema: Análisis de requisitos y Diseño) 20% 10 SEMANA
    Trabajo de campo 4 (Diseño y Aplicativo) 20% 14 SEMANA
    Examen final (toda la asignatura) 20% 16 SEMANA

    Notas aclaratorias: Dado que la asignatura tiene un gran componente práctico no se hará examen de habilitación

    8. BIBLIOGRAFÍA

    GUERRERO, Diego. (2006), Diseño del micro currículo “Ingeniería del software ISI54”. Medellín: Decanatura Ingeniería de sistemas de información, Instituto Tecnológico Metropolitano. Disponible en www.itm.edu.co
    ---------------- A. (2006A) Herramienta informática como apoyo pedagógico a la asignatura ingeniería del software orientado a objetos -HICAP-IOI-. Proyecto de investigación. Medellín: Centro de investigación Instituto Tecnológico Metropolitano.
    ---------------- B. (2006B). Guías de trabajo independiente del núcleo: “ingeniería del software orientado a objetos IOI52”. Medellín: Decanatura Ingeniería de sistemas de información, Instituto Tecnológico Metropolitano.
    GUERRERO, Diego. (2007).”Elementos básicos de ingeniería del software” 1°Ed, TEXTOS ACADÉMICOS ITM, Septiembre 2007, ITM. ISBN: 978-958-98275-6-7. 336 p.
    ---------------- A (2007A)“Estrategias Didácticas para la Ingeniería del Software a partir del proyecto SWEBOK”. Revista Tecnológicas N° 18 ISSN 0123-7799, Medellín, 2007, pp. 185-224.
    Guide to the Software Engineering Body of Knowledge. SWEBOK,2004 Version. A project of the IEEE Computer Society Professional Practices Comité. Disponible en www.swebok.org
    PRESSMAN, Roger S.. Ingeniería del software : un enfoque práctico. 5. ed. Madrid : McGraw-Hill, 2002. 601 p
    SENN, James A.. Análisis y diseño de sistemas de información. 2. ed. México : McGraw-Hill, 1992. 942 p
    LARMAN, Craig. UML y patrones introducción al análisis y diseño orientado a objetos. 2ª edición México : Prentice-Hall, 1999. 507 p.
    JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. El proceso unificado de desarrollo de software. Madrid : s.n., 2000. 438 p.
    MCCONNELL, Steve. Desarrollo y gestión de proyectos informáticos cómo dominar planificaciones ajustadas de software. 2 ed. Madrid : McGraw-Hill, 1997. 691 p.
    KENDALL, Kenneth E.; KENDALL, Julie E.. Análisis y diseño de sistemas. 3. ed. México : Prentice-Hall, 1997. 913 p.
    Referencias adicionales:
    Sitio con temas varios acerca del diseño de objetos. Referencia a diversas herramientas CASE con UML: http://www.objectsbydesign.com/
    Formalizando UML http://www.iist.unu.edu/home/Unuiist/newrh/III/1/docs/techreports/report230.pdf
    Integrating User Interface Design And Object-Oriented Development Through Task Analysis And Use Cases. John M. Artin. Disponible en: http://www.cutsys.com/CHI97/Artim.html
    http://www.microsoft.com/spanish/MSDN/estudiantes/ingsoft/default.asp
    http://www.cic.ipn.mx/ute/ogonzalez/Cursos/tp01/sld001.htm
    http://exa.unne.edu.ar/depar/areas/informatica/anasistem2/public_html/