Transcript
Ingeniería de Software 1.- DATOS DE LA ASIGNATURA
Nombre de la asignatura: Ingeniería De Software Carrera: Ingeniería En Sistemas Computacionales Clave de la asignatura: TIM-0701 Horas teoría-Horas práctica-Créditos: 3-2-8
2.- HISTORIA DEL PROGRAMA Lugar y Fecha de elaboración y revisión Instituto Tecnológico Superior del Sur Noviembre del 2006
Participantes
Observaciones (Cambios y Justificación)
Representantes de la academia de Ingeniería en Sistemas Computacionales
3.- UBICACIÓN DE LA ASIGNATURA a) RELACIÓN CON OTRAS ASIGNATURAS DEL PLAN DE ESTUDIO: ANTERIOR ASIGNATURAS Tópicos Selectos de Programación Programación Orientada a Objetos Taller de Base de Datos Programación de Sistemas
TEMAS
POSTERIOR ASIGNATURAS Desarrollo de Proyectos de Software Planificación y Modelado
TEMAS
b) APORTACIÓN DE LA ASIGNATURA AL PERFIL DEL EGRESADO: Conoce herramientas y metodologías para generar soluciones estandarizadas y óptimas en el desarrollo de software.
4.- OBJETIVO(S) GENERALES DEL CURSO El estudiante utilizará estratégicamente los principales estándares vigentes para la Ingeniería de Software en el contexto de las aplicaciones empresariales, permitiendo definir y asegurar los procesos de fabricación de software y así obtener productos de software de calidad según estándares internacionales.
5.- TEMARIO NUM.
I
TEMAS
El proceso software
II
Metodologías orientadas a objetos
III
Ingeniería de software asistida por computadora(CASE)
IV
V
VI
VII
Modelado de Requisitos con UML
Métrica
Ingeniería de Software y de Calidad
Reutilización del software
SUBTEMAS 1.1. El proceso software 1.2. Estándares en Ingeniería de Software 1.3. Estándares relacionados con el proceso de software 1.4. Familia de estándares ISO 9000 1.5. CMMI 1.6. IEEE/ISO/IEC 12207 1.7. Introducción a SQA (Software Quality Assurance) 2.1. Descripción de las metodologías 2.2. Herramientas de apoyo 2.3. Ventajas y limitaciones 3.1. Herramientas de apoyo 3.2. Ventajas y limitaciones 4.1. Introducción a UML 4.2. Diagrama de Casos de uso 4.3. Diagrama de Clases 4.4. Diagrama de actividades 4.5. Diagramas de interacción: 4.5.1. Diagrama de secuencias 4.5.2. Diagrama de colaboraciones 4.6. Statecharts (Diagramas de estado) 5.1. Objetivos generales del método. 5.2. Ámbito de aplicación. 5.3. Alcance del método. 5.4. Versiones. 5.5. Objetivos en el desarrollo de la versión 3. 5.6 Influencias. 5.7. Modelo de procesos de Métrica 3. 5.8. Procesos en Métrica 3. 5.9. Planificación de sistemas de información (PSI). 5.10. Estudio de viabilidad del sistema (EVS). 5.11. Análisis del sistema de información (ASI). 5.12. Diseño del sistema de información (DSI). 5.13. Construcción del sistema de información (CSI). 5.14. Implantación y aceptación del sistema (IAS). 5.15. Mantenimiento de sistemas de información (MSI).
6.1. Validación de requisitos 6.2. Pruebas de Completitud 6.3. Pruebas de Integración 6.4. Auditoria del proceso de desarrollo 7.1. Beneficios de la reutilización 7.2. Dificultades para la reutilización 7.3. Assets 7.4. Niveles de reutilización
7.5. Modelo de procesos con reutilización 7.6. Ingeniería de dominios 7.7. Ingeniería del software basada en componentes 7.8. Clasificación y recuperación de assets o componentes
6.- APRENDIZAJES REQUERIDOS ¾ ¾ ¾ ¾ ¾
Comprensión de conceptos de Programación Orientada a Objetos Manejo un lenguaje de Programación Orientado a Objetos Conocer algún modelo de Desarrollo de Software Conocer algún motor de Base de Datos Comprender los diferentes paradigmas de programación
7.- SUGERENCIAS DIDÁCTICAS • Exposición de los contenidos temáticos en clase por el profesor de la asignatura. • Análisis por parte del alumno del material de soporte de los contenidos temáticos de la asignatura. • Discusión en clase sobre los contenidos temáticos del curso. • Presentación de casos en clase por el profesor de la asignatura. • Solución de casos en el nivel de abstracción, por parte de los alumnos • Integrar equipos de 3 personas para analizar y evaluar cada tema del programa • Aplicar las metodologías en la creación de un proyecto de software • Uso de un portal de Internet para apoyo didáctico de la materia, que cuente por lo menos con un foro, preguntas frecuentes, material de apoyo y correo electrónico.
8.- SUGERENCIAS DE EVALUACION • • • • • • • •
Valoración de conocimientos previos. Dar seguimiento al desempeño Participación en dinámicas grupales de ideas, debate, entre otras. Actividades de auto evaluación. Exámenes prácticos y escritos Evaluaciones departamentales. Elaborar un proyecto de Desarrollo de Software Elaboración de contenido para Internet
9.-UNIDADES DE APRENDIZAJE UNIDAD I: El proceso software OBJETIVO EDUCACIONAL ACTIVIDADES DE APRENDIZAJE
BIBLIOGRAFÍA
El alumno conocerá los principales estándares para el desarrollo de software así como la importancia de estos en la elaboración del producto.
-
En equipo de 3 analizar los principales estándares en Ingeniería de Software. Participar en un Foro de discusión respecto a los estándares de calidad en Ingeniería de software.
-
1, 2, 4, 7
UNIDAD II: Metodologías orientadas a objetos OBJETIVO EDUCACIONAL
ACTIVIDADES DE APRENDIZAJE
El alumno conocerá las diferentes metodologías orientadas a objetos más populares para sistemas en tiempo real.
-
-
Participar en un foro de discusión sobre cual es la mejor metodología orientada a objetos. Elaborar un software con alguna de las metodologías mas populares. Aprender el uso de alguna herramienta de apoyo para la metodología orientada a objetos.
BIBLIOCRAFÍA
4, 5, 8
UNIDAD III: Ingeniería de software asistida por computadora (CASE) OBJETIVO EDUCACIONAL
ACTIVIDADES DE APRENDIZAJE
El alumno aprenderá a utilizar una - Investigar las diferentes herramientas de herramienta de apoyo para la ingeniería de software ingeniería de software. - En equipo de 3 exponer las diferentes herramientas de Ingeniería de Software
BIBLIOGRAFÍA
5, 8
UNIDAD IV: Modelado de Requisitos con UML OBJETIVO EDUCACIONAL
ACTIVIDADES DE APRENDIZAJE
El alumno conocerá el modelado de requisitos en UML, así como el uso correcto de las herramientas para cada uno de los diagramas.
-
-
En equipo de 3 personas expondrán cada uno de los diagramas UML. Investigar Software para el manejo de UML En equipo de 3 realizar un proyecto en donde apliquen cada uno de los diagramas UML
BIBLIOGRAFÍA
3, 5, 8
UNIDAD V: Métrica OBJETIVO EDUCACIONAL El alumno aplicación de
comprenderá los aspectos
ACTIVIDADES DE APRENDIZAJE la de
En equipo de 3 investigar una herramienta de seguimiento y medición
BIBLIOGRAFÍA
calidad de software, los cuales deben ser medidos desde diferentes puntos de vista como son el análisis, desarrollo, funcionalidad, documentación y proceso,
de software. Implementar una Herramienta para el seguimiento y medición para cada una de las fases de desarrollo de software. Participar en un foro de discusión en el cual se analizaran ls ventajas y desventajas de cada herramienta.
6
UNIDAD VI: Ingeniería de software y de calidad OBJETIVO EDUCACIONAL
ACTIVIDADES DE APRENDIZAJE
El alumno identificará la calidad de software a través de pruebas y auditorias en el proceso de creación y desarrollo de software.
- En equipo de 3 personas analizar cada uno de los subtemas de la unidad. - Realizar pruebas de calidad en el software.
BIBLIOGRAFÍA
4, 6, 7
UNIDAD VII: Reutilización del software OBJETIVO EDUCACIONAL El alumno aprenderá a identificar que componentes del software se puede reutilizar.
ACTIVIDADES DE APRENDIZAJE -
-
Investigar cada uno de los subtemas y generar contenido para Internet. Elaborar un proyecto de software en el cual se apliquen técnicas de reutilización.
10.- BIBLIOGRAFÍA 1.- Pressman Roger S. Ingeniería del software. McGraw-Hill. 2001. 2.- Sommerville, Ian. Ingeniería de software. Prentice-Hall. 2001 3.- Larman, Craig. UML y patrones. Pearson. 1999. 4.- Lawrence. Ingeniería de Software. Pearson 5.- Booch, Grady. UML Lenguaje De Modelado Unificado. Pearson 6.- Weitzenfeld, Alfredo. Ingeniería De Software Orientada A Objetos . Thomson 7.- ESA “Software Engineering estándar” 8.- Booch, G, Diseno Orientado a Objetos. Ed. Prentice hall 11. PRÁCTICAS PROPUESTAS • Normas para el aseguramiento de la calidad durante el proceso de software. • Enfoque estructurado vs. Orientado a Objetos. • Modelos de desarrollo de proceso de software: • Herramientas CASE.
BIBLIOGRAFÍA
3, 5, 6, 7, 8