|
Inicio
Generalidades
Ejercicios
Talleres
Proyecto

|
Generalidades del Curso
La demanda de software sigue creciendo de forma exponencial en
el mundo. Esto implica que son necesarias técnicas y tecnología
eficientes de Ingeniería de Software para resolver los múltiples
problemas que se derivan de las aplicaciones en donde se desarrollan
sistemas de software de calidad y gran tamaño.
-
Presentar al alumno el espectro de técnicas
de Ingeniería de Software que pueden ser aplicadas en proyectos de
software.
-
Aprender a seguir en cualquier proyecto
de software una metodología de desarrollo y la utilización de
distintas técnicas y herramientas para la producción de software de
calidad.
-
Valorar la Ingeniería del software como
una disciplina que se refiere a la producción de sistemas de software
desarrollados por grupos y no sólo por individuos.
-
Comprender el funcionamiento de una
herramienta CASE, estableciendo la interacción con el ciclo de vida
del desarrollo de software.
-
Explicitación y asesoría a los alumnos sobre problemas
conceptuales
-
Video-conferencias y talleres de
software
-
Tareas de aplicación, consultas, plenarias y
grupos de
discusión
-
Trabajo en sala de cómputo con
herramientas de software.
-
Interacción y desarrollo de habilidades de auto-estudio como fundamento principal de la educación
contemporánea
1. Introducción a la Ingeniería del Software
-
¿Qué es Ingeniería del Software?
-
Conceptos fundamentales
-
La naturaleza cambiante del software
-
Software: libre o propietario?
Producto y Proceso
Ingeniería del Software Asistida
por Computador (CASE): Power-Designer, Rational-Rose, ArgoUML, Eclipse...
Responsabilidad profesional y
código de ética
2. Procesos del software
-
Actividades del Proceso: Especificación, Diseño e
implementación, Validación y Evolución del software
-
Modelos de procesos del software:
Lineal secuencial, Construcción de prototipos, DRA,
Incremental, Espiral, Ensamblaje de componentes, Desarrollo concurrente, Proceso Unificado, Métodos formales.
-
El marco de trabajo para la mejora de
procesos CMMI
-
El proceso de software personal PSP.
3. Gestión de proyectos de software
-
Conceptos y actividades de gestión de proyectos
-
Planificación y calendarización del proyecto
-
Estimación de costos del software
-
Gestión de riesgos
-
Gestión de personal.
4. Requerimientos del software
-
Requerimientos funcionales y no
funcionales
-
Requerimientos del dominio, del usuario y
del sistema
-
Obtención y análisis de requerimientos
-
Validación de requerimientos
-
Documento de requerimientos del software.
5. Modelado del Análisis
-
Enfoques de modelado del análisis
-
Conceptos del modelado de datos
-
Análisis Orientado a Objetos
-
UML en el AOO
-
Modelado basado en escenarios
-
Modelado orientado al Flujo de Datos
-
Modelado basado en Clases.
6. Diseño
-
Diseño dentro del contexto de la
ingeniería del software
-
Conceptos y principios del diseño
-
El modelo de diseño
-
Diseño de software basado en patrones
-
Diseño arquitectónico
-
Diseño Orientado a Objetos
-
Diseño de software de tiempo real
-
Diseño de interfaces de usuario.
7. Desarrollo y pruebas del software
-
Métodos ágiles
-
Programación extrema
-
Reutilización del software
-
Ingeniería del software basada en
componentes
-
Verificación y validación del software
-
Inspecciones de software
-
Pruebas del sistema
-
Diseño de casos de prueba
-
Evolución del software.
8. Sistemas y aplicaciones Web (WebApps)
-
Atributos de los sistemas y aplicaciones
en Web
-
Planeación de proyectos de ingeniería Web
-
Modelado de análisis para aplicaciones
Web
-
Modelado de diseño para aplicaciones Web
-
Diseño de interfaz de la WebApp
-
Diseño del contenido
-
Diseño de navegación.
9. Gestión de la Calidad y de configuraciones del software
-
Calidad de proceso y producto
-
Garantía de la calidad del
software (SQA)
-
Los estándares de calidad ISO 9000 / ISO 9001
-
Planificación de la calidad
-
Revisiones técnicas formales (RTF)
-
Medición y métricas del software
-
Gestión de la configuración del software (GCS)
-
El proceso de GCS
-
Gestión de versiones y entregas
-
GCS para ingeniería Web
10. Otros temas de Ingeniería del software
-
Arquitecturas de sistemas distribuidos
(Multiprocesador, Cliente/Servidor...)
-
Ingeniería inversa
-
Desarrollo de sistemas críticos
-
Herramientas de desarrollo: Java, PHP,
Ajax, Perl,
Python, Ruby, ASP, Delphi, Visual C++, VFoxPro...
-
Un camino por recorrer: El "nuevo"
proceso de ingeniería del software.
Sommerville, Ian. Ingeniería del
software. 7 ed. Pearson/Addison Wesley. Pressman, Roger. Ingeniería del
Software. 6 ed. McGraw-Hill. Bruegge/Dutoit. Ingeniería de software
orientado a objetos. Prentice-Hall. Yourdon, E. Structured Design. Prentice-Hall. Booch,
Grady. Análisis y Diseño Orientado a Objetos, con Aplicaciones. Addison
Wesley. Larman, Craig. UML y Patrones. 2 ed. Prentice-Hall. Enlaces
de interés:
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html#IngSoft
http://www.tcse.org
http://www.software-engin.com
http://www.mhhe.com/pressman
http://www.argouml.org
(Herramienta CASE libre)
http://is.ls.fi.upm.es/udis/conferencias/workshopPuentesIPOIS2005/XavierFerre.pdf
http://148.202.148.5/cursos/cc321/fundamentos/unidad1/dra.htm
http://www.itlalaguna.edu.mx/academico/carreras/sistemas/ingsofware1/Unidad1.pdf
http://maestros.its.mx/~jcabrera/Tecnicas/Procesos.pdf (Modelos
de procesos del software)
http://www.xtec.es/~pmarques/edusoft.htm http://www.geocities.com/aula_web/doc03.html http://www.acm.org/serving/se/code.htm
(Código de ética y práctica profesional de Ingeniería del software) www.minerva.uevora.pt/simposio/comunicacoes/rigomezmarino.html
(Ingeniería del software educativo) www.lsi.us.es/is/
(Grupo de investigación en I.S.) www.inf.udec.cl/~ingsoft
http://www.mixteco.utm.mx/~mmoreno/SINotes.html www.ls.fi.upm.es www.dsic.upv.es
www.cs.cinvestav.mx/SC/ www.dc.uba.ar/people/materias/isoft1/
http://www.eafit.edu.co/ing_software/introduccion
-
Exámenes rápidos y tareas de aprendizaje
-
Talleres, consultas y trabajo colaborativo
-
Evaluación final de cada período
-
Proyecto de Software
(Gestión/Diseño/Implementación)
|