Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Ingeniería del Software

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

 

Generalidades del Curso

Justificación

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.

Objetivos

  • 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. 

Metodología

  • 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

Contenido temático

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.

Bibliografía

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

Criterios de evaluación

  • 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)

Arriba  


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA