Información Básica
-
Créditos: 3
-
Horas de trabajo acompañado: 5 / semana (3 horas clase, 2 horas taller)
-
Horas de trabajo independiente: 4 / semana
-
Pre-requisitos: Programación Orientada a Objetos, Gestión y Modelado de Datos
-
Tipo de curso: Núcleo de Formación Fundamental.
Descripción del Curso
En el curso de Procesos y diseño de Software se estudian los procesos involucrados en el desarrollo de software, especificamente la obtención y análisis de requisitos, y el diseño de la solución de software, concebidos desde la ingeniería de software. Se revisan las diferentes etapas de un proceso de desarrollo de software y su finalidad. Se introducen diferentes metodologías de desarrollo de software y su aplicación de acuerdo al contexto. El curso se enfoca en la aplicación de la metodología Rational Unified Process (RUP) y el establecimiento de la documentación requiera para proyectos de software. Finalmente, por medio de la realización de un proyecto de desarrollo de software de tamaño mediano, se aplican los conceptos y técnicas estudiadas en el curso.
Objetivos
Al finalizar el curso los participantes podrán:
-
Identificar los conceptos fundamentales de la ingeniería de software ◦Enumerar las principales características y cualidades del software
-
Identificar cual es el propósito de la Ingeniería de Software y la diferencia con las ciencias de la computación
-
Describir los procesos de software y los modelos asociados a ellos.
-
Reconocer la importancia de los modelos en el proceso de desarrollo de software.
-
-
Reconocer los ciclos de vida del software, los modelos de procesos de desarrollo y metodologías de desarrollo de software. ◦Identificar los ciclos de vida del software.
-
Reconocer y diferenciar los modelos de procesos de desarrollo.
-
Identificar y comparar diferentes metodologías de desarrollo de Software.
-
Evaluar las ventajas y desventajas de cada metodología de acuerdo al contexto donde se aplicará.
-
Aplicar una metodología de desarrollo ágil de software a un proyecto pequeño
-
-
Recolectar, analizar y modelar los requerimientos de un producto de software mediano.
-
Enumerar las diferentes etapas en el proceso de ingeniería de requerimientos
-
Explicar las características que deben tener los requerimientos en un proyecto de software.
-
Identificar requerimientos funcionales y no funcionales en proyectos de desarrollo de Software.
-
Enumerar los diferentes tipos de requerimientos no funcionales.
-
Realizar documentos de Requerimientos de Software (SRS) basados en estándares establecidos.
-
Modelar con diagramas UML los requerimientos de un producto de software.
-
-
Diseñar un producto de software de tamaño mediano
-
Utilizar diferentes técnicas y modelos en el proceso de diseño de Software.
-
Realizar documentos de Diseño de Software basados en estándares establecidos.
-
Modelar con diagramas UML el diseño y funcionamiento de una aplicación.
-
Evaluar diferentes alternativas de diseño relacionadas con la arquitectura, estructura e interfaces de un producto de software.
-
-
Utilizar los procesos metódicos de ingeniería de requerimientos, y el análisis y diseño de software en un proyecto real.
Competencias técnicas específicas que se desarrollan
-
Lenguaje de programación Java (intermedio).
-
Lenguaje de Modelado – UML (intermedio).
-
Herramientas de seguimiento de proyectos SCRUM (básico).
-
Wix/Wordpress (intermedio).
-
Herramientas de gestión de Requerimientos (Básico).
Contenido
Capítulo 1: Introducción
Sesión | Horas teóricas | Prácticas acompañadas | Tópicos | Bibliografía |
---|---|---|---|---|
1 | 3 | Presentación del curso. Introducción. Reto y realidad del desarrollo del software | [1,cap 1] | |
2 | 2 | Práctica – Trabajo alrededor de los proyectos exitosos y fallidos | ||
3 | 3 | Definiciones y Conceptos básicos sobre la Ingeniería de Software | [2,cap 1] | |
4 | 2 | Definición del Miniproyecto y trabajo sobre los requerimientos de éste (aplicación de metodología ágil) |
Total de Horas: 10
Sesión | Horas de trabajo independiente | Tópicos | Bibliografía |
---|---|---|---|
1-2 | 4 | Lectura “Aún estamos en crisis? y solución de guía | |
3-4 | 4 | Definición del diagrama de contexto de miniproyecto y búsqueda de soluciones similares |
Total de Horas: 8
Capítulo 2: Ciclo de vida, modelos de proceso y metodologías de desarrollo
Sesión | Horas teóricas | Prácticas acompañadas | Tópicos | Bibliografía |
---|---|---|---|---|
5 | 3 | Ciclos se Vida y Modelos de Proceso | [1,cap 2],[2,cap 2] | |
6 | 2 | Práctica | ||
7 | 3 | Metodologías de Desarrollo de Software | [1,cap 3],[2,cap 2.4,3],[6,cap 1,2,3] | |
8 | 2 | Taller – Metodologías de Desarrollo de Soft : Comparativo. Rational Unifed Process (RUP) | [1,cap 3],[2,cap 2.4,3],[6,cap 1,2,3] |
Total de Horas: 10
Sesión | Horas de trabajo independiente | Tópicos | Bibliografía |
---|---|---|---|
5-6 | 4 | Taller Metodologías ágiles | |
7-8 | 4 | Trabajo en Miniproyecto |
Total de Horas: 8
Capítulo 3: Especificación y requerimientos de software
Sesión | Horas teóricas | Prácticas acompañadas | Tópicos | Bibliografía |
---|---|---|---|---|
9 | 3 | Especificación y requerimientos de Software | [1,cap 5], [3,cap 4], [5,cap 6,7] | |
10 | 2 | Práctica – Requerimientos funcionales y no funcionales | ||
11 y 13 | 6 | Ingeniería y Modelado de Requerimientos | [1,cap 5,6,7], [2,cap 4], [5,cap 6,7] | |
12 y 14 | 4 | Definición de requerimientos para proyecto semestral (aplicación de metodología RUP). Taller | ||
15 | 3 | Diagramas UML – Casos de Uso | [1, Apéndice 1],[5,cap 3,7,A] | |
16 | 2 | Taller – Casos de Uso | [1, Apéndice 1],[5,cap 3,7,A] | |
17 | 3 | Doc. de Especificación de Requerimientos | [2,cap 4.2], [8] | |
18 | 2 | Especificación formal de requerimientos – Taller Especificación | ||
19 | 3 | Prototipado | ||
20 | 2 | Práctica Prototipado | ||
21 | 3 | Presentación de Miniproyecto de desarrollo de software basado en métodos ágiles | ||
22 | 2 | Taller en Clase y Revisión de requerimientos de Proyecto Semestral |
Total de Horas: 35
Sesión | Horas de trabajo independiente | Tópicos | Bibliografía |
---|---|---|---|
9-10 | 4 | Taller Obtención de requerimientos y Especificación | |
11-16 | 8 | Trabajo en proyecto semestral | |
17-18 | 4 | Lectura y síntesis prototipado | |
19-22 | 8 | Trabajo en proyecto semestral |
Total de Horas: 24
Capítulo 4: Diseño de Software
Sesión | Horas teóricas | Prácticas acompañadas | Tópicos | Bibliografía |
---|---|---|---|---|
23 | 3 | Principios de Diseño de Software | [1,cap 13,14,22], [3,cap 11,14] | |
24 | 2 | Práctica | ||
25 y 27 | 6 | Diseño de Software | [1,cap 13,14,22], [3,cap 11,14] | |
26 y 28 | 4 | Práctica Arquitectura de Software – Ejercicios Diagramas UML (Clase y otros) | [5,cap 9,A] | |
29 | 3 | Paradigmas de diseño y Diseño basado en componentes | ||
30 | 2 | Documento de Diseño de Software | ||
31 | 3 | Patrones de Diseño y Análisis y medidas en la calidad del Diseño | [3,cap 16], [7] | |
32 | 2 | Diagramas UML – Diag. de Actividad | [5,cap A,B] |
Total de Horas: 25
Sesión | Horas de trabajo independiente | Tópicos | Bibliografía |
---|---|---|---|
23-24 | 4 | Investigación y presentación en clase sobre Arquitecturas | |
25-28 | 8 | Trabajo en proyecto Semestral | |
29-30 | 4 | Taller sobre diseño de software | |
31-32 | 4 | Trabajo en Proyecto Semestral |
Total de Horas: 20
Uso de material en exámenes
No está permitido el uso de notas de clase, bibliografía, calculadoras, computadores personales, teléfonos celulares ni ningún otro equipo electrónico.
Asistencia
Obligatoria
Bibliografía
-
Ingeniería de Software, un enfoque práctico. 7ed. Roger S. Pressman. McGraw Hill. Madrid, 2010.
-
Ingeniería de Software. 9ed. Ian Sommerville. Pearson Educación S.A. Madrid, 2011.
-
Ingeniería de Software. Un enfoque desde la guía SWEBOK. Salvador Sánchez, Miguel Ángel Sicilia y Daniel Rodriguez. Alfaomega. México D.F, 2012.
-
Klaus Pohl, Chris Rupp. Requirements Engineering Fundamentals. Rocky Nook, 2015.
-
Karl Wiegers, Joy Beatty. Software Requirements. Microsoft Press, 2013
-
The Unified Modeling Language reference manual. – 2ed. James Rumbaugh, Ivar Jacobson, Grady Booch.
-
The rational unified process and introduction. – 2ed. Philippe Kruchten
-
IEEE Std 830-1998. Recommended Practice for Software Requirements Specifications
Instalaciones
Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.