|
Plan Global de la Asignatura |
|
Materia: Ingeniería de Software - SIS324 |
·
Sigla:
SIS 324.
·
Facultad:
Facultad de Tecnología.
·
Carrera:
Ingeniería
de Sistemas.
·
Pre-requisitos:
SIS 308.
·
Nivel:
Octavo semestre.
·
Período lectivo:
Semestre II/99.
·
Carga horaria:
6 horas teóricas por semana.
· Horario: Lunes: 14:00-16:00, Jueves: 9:00-12:00
·
Nombre del docente:
Lic. Ramiro Durán Quiroga.
·
Dirección / Teléfono:
Mán Césped 611. / 5-5232
·
Lugar de consultas:
Departamento de Ingeniería de Sistemas.
Uno
de los problemas más cruciales dentro del área de la computación es el
desarrollo de software, en el tiempo más
breve posible, adecuado a las necesidades de la organización y muy confiable.
Las organizaciones están compitiendo continuamente, siendo uno de los factores
de competencia, la reacción que puedan tener a cambios en el entorno para
crear, modificar y optimizar sus sistemas de software. La creación de nuevos
sistemas en un tiempo breve y de buena confiabilidad, depende de la utilización
de métodos y herramientas adecuados para su desarrollo. Por tanto es necesario
que los profesionales de la carrera conozcan varios métodos y puedan ser
capaces de elegir uno, adecuado a las características del problema, y puedan
aplicarlo correctamente.
Los
objetivos que se persigue en la formación del estudiante son:
·
Capacidad del alumno
para poder plantear soluciones basadas en el desarrollo de software.
·
Habilidad para la
utilización optima de recursos limitados como tiempo, equipos, tecnología,
dinero, etc.
·
Honestidad y ética
profesional para presentar los
productos al cliente.
Dar a
conocer los fundamentos teóricos del desarrollo de software, así como el
estudio de una metodología de desarrollo de software, desde la gestación del
proyecto de software hasta alcanzar el producto terminado, utilizando las
herramientas y técnicas mas adecuadas, y considerando la utilización óptima
de recursos.
1.
Conceptos de orientación
a objetos.
2.
Introducción a la
ingeniería de software.
3.
Enfoques para el
desarrollo de software.
4.
La ingeniería de
requerimientos.
5.
El proceso
de análisis.
6.
El proceso de diseño.
7.
Herramientas CASE.
8.
El proceso de codificación.
9.
El proceso de prueba y
mantenimiento.
El
objetivo de este tema es proporcionar al alumno conceptos básicos del enfoque
Orientado a Objetos como forma de pensar, y como mecanismo utilizado para
abordar el estudio de los sistemas de una organización.
1.
Clases y objetos.
2.
Métodos y atributos.
3.
Tipos de asociación
4.
Encapsulado de datos y
funciones.
5.
Mensajes.
6.
Herencia simple y múltiple.
El
estudio de la historia del desarrollo de software, y los conceptos más cercanos
y generales presentes en el desarrollo.
1.
Historia de la ingeniería de software.
2.
Definiciones.
3.
Características del producto.
4.
Puntos clave del producto
5.
Modelos de ciclos de vida.
5.1
Modelo en cascada
5.2
Modelo por prototipos
5.3
Modelo en espiral
5.4
Modelo por transformaciones
5.5
Modelo de desarrollo por componentes.
6.
El proceso de la ingeniería de software.
6.1
Factibilidad y planificación.
6.2
Análisis de requerimientos
6.3
Análisis y diseño del software
6.4
Codificación y prueba
6.5
Puesta en marcha y mantenimiento
7.
Estructura del grupo de desarrollo.
8.
Etica de los desarrolladores.
Proporciona
al alumno un estudio de los diferentes enfoques utilizados para el desarrollo de
un sistema, además de permitirle evaluar cada uno de éstos para su aplicación
al proyecto propuesto.
1.
Principios del desarrollo de un sistema.
1.1
Modularidad.
1.2
Abstracción.
1.3
Encapsulación.
1.4
Comunicación con mensajes.
1.5
Métodos de organización.
1.6
Escala.
2.
Enfoques de desarrollo de software.
2.1
Descomposición funcional.
2.2
Orientado al flujo de datos.
2.3
Modelamiento de la información.
2.4
Enfoque orientado a objetos.
3.
Principales metodologías de desarrollo.
3.1 OOA
de Coad & Yourdon.
3.2 OOSE
de Jacobson.
3.3 OOD
de Booch.
3.4 HOOD.
3.5 OMT
de Rumbaugh.
3.6 RDD.
Describir
los conceptos que maneja la ingeniería de requerimientos, las etapas del
proceso, y los tipos de requerimientos; como elementos fundamentales para el
desarrollo de software.
1.
Introducción a la
ingeniería de requerimientos.
2.
Tipos de requerimientos.
3.
Clasificación de los
requerimientos.
4.
El proceso de la
ingeniería de requerimientos.
4.1
La factibilidad del proyecto.
4.2
La definición de requerimientos.
4.3
La especificación de requerimientos.
5.
Técnicas para
especificar los requerimientos
Este
tema inicia el estudio en detalle de un método Orientado a Objetos, y aplica
los conceptos teóricos al proyecto de sistemas. Se realiza el análisis del
sistema formalizando los requerimientos del sistema y construyendo un primer
modelo del mismo.
1.
Consideraciones al
proceso de análisis
2.
El modelo de
requerimientos.
2.1
Actores.
2.2
Modelo de formas de uso.
2.3
Modelo de descripciones interfaz.
3.
El modelo de análisis.
3.1
Objetos, clases y relaciones.
3.2
El diagrama de clases y objetos.
3.3
El diagrama de colaboraciones.
4.
Subsistemas del modelo.
Realiza
una refinación del modelo obtenido en el tema anterior, afectando el ambiente
de implementación y detallando los objetos y sus asociaciones de comunicación.
1.
Consideraciones al
proceso de diseño
2.
El Ambiente de
implementación.
3.
El modelo de diseño.
3.1
El diagrama de secuencia.
3.2
El diagrama de transición de estados
3.3
El diagrama de actividades.
4.
El modelo de
componentes.
Describir
las herramientas para la automatización del desarrollo de software, examinando
las características que deben tener, sus funciones, tipos; además del estudio
de una herramienta en particular.
1.
Introducción
2.
Tipos de herramientas.
3.
Características
deseadas.
4.
Funciones de las
herramientas CASE
5.
Estudio de Rational Rose.
Describir
los lenguajes de programación existentes, sus paradigmas de programación y los
mecanismos necesarios para traducir los modelos del diseño a un buen código
orientado a objetos.
1.
Consideraciones al
proceso de codificación
2.
Tareas asociadas.
3.
Paradigmas de programación
4.
Lenguajes de programación
5.
Mapeo al código de los
elementos del diseño.
El
objetivo de este tema es testear el sistema desarrollado, realizando la prueba
de validación y verificación modular e integral. Así como describir las
actividades necesarias para permitir un mantenimiento exitoso del producto
construido.
1.
Prueba tradicional.
2.
Prueba orientada a
objetos.
2.1
Prueba de unidad.
2.2
Prueba de integración
2.3
Plan de actividades.
3.
Validación
3.1
Los casos de uso
4.
Mantenimiento.
5.
Tipos de mantenimiento
6.
Actividades del
mantenimiento.
La
metodología básica que se utilizará para el desarrollo de la materia y el
proceso enseñanza - aprendizaje será la exposición del docente utilizando la
proyección de diapositivas, además los alumnos realizarán un proyecto donde
deben reflejar los conocimientos adquiridos en la materia, éste debe estar
basado en un análisis y diseño ya desarrollado y para una organización específica.
La
elaboración del cronograma de trabajo se ha
realizado en base al calendario oficial de la Facultad de Tecnología, el cual
se detalla a continuación.
1.
Conceptos de orientación
a objetos.
2 semanas
2.
Introducción a la
ingeniería de software
2 semanas
3.
Enfoques para el
desarrollo de software
2 semanas
4.
La ingeniería de
requerimientos
3 semanas
5.
El proceso
de análisis
2 semanas
6.
El proceso de diseño
2 semanas
7.
Herramientas CASE
2 semanas
8.
El proceso de codificación
2 semanas
9.
El proceso de prueba y
mantenimiento 1
semana
Total
18 semanas.
La
evaluación durante el proceso de enseñanza - aprendizaje servirá para medir
los objetivos trazados por el profesor y para orientar al alumno en su proceso
de aprendizaje y dar información al docente para diagnosticar los logros
obtenidos y las dificultades que se presentan durante el proceso de enseñanza -
aprendizaje.
Los
tipos de evaluación de las pruebas de conocimientos se realizarán mediante exámenes
escritos.
La
frecuencia de las evaluaciones se harán de acuerdo al rol establecido por la
carrera.
Los
aspectos a tomar en cuenta para la evaluación de la nota final serán los
siguientes.
·
Trabajos prácticos.
·
Proyecto del
curso.
·
Primer parcial escrito.
·
Segundo parcial escrito.
·
Examen final escrito.
La
ponderación asignada es:
·
Primer parcial:
15 %
·
Segundo parcial:
15 %
·
Examen final:
30 %
·
Trabajos prácticos y
proyecto: 40
%
Total:
100 %
Que
corresponde al Sistema de Evaluación “H”.
1.
Presman Roger (1988)
“Ingeniería de Software, un enfoque práctico”, Editorial Mac Graw Hill.
2.
Coad & Yourdon
(1991) “Object Oriented Analisys”, Editorial Prentice Hall.
3.
Jacobson Ivar, (1992)
“Objet Oriented Software Enginnering”,
Editorial ACM Pres.
4.
Martin James & Odell
James (1994) “Análisis y Diseño Orientado a Objetos”, Editorial Prentice
Hall.
5.
Rumbaugh, Blaha,
Premerlani, Eddy, Lorensen (1991) “Object Oriented Modeling and Desing”,
Editorial Prentice Hall.