UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS CARRERA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS
SYLLABUS I.- INFORMACIÓN GENERAL FACULTAD/DEPARTAMENTO: Facultad de Ciencias Informáticas CARRERA: Ingeniería en Sistemas Informáticos ASIGNATURA/MÓDULO: Ingeniería de Software I CÓDIGO: OC-0700 Nivel / Semestre: 7 N° de Créditos: 4 Modalidad : Presencial Período Académico: Paralelo: “A” Área Académica: Software Octubre/2013 – Febrero/2014 PRERREQUISITO (S): OC-0400, OC-0401 CORREQUISITO (S): CONTENIDOS DISCIPLINARES QUE DEBEN SER APROBADAS ANTES DE CURSAR ESTE CONTENIDO DISCIPLINAR
Arquitectura del software Base de datos
CÓDIGO
CONTENIDOS DISCIPLINARES QUE DEBEN SER CURSADOS AL MISMO TIEMPO QUE ESTE CONTENIDO DISCIPLINAR
CÓDIGO
OC-0400 OC-0401
DOCENTE: Ing. Marcos Fernando Pazmiño Campuzano Título: Magister en Pedagogía
E-mail:
[email protected]
Datos personales: Profesor auxiliar tiempo completo de la asignatura de Ingeniería de Software, Proyectos Informáticos, Administración de Centros de Información y Comunicación de Datos, Ayudante de Coordinación de Vinculación 2013, Miembro de Tribunal de Tesis y Tutor de dirección de tesis. II.- RUTA FORMATIVA a.- DEL PERFIL DE EGRESO: Competencia/Resultado de Aprendizaje: Competencia: Construye soluciones informáticas de calidad que mejoren la eficiencia y eficacia de una organización haciendo uso correcto de la tecnología. Resultado de Aprendizaje: Capacidad para identificar, formular, evaluar y resolver técnicamente problemas de ingeniería planteados de acuerdo a las necesidades del medio. b.- OBJETIVO GENERAL DE LA ASIGNATURA: Desarrollar en el estudiante habilidades cognitivas, metacognitivas, afectivas y sociales para que enfrenten con autonomía los procesos de auto aprendizaje para la aplicación de modelos, modelados y técnicas de la ingeniería de software en la elaboración de especificaciones de requerimientos y diseño del software. c.- DESCRIPCIÓN DE LA ASIGNATURA: La ingeniería de software es una área útil para mejorar la calidad de los productos de software y esencialmente para ayudar a los ingenieros de software a aumentar la productividad y a facilitar el control del proceso de desarrollo de software. El propósito de esta asignatura es el abordaje de los nuevos modelos de desarrollo ágil, modelados de requerimientos y diseño de software usados para modelar requerimientos de software que cumpla con las expectativas de los usuarios; inicia con los conceptos generales de ingeniería de software, considera temas sobre modelos de desarrollo ágil, diferentes modelados de requerimientos para extraer requerimientos y elaborar especificaciones de requerimientos, así como técnicas para diseñar software; pone énfasis en la práctica de modelar requerimientos y diseñar software en base a las necesidades de los usuarios.
III.- RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA Resultados del Formas de Aprendizaje Evidenciarlos Niveles del Resultado de Aprendizaje (Objetivos (Apreciación) Específicos) 1.Demostrar conocimientos sobre ingeniería del software, el proceso del software, los modelos de ciclo de vida y metodologías del software. (Nivel Taxonómico: Comprensión.)
2.- Elaborar a partir de un caso de estudio, una especificación de requerimientos del software (ERS) en su vertiente estructurada que incluya: Contexto del sistema, descripción de subsistemas, modelo de procesos y modelo de datos. (Nivel Taxonómico: Aplicación)
3.- Elaborar a partir de un caso de estudio, una especificación de requerimientos del software (ERS) en su vertiente orientada a objetos que incluya: modelos basados en el escenario, modelos UML, modelos orientados a clases y modelos de comportamiento. (Nivel Taxonómico: Aplicación)
1.Prueba escrita.
2.Prueba escrita, documento de ERS en su vertiente estructurada aplicando herramientas case, exposición oral.
3.- Documento de ERS en su vertiente orientada a objetos aplicando herramientas case, exposición oral.
Ponderación
Nivel alto Resolverá correctamente 7 preguntas sobre ingeniería del software, el proceso del software, los modelos de ciclo de vida y metodologías del software. Nivel medio Resolverá correctamente 5 preguntas sobre ingeniería del software, el proceso del software, los modelos de ciclo de vida y metodologías del software. Nivel básico Resolverá correctamente 4 preguntas sobre ingeniería del software, el proceso del software, los modelos de ciclo de vida y metodologías del software.
86-100 puntos
Nivel alto Elaborará utilizando una herramienta CASE: especificación de requerimientos del software (ERS) en su vertiente estructurada, incluyendo contexto del sistema, descripción de subsistemas, 4 modelos de procesos, 4 procesos primitivos y modelo de datos. Nivel medio Elaborará utilizando una herramienta CASE: especificación de requerimientos del software (ERS) en su vertiente estructurada, incluyendo contexto del sistema, descripción de subsistemas, 3 modelos de procesos, 3 procesos primitivos y modelo de datos. Nivel básico Elaborará utilizando una herramienta CASE: especificación de requerimientos del software (ERS) en su vertiente estructurada, incluyendo contexto del sistema, descripción de subsistemas, 2 modelos de procesos, 2 procesos primitivos y modelo de datos.
86-100 puntos
Nivel alto Elaborará utilizando una herramienta case: especificación de requerimientos del software (ERS) en su vertiente orientada a objetos incluyendo modelos basados en el escenario, modelos UML, modelos orientados a clases y modelos de comportamiento. Nivel medio Elaborará utilizando una herramienta case: especificación de requerimientos del software (ERS) en su vertiente orientada a objetos incluyendo modelos basados en el escenario, modelos UML y modelos orientados a clases. Nivel básico Elaborará utilizando una herramienta case: especificación de requerimientos del software (ERS) en su vertiente orientada a objetos incluyendo modelos basados en el escenario, modelos UML.
86-100 puntos
71-85 puntos
70 puntos
71-85 puntos
70 puntos
71-85 puntos
70 puntos
4.- Desarrollar a partir de un caso de estudio, una iteración de software aplicando una metodología de desarrollo ágil. (Nivel Taxonómico: Aplicación)
5.- Elaborar a partir de un caso de estudio, un informe que incluya: diseño de arquitectura, diseño de componentes y diseño de interfaz de usuario. (Nivel Taxonómico: Aplicación)
4.Informe escrito, iteración del software, exposición oral.
5.Informe escrito, exposición oral.
Nivel alto Elaborará en un informe la aplicación de todas las fases de la metodología escogida; y expondrá la iteración de software desarrollada demostrando entendimiento. Nivel medio Elaborará en un informe la aplicación de 3 fases de la metodología escogida; y expondrá la iteración de software desarrollada demostrando entendimiento. Nivel básico Elaborará en un informe la aplicación de 2 fases de la metodología escogida; y expondrá la iteración de software desarrollada demostrando entendimiento.
86-100 puntos
Nivel alto Describirá en un informe: diseño de arquitectura, diseño de componentes, diseño de interfaz y conclusión; y expondrá demostrando entendimiento del tema. Nivel medio Describirá en un informe: diseño de arquitectura, diseño de componentes y conclusión; y expondrá demostrando entendimiento del tema. Nivel básico Describirá en un informe: diseño de arquitectura y diseño de componentes; y expondrá demostrando entendimiento del tema.
86-100 puntos
71-85 puntos
70 puntos
71-85 puntos
70 puntos
IV.- PROGRAMACIÓN
N°
1
PROGRAMA DEL CONTENIDO DISCIPLINAR (ASIGNATURA, UNIDAD, CURSO, TALLER, OTRO) POR TEMAS
INGENIERÍA DE SOFTWARE. Definición. Proceso de software. Síntesis de los modelos de ciclo de vida de software. Metodologías de software. Diferencia entre metodología y ciclo de vida. Diferencia entre la ingeniería de software y la ciencia de la computación. Diferencia entre la ingeniería de sistemas y la ingeniería de software.
N° TOTAL HORAS P-A
8
HORAS PRESENCIALES
HORAS AUTÓNOMAS
4
4
ESTRATEGIASPARA EL TRABAJO AUTÓNOMO
Mediante lluvia de Investigación En la investigación deben:
ideas exponer sobre: ¿Qué entiende por Ingeniería de software?. Interactuar con los estudiantes sobre la importancia de la aplicación de ingeniería de software en el desarrollo de un software de calidad. Presentación de diapositivas sobre temas de la unidad para interiorizar los conocimientos nuevos. Resolver preguntas sobre ingeniería
de temas de a) Investigar sobre: Métrica la unidad. V3. (fuente: internet)
del software, el proceso del software, los modelos de ciclo de vida y metodologías del software. 2
3
MODELADO DE LOS REQUERIMIENTOS. Análisis de los requerimientos. Enfoques del modelado de requerimientos. Análisis estructurado: Modelado orientado al flujo. - Definición. - Elementos. - Creación de un modelo de flujo de datos. - Especificación de proceso. - Creación de un modelo de flujo de control. - Especificación de control. Modelado de datos. - Objetos de datos. - Atributos. - Relaciones. - Cardinalidad. - Modalidad.
24
MODELADO DE LOS REQUERIMIENTOS Análisis orientado a objetos: Modelado basado en escenarios. - Casos de uso. - Historia de usuarios. Modelos UML que proporciona el caso de uso. - Diagrama de actividades. - Diagrama de canal (swimlane) Modelado basado en clases. - Identificación de las clases de análisis. - Especificación de atributos. - Definicion de las operaciones. Modelado claseresponsabilidadcolaborador (CRC).
32
12
12
Mediante lluvia de Proyecto
ideas exponer sobre: ¿Qué entiende por modelado de requerimientos?. Interactuar con los estudiantes sobre la importancia de la aplicación de modelados de requerimientos en el desarrollo de un software de calidad. Presentación de diapositivas sobre temas de la unidad para interiorizar los conocimientos nuevos. Resolver ejercicios.
(Fase I).
16 grupo Investigación expondrá las de temas de experiencias que la unidad. han tenido al Proyecto elaborar la (Fase II). especificación de requerimientos en la vertiente estructurada. Interactuar con los estudiantes sobre la importancia del uso de modelado de requerimientos. Presentación de diapositivas sobre temas de la unidad para interiorizar los conocimientos nuevos. Resolver ejercicios.
En el proyecto (fase I)
deben: a) Escoger una empresa o institución para solucionar una problemática real. b) Elaborar una especificación de requerimientos del software (ERS) utilizando la metodología del análisis estructurado, describiendo: Ámbito y alcance. Catálogo de requisitos. Glosario de términos. Catálogo de normas. Descripción general del entorno tecnológico Contexto del sistema. Descripción de subsistemas. Modelo de procesos. Miniespecificaciones. Modelo de datos. Diccionario de datos
16
Cada
En la investigación deben:
a) Trabajar de forma individual. b) Investigar sobre: Modelado claseresponsabilidadcolaborador (CRC), modelo de comportamiento, modelado de requerimientos para WEBAPPS (fuente: Roger Pressman pág. 148-155, 165-170, 174180 ) En el proyecto (fase II) deben: a) Elaborar una especificación de requerimientos del software (ERS) utilizando la metodología orientada a objetos, describiendo: Modelos basados en el
Modelo de comportamiento. - Diagrama de estado. - Diagrama de secuencia. Modelado de requerimientos para WEBAPPS
4
5
escenario: - Casos de uso. Modelos UML: - Diagrama de actividades. Modelos orientados a clases: - Modelo CRC. - Diagrama clases. Modelos de comportamiento: - Diagrama de estado. - Diagrama de secuencia.
METODOLOGÍAS 32 ÁGILES Introducción. Programación extrema (XP). Desarrollo adaptativo (DAS). Scrum. Método de desarrollo de sistemas dinámicos (MDSD). Cristal. Desarrollo impulsado por las características (DIC). Desarrollo esbelto de software (DES). Modelado ágil (MA). Proceso unificado ágil (PUA).
DISEÑO. Diseño en el contexto
de la ingeniería de software. El proceso de diseño. Conceptos de diseño. El modelo de diseño. Diseño de la arquitectura. Arquitectura del software. Géneros arquitectónicos. Estilos arquitectónicos. Diseño arquitectónico. Diseño en el nivel de componentes: Definicion de componentes. Diseño de componentes basados en clase. Diseño en el nivel de
32
16
16 sobre Proyecto En el proyecto (fase III) desarrollo ágil. (Fase III). deben: Foro sobre la Iteración de a) Aplicar la metodología lectura. software. ágil SCRUM en una Presentación de iteración de software. diapositivas sobre b) Elaborar un informe temas de la describiendo: unidad para Roles interiorizar los Product backlog conocimientos Sprint nuevos. Gestión y seguimiento Exposición de - Reuniones casos prácticos - Scrum burn down de metodología ágil En la iteración de software deben: a) Diseñar la base de datos. b) Elaborar interfaces. c) Codificar (lenguaje escogido por los estudiantes) Lectura
16
16 sobre Proyecto la siguiente (Fase IV). pregunta ¿Qué . entiende por diseño de software?. Interactuar con los estudiantes sobre la importancia de la aplicación de diseño de software en el desarrollo de un software de calidad. Exposición de definiciones e ideas principales del contenido mediante Comentar
En el proyecto (fase IV)
deben: a) Elaborar un informe de: Diseño de arquitectura. Diseño de componentes.
componentes para WEBAPPS. Diseño de componentes tradicionales. Desarrollo basado en componentes
diapositivas. Ejemplificación de
arquitecturas.
Diseño de la interfaz de usuario: Reglas Análisis y diseño de la interfaz de usuario. Análisis de la interfaz. Etapas del diseño de la interfaz. Diseño de una interfaz para WEBAPPS. V.- METODOLOGÍA Y RECURSOS Se aplicará una metodología auténtica, constructivista, reflexiva y propositiva; utilizando el ciclo de aprendizaje, plenarias, lecturas y videos de motivación, lluvias de ideas, talleres, entre otros. Los recursos que se utilizarán serán: pizarra de tiza líquida, computador, proyector, internet, libros, marcadores, aula virtual, entre otros. VI.- PLANEACIÓN DE LA EVALUACIÓN Los parámetros de evaluación de los aprendizajes son: Examen de medio ciclo (15%) Actividades de evaluación en el aula de medio ciclo (20%) o Tareas (portafolio digital) (2 pto) o Pruebas escritas (5 pto) o Participación (practica DFD) (3 pto) o Proyecto (fase I, II) (4 pto) o Exposiciones (fase I, II) (6 pto) Investigación de medio ciclo (15%) o Articulo científico (metodologías ágiles) (5 pto) o Defensa de la investigación (10 pto) Examen de fin de ciclo (15%) Actividades de evaluación en el aula de fin de ciclo (20%) o Tareas (portafolio digital) (3 pto) o Pruebas escritas (5 pto) o Participación (debate) (2 pto) o Proyecto (fase III y IV) (5 pto) o Exposiciones (fase III y IV)) (5 pto) Investigación de fin de ciclo (15%) o Iteración de software (5 pto) o Defensa de la iteración de software (10 pto)
ACREDITACIÓN
EXÁMENES (30%) ACT. EN EL AULA (40%) Tareas Pruebas escritas Participación Proyecto Exposiciones ACTIVIDADES DE INVESTIGACIÓN (30%) TOTAL
MEDIO CICLO 15
FINAL DE CICLO 15
2 5 3 4 6 15 50%
3 5 2 5 5 15 50%
EXAMEN DE RECUPERACIÓN 15
ASISTENCIA 80-100
100%
VII.- BIBLIOGRAFÍA a.- Bibliografía Básica: TÍTULO DE LIBRO
EDICIÓN
AÑO PUBLICACIÓN
Ingeniería del software. Un enfoque práctico.
Séptima
2010
EDICIÓN
AÑO PUBLICACIÓN
Primera
2000
AUTOR
Roger Pressman
EDITORIAL
Mc Graw Interamericana Editores.
Hill, de
b.- Bibliografía Recomendada: AUTOR
Ivar Jacobson, Grady Booch y James Rumbaugh
TÍTULO DE LIBRO
El proceso unificado de desarrollo de Software.
EDITORIAL
Pearson Addison Wesley Madrid.
c.- Lecturas complementarias: El tren de la vida, como se mide la vida, calidad humana, el poder de la educación, vivir con ilusión, la mamá mas mala del mundo, la vida y el buscaminas, quien es más egoísta, que es el éxito, el proyecto más importante de sus vidas, aprendí y decidí. http://www.revista.unal.edu.co/index.php/avances/article/view/10024 VIII.- COMPROMISO ÉTICO La asistencia es obligatoria a todas las actividades programadas en esta asignatura. El estudiante ingresará a clases a la hora establecida, y solo por una ocasión se aceptará el retraso de 10 minutos. El docente asistirá igualmente con toda puntualidad a las actividades establecidas y los estudiantes esperaran 15 minutos después de la hora de inicio, en caso de que el docente no se hubiera comunicado con el representante del curso en este lapso los estudiantes se retiraran y el docente tiene la obligación de recuperar estas horas. El estudiante deberá justificar al docente sus inasistencias o atraso, independiente de la justificación reglamentaria. El estudiante por ningún concepto puede utilizar los celulares en el aula, igual comportamiento tendrá el docente. En caso de emergencia el estudiante solicitará al docente el respectivo permiso para el uso del celular. El intento de copia de cualquier estudiante será sancionado con la calificación de cero y no habrá oportunidad de recuperación independiente de las sanciones establecidas por la universidad. Los trabajos se entregaran en la fecha establecidas y no se recibirá en otro oportunidad. No se aceptarán una segunda oportunidad para la entrega de trabajos. El estudiante ingresará al aula sin gorra y no consumirá alimentos dentro del aula. El estudiante deberá respetar el criterio de los demás. El estudiante deberá mantener el aula limpia.
DOCENTE RESPONSABLE Firma:
Ing. Maricela Pinargote Ortega Fecha: 01/Octubre/2013
DIRECTOR (A) DE CARRERA Firma:
Ing. Lorena Bowen Mendoza Fecha: 01/Octubre/2013
COORDINADOR DEL ÁREA DE SOFTWARE Firma:
Ing. Gabriel Demera Ureta Fecha: 01/Octubre/2013
ANEXO 1 RESULTADOS DE APRENDIZAJE DE LA CARRERA ESPECÍFICOS A LOS QUE APUNTA LA MATERIA (ABET). a. Capacidad de realizar análisis, síntesis y aplicación de las matemáticas y ciencias básicas en la solución de problemas de ingeniería en sistemas informáticos. b. Capacidad de planificar, diseñar, conducir e interpretar resultados de experimentos orientados a la informática. c. La capacidad de diseñar sistemas, procesos, modelos y componentes informáticos que cumplan los estándares nacionales o internacionales, tomando en cuenta las limitaciones económicas, ambientales, sociales, políticas, de salud y seguridad del entorno, y cumpliendo satisfactoriamente con las especificaciones y restricciones existentes o indicadas por los interesados o por los criterios de sostenibilidad. d. Capacidad para funcionar como parte de un equipo de profesionales de distintas áreas del conocimiento, demostrando una efectiva cooperación, comunicación, con habilidades para resolver conflictos y contribuyendo proactivamente en la propuesta de líneas estratégicas desde el punto de vista informático, para la solución de problemas. e. Capacidad para identificar, formular, evaluar y resolver técnicamente problemas de ingeniería planteados de acuerdo a las necesidades del medio. f. Capacidad para comprender, reconocer y aplicar valores y códigos de ética profesional, que le permitan desenvolverse sin perjudicar a sus clientes y contribuyendo al desarrollo de la sociedad. g. Habilidad para presentar efectivamente, ideas, proyectos, informes de investigaciones, documentos de trabajo de manera escrita, oral y digital, utilizando las herramientas de las nuevas tecnologías de la información. h. Habilidad y capacidad para comprender el impacto de las soluciones informáticas a la realidad local, nacional e internacional en un contexto económico global, ambiental y social. i. Habilidad y aptitud para ser un profesional con el compromiso del aprendizaje continuo, con capacidad para reconocer las oportunidades para mejorar en su campo profesional j. Habilidad para identificar temas y problemas de actualidad con respecto al entorno local, regional y global, con el fin de relacionarlos con propuestas de soluciones creativas y eficientes. k. Capacidad y destreza para utilizar técnicas, habilidades y herramientas en el desarrollo de software y hardware para implementar soluciones a problemas de su profesión.
Contribución de la materia a los resultados de aprendizaje de la carrera:
A: Alta M: Medio B: Baja
a
b
c B
d
E A
F
g
h
i
j
k M