Ingenieria de Software

4
ICSI-244 – Ingeniería de Software Ingeniería de Computación y Sistemas – UPAO 1 UNIVERSIDAD PRIVADA “ANTENOR ORREGO” FACULTAD DE INGENIERIA Escuela Profesional de Ingeniería de Computación y Sistemas Semestre Académico 2009 - 20 SILABO 1. DATOS GENERALES Nombre de la Asignatura: Ingeniería del Software Código: ICSI-244 Créditos: 3 Ciclo de Estudios: Total horas semestre: V 68 ( Teoría: 2 Práctica: 2 ) semanales Fecha de Inicio: Fecha culminación: 17 agosto 2009 12 diciembre 2009 Duración (en semanas): 17 Pre- requisitos: Programación de Aplicaciones de Gestión Profesores: Prof. Hernán Sagastegui Chigne 2. FUNDAMENTACIÓN 2.1 APORTE DE LA ASIGNATURA AL PERFIL PROFESIONAL Adquisición de competencias profesionales en modelos de arquitecturas de software distribuido y tecnologías de implantación para diseñar y desarrollar soluciones informáticas comerciales, empresariales e industriales. 2.2 SUMILLA El propósito teórico y práctico de esta asignatura es proveer el conocimiento de las diferentes técnicas de producción de software, tomando en cuenta los conceptos de ingeniería de software. Aplicación de los métodos y técnicas de la Ingeniería de Software en la planificación de proyectos de software. Se desarrollarán los conceptos fundamentales del ciclo de vida de un producto software, la estimación y planificación del proyecto, los fundamentos del análisis de requerimientos, la metodología del diseño del software, técnicas para la garantía de la calidad del software. 3. COMPETENCIAS DE ASIGNATURA Al finalizar la asignatura el estudiante debe lograr las siguientes competencias: Conocer y comprender los paradigmas actuales de la ingeniería del software dirigidos al desarrollo distribuido de software, la ingeniería del software libre y la ingeniería Web. Aplicar los conceptos y fundamentos de la ingeniería de software, su arquitectura, y sus

description

software

Transcript of Ingenieria de Software

Page 1: Ingenieria de Software

ICSI-244 – Ingeniería de Software Ingeniería de Computación y Sistemas – UPAO 1

UNIVERSIDAD PRIVADA “ANTENOR ORREGO” FACULTAD DE INGENIERIA

Escuela Profesional de

Ingeniería de Computación y Sistemas

Semestre Académico 2009 - 20

SILABO

1. DATOS GENERALES

Nombre de la Asignatura: Ingeniería del Software Código: ICSI-244 Créditos: 3 Ciclo de Estudios: Total horas semestre:

V 68 ( Teoría: 2

Práctica: 2 ) semanales

Fecha de Inicio: Fecha culminación:

17 agosto 2009 12 diciembre 2009

Duración (en semanas): 17 Pre- requisitos: Programación de Aplicaciones de Gestión Profesores: Prof. Hernán Sagastegui Chigne 2. FUNDAMENTACIÓN

2.1 APORTE DE LA ASIGNATURA AL PERFIL PROFESIONAL

• Adquisición de competencias profesionales en modelos de arquitecturas de software distribuido y tecnologías de implantación para diseñar y desarrollar soluciones informáticas comerciales, empresariales e industriales.

2.2 SUMILLA

• El propósito teórico y práctico de esta asignatura es proveer el conocimiento de las diferentes técnicas de producción de software, tomando en cuenta los conceptos de ingeniería de software.

• Aplicación de los métodos y técnicas de la Ingeniería de Software en la planificación de proyectos de software. Se desarrollarán los conceptos fundamentales del ciclo de vida de un producto software, la estimación y planificación del proyecto, los fundamentos del análisis de requerimientos, la metodología del diseño del software, técnicas para la garantía de la calidad del software.

3. COMPETENCIAS DE ASIGNATURA

Al finalizar la asignatura el estudiante debe lograr las siguientes competencias:

• Conocer y comprender los paradigmas actuales de la ingeniería del software dirigidos al desarrollo distribuido de software, la ingeniería del software libre y la ingeniería Web.

• Aplicar los conceptos y fundamentos de la ingeniería de software, su arquitectura, y sus

Page 2: Ingenieria de Software

ICSI-244 – Ingeniería de Software Ingeniería de Computación y Sistemas – UPAO 2

técnicas en la producción de software.

• Conocer los conceptos básicos, los procesos de desarrollo, los métodos y las herramientas de la ingeniería de software.

• Conocer los diferentes modelos de arquitectura, las tecnologías que pueden integrarse y las soluciones comerciales para formar una solución distribuida particular.

4. PROGRAMACION POR UNIDADES DE APRENDIZAJE

4.1 Unidad Nº 1: Aspectos emergentes y visión de la Ingeniería del Software Moderna

4.1.1 Competencias

• Asimilar los conceptos de las nuevas tendencias de la ingeniería de software en cuanto a su arquitectura, mecanismos de comunicación, distribución de componentes, procesos y técnicas de desarrollo para su aplicación en el desarrollo de proyectos de software y validarlos con las soluciones comerciales del mercado.

• Aplicar los conocimientos adquiridos semana a semana en un caso de desarrollo en grupo (trabajo práctico y/o proyecto de software) que se expondrá y presentará al finalizar el curso, mostrando soluciones adaptadas a la problemática en particular del proyecto.

4.1.2. Contenidos

Las sesiones tendrán el siguiente contenido:

• Semana 1: Introducción a la Ingeniería del Software. Planteamiento de trabajos prácticos y/o proyectos de software y formación de grupos de trabajo.

• Semana 2. Tendencias emergentes en Ingeniería del Software. Free Software, Open Source Software y Free Software Engineering.

• Semana 3. Metodologías y Procesos Agiles: XP - extreme programming. Principios y prácticas de la programación extrema. Ciclo de vida en las metodologías ágiles.

• Semana 4. Herramientas de software de soporte a las prácticas de desarrollo de software: Integración Continua con ANT y MAVEN, Test- Driven Development y pruebas unitarias con el Framework XUNIT, ECLIPSE e IDEs de sporte al Desarrollo, Framework Enterprise Architect de soporte a la arquitectura y al desarrollo.

• Semana 5. Tecnologías colaborativas y desarrollo distribuido de software: Servidores y clientes CVS, herramientas CVS y SUBVERSION. Gestión de la concurrencia de versiones: Repositorios, Sourceforge.net, Assembla. Aspectos metodológicos para el desarrollo de Aplicaciones Distribuidas.

• Semana 6. Otras Metodologías y Procesos de Desarrollo Agiles: SCRUM y FDD. Métodos y prácticas de SCRUM y FDD. Ciclo de vida, Sprint de desarrollo.

• Semana 7: Metodologías y Procesos de Desarrollo Mixto: ICONIX, ciclo de vida ICONIX.

• Semana 8: Procesos de Desarrollo AUP (RUP Ágil). Revisión de RUP-

• Semana 9. Introducción a las tecnologías de objetivos distribuidos, pattern y componentes: COM/DCOM, plataforma J2EE. Arquitecturas de software, componentes, EJBs y servicios Web.

• Semana . EXAMENES PARCIALES.

4.2 Unidad Nº 2: Tópicos y Aspectos Fundamentales de la Ingeniería del Software

4.2.1 Competencias

• Conocer y aplicar los aspectos fundamentales de la planificación, gestión de la calidad, riegos, medidas, etc. en los proyectos de software.

• Conocer las particularidades de las aplicaciones basadas en la Web y las distintas tecnologías que se pueden aplicar.

• Aplicar los conocimientos adquiridos semana a semana en un caso de desarrollo en grupo

Page 3: Ingenieria de Software

ICSI-244 – Ingeniería de Software Ingeniería de Computación y Sistemas – UPAO 3

(trabajo práctico y/o proyecto de software) que se expondrá y presentará al finalizar el curso, mostrando soluciones adaptadas a la problemática en particular del proyecto.

4.2.2. Contenidos

Las sesiones tendrán el siguiente contenido:

• Semana 10: Metodologías y Procesos de Desarrollo Clásicos. Procesos y Ciclos de Vida Pesados: RUP, Metrica 3. Métodos, herramientas y procedimientos del desarrollo de software industrial.

• Semana 11: Proyectos informáticos. Introducción y vista general a la Gestión, planificación, control de riesgos y calidad de los proyectos informáticos.

• Semana 12. Planificación y gestión de riesgos de proyectos de software. Definición de tareas, sucesos, actividades, métodos de planificación PERT, CPM.

• Semana 13. Modelos de estimación y métricas de software en los proyectos de software: CEM, Wolverton, COCOMO II, modelos de puntos de función.

• Semana 14. Gestión de la calidad en los proyectos de software: Introducción, conceptos. Modelos: modelo ISO-9000, modelo CMM – Capability Maturity Model, modelo ISO/SPICE.

• Semana 15. Otra propuesta y visión de Ingeniería de Software “Web Engineering”: vista rápida de las Tecnologías Web y la Ingeniería Web. Evolución. Arquitectura de Aplicaciones Web: http, HTML. CGI / Servlets, ASP / JSP, XML. y AJAX. Procedimientos y métricas. Propuestas de Free Software Engineering y de la plataforma .NET

• Semana 16. Exposiciones y entregas de los trabajos del curso.

• Semana 17. EXAMENES FINALES

5. ESTRATEGIAS METODOLÓGICAS

Los contenidos teóricos se desarrollarán mediante clases magistrales. Las sesiones de práctica se realizarán con técnicas de aprendizaje colaborativo en grupo en donde se hará la ponencia de los avances semanales de los respectivos trabajos o proyectos de aplicación.

6. MATERIALES EDUCATIVOS Y OTROS RECURSOS DIDÁCTICOS

Los materiales educativos y recursos didácticos para el desarrollo de los contenidos especificados en las unidades, están basados en la combinación de dispositivos digitales de proyección, uso de Internet, libros digitales y el home page (sitio Web) de la asignatura y procedimientos de sinergia del profesor y alumnos con estos componentes.

7. INDICADORES, TÉCNICAS E INSTRUMENTOS DE EVALUACIÓN

7.1 Teoría

El examen estará formado por dos partes diferenciadas: un examen de medio semestre (EP) y un examen final (EF). La valoración sumativa de los exámenes de teoría, será del 50% del promedio promocional.

7.2 Prácticas

Las prácticas semanales tiene una valoración sumativa (NP) del 25% del promedio promocional. Estas prácticas en su mayoría están relacionadas con los avances semanales de los proyectos de aplicación

7.3 Trabajos prácticos y/o proyectos de software

Los trabajos de aplicación (TP) constituyen la aplicación de las competencias obtenidas a lo largo del curso en el desarrollo de una aplicación usando las tecnologías, métodos y procedimientos presentados en clase. Su valoración sumativa será del 25% del promedio promocional.

7.4 Obtención del Promedio Promocional (PP)

PP = 0,25* EP + 0,25*EF + 0,25 * ∑ NP + 0,25* TP

Page 4: Ingenieria de Software

ICSI-244 – Ingeniería de Software Ingeniería de Computación y Sistemas – UPAO 4

La nota final probatoria es de once (11). Considerando que la fracción igual o mayor a 0,5 se redondea a 1.

7.5 Asistencia a clases

El alumno que tenga más del 30% de inasistencias a clases quedará automáticamente inhabilitado del curso.

7.6 Examen de Aplazados

El estudiante que resulte desaprobado con promedio promocional mayor o igual a siete (07) podrá rendir el Examen de Aplazados con el previo pago de los derechos. La nota obtenida en el examen de aplazados reemplazará a la nota del promedio promocional.

8. PROGRAMA DE TUTORIA Y CONSEJERIA

La asignatura dispone de un espacio de tutoría y consejería a través de Internet, usando herramientas síncronas (eMeeting) y asíncronas (Weblogs y e-mail) a efectos de resolver los planteamientos y propuestas de los alumnos respecto a los contenidos y prácticas. Espacio Web: http://www.aprendizajesocial.com

9. REFERENCIAS BIBLIOGRAFICAS

Bibliografía Básica

• PRESSMAN; ROGER S. Ingeniería del Software – Un enfoque práctico (5ta. Edición). McGraw Hill/ Interamericana de España. Madrid, 2002.

• R. ORFALI, D. HARKEY, J. EDWARDS, ”The essential Client/Server Survival Guide”. John Wiley & Sons, 3ª Ed, 1999.

Bibliografía Complementaria

• DONALDSON S., SIEGEL S. Successful Software Development (2da. Edición). Prentice Hall PTR, Wesley, 2000. ISBN: 0-13-086826-4.

• BECK K. Extreme Programming Explained. Kent Beck Publisher, 1999. ISBN: 0201616416

• G. COULOURIS, J DOLLIMORE, T. KINDBERG, Sistemas Distribuidos. Conceptos y Diseño. Addison Wesley, 3º Edición, 2001. ISBN: 84-7829-049-4.

• J. GOLDMAN, P. RAWLES, J. MARIGA, Client-Server Information Systems : a Business-Oriented Approach. John Wiley & Sons, 1999.

• I. WIJEGUNARATNE, G. FERNANDEZ, Distributed Applications Engineering: Buiding new applications and Managing Legacy applications with distributed technologies. Springer Verlag, 1999.

• J. EDWARDS, Three Tier Client/Server at Work. John Wiley & Sons, 3ª Ed., 1999.

• G. SESHADRI, Entreprise Java Computing: Applications and Architecture. SIGS Books, 1999.

• R. FOURNIER, A Methodology for Client/Server and Web Application Development. Yourdon Press, 1998.

• D. LINTHICUM, Guide to Client/Server & Intranet Development. John Wiley & Sons, 1997.

• H. RYAN, Practical Guide to Client/Server Computing. CRC Press, 1998.