Ingeniería de Software I - Material y Bibliografía Clases [Clase Intro] [Clase Plan] [Clase Req] [Clase Esc] [Clase Diseño] [Clase Arq] [Tabla Arq] [Clase Estr] Introducción a la Materia: Este apunte introduce la Ingeniería del Software y el enfoque que se la da a la materia. Transparencias de Clases : Análisis de Riesgos y Planificación de Proyectos. Transparencias de Clases : Requerimientos. Transparencias de Clases : Escenarios. Transparencias de Clases : Diseño. Transparencias de Clases : Arquitectura y Diseño del Software. Tabla: Reglas para elegir un estilo arquitectónico. Transparencias de Clases : Estableciendo la estructura global de un sistema de software. Apuntes [Apunte CU] [Apunte DA] [Apunte ST] [Apunte Robot] Casos de Uso, Un método práctico para explorar requerimientos. Apunte sobre Diagrama de Actividades. Es una traducción y adaptación del capítulo de Diagramas de Actividad de UML. Statecharts: Apunte sobre statecharts según UML. El Caso del Robot Asesino: El Caso del Robot Asesino es una historia que combina elementos de ingeniería de software y de ética en la computación. Introduce la ética y su relación con la ingeniería de software, mostrando también las complejidades del desarrollo de software. Libros [Bass] [Beizer90] [Beizer95] [Booch91] Bass, Len. Clements, Paul. Kazman, Rick. Software Architecture in Practice. Addison Wesley. 1998 Beizer. Boris. Software Testing Techniques, Second Edition. The Coriolis Group. 1990. Beizer. Boris. Black-Box Testing : Techniques for Functional Testing of Software and Systems. John Wiley & Sons. 1995. Booch, Grady. Object Oriented Design with Applications. Benjamin/Cummings, 1991 Página 1 de 7 Segundo Cuatrimestre 1999
[Coad] [Davis] [Ghezzi91] [Ghezzi92] Coad, Peter; Yourdon, Eduard. Object Oriented Design. Yourdon Press. 1991 Davis, Alan; Weidner, Marilyn. Software Requirements : Objects, Functions, and States. Prentice Hall. 1993 Ghezzi; Fuggetta; Morasca; Morzenti; Pezzè. Ingegneria del Software. Mondadori Informatica. 1991. Ghezzi, Carlo; Jazayeri, Mehdi; Mandrioli, Dino. Fundamentals of Software Engineering. Prentice Hall. 1992. [Meyer88] Meyer, Bertrand. Object-Oriented Software Construction. Prentice Hall 1988 [OOSE] Jacobson, Ivar; et al. Object-Oriented Software Engineering. Addison- Wesley & ACM, 1992. [Pfleeger] Pfleeger, S. Software Engineering. McMillan NY. 1987. [Potter] [Pressman] [Rumbaugh] Potter, Ben; Sinclair, Jane; Till, David. An introduction to Formal Specification and Z. Prentice Hall. 1991. Pressman, R. Ingeniería del Software, Tercera Edición. McGraw-Hill. 1993. Rumbaugh, James, y otros. Object-Oriented Modeling and Design. Prentice Hall, 1991. [Sommerville95] Sommerville, Ian. Software Engineering. Addison Wesley. 5ta Edición 1995. [Sommerville97] Sommerville, Ian. Requirements Engineering : A Good Practice Guide. Addison Wesley. 1997. [UML Distilled] Fowler, Martin; Scott, Kendall. UML Distilled. Addison-Wesley, 1997. [USDP] Booch, Grady; Rumbaugh, James; Jacobson, Ivar. The UML User Guide. Addison-Wesley, 1999. Jacobson, Ivar; Booch, Grady; Rumbaugh, James. The Unified Software Development Process. Addison-Wesley, 1999. Artículos [Brooks] [Gibbs] Brooks, Frederik. No Silver Bullet. Essence and Accidents in Software Engineering. IEEE Computer. Abril 1987. Gibbs, W. Software s Chronic Crisis. Scientifican American. Septiembre de 1994. [Potts] Potts, C et al. Inquiry-based Requirements Analysis. IEEE Software. (2) Marzo de 1994. [Scenario] [Harel] Scenario Management. IEEE Transactions on Software Engineering, vol 24, num 12. Diciembre de 1998. Harel, David. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming. Volumen 8, Nro. 3. Junio de 1987. Página 2 de 7 Segundo Cuatrimestre 1999
[Rapps] [Parnas72] [Parnas79] Rapps, Sandra; Weyuker, Elaine. Data Flow Analysis Techniques for Test Data Selection. Parnas, David. On the Criteria to be Used in Decomposing Systems into Modules. Communications of ACM. December 1972. Parnas, Davis. Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering, Vol. SE-5, No. 2. March 1979. [Garlan] Garlan, D; Shaw, M. An Introduction to Software Architecture. V. Ambriola and G. Tortora Eds., Advances in Software Engineering and Knowledge, Vol. I, World Sc. Pub. Co., 1993. [Adrion] [Goldsack] Adrion, R; Branstad M; Cherniavsky, J. Validation, Verification, and Testing of Computer Software. Computing Surveys ACM, Vol. 14, No. 2. June 1982. Goldsack, P; Rush, T. Specifying an Electronic Mail System with HP-SL. Hewlett-Packard Journal. December 1991. Estándares [UML Standard] UML Standard Documentation Set. www.omg.org [IEEE 1233] [IEEE 830] IEEE. IEEE/ANSI Std 1233 : IEEE Guide for Developing System Requirements Specifications IEEE. IEEE/ANSI Std 830 : IEEE Recommended Practices for Software Requirements Specifications Página 3 de 7 Segundo Cuatrimestre 1999
Ingeniería de Software I - Lecturas por Tema Ingeniería de Software Introducción [Clase Intro] [Clase Plan] [Brooks] [Gibbs] Transparencias de Clase : Introducción. Transparencias de Clase : Análisis de Riesgos y Planeamiento. No Silver Bullet. Software Crisis. [Sommerville95] Capítulo 3 : Project Management [Apunte Robot] [Pressman] [Pfleeger] Requerimientos s [Clase Req] Transparencias de Clase : Requerimientos. [Clase Esc] Transparencias de Clase : Escenarios. [Sommerville95] Capítulos 4, 6 y 7. [Potts] Análisis de requerimientos. [Scenario] Scenario Management. Técnicas [Apunte CU] Captura de Requerimientos Mediante Casos de Uso. [USDP] Técnica de Casos de Uso: Capítulos 3 y 7. Capítulos 16 y 17. Diagramas de Casos de Uso. [Apunte DA] Diagramas de Actividades. Capítulo 19. Diagramas de Actividades. [Gezzi92] Diagramas de Entidad Relación Página 4 de 7 Segundo Cuatrimestre 1999
[Sommerville97] Libro específico sobre Requerimientos. Para aquellos que quieren profundizar sobre el tema. [IEEE 1233] [IEEE 830] [OOSE] [UML Distilled] Estándar de la IEEE. Para aquellos que quieren profundizar sobre el tema requerimientos. Estándar de la IEEE. Para aquellos que quieren profundizar sobre el tema requerimientos. Libro de referencia del tema Casos de Uso. Para una descripción concisa del los diagramas de [UML Standard] Para una descripción completa del los diagramas de [Davis] Libro clásico sobre el tema requerimientos. Especificación Técnica [Goldsack] Ejemplo de especificación de un sistema. [Ghezzi92] A Definir. [Sommerville95] Capítulo 9. [Apunte ST] Diagramas de Estados. [Harel] Diagramas de Estados. [Gezzi] Máquinas de Estados. Páginas 167 a 188. [Potter] Z. A definir. Diseño [Clase Diseño] [Clase Arq] [Tabla Arq] Transparencias de Clase : Diseño. Transparencias de Clase : Arquitectura. Página 5 de 7 Segundo Cuatrimestre 1999
[Clase Estr] [Parnas72] [Parnas79] Transparencias de Clase : Estructura global de un sistema. Criterios de descomposición por módulos. Diseño para el cambio. [Ghezzi92] Páginas 45 a 125. [Sommerville95] Capítulos 12, 13, 14, 15, y 17. [Bass] Resolución del CAUIC. Técnica Sección 2 y 3. Diagramas de Clases. Sección 4 y 5. Diagramas de Interacción (Colaboraciones y Secuencias). Capítulos 20 y 21. Diagramas de Estados aplicados a Clases. [UML Distilled] Para una descripción concisa del los diagramas de [UML Standard] Para una descripción completa del los diagramas de [Meyer88] [Booch91] [Rumbaugh] [Coad] [Bass] [Garlan] 5 Criterios / Reglas / Principios. Excelente introducción a la problemática de los sistemas complejos. System Design. Criterios para evaluar un diseño. Arquitectura. Introducción a una Arquitectura de Software. Testing [Ghezzi92] Páginas 261 a 283 [Sommerville95] Capítulos 22, 23 y 24. [Beizer90] Capítulos a definir. [Beizer95] Capítulos a definir. [Adrion] Validación Verificación y Testing. Página 6 de 7 Segundo Cuatrimestre 1999
Técnica [Rapps] Data Flow Analysis Techniques. A definir. Página 7 de 7 Segundo Cuatrimestre 1999