|
FUNDAMENTACION Y OBJETIVOS
CONTENIDOS
EVALUACION
EQUIPO DE CATEDRA
Fundamentación y Objetivos
Los temas presentados en esta asignatura
continúan la formación iniciada en la asignatura Análisis y Diseño de
Sistemas. Los tópicos a profundizar ahora se centran en los aspectos de
diseño y evolución del software. Ambas asignaturas se complementan tanto
en contenidos teóricos como en ejercitación: el trabajo de campo iniciado
deberá continuarse en nuevas etapas a fin de completar la especificación
requerida.
Las nuevas tecnologías requieren nuevos tipos de arquitecturas - Hipertextos,
Cliente-Servidor, Patrones de Objetos, etc. - que deben ser comprendidas,
analizadas y evaluadas por cualquier profesional en Software. La asignatura
tendrá por objetivo el comprender y aplicar - en lo posible - los conceptos
y técnicas del diseño de software, en los distintos enfoques que hoy son
relevantes.
Contenidos
-
Unidad I: Diseño de Software.
Actividad y Objetivos. Diseño para el cambio. Familia de Programas.
Técnicas de modularización. Categorías de módulos. Diseño top-down
vs diseño bottom-up. Arquitecturas de software. Estilos: pipes & filters,
orientación a objetos, basado en eventos, sistemas por niveles, repositorios,
intérpretes, sistemas de control. Diseño estructurado: conceptos básicos.
Acoplamiento. Cohesión. Morfología y heurísticas. Análisis de Transformación
y de Transacción.
Bibliografía recomendada:
- Ghezzi - Fundamentals of Software Engineering
- Prentice-Hall, 1991 - Capítulo 4 (4.1 - 4.2)
- Shaw & Garlan - Software Architecture -
Prentice-Hall, 1996 - Capítulos 1 y 2
- Yourdon & Constantine - Structured Design:
Fundamentals of a Discipline of Computer Program and System Design
- Prentice-Hall, 1979
- Otras referencias:
-
Unidad II: Implementación
de sistemas modulares: enfoques básicos. Stubs y Drivers. Verificación
de Software: objetivos y requerimientos. Testing: objetivos y bases
teóricas. Testing de unidad: testing estructural y funcional. Cubrimientos
para testing estructural. Análisis de flujo de datos. Testing de integración.
Análisis: técnicas informales y formales. Ejecución simbólica. Debugging.
Testing de sistema. Análisis mutacional. Testing de regresión.
Bibliografía recomendada:
- Ghezzi - Fundamentals of Software Engineering
- Prentice-Hall, 1991 - Capítulo 6
- Art¡culos Scuola estiva Software Testing
Metodi e Tecniche, Italia, 1993
- Harrold Mary Jane, Using Data Flow Analysis
for Testing
- Visaggio Giuseppe, System and Acceptance
Testing
- White Lee, An Overview of Specific Testing
Techniques
- White Lee, General Overview of Software
Testing
- White Lee, Integration Testing
- White Lee, Regression Testing
- Coward David, A review of software testing,
Information and Software Technology, Vol 30, No. 3, 1988
- Rapps & Weyuker, Data Flow Analysis Techniques
for Test Data Selection, IEEE, 1982
-
Unidad III: Diseño
Orientado a Objetos. Ciclo de vida de Objetos. Objetos. Mensajes.
Métodos. Clases. Instancias. Signaturas. Polimorfismo. Herencia. Clases
Abstractas. Responsabilidades. Colaboraciones. Contratos. Subsistemas.
Protocolos. Patrones de Diseño. El Catálogo de Patrones. Heurísticas
de uso. Patrones Abstract Factory, Builder, Adapter, Bridge, Composite,
Decorator, Iterator, Observer, State, Strategy, etc.
Bibliografía recomendada:
- Gamma, Helm, Johnson & Vlissides - Design Patterns
Elements of Reusable Object- Oriented Software - Addison Wesley,
1995
- Wirf-Brock, Wilkerson & Wiener - Designing
Object-Oriented Software - Prentice-Hall, 1990
- Vlissides J., Pattern Hatching: Design Patterns
Applied - Addison-Wesley, 1998
- Otras referencias:
-
Unidad VI: Diseño
de Hipertextos. Aplicaciones con Hipertextos. Arquitectura: nodos,
links, motores de hipertextos. Hipertextos abiertos. Hipertextos e
Internet. Heurísticas de diseño: navegación a través de grandes espacios,
facilidad de uso del hipertexto, sobrecarga de información. Patrones
para diseño de Hipertextos. Métodos de diseño: RMM, OOHDM.
Bibliografía recomendada:
- Nielsen J. - Multimedia and Hypertext
- AP Professional, 1995. Capítulos 1, 2, 4, 5, 8, 9, 10
- Ladd & O'Donnell Using HTML 4, XML, and Java
1.2 - Que Ed., 1999
- Izakowitz y otros RMM: A Methodology for Structured
Hypermedia Design - Communications of the ACM, August 1995,
Vol. 38, Nø8
- Schwabe & Rossi The Object-Oriented Hypermedia
Design Model Communications of the ACM, August 1995, Vol. 38,
Nø8
- Rossi, Schwabe & Garrido Design Reuse in Hypermedia
Applications Development Proceedings of Hypertext '97, p g.
57 a 66
- Otras referencias:
Evaluación
Aprobación del cursado: mediante tres parciales de evaluación
de conceptos teórico/prácticos.
Aprobación de la materia: mediante final oral/escrito
de aspectos teóricos de elaboración y aplicación de conceptos. Entrega
de trabajo de campo (Especificación de diseño de software del trabajo
iniciado en la asignatura Análisis y Diseño de Sistemas).
Equipo de Catedra
Docentes
S. Alejandra Cechich - (Prof. Adjunto)
Andres Flores - (Ayudante)
Agustina Buccella - (Ayudante alumno)
|