Course Objectives:
This course aims to introduce students to the foundations of large scale software architecture, and also its definition and methods of development and the creation of systems based on components.
Course Content:
- The history and principles of design patterns.
- Diverse ways to use patterns.
- The importance of software architecture.
- Classical methods of software architecture (data extraction based on the event and objects components).
- Formal models and the importance of architecture.
- Design of architectures as reusable frames, and examples of famous frames (HotDraw).
- Reused components for Software development, and examples of design with components.
Skills expected from this course:
1. Understand the principles of software and the ability to apply a number of Alotaralosacip.
2. Understand the need for software architecture.
3. Knowledge of classical models of software architecture and the need for language to describe the architecture.
4. Knowledge of affairs behind the creation and use of frameworks for building software and put it into practice.
5. Understand how to build and use components and their use in software development.
Textbook:
L. Bass, P. Clements, R. Kazman, "Software Architecture in Practice", 2nd Ed., Addison-Wesley, 2003, ISBN 0321154959.
Reference:
S. J. Metsker, "Design Patterns Java Workbook", Addison-Wesley, 2002, ISBN 0201743973.
E. Freeman, "Head First Design Patterns", O'Reily, 2004, ISBN 0596007124.
|