Course Outline Software Architecture
Course Outline Software Architecture
Course Title: Software Architecture and Design Program: Regular (Year III, sem II)
Course Code: SEng3132 Academic year: 2013 E.C
Instructor: Ahmed K (MSc in S.Eng.) Credit: 6 (3hr Lecture, 3hr
Laboratory)
E-mail: [email protected]
Course Description Involves analyzing and designing large scale software and apply
different architecture styles to software design and to provide practical knowledge in
software architecture.
Learning Outcomes
Upon the successful completion of the course the students will be able to:
Understand the mechanisms and methods of software design principles
Differentiate types of design patterns
Apply the different types of design patterns in software development
Understand Architectural styles and Quality Attributes.
Understand common tools and terminology related to software architecture.
Understand the role of the Software Architect with a development project.
Use methods for constructing and evaluating architectures.
Course Contents:
Week Lecture Topics
1 Chapter 1: Introduction to software design
What is software design?
Objective of software design
Software Design Activities
Design considerations
Design principles
Introduction to User Interface Design
1-2 Chapter 2: Design Patterns
What are design patterns
Creational design patterns
Structural design patterns
Behavioral design patterns
2-3 Chapter 3: Envisioning Architecture
The Architectural Business Cycle
What is Software Architecture?
Architectural structures and views
3-4 Chapter 4: Quality Attributes
Understanding Quality Attributes
Achieving Qualities (Tactics)
Architectural style
4-5 Chapter 5: Architecture in The Life Cycle
Architecture in the agile projects
Architecture and requirements
Designing and documentation
Implementation and testing
Architecture reconstruction and conformance.
5-6 Chapter 6: Architecture and Business
Economic analysis of Architecture
Architecture competence
Architecture and Software product lines
6-7 Chapter 7: Architecture in Advance
Cloud Definition
Architecture in Cloud
8 Project Presentation
Assessment Methods
References
Len Bass, Paul Clements, Rick Kazman, “Software Architecture in Practice”, 3 rd edition
Pearson, 2013.
Mary Shaw, David Garlan, “Software Architecture: Perspectives on an Emerging
Discipline”, Prentice Hall, 1996.
Taylor R. N, Medvidovic N, Dashofy E. M, “Software Architecture: Foundations,
Theory, and Practice”, Wiley, 2009.
Booch G, Rumbaugh J, Jacobson I, “The Unified Modeling Language User Guide”,
Addison-Wesley, 1999.