CSS3102:
SOFTWARE ARCHITECTURE
|
Core/Elective: Core Semester: 1 Credits: 4
|
Course Description |
This
course introduces the essential concepts of software
architecture. Software architecture is an abstract view
of a software system distinct from the details of implementation,
algorithms, and data representation. Architecture is,
increasingly, a crucial part of a software organization's
business strategy.
|
Course Objectives |
To understand
the relationships between system qualities and software
architectures.
To study software architectural patterns and their relationship
to system qualities
To know software architecture documentation and reuse
|
Course Content |
1. The
architecture Business Cycle (ABC) – Roots of Software
architecture - Software architecture definitions and
importance – Architectures and quality attributes
-Architectural Styles - Architectural views: Need for
multiple views – Some representative views –
Conceptual View – Module view – Process
view – Physical view – Relating the views
to each other – The Software Architecture analysis
Method (SAAM)
2. Life cycle view of architecture design and analysis
– Eliciting quality attributes - QAW – Design
of an architecture - the ADD method – Evaluating
an architecture -ATAM method
3. Documenting the architecture – principles of
sound documentation – view types, styles, views
– refinement, context diagrams, variability, software
interfaces – documenting the behaviour –
seven part template
4. Architecture-based development Product lines –
cost and benefits of product line approach – product
line activities – practice areas – patterns
– PLTP – phased approach for adopting product
lines
5. Case study of J2EE/EJB - Future of software architecture
|
REFERNCES |
1.Software
Architecture in Practice(3rd Ed): Len Bass, Pearson
(2013)
2.Quantitative approaches for Evaluating Software Architectures:Frame
Works and Models, G.Zayaraz : VDM Verlag (2010)
3. Documenting Software Architectures: Views and beyond
(2nd Ed): Clements et al, AW (2010)
4.Software Product Line Engineering: Foundations, Principles
and Techniques: Klaus Pohl et.al; Springer (2011)
|