PSE103 SOFTWARE ARCHITECTURE
Basics of Software Architecture: Architecture Business Cycle, Architecture Patterns, Reference Model and Reference Architecture, Architecture Structure and Views, Product Line Architecture, Functional and Non-functional Properties of Software Architectures.
Enabling Techniques for Software Architecture: Coupling and Cohesion, Sufficiency, Completeness and Primitiveness, Separation of Policy and Implementation, Separation of Interface and Implementation.
Architectural Styles: Pipes and Filters, Data Abstraction and Object-Orientation, Event-Based, Implicit Invocation, Layered Systems, Repositories, Interpreters, Process Control, Heterogeneous Architectures, Case studies based on architectural styles.
Understanding and Achieving Software Qualities: Changeability, Efficiency, Interoperability, Reliability, Testability, Reusability, Security, Usability, Fault tolerant software, Tactics to achieve software qualities.
Designing of Software Architecture: Function Oriented Design, Object Oriented Design, Attribute Driven Design of Software Architecture, Case Studies.
Documenting Software Architecture: Software Architecture Documentation Template, Use of Documentation, Creation of different views of Software Architecture with UML.
Reconstructing Software Architecture: Phases of Reconstruction, Uses of Reconstruction, Reconstruction of Software Architecture using tool.