UNIT I 
Definition - software components, COTS and infrastructure - Moving from project-centric to architecture-centric software engineering - software variability management.
UNIT II 
Software architecture design method : Top-down versus bottom-up design - functionality-based architecture design - variability analysis - architecture evaluation and assessment - scenario-based evaluation - simulation-based evaluation - experience-based evaluation - architectural styles - architectural patterns - applying design patterns - convert quality requirements to functionality.
UNIT III 
Design Patterns - Evolution patterns - Software artifact evolution processes: interdependence, dependence or independence - Case studies: examples and experiences - Use of Java Beans.
UNIT IV 
History of Software Testing- Overview of Verification and Validation with the Software Life-Cycle- Formal Methods as Opposed to Software Testing- Importance of Systematic Methods for Testing- Techniques for Program Analysis- Software Testing Techniques- Test Data Generation- Software Quality Assurance- Software Metrics- Comparison of Software Testing Techniques.
UNIT V 
Software Reliability - Comparison of Software and Hardware Reliability- Development of Software Reliability Models- Parameter Estimation of Models and Prediction of Reliability Levels- Comparison of Models- Relation Between Software Reliability and Software Testing Techniques- Application of Software Testing and Reliability to Safety Critical Systems.
1. Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice. 2nd Ed. Addison-Wesley Longman, Inc., Reading, MA, 2003.
2. Jacobson, Ivar, Griss, Martin, Jonsson, Patrik, Software Reuse. Architecture, Process and Organization for Business Success. Addison-Wesley Longman, Inc., Harlow. UK, 1997.
3. Mary Shaw and David Garian, Software Architecture. Perspectives on an Emerging Discipline. Prentice HaIl, 1996
4. J. Bosch, Product-Line Architectures in Industry: A Case Study, Proceedings of the 21st International Conference on Software Engineering, pp. 544-554, May 1999.
5. J. Bosch, Design & Use of Software Architectures - Adopting and Evolving a Product-Line Approach, Addison Wesley, ISBN 0-201-67494-7, 2000.