SIM SOFTWARE ARCHITECTURE Instructor: Dr. Masrah Azrifah Azmi Murad Room: A2.37 Tel: masrah.azrifah [at] gmail.com / masrah [at] fsktm.upm.edu.my Course website: Consultation Hours: Mon (2-5); Tue (9-12); or by appointment. URL:
Synopsis This course covers the concepts, principles, and state-of-the-art methods in software architectures, including domain-specific software architectures (DSSA), architectural styles, architecture description languages (ADL), software connectors, dynamism in architectures, and architecture-based analysis and testing. In the process of studying these concepts, it also focuses on relationship to other areas of software engineering, specifically the requirements, design, and implementation.
Objectives Analyzing requirements and build software architecture framework Critic issues in software development and framework Relate software architecture concept with other areas of software engineering, specifically the requirements, design, and implementation Be able to lead a software development project
Evaluation Assignments 10% Participation10% Project30% Midterm20% Final Exam30%
Resources Taylor, R.N., Medvidovic, N., and Dashofy, E.M. (2009) Software Architecture: Foundations, Theory, and Practice. New Jersey: John Wiley and Sons. Gorton, I. (2006) Essential Software Architecture. Springer Verlag Berlin Heidelburg. Rozanski, N. and Woods E. (2005) Software Systems Architecture: Working with Stakeholders using Viewpoints and Perspectives. New Jersey: Addison Wesley. Erl, T. (2008) SOA: Principles of Service Design. Prentice Hall. Bass, L., Clements, P., and Kazman, R. (2003) Software Architecture in Practice, Second Edition. New York: Addison-Wesley Professional. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., and Stafford, J. (2002) Documenting Software Architectures: Views and Beyond. New York: Addison-Wesley Professional.
Course Contents Week 1 Overview of software engineering principles SE in a nutshell Requirements Design Implementation Testing Maintenance
Week 2 Origins of Software Architecture Context of Software Architecture
Week 3 Introduction to Software Architecture Active Reviews for Intermediate Designs (ARID)
Week 4 Arriving at an Architecture Software Connectors
Week 5 Architectural Styles Domain Specific Style Architecture (DSSA)
Week 6 Modeling Software Architecture Visualizing Software Architecture
Week 7 Architectural Analysis Analysis Techniques ATAM
Week 8 Mid term examination Topic covers from lectures of week 1 till week 6
Week 9 Early design presentation Using ARID technique All architects and stakeholders must be present, as well as other community Time allocation: mins/group
Week 10 Architectural Description Languages (ADL) Article review presentation Analyze and critic existing architecture Propose new architecture
Week 11 Introduction to Middleware Article review presentation Analyze and critic existing architecture Propose new architecture
Week 12 Dynamisms in Software Architecture Article review presentation Analyze and critic existing architecture Propose new architecture
Week 13 Software Architects: People and Team Article review presentation Analyze and critic existing architecture Propose new architecture
Week 14 Final Presentation