Fatima Jinnah Women University, Rawalpindi

Department of Software Engineering

Course Title: Credit Hours:

Software Design and Architecture 03

COURSE OBJECTIVES: An in-depth look at software design. Continuation of the study of design patterns, frameworks, and architectures. Survey of current middleware architectures. Design of distributed systems using middleware. Component based design. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reusability, reliability, etc. Measuring internal qualities and complexity of software. Evaluation and evolution of designs. Basics of software evolution, reengineering, and reverse engineering.

Upon completion of this course, students will have the ability to: y Apply a wide variety of design patterns, frameworks, and architectures in designing a wide variety of software y y Design and implement software using several different middleware technologies Use sound quality metrics as objectives for designs, and then measure and assess designs to ensure the objectives have been met y y Modify designs using sound change control approaches Use reverse engineering techniques to recapture the design of software

Develop Strategies. Engineering concerns addressed by different views. Lecture 8: Conceptual Architecture View Final Design Task: Resource Budgeting. Software Architecture as a Design Plan. Lecture 11: Execution Architecture View Design Activities for the Execution Architecture View. Week 2 Lecture 4: Global Analysis Overview of Global Analysis Activities. Traceability. Analyze Product Factors. and Configuration. Continue Developing Strategies. Using the four Views. Uses for the Conceptual Architecture View. Central Design Tasks: Components. Lecture 9: Module Architecture View Design Activities for the Module Architecture View. Communication Paths. Analyze Factors. Lecture 12: Execution Architecture View Topics . Connectors. Continue Developing Strategies. Lecture 5: Global Analysis Analyze Organizational Factors. Lecture 2: Introduction Software Architecture Terminology. Lecture 6: Global Analysis Analyze Technological Factors. Central Design Tasks: Modularization and Layering. and Software Architecture as an Abstraction. and Configuration. Lecture 3: Introduction Loose coupling between Views. Week 4 Lecture 10: Mid-Term Exam (90 Minutes) Module Architecture View Final Design Task: Interface Design. Begin Developing Strategies. Traceability. Week 3 Lecture 7: Conceptual Architecture View Design Activities for the Conceptual Architecture View. Central Design Tasks: Runtime Entities. Four Views of Software Architecture. Uses for the Module Architecture View.COURSE OUTLINE: Weeks Week 1 Lecture 1: Introduction Putting Software Architecture in Context.

Lixin Tao. Traceability. Copyright © 2006.Methodology and Styles Stipes Publishing L.C. Traceability. Robert Nord. Week 5 Lecture 13: Code Architecture View Design Activities for the Code Architecture View. Pearson GRADING CRITERIA: Assignments & Quizzes Project Quizzes Class Participation Midterm exam Final exam 15% 20% 10% 10% 20% 35% . 1999. Lecture 17: Role of Architect The Architect Coordinates. Dilip Soni. The Architect Implements. Applied Software Architecture. Lecture 18: Role of Architect Software Architecture as a Career Week 7 Final Examination RECOMMENDED READINGS / BOOKS: 1. Xiang Fu and Kai Qian 2. Uses for the Execution Architecture View. The Architect Coaches.Final Design Task: Resource Allocation. The Architect Makes Decisions. Central Design Tasks. Week 6 Lecture 16: Role of Architect The Architect as a Key Technical Consultant. Lecture 14: Code Architecture View Final Design Tasks. Software Architecture Design . The Architect Advocates. Lecture 15: Code Architecture View Uses for the Code Architecture View. Christine Hofmeister.L.

Sign up to vote on this title
UsefulNot useful