SENG 422 Summer 99 SOFTWARE ARCHITECTURE Instructor Dr. Peter Walsh EOW 308 pwalsh@csr.csc.uvic.ca 721-8790 Office Hours: TBA Lecture Times and Places Cle A 207 Wed/Thurs 6:30 - 8:00 Syllabus Architectural design of complex software systems. Commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures. Skills needed to evaluate the architectures of existing systems and to design new systems in principled ways using well-founded architectural paradigms. Role of Standards. Objectives Architectures for Software Systems aims to teach you how to design, understand, and evaluate systems at an architectural level of abstraction. By the end of the course you should be able to: Recognize major architectural styles in existing software systems. Describe an architecture accurately. Generate architectural alternatives for a problem and choose among them. Construct a medium-sized software system that satisfies an architectural specification. Use existing definitions and development tools to expedite such tasks. Understand the formal definition of a number of architectures and be able to reason precisely about the properties of those architectures. Use domain knowledge to specialize an architecture for a particular family of applications. Text Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman, published by Addison-Wesley in 1998. Grading Questions on Assigned Readings 25% to be answered by each student and graded on a pass/fail basis Assignments [max of 5 assignments] 15% to be attempted by each student team Project 30% to be completed by each student team, includes report and presentation In Class Exams [3] 30% to be completed by each student Final Grade The final grade will be obtained from the following percentage to grade point conversion: 90 <= A+ <= 100 85 <= A < 90 80 <= A- < 85 75 <= B+ < 80 70 <= B < 75 65 <= B- < 70 60 <= C+ < 65 55 <= C < 60 50 <= D < 55 35 <= E < 50 (fail; conditional supplemental exam) F < 35 (fail; no supplemental exam) N (did not complete the course requirements; no supplemental exam)