Professional Documents
Culture Documents
BITS Pilani
Pilani Campus
Course Details Title: Software Architectures Code: SSZG653 Faculty: PANKAJ VYAS
Course Objectives
To illustrate the current state of the discipline of Software Architecture and examine the ways in which architectural design can affect software design To explain the importance of nonfunctional requirements in terms of quality attributes of a system To study the various architectural styles used in software engineering To understand the evaluate designs of existing software systems from an architectural perspective To provide the intellectual building blocks for designing new systems in principled ways, using well-understood architectural paradigms To present concrete examples of actual system architectures that can serve as model for new designs
First Semester, 2013-2014
SS ZG653 : Software Architecture Date : Thursday 25th July, 2013
Text Books
Len Bass, Software Architecture in Practice, Pearson, Third Edition, ISBN 9789332502307 Buschmann, F. et al, Pattern Oriented Software Architecture Volume1, Wiley, 1996.
References
Mary Shaw & David Garlan, Software Architecture Perspectives on an Emerging Discipline, PHI, 1996. Stephen T. Albin, The Art of Software Architecture, Wiley Dreamtech, 2003. Gamma, E. et. Al. Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley, 1995
Quizzes: 15%
Exams
Midterm Exam
Closed Book and notes
Final Exam
Open Book and notes
The exam solutions/answers are expected to be of Masters Level with crisp, to-the-point, concise, proper, neat and readable presentation
Understanding Performance , Security and Testability Attributes Understanding the role of various architecture tactics Learning object-oriented basics and UML . Understanding classes, objects, encapsulation, polymorphism, inheritance and their representation in UML UML class diagrams, sequence collaboration cards (CRC cards) diagrams, class-responsibility-
7 8
10
Cont
Lecture # Topics to be Covered
10
11 12 13 14 15 16
Architecture Pattern : Mud to structure category (1) Blackboard (2) Pipe-and-Filter architectural styles
Architecture Pattern : Distributed System category Broker Architecture style Architecture Pattern : Interactive System Category (1) Model-View-Controller (2) Presentation-Abstraction-Control Architecture Pattern : Adaptable System Category (1) Microkernel (2) Reflection Role of Design Patterns in Software Design, Components of a typical Design Pattern, Categories of Design Patterns, Understanding Iterators Design Patterns : Behavioral Category (1) Observer (2) Strategy (3) Command (4) Visitor Design Patterns : Structural Category (1) Adapter (2) Decorator (3) Composite (4) Proxy
17
Design Patterns : Creational Category (1) Factory (2) Factory Method (3) Singleton
SS ZG653 : Software Architecture Date : Thursday 25th July, 2013
11
Topic
12
Software Architecture is a description of the subsystems and components of a software system and the relationships between them. Architecture thus attempts to define the structure the way in which something is constructed or organised
SWEBOK, 2004, Chapter 3 Software Design, Pg 3-3
13
Software Architecture is a description of the subsystems and components of a software system and the relationships between them. Architecture thus attempts to define the structure the way in which something is constructed or organised
SWEBOK, 2004, Chapter 3 Software Design, Pg 3-3
14
15
Whats clear?
System has 5 elements Position of elements shows some properties. Whats visible? Whats not visible? Layered? Elements have a relationship
Is this complete architecture? Is everything clear? Is there anything missing? Whats missing?
SS ZG653 : Software Architecture Date : Thursday 25th July, 2013
16
17
Significance of layout
Does level shown signify anything Was the type of drawing due to space constraint
18
Properties of Architecture
Externally visible those assumptions other elements can make of an element A few of these properties
Services provided Performance characteristics Fault handling Shared resource usage
19
20
21
Architecture of Windows NT
https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
22
23
Reference models, architecture patterns and reference architectures are not architectures; they are useful concepts that capture elements of an architecture
First Semester, 2013-2014
SS ZG653 : Software Architecture Date : Thursday 25th July, 2013
24
25
26
27