BITS WILP Software Architectures Handout 2017-H1
BIRLA
INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK
INTEGRATED LEARNING PROGRAMMES
Digital
Part A: Content
Design
Course Title
|
SOFTWARE
ARCHITECTURES
|
Course No(s)
|
SS
ZG653
|
Credit Units
|
5
|
Credit Model
|
3
+ 1 + 1
|
Content Authors
|
Prof. SANTONU SARKAR
|
Lead Instructor
|
Rizwan Parveen
|
Course Objectives
No
|
|
CO1
|
To
introduce the concept of architectural design of software and its practice.
|
CO2
|
To
study the various architectural styles used in software design.
|
CO3
|
To
understand the evaluate designs of existing software systems from an
architectural perspective.
|
Text Book(s)
T1
|
Bass,
Len . Software Architecture in Practice. Pearson Education, 3rd Ed.
|
T2
|
Buschmann,
F. Pattern Oriented Software Architecture. Vol 1, Wiley Student Edition,
2002.
|
Reference Book(s)
& other resources
R1
|
Taylor
et al, Software Architecture: Foundations, Theory, and Practice, Wiley, 2009
|
R2
|
Mary
Shaw & David Garlan, Software Architecture – Perspectives on an Emerging
Discipline, PHI,1996.
|
R3
|
Gamma. Design Patterns: Elements of Reusable
Object Oriented Software, Addison Wesley, 1995
|
R4
|
Pressman,
Software Engineering A Practitioner's Approach 7th Edition
|
Content
Structure
1.
Software Architecture - Introduction
1.1.
Motivation
1.2.
What is Software Architecture
1.3.
Importance
of Software Architecture
1.4.
A Typical Software Architecture
1.5.
Components of Software Architecture
2.
Structure of Software Architecture
2.1.
Three structures
3.
Software Quality
3.1.
Quality classes, quality attribute, quality attribute scenario
and architectural tactics
3.2.
Usability and its tactics
3.3.
Availability and its tactics
3.4.
Modifiability and its tactics
3.5.
Performance and its tactics
3.6.
Security and its tactics
3.7.
Testability and its tactics
3.8.
Interoperability and its tactics
4.
Documenting Software Architecture
4.1.
Introduction to OO Design
4.2.
Introduction to UML
4.3.
Documenting Architecture using UML
4.4.
Introducing Agile methodology
4.5.
Rational Unified Process
5.
Patterns
in Understanding and Creating Architectures
5.1.
Patterns
and Software Architecture
5.2.
The
Various Categories of Patterns
5.3.
Mud
to Structure Category of Architectural Patterns
5.4.
Layered
Architecture
5.5.
Pipes
and Filters Architecture
5.6.
Blackboard
Architecture
5.7.
Distributed System
5.8.
MVC Intro, detailed and MVC in Ajax Model
5.9.
Microkernel
5.10.
Reflection
6.
Design
Patterns
6.1.
Introduction
6.2.
Creational
Pattern
6.3.
Decorator
6.4.
Adapter
6.5.
Proxy
6.6.
Iterator
and Observer
6.7.
Strategy
6.8.
Visitor
6.9.
Command
7.
Architecture
for Next Generation Platform- Cloud Computing
7.1.
Introduction
and Virtualization basic
7.2.
IAAS
and Data storage
7.3.
Quality
attribute revisited
7.4.
CAP
Theorem and its implication to Architecture
7.5.
Microservice
pattern and design for failure
Learning
Outcomes:
No
|
Learning Outcomes
|
LO1
|
To illustrate the
current state of the discipline of Software Architecture and examine the ways
in which architectural design can affect software design.
|
LO2
|
To study the
various architectural styles used in software engineering.
|
LO3
|
To understand the
evaluate designs of existing software systems from an architectural
perspective.
|
LO4
|
To provide the
intellectual building blocks for designing new systems in principled ways,
using well-understood architectural paradigms.
|
LO5
|
To learn architectural paradigm for modern platform- specially
Cloud Computing
|
Part
B: Learning Plan
Academic Term
|
Second
Semester 2016-2017
|
Course Title
|
SOFTWARE ARCHITECTURES
|
Course No
|
SS ZG653
|
Lead Instructor
|
Rizwan Parveen
|
Session 1
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 1.1== RL 1.3
|
Introduction
to the Course, its objective, plan and study material
A Brief
History of Software Architecture, its definition and two examples
Introduction
to the Styles, Views and Rational’s 4+1
|
T1:
Chapter 1, Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 2
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 2.1, RL 3.1,
|
Three
structures
Quality
classes, Quality attribute, quality attribute scenario and architectural
tactics
|
T1:
Chapter 4
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
||
#Introduction
of ‘three structures’ in Ch. 1 (Topic 1.2)
|
Session 3
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 4.1
RL 4.2
|
Usability
and its tactics
Availability
and its tactics
|
T1:
Chapter 5, 6
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 4
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 5.1, 5.2
|
Modifiability
and Performance
|
T1:
Chapter 7, 8
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 5
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 6.1—RL 6.2, 6.3
|
Security,
Testability and Interoperability
|
T1:
Chapter 9, 10, 11
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 6
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 6.1—RL 6.2, 6.3
|
Any
Remaining part of
‘Security, Testability and Interoperability’
|
T1:
Chapter 9, 10, 11
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 7
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 7.1
|
Introduction
to OO Design
|
T1
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 8
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 7.2, RL 8.1
|
Introduction
to UML
Documenting
Architecture using UML
|
T1
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
||
#Chapter
18. Documenting Software Architectures (T1)
|
Session 9
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 8.2—RL 8.3
|
Introducing
Agile methodology
Rational
Unified Process
|
T1, R4 (Ch. 2.5,
3.5.5, 3.5.8, 5.5.1
Analysis class to
design class 6.5.1), T2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 10
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 9.1—RL 9.3
|
Pattern
definition and classification
9.2
Pattern category and Intro to Layering
9.3
Layering pattern
|
T2:
Chapter 1, Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
||
#Chapter
13, Architectural Patterns (T1)
|
Session 11
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 10.1
|
Pipe and
Filter
|
T2:
Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
||
#First
two subtopics of Ch. 2
|
MID SEMESTER EXAM – till Session 11
Session 12
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 10.2—RL 11.1
|
Distributed
System
(Blackboard and Broker Pattern)
|
T2:
Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 13
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 12.1—RL 12.3
|
MVC
Introduction
MVC
Detailed
MVC in
|
T2:
Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 14
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 13.1—RL 13.3
|
Microkernel
Introduction
Microkernel
Detailed
Reflection
|
T2:
Chapter 2
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 15
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 14.1—RL 14.2
|
Introduction
Creational
Pattern
|
T2, R3
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 16
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 15.1—RL 15.3
|
Decorator
Adapter
Proxy
|
T2, R3
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 17
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 16.1—RL 16.2
|
Iterator
and Observer
Strategy
|
T2, R3
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 18
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 16.3—RL 16.4
|
Visitor
Command
|
T2, R3
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 19
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 17.1—RL 17.2
|
Introduction
and Virtualization basic
IAAS and
Data storage
|
T1: Chapter 26
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 20
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 18.1—RL 18.2
|
Quality
attribute revisited
CAP
Theorem and its implication
|
T1
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 21
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 18.3
|
Microservice
pattern and design for failure
|
T1
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Session 22
Type
|
Type
|
Sequence
|
Study/HW Resource
Reference
|
Pre CH
|
RL 18.3
|
Continuing
with Session 21: Microservice pattern and design for failure
Revision
Session
|
T1
|
During CH
|
|||
Post CH
|
Lecture Notes and Reference
books
|
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN =
Fore Noon Session
No
|
Name
|
Type
|
Duration
|
Weight
|
Day,
Date, Session, Time
|
EC-1
|
Quiz-I
|
Online
|
-
|
5%
|
February
1 to 10, 2017
|
Quiz-II
|
Online
|
-
|
5%
|
March
1 to 10, 2017
|
|
Quiz-III
|
Online
|
-
|
5%*
|
March 20 to 30,
2017
|
|
EC-2
|
Mid-Semester
Test
|
Closed
Book
|
2
hours
|
35%*
|
25/02/2017
(FN) 10 AM – 12 Noon
|
EC-3
|
Comprehensive
Exam
|
Open
Book
|
3
hours
|
50%*
|
08/04/2017
(FN) 9 AM – 12 Noon
|
*If
there is any marks remains (i.e. Question paper set for 35 Marks for EC-2),
then consider the remaining 5 marks will be adjusted in your final grades.
Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos. 1 To 11
Syllabus
for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 22)
Important links and information:
Elearn portal:
https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular
basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule
provided on the Elearn portal.
Evaluation
Guidelines:
1.
EC-1 consists of three Quizzes. Students will attempt them
through the course pages on the Elearn portal. Announcements will be made on
the portal, in a timely manner.
2.
For Closed Book tests: No books or reference material of any
kind will be permitted.
3.
For Open Book exams: Use of books and any printed / written
reference material (filed or bound) is permitted. However, loose sheets of
paper will not be allowed. Use of calculators is permitted in all exams.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
4.
If a student is unable to appear for the Regular Test/Exam due
to genuine exigencies, the student should follow the procedure to apply for the
Make-Up Test/Exam which will be made available on the Elearn portal. The
Make-Up Test/Exam will be conducted only at selected exam centers on the dates
to be announced later.
5.
Please keep in your mind that only genuine Recheck request will
be entertain. When a student applies for the recheck, entire answer sheet will
be re-evaluated again; this procedure may increase or decrease (as well) the
marks. Non-genuine request may lead to minus marking sometimes. Be careful.
6.
For any query (apart from Course content or syllabus/lecture
topics) should be strictly addressed to evm@wilp.bits-pilani.ac.in
It shall be the responsibility of the individual student to be
regular in maintaining the self-study schedule as given in the course handout,
attend the online lectures, and take all the prescribed evaluation components
such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to
the evaluation scheme provided in the handout. No Extra
time/day will be given to the student after deadline gets over for the Quizzes
and other exam components.
No comments:
Post a Comment