BITS WILP
Software Architectures Handout 2017-H1
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 Ajax Model
|
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