Software Architectures Course Overview
Software Architectures Course Overview
COURSE HANDOUT
(Flipped with 16 Sessions)
Course Objectives:
No Course Objective
CO1 Provide an industry approach towards foundation of Software Architecture for professionals
who want to understand this discipline.
CO2 Understand the various design and architectural aspects of the discipline and its building blocks
to get familiar with the current practices.
CO3 Understand both enterprise and modern application architecture that leverages Cloud and
Mobile technologies.
Text Books:
Content Structure
Architecture implementation
Testing
Reconstruction process
Raw view extraction
Database construction
View fusion
Finding violations Recording not available
Factors for evaluation
Trade off analysis
Lightweight evaluation
Planning
Recording not available
Organizing
Measuring
Governance
Learning Outcomes:
No Learning Outcomes
LO1 Acquire knowledge of software architecture discipline and interpret the various attributes that
pertains to the domain of application development.
LO2 Analyse patterns used for modern application design relate it with new technology such as Cloud
and mobile.
LO3 Examine application architecture from the perspective of quality attributes to revise an existing
design or develop a new design or make review and make recommendations for a given design.
LO4 Illustrate the importance of requirements, documentation and able to write them
LO5 Measure and assess application design and contribute to design decision.
Contact Sessions:
2,3 Software Quality Attributes T1 - 04, 05, 06, 07, 08, 09, 10, 11, 12
7, 8 Case Study: Layer Guidelines - Presentation, Business, R2-04, 05, 06, 07, 08, 09
Data Layer, Service
Architecture implementation
Testing
Reconstruction process
Raw view extraction
Database construction Recording Not Available
View fusion
Finding violations
Factors for evaluation
Trade off analysis
Lightweight evaluation
12, 13, Architecture in the Cloud T1-26, R2-26, R4- Page 1 - 111, R6-03, 07
14
Cloud Definitions 1. Service Oriented SA_RL 7.1.1
Service Models Architectures and cloud
Architecting for the Cloud Computing SA_RL 7.1.2
Benefits of Cloud based approach [Link] Deluge and cloud
Design Issues computing
Case Study: Developing Multitenant 1. System Virtualization and SA_RL 7.1.3
Applications for the Cloud Hypervisors
Case Study: Amazon Web Services - Cloud 2. Types of virtualizations SA_RL 7.1.4
Architecture: Best Practices and memory management
Case Study - Mobile Architecture Network & Data Storage SA_RL 7.2.1
Case Study - Patterns of Mobile Application Basics
Development Data Storage in the Cloud SA_RL 7.2.2
1. Cloud Architecture and SA_RL 7.3.1
types SA_RL 7.3.2
2. Amazon Web Service and
EC2
1. Quality Attributes Revised SA_RL 7.4.1
- Failure Estimation
2. Case Study - Netflix SA_RL 7.4.2
Multi-Tenant Architecture SA_RL 7.5
1. Micro Services - SA_RL 7.6.1
Introduction SA_RL 7.6.2
[Link] Services - Design
Principles SA_RL 7.6.3
[Link]-tolerant Architectural
Patterns
CAP Theorem SA_RL 7.7
Planning
Organizing Recording Not Available
Measuring
Governance
Faculty needs to provide learning exercise, reading notes and case studies and include them in EC-1 evaluation which
are primarily drawn from the tables below.
The learning exercises is designed keeping in mind a simple approach to motivate the students to actively
participate in completion of the assignment and fulfil learnings that is desired by the instructor.
LE1 a. Consider you are a hardware architect and in charge of designing a Part (a) After session 1
new portable device (phone/tablet or a new innovation). Come up
with the details of the hardware including the software it will run Part (b) After session 2
and capture the reason for your decisions of design and the
rationale for the same. Hardware criteria could be amount of RAM,
size of the device, battery life etc. Carry out the task individually
and understand from each other their specific criteria for their
corresponding design and discuss how an architecture serve as a
basis for analysis and decision-making process?
b. Now that you have designed a new hardware in part (a), think of a
creative software application that you plan to develop and to be
made on run on the device that is designed. Bring in an analogy
with software architecture from the above example? List the
objective of the application and identify the features of the
application and how is it supposed to work and if it requires any
specific hardware capability like camera, gyroscope etc. and verify
it with the hardware design above.
[The created document should be preserved for subsequent
exercises]
LE2 From the document created as part of LE1, subject it all the quality After session 2
attributes and identify the considerations over each other and record
your observations regarding the decisions made e.g. performance
criteria for the application. There could be decisions taken from
perspective of failure of components – both hardware and software,
performance, interoperability, security, cost etc. and assign priority of
each attribute for the product that is being designed and give reasons
for the priority. Again compare your priority with another individual
and understand the thought process for the decisions taken and share
your feedback and gain an understanding how the design decisions
bring changes to the application design features e.g. some attributes
may be ignored due to the cost and some attributes must be
considered otherwise the application may not work as expected.
LE3 With both the documents from LE1 and LE2 in place, create the After session 3, 4, 5
architectural design for the system. Identify the notations for
architecture design to be used like Use cases, Sequence Diagrams,
Domain Model, Domain Class Diagrams etc. and determine how to go
about producing a design document for the same. Also, have
considerations on how much documentations should be produced.
[Don’t confuse the task with producing a User Guide for the
hardware].
LE4 Design a unique client-server-based application for the hardware that After session 9, 10
is designed in LE1 and make use of the design documentation
produced in LE3. Keep in mind the hardware and software constraints
as per your design with the help of document from LE2. Produce a
detailed design with the help of document produced in LE3 involving
the Application Layers – Layer Guidelines – Presentation, Business,
Data Layer, and Service Layer.
LE5 Introspect all the layers mentioned in LE4 and identify the components After session 9, 10
that could be redesigned as Service to fit into the model of Service
Oriented architecture. Adapt the application to REST based
architecture once all the components have been identified and update
the design to reflect the same.
LE6 Select a particular Cloud service provider and identify the service After session 11, 12, 13, 14
(preferably PaaS) and deployment model (preferably public) and
make the required design changes to the application to map it to
cloud based architecture and call out the changes having compared
with LE4 and LE5.
Evaluation Scheme:
Important Information:
Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements regarding the same will be made
in a timely manner.
2. For Closed Book tests: No books or reference material of any kind will be permitted. Laptops/Mobiles of any
kind are not allowed. Exchange of any material is not allowed.
3. For Open Book exams: Use of prescribed and reference text books, in original (not photocopies) is permitted.
Class notes/slides as reference material in filed or bound form 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. The genuineness of the reason for absence in the
Regular Exam shall be assessed prior to giving permission to appear for the Make-up Exam. Make-Up
Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
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 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.
____________________________________________________________________________