Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp,...
-
Upload
shanna-wells -
Category
Documents
-
view
215 -
download
2
Transcript of Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp,...
![Page 1: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/1.jpg)
Some perspectives in teaching Software Architecture
Prabhakar T.V., Kiran Kumar
{tvp, vkirankr}@iitk.ac.in
IIT Kanpur
SATURN 2008
![Page 2: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/2.jpg)
Overview of the presentation
2/16SATURN 2008
Architecture Knowledge
Selected for Teaching
Selection
![Page 3: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/3.jpg)
How to Select?
3/16SATURN 2008
Ease of UnderstandingV
alu
e Selected TopicsQuality Attributes, Scenarios, Solution Architecture, System Arch., Technology choice, Workflows, Architecture Decisions, Patterns, Tactics, 4+1 viewset, ADD Methodology, ATAM evaluation.
(for students)
![Page 4: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/4.jpg)
Some Illustrations
4/16SATURN 2008
Ease of UnderstandingV
alu
e Patterns TacticsPerformanceModifiability
Testability
Security
UsabilityAvailability
![Page 5: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/5.jpg)
Aspects for Discussion• Background of Student community.• Bottom-up Positioning of architecture.• Solution Architecture and Workflow Engines.• Architecture definitions and QAs.• Examples from Web-applications.• Non-software and software examples for
patterns.• Selection of viewsets.• Design decisions with deployment view.
5/16SATURN 2008
![Page 6: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/6.jpg)
Background of Student community
• very good programmers, but only programmers do not have much system analysis skills.
• very interested in games, chatting, multimedia.
• very familiar with Internet.
• know some quality attributes such as performance, security, and usability.
6/16SATURN 2008
![Page 7: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/7.jpg)
Bottom-up as against top-down positioning of architecture
7/16
Top-down Approach
RequirementsEngineering
ArchitectureDevelopment
Reqs of large system
ArchitectureDecisions
Performance, Availability,Usability, Security.
Bottom-up Approach
ArchitectureDevelopment
Programming Problems
Modifiability, Testability
ProgrammingIn large
ArchitectureDecisions
SATURN 2008
![Page 8: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/8.jpg)
Solution Architecture
8/16SATURN 2008
• Generally, students design fully automated solutions without bothering much about cost and correctness.
• We discussed Solution Architecture to motivate them to semi-automated solutions.
Problem What is Managed?What is Engineered?
Management Engineering
![Page 9: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/9.jpg)
Workflow Engine
9/16SATURN 2008
• We discuss System Architecture to design Business-logic-oriented applications such as Search Engine.
• We discussed Workflows for designing Process-oriented applications such as Banking, Registration.
![Page 10: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/10.jpg)
Architecture definitions• SEI maintains 150+ definitions for Software
Architecture, each addressing different aspect of Software Architecture.
• Since our concentration was on System Architecture and Architecture Decisions, we selected two definitions best syncs with our discussion:
10/16SATURN 2008
1. Bass et. al. definition (..structures of the system...) for System Architecture and
2. Garlan et. al. definition (..beyond algorithms..) for Architecture Decisions.
![Page 11: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/11.jpg)
Quality Attributes
• We selected only six quality attributes available in Bass et.al. textbook.
11/16SATURN 2008
• Performance, and Security are easiest to discuss, because students are well aware of them.
• Availability, and Usability are also easy to discuss, because examples from Internet and other software can be provided.
• Modifiability, and Testability are hard to discuss, examples from Programming level were provided in order to make them appreciate the problem.
![Page 12: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/12.jpg)
Examples from Web-applications.
• Google search engine for 3-tier architecture.
• Cricinfo.com (broadcasts cricket scores) for Observer pattern.
• Google search engine for Availability, Active Redundancy.
• GTalk/Yahoo-messenger for Security.
12/16SATURN 2008
![Page 13: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/13.jpg)
Discussion of Patterns through examples
• Before discussing patterns and tactics, we talk about techniques that are being applied to solve real-life problems in the non-software engineering world. Duell et. al. transparency is a big help.
• We use well known applications as direct counterparts of its non-software examples.
13/16
• Counterstrike game for observer pattern.• Eclipse for Microkernel pattern.• Compiler for Pipe-and-Filter pattern.• Cancel button for Memento pattern.
SATURN 2008
![Page 14: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/14.jpg)
Selection of viewsets.
• The 4+1 view set is easiest to explain and appreciate.
• Later a discussion on the Zachman framework was found to be useful.
14/16SATURN 2008
![Page 15: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/15.jpg)
Design decisions with Deployment view.
• Among all the views, students are already familiarized with deployment view.
• We used this view to illustrate different design choices and their implications in achieving quality attributes.
15/16
Client InternetInternetWeb
ServerApplication
ServerDatabase
Server
Node
Client InternetInternetWeb
ServerApplication
Server
Node
DatabaseServer
Node
Design 1
Design 2
SATURN 2008
![Page 16: Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649ea45503460f94ba9046/html5/thumbnails/16.jpg)
16/16SATURN 2008