Download presentation
Presentation is loading. Please wait.
Published byShanna Wells Modified over 9 years ago
1
Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008
2
Overview of the presentation 2/16SATURN 2008 Architecture Knowledge Selected for Teaching Selection
3
How to Select? 3/16SATURN 2008 Ease of Understanding Value Selected Topics Quality Attributes, Scenarios, Solution Architecture, System Arch., Technology choice, Workflows, Architecture Decisions, Patterns, Tactics, 4+1 viewset, ADD Methodology, ATAM evaluation. (for students)
4
Some Illustrations 4/16SATURN 2008 Ease of Understanding Value PatternsTactics Performance Modifiability Testability Security Usability Availability
5
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
6
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
7
Bottom-up as against top-down positioning of architecture 7/16 Top-down Approach Requirements Engineering Architecture Development Reqs of large system Architecture Decisions Performance, Availability, Usability, Security. Bottom-up Approach Architecture Development Programming Problems Modifiability, Testability Programming In large Architecture Decisions SATURN 2008
8
Solution Architecture 8/16 SATURN 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? ManagementEngineering
9
Workflow Engine 9/16 SATURN 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.
10
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.
11
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.
12
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
13
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
14
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
15
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/16SATURN 2008
16
16/16SATURN 2008
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.