40db61bac5fd7f82fa2555bb62eaf036.ppt
- Количество слайдов: 16
Some perspectives in teaching Software Architecture Prabhakar T. V. , Kiran Kumar {tvp, vkirankr}@iitk. ac. in IIT Kanpur SATURN 2008
Overview of the presentation Architecture Knowledge Selected for Teaching Selection SATURN 2008 2/16
Value How to Select? Selected Topics Quality Attributes, Scenarios, Solution Architecture, System Arch. , Technology choice, Workflows, Architecture Decisions, Patterns, Tactics, 4+1 viewset, ADD Methodology, ATAM evaluation. Ease of Understanding (for students) SATURN 2008 3/16
Value Some Illustrations Performance Tactics Security Availability Usability Patterns Modifiability Testability Ease of Understanding SATURN 2008 4/16
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. SATURN 2008 5/16
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. SATURN 2008 6/16
Bottom-up as against top-down positioning of architecture Top-down Approach Requirements Engineering Reqs of large system Architecture Development Architecture Decisions Performance, Availability, Usability, Security. SATURN 2008 Bottom-up Approach Architecture Development Programming In large Architecture Decisions Programming Problems Modifiability, Testability 7/16
Solution Architecture • 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 SATURN 2008 Engineering 8/16
Workflow Engine • We discuss System Architecture to design Business-logic-oriented applications such as Search Engine. • We discussed Workflows for designing Processoriented applications such as Banking, Registration. SATURN 2008 9/16
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: 1. Bass et. al. definition (. . structures of the system. . . ) for System Architecture and 2. Garlan et. al. definition (. . beyond algorithms. . ) for Architecture Decisions. SATURN 2008 10/16
Quality Attributes • We selected only six quality attributes available in Bass et. al. textbook. • 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. SATURN 2008 11/16
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. SATURN 2008 12/16
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. • • Counterstrike game for observer pattern. Eclipse for Microkernel pattern. Compiler for Pipe-and-Filter pattern. Cancel button for Memento pattern. SATURN 2008 13/16
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. SATURN 2008 14/16
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. SATURN 2008 15/16
SATURN 2008 16/16
40db61bac5fd7f82fa2555bb62eaf036.ppt