160 likes | 292 Views
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. How to Select?. Selected Topics. Value.
E N D
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
How to Select? Selected Topics Value 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
Some Illustrations Performance Patterns Tactics Modifiability Value Security Availability Usability 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 Bottom-up Approach Requirements Engineering Reqs of large system Architecture Development Architecture Decisions Architecture Decisions Programming In large Programming Problems Architecture Development Modifiability, Testability Performance, Availability, Usability, Security. 7/16 SATURN 2008
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 Engineering 8/16 SATURN 2008
Workflow Engine • 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. 9/16 SATURN 2008
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: • 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
Thank you for ur attention Questions SATURN 2008 16/16