1 / 16

Some perspectives in teaching Software Architecture

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.

almira
Download Presentation

Some perspectives in teaching Software Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Architecture Knowledge Selected for Teaching Selection SATURN 2008 2/16

  3. 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

  4. Some Illustrations Performance Patterns Tactics Modifiability Value Security Availability Usability Testability Ease of Understanding SATURN 2008 4/16

  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. SATURN 2008 5/16

  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. SATURN 2008 6/16

  7. 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

  8. 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

  9. 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

  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: • 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

  11. 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

  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. SATURN 2008 12/16

  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. • Counterstrike game for observer pattern. • Eclipse for Microkernel pattern. • Compiler for Pipe-and-Filter pattern. • Cancel button for Memento pattern. SATURN 2008 13/16

  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. SATURN 2008 14/16

  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. SATURN 2008 15/16

  16. Thank you for ur attention Questions SATURN 2008 16/16

More Related