Aspects for Discussion Background of Student community. Bottom-up - - PDF document

aspects for discussion
SMART_READER_LITE
LIVE PREVIEW

Aspects for Discussion Background of Student community. Bottom-up - - PDF document

3/21/2008 Some perspectives in teaching Some perspectives in teaching Software Architecture Prabhakar T.V., Kiran Kumar {tvp vkirankr}@iitk ac in {tvp, vkirankr}@iitk.ac.in IIT Kanpur SATURN 2008 Aspects for Discussion Background of


slide-1
SLIDE 1

3/21/2008 1

Some perspectives in teaching Some perspectives in teaching Software Architecture

Prabhakar T.V., Kiran Kumar {tvp vkirankr}@iitk ac in {tvp, vkirankr}@iitk.ac.in IIT Kanpur

SATURN 2008

Aspects for Discussion

  • Background of Student community.
  • Bottom-up positioning of architecture
  • Bottom-up positioning of architecture.
  • Architecture definitions and QAs.
  • Examples from Web-applications.
  • Non-software and software examples for

patterns patterns.

  • Selection of viewsets
  • Design decisions with deployment view.

2/10 SATURN 2008

slide-2
SLIDE 2

3/21/2008 2

Background of Student community

  • very good programmers, but only programmers

do not have much system analysis skills 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.

3/10 SATURN 2008

Bottom-up as against top-down positioning of architecture?

Top-down Approach Bottom-up Approach

Requirements Engineering Architecture Reqs of large system Architecture D i i Architecture Development Programming P bl Programming Architecture Decisions 4/10 Development Decisions

Performance, Availability, Usability, Security.

Problems

Modifiability, Testability

In large SATURN 2008

slide-3
SLIDE 3

3/21/2008 3

Architecture definitions and QAs

  • Bass et. al. definition (..structures of the

system...) and Garlan et. al definition (..beyond l ith ) f hit t t b t algorithms..) for architecture seem to be most appropriate for our audience.

  • Since the students have some knowledge of

performance, security, availability, usability attributes, we selected them.

  • One of the main aims of our course is to make

students appreciate modifiability attribute and apply patterns in their future projects.

5/10 SATURN 2008

Examples from Web-applications.

  • Google search engine for 3-tier architecture.
  • Cricinfo.com (broadcasts cricket scores) for
  • bserver pattern.
  • Google search engine for availability
  • Google search engine for availability.
  • GTalk/Yahoo-messenger for security.

6/10 SATURN 2008

slide-4
SLIDE 4

3/21/2008 4

Discussion of Patterns through examples

  • Before discussing patterns and tactics, we talk

about techniques that are being applied to solve l lif bl i th ft i i 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.

7/10

Counterstrike game for observer pattern.

  • Eclipse for Microkernel pattern.
  • Compiler for Pipe-and-Filter pattern.
  • Cancel button for Memento pattern.

SATURN 2008

Selection of viewsets.

  • The 4+1 view set is easiest to explain and

appreciate appreciate.

  • Later a discussion on the Zachman

framework was found to be useful.

8/10 SATURN 2008

slide-5
SLIDE 5

3/21/2008 5

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.

Client Internet Internet Web S Application S Database S Design 1

9/10

Client Internet Internet Server Server Server Node Client Internet Internet Web Server Application Server Node Database Server Node Design 2

SATURN 2008 10/10 SATURN 2008