Top Banner
1 CS 407 Tutorial Week 11 Software architecture Software architecture encompasses the set of significant decisions about the organization of a software system - selection of the structural elements and their interfaces by which a system is composed - behavior as specified in collaborations among those elements - composition of these structural and behavioral elements into larger subsystem - architectural style that guides this organization
15

Nov 28, tutorial notes

Jan 03, 2017

Download

Documents

hoangkiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Nov 28, tutorial notes

1CS 407 Tutorial Week 11

Software architectureSoftware architecture encompasses the set of significant decisions about the organization of a software system− selection of the structural elements and their interfaces by 

which a system is composed− behavior as specified in collaborations among those 

elements− composition of these structural and behavioral elements into 

larger subsystem− architectural style that guides this organization

Page 2: Nov 28, tutorial notes

2CS 407 Tutorial Week 11

Software arch. (continued)Software architecture also involves

usagefunctionalityperformanceresiliencereusecomprehensibilityeconomic and technology constraints and tradeoffsaesthetic concerns

Page 3: Nov 28, tutorial notes

3CS 407 Tutorial Week 11

Forces in software architecture

Avoiding failure  ­ Separation of concerns  ­ Semantic consistency  ­ Distribution of responsibilities

Performance

Throughput

Capacity

Functionality

Availability

Resilience

Fail safe

Fault tolerance

Have an architecture that makes sense before you write 3.5 millionlines of code.  ­ Patrick Naugton

Technology churn

Differences  ­ No moving parts  ­ New materials can be created  ­ Physics can be changed

Page 4: Nov 28, tutorial notes

4CS 407 Tutorial Week 11

PatternsA pattern is a solution to a problem in a context

A pattern codifies specific knowledge collected from experience in a domain

All well­structured systems are full of patternsidioms

design patterns

architectural patterns

Page 5: Nov 28, tutorial notes

5CS 407 Tutorial Week 11

Architectural patternsLayeredMVCIR­centricSubsumptionDisposable

DistributedEvent­drivenFrame­basedBatchPipes and filtersRepository­centricBlackboardInterpreterRule­based

Patentable  ­ Hughes CAATS

Page 6: Nov 28, tutorial notes

6CS 407 Tutorial Week 11

Layered architecture

 

Major processes

Domain classes

Mechanisms

Services

Applications& interfaces

Issues  ­ Separation of concerns

Page 7: Nov 28, tutorial notes

7CS 407 Tutorial Week 11

Distributed architecture

LAN

WAN

Clients

Servers

Issues  ­ DCOM vs EJB vs CORBA  ­ Distribution and migration  ­ Fine grain/large grain objects  ­ Stateless vs stateful services  ­ Clustering  ­ Replication

Mechanisms  ­ RPC  ­ Transaction      ­ Atomicity      ­ Consistency      ­ Isolation      ­ Durability  ­ Messaging  ­ Conversation  ­ Request/response  ­ Publish and subscribe  ­ Broadcast

Page 8: Nov 28, tutorial notes

8CS 407 Tutorial Week 11

Commercial frameworksMTS/MSQSCORBAEnterprise Java BeansDominoSAP R/3DelphiForteVisual Basic

Similar to buildingcodes or localcovenants

Page 9: Nov 28, tutorial notes

9CS 407 Tutorial Week 11

MTS architecture

Client

StubProxy

Class factorywrapper

Contextwrapper

Contextobject

MTS executive

Classfactory

MTSobject

Server

Page 10: Nov 28, tutorial notes

10CS 407 Tutorial Week 11

CORBA architecture

Application objects  ­ Organization specific

CORBA facilities  ­ User interface  ­ Information management  ­ System management  ­ Task management

CORBA domains  ­ Financial services  ­ Health care  ­ Telecommunications  ­ Other

CORBA services  ­ Concurrency ­ Lifecycle ­ Trade ­ Query  ­ Events ­ Naming ­ Start up ­ Relationships  ­ Externalization ­ Security ­  Persistence ­ Transactions  ­ Licensing ­ Time ­ Properties ­ Collections

Object request broker

Page 11: Nov 28, tutorial notes

11CS 407 Tutorial Week 11

EJB architecture

Page 12: Nov 28, tutorial notes

12CS 407 Tutorial Week 11

Architectural contextThe choice of which building code or covenant you chose to live under is an architectural decision

− but by no means is this a sufficient architectural decision

Page 13: Nov 28, tutorial notes

13CS 407 Tutorial Week 11

Focus over timeDiscovery Invention Implementation

Focus

Time

Page 14: Nov 28, tutorial notes

14CS 407 Tutorial Week 11

Architecture across the lifecycle

Inception Elaboration Construction Transition

PreliminaryIteration

Analysis

Design

Architecture

Implementation

Planning

Test/assessment

Iteration #1

Iteration #2 ...

Iteration #n+1

Iteration #...

Iteration #m

Iteration#m+1

Iteration#m+2 ..

Integration

Page 15: Nov 28, tutorial notes

15CS 407 Tutorial Week 11

For more informationThis set of tutorial slides is entirely based on a talk delivered by Grady Booch.

The original talk can be downloaded from:http://www.rational.com/media/whitepapers/sd98.zip