software architecture
DESCRIPTION
TRANSCRIPT
![Page 1: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/1.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/2.jpg)
2CS 407 Tutorial Week 11
Software arch. (continued)Software architecture also involves
usagefunctionalityperformanceresiliencereusecomprehensibilityeconomic and technology constraints and tradeoffsaesthetic concerns
![Page 3: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/3.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/4.jpg)
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 wellstructured systems are full of patternsidioms
design patterns
architectural patterns
![Page 5: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/5.jpg)
5CS 407 Tutorial Week 11
Architectural patternsLayeredMVCIRcentricSubsumptionDisposable
DistributedEventdrivenFramebasedBatchPipes and filtersRepositorycentricBlackboardInterpreterRulebased
Patentable Hughes CAATS
![Page 6: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/6.jpg)
6CS 407 Tutorial Week 11
Layered architecture
Major processes
Domain classes
Mechanisms
Services
Applications& interfaces
Issues Separation of concerns
![Page 7: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/7.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/8.jpg)
8CS 407 Tutorial Week 11
Commercial frameworksMTS/MSQSCORBAEnterprise Java BeansDominoSAP R/3DelphiForteVisual Basic
Similar to buildingcodes or localcovenants
![Page 9: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/9.jpg)
9CS 407 Tutorial Week 11
MTS architecture
Client
StubProxy
Class factorywrapper
Contextwrapper
Contextobject
MTS executive
Classfactory
MTSobject
Server
![Page 10: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/10.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/11.jpg)
11CS 407 Tutorial Week 11
EJB architecture
![Page 12: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/12.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/13.jpg)
13CS 407 Tutorial Week 11
Focus over timeDiscovery Invention Implementation
Focus
Time
![Page 14: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/14.jpg)
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: Software architecture](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548d1f6eb4795945138b4f7e/html5/thumbnails/15.jpg)
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