Académique Documents
Professionnel Documents
Culture Documents
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
CS 407 Tutorial Week 11 1
Software arch. (continued)
Software architecture also involves
usage
functionality
performance
resilience
reuse
comprehensibility
economic and technology constraints and tradeoffs
aesthetic concerns
CS 407 Tutorial Week 11 2
Forces in software architecture
Functionality Technology churn
Capacity Fault tolerance
Availability
Have an architecture that makes sense before you write 3.5 million
lines of code.
Patrick Naugton
CS 407 Tutorial Week 11 3
Patterns
A 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 patterns
idioms
design patterns
architectural patterns
CS 407 Tutorial Week 11 4
Architectural patterns
Distributed Layered
Eventdriven MVC
Framebased IRcentric
Batch Subsumption
Pipes and filters Disposable
Repositorycentric
Blackboard Patentable
Hughes CAATS
Interpreter
Rulebased CS 407 Tutorial Week 11 5
Layered architecture
Issues
Applications& Separation of concerns
interfaces
Major
processes
Domain
classes
Mechanisms
Services
CS 407 Tutorial Week 11 6
Distributed architecture
Issues
DCOM vs EJB vs CORBA
Distribution and migration
Fine grain/large grain objects
Stateless vs stateful services
Clustering
Clients Replication
Mechanisms
RPC
Transaction
Atomicity
Consistency
Isolation
Durability
LAN Messaging
Conversation
Request/response
Publish and subscribe
Broadcast
WAN
Servers
CS 407 Tutorial Week 11 7
Commercial frameworks
Similar to building
MTS/MSQS codes or local
covenants
CORBA
Enterprise Java Beans
Domino
SAP R/3
Delphi
Forte
Visual Basic
CS 407 Tutorial Week 11 8
MTS architecture
MTS executive Server
Class factory Class
Client wrapper factory
Context
object
CS 407 Tutorial Week 11 9
CORBA architecture
Object request broker
CORBA services
Concurrency Lifecycle Trade Query
Events Naming Start up Relationships
Externalization Security Persistence Transactions
Licensing Time Properties Collections
CS 407 Tutorial Week 11 10
EJB architecture
CS 407 Tutorial Week 11 11
Architectural context
The 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
CS 407 Tutorial Week 11 12
Focus over time
Discovery Invention Implementation
Focus
Time
CS 407 Tutorial Week 11 13
Architecture across the lifecycle
Inception Elaboration Construction Transition
Planning
Analysis
Architecture
Design
Implementation
Integration
Test/assessment
CS 407 Tutorial Week 11 14
For more information
This 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
CS 407 Tutorial Week 11 15