Software Architecture Phase
• Occurs after requirements analysis, before detailed design
• Break the (conceptualized) soft...
Software Architecture
Requirements (from customer)
Req 1
Req 2
…
Req n
Conceptual
System
Analysis
Req 1..i
Req i..j
Req j....
Software Architecture Design
• Serves two purposes:
• Captures Behavioral Abstraction (critical requirements)
• Describes ...
• Concerned with:
• Structure: Large grain components (subsystems) and
their relationships
• Interaction: Pipes, Client Se...
Architectural Styles
• Capture past experiences with Architectural Design (i.e. Client-
Server, Pipes, etc.)
• Formal arch...
• Benefits
• Design Reuse
• Code Reuse (may be domain dependant)
• Communication among colleagues
• Interoperability
• Sys...
Upcoming SlideShare
Loading in …5
×

Cs 1023 lec 5 (week 1) edit 1

180 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
180
On SlideShare
0
From Embeds
0
Number of Embeds
102
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cs 1023 lec 5 (week 1) edit 1

  1. 1. Software Architecture Phase • Occurs after requirements analysis, before detailed design • Break the (conceptualized) software system into large grain components (subsystems) • Define behavior • Define relationships • Allocate requirements • Several well known • Client-server, Layered, Pipes • Define modules • Processes, dynamic libraries, static libraries
  2. 2. Software Architecture Requirements (from customer) Req 1 Req 2 … Req n Conceptual System Analysis Req 1..i Req i..j Req j..n Arch. Breakdown Subsys. 1 Subsys. 2 Subsys. 3
  3. 3. Software Architecture Design • Serves two purposes: • Captures Behavioral Abstraction (critical requirements) • Describes system’s “Conscience” • Guides system evolution • How easily can changes be made? • How will system integrity be effective by change? • “Load Bearing Walls” – Large Grain components or subsystems
  4. 4. • Concerned with: • Structure: Large grain components (subsystems) and their relationships • Interaction: Pipes, Client Server, Peer-to-Peer • System-wide Properties: Data rates, latencies, behavioral change propagation • Suggested simple (1-2 pages) description Software Architecture Design
  5. 5. Architectural Styles • Capture past experiences with Architectural Design (i.e. Client- Server, Pipes, etc.) • Formal architectural styles provide their own “language” • May be graphical/diagram-based (similar to UML) • May be textual based (similar to pseudo-code – Wright architecture description language) • Provides: • Common Vocabulary of Design Elements (clients, parsers, database) • Design Rules/Constraints • Semantics • System Analysis
  6. 6. • Benefits • Design Reuse • Code Reuse (may be domain dependant) • Communication among colleagues • Interoperability • System Analysis Architecture Design

×