Your SlideShare is downloading. ×
Cs 1023 lec 5 (week 1) edit 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Cs 1023 lec 5 (week 1) edit 1

112
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
112
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. • 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. 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. • Benefits • Design Reuse • Code Reuse (may be domain dependant) • Communication among colleagues • Interoperability • System Analysis Architecture Design