• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
24
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
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