Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science 340 Software Design & Testing Software Architecture.

Similar presentations


Presentation on theme: "Computer Science 340 Software Design & Testing Software Architecture."— Presentation transcript:

1 Computer Science 340 Software Design & Testing Software Architecture

2 Design Levels System Sub-Systems Packages Classes Methods High-Level Design Low-Level Design

3 Architecture The most important design activity is developing the system's “architecture” Architecture = –Top-level design of the system –Defines the basic structure of the system Normally done by very experienced engineers called “architects” Architects also serve as a link between the business and technical sides of the company

4 Architecture The architecture defines: –The major subsystems Subsystems are major areas of functionality Complex subsystems may be decomposed into smaller subsystems –Responsibilities of each subsystem –Dependencies between subsystems –Interfaces between subsystems –Communication patterns between subsystems –Implementation technologies Operating systems, languages, UI, networking, database, etc. –Physical System Deployment System topology –What kinds of machines will be needed? –How will they be connected? Mapping of logical software components onto physical hardware

5 Architecture Once the overall architecture has been defined, different teams or individuals can design subsystems in parallel Defining good interfaces between subsystems is critical –Interfaces should be as simple as possible –Give subsystem designers maximum freedom –Limit the ripple effects of changes to subsystems

6 Architecture UML Component Diagrams can be used to show subsystems and dependencies between them Note: UML version 1.4

7 UML Component Diagram


Download ppt "Computer Science 340 Software Design & Testing Software Architecture."

Similar presentations


Ads by Google