1 / 7

Computer Science 340 Software Design & Testing

Computer Science 340 Software Design & Testing. Software Architecture. Design Levels. System. Sub-Systems. High-Level Design. Packages. Classes. Low-Level Design. Methods. Architecture. The most important design activity is developing the system's “ architecture ” Architecture =

bobbytmoore
Download Presentation

Computer Science 340 Software Design & Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science 340Software Design & Testing Software Architecture

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

  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

More Related