1 / 15

Software Engineering

Software Engineering. COSC 4460 Class 4 Cherry Owen. Chapter 4 An Architecture-Centric Process. The architecture is the foundation of the system. The architecture shows various views of the system. The architecture leaves out details which are not necessary to understand the overall system.

charo
Download Presentation

Software Engineering

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. Software Engineering COSC 4460 Class 4 Cherry Owen

  2. Chapter 4An Architecture-Centric Process • The architecture is the foundation of the system. • The architecture shows various views of the system. • The architecture leaves out details which are not necessary to understand the overall system.

  3. Purpose of the Architecture • Understand the system at a high level • Organize the development • Foster reuse • Evolve the system

  4. Architectural Baseline • baseline is released at the end of the elaboration phase • consists of a set of approved artifacts • represents an agreed upon basis for further development • can be changed only through a formal procedure such as configuration management or change management

  5. What Makes Up the Architecture? • Deployment diagram • Significant subsystems • Relationships of significant subsystems • Most significant classes within each subsystem • Interfaces, collaborations and dependencies • Screen and report design (user interface)

  6. Use Cases and Architecture • Find out what the user needs and wants to do with the system. • Write preliminary use cases. • Consider the architecture. • Refine and add to the use cases.

  7. A Skeleton of a System • The architecture is the big picture of how we will put things together, so everybody has a guideline to know where their part fits in.

  8. Defining an Architecture • Look at the architecture for a general application of the type you are doing. • Pick nodes, operating systems, middleware, database, legacy systems, standards and policies, and do a deployment model. • Pick the most architecturally significant use cases (what is significant depends on the goal of the application.) • Capture requirements, analysis, design, implement and test for the selected use cases.

  9. Adaptability • The use cases must be adapted to the architecture already in place. • We must know what already exists and fit the new use cases into it. • Therefore, an architecture must allow for easily adding functionality with minimal effect on the rest of the system.

  10. Iterations • Iterate through the workflows several times until at the end of the elaboration phase you have a baseline architecture. • This will be a skeleton of the system with a few software "muscles." • The baseline is a working system that covers the essential functionality of the system according to user priorities. • The baseline also addresses the most serious risks.

  11. Feedback • The operational architecture baseline provides a working demonstration to which workers (developers, testers, users) can provide feedback.

  12. Architecture Patterns • A pattern is a solution to a commonly occurring design problem. • Often patterns are presented using standard documentation templates. • The templates assign a name to a pattern. • They present a summary of the problem. • Some architectural patterns: • Layers, Pipes & Filters, Broker

  13. Issues in Architecture • high performance • high quality • highly functional • testable • user-friendly • reliable • highly available • accurate • expandable • change-tolerant • robust • maintainable • portable • secure • safe • economical

  14. Experience shows that less than 10% of the classes in a system are relevant to the architecture.

  15. Architect Qualifications • Know the domain in which she works. • Must work knowledgeable with all stakeholders. • Has knowledge of software process and all parts of software development. • Is not the project manager, but has total management support.

More Related