Download presentation
Presentation is loading. Please wait.
Published byJoel Marshall Modified over 9 years ago
1
Software Engineering COSC 4460 Class 4 Cherry Owen
2
Chapter 4 An Architecture-Centric Process The architecture is the foundation of the system. The architecture is the foundation of the system. The architecture shows various views 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. 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 Understand the system at a high level Organize the development Organize the development Foster reuse Foster reuse Evolve the system Evolve the system
4
Architectural Baseline baseline is released at the end of the elaboration phase baseline is released at the end of the elaboration phase consists of a set of approved artifacts consists of a set of approved artifacts represents an agreed upon basis for further development represents an agreed upon basis for further development can be changed only through a formal procedure such as configuration management or change management can be changed only through a formal procedure such as configuration management or change management
5
What Makes Up the Architecture? Deployment diagram Deployment diagram Significant subsystems Significant subsystems Relationships of significant subsystems Relationships of significant subsystems Most significant classes within each subsystem Most significant classes within each subsystem Interfaces, collaborations and dependencies Interfaces, collaborations and dependencies Screen and report design (user interface) Screen and report design (user interface)
6
Use Cases and Architecture Find out what the user needs and wants to do with the system. Find out what the user needs and wants to do with the system. Write preliminary use cases. Write preliminary use cases. Consider the architecture. Consider the architecture. Refine and add to the use cases. 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. 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. 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 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.) 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. 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. 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. 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. 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. 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." 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 is a working system that covers the essential functionality of the system according to user priorities. The baseline also addresses the most serious risks. 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. 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. A pattern is a solution to a commonly occurring design problem. Often patterns are presented using standard documentation templates. Often patterns are presented using standard documentation templates. The templates assign a name to a pattern. The templates assign a name to a pattern. They present a summary of the problem. They present a summary of the problem. Some architectural patterns: Some architectural patterns: Layers, Pipes & Filters, Broker Layers, Pipes & Filters, Broker
13
Issues in Architecture high performance high performance high quality high quality highly functional highly functional testable testable user-friendly user-friendly reliable reliable highly available highly available accurate accurate expandable expandable change-tolerant change-tolerant robust robust maintainable maintainable portable portable secure secure safe safe economical 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. Know the domain in which she works. Must work knowledgeable with all stakeholders. Must work knowledgeable with all stakeholders. Has knowledge of software process and all parts of software development. Has knowledge of software process and all parts of software development. Is not the project manager, but has total management support. Is not the project manager, but has total management support.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.