SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture # 16 Finalizing the Application Design SWE 316: Software Design and Architecture Be able to … complete a detailed design Ch 14b Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
SWE 316: Software Design and Architecture. Lecture # 16 Finalizing the Application Design. Ch 14b. Be able to … complete a detailed design . Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission. 2/24. Intro. Designing Control. - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Obj
ectiv
esLecture # 16
Finalizing the Application Design
SWE 316: Software Design and Architecture
Be able to … complete a detailed design
Ch 14bAdapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Process Phases Discussed in This ChapterRequirements
Analysis
Design
Implementation
ArchitectureFramework Detailed Design
xKey: = secondary emphasisx = main emphasis
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 2/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Relating Use Cases, Architecture, & Detailed Design
1. Use case (part of requirements)
“Cars should be able to travel from the top of Smith Hill at 65 mph, travel in a straight line, and arrive at Jones Hollow within 3 minutes.”
3. Architecure2. Domainclasses
Auto
Road
Auto
Road
4. DetailedDesign
Cable
Cable
Pylon
Pylon
(not specifically required)
added for detailed design
GuardrailRoadbed
*
**
* Use cases used toobtain domain classes. ** Use cases used to verify and test design.
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 3/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Completing Detailed DesignDesign the control of the application, Design for database access Design interaction with outside world. Audit relationships among classes
eliminate unnecessary connections, adding requried detail classes clarify all classes
Ensure all required methods implemented
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 4/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Designing control
Controlling an application: organizing the actions and events that it needs to progress through. Global Control: for the entire application
Internally driven control Externally driven control
Local control: of the parts
14.5.1Intro Designing
ControlDesigning for
Interfaces Data Access Completing the Design 5/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Architecture Options for Application Control Internally driven Externally driven
== “event-driven” Does nothing until an
even occurs e.g., mouse actions Each event causes a
method to execute
event
Application
class
event event
… Globally: Event-driven (externally) or internally.… Locally: May collect control in its own class.
KEY CONCEPTControl Applications
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 6/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Designing for Interfaces
Styles of Object-Oriented Design for Application Interface
Internally-driven Interface Design Class by class process
Externally-driven Interface Design by use case -- or -- by screen -- or -- by user
14.5.2Intro Designing
ControlDesigning for
Interfaces Data Access Completing the Design 7/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Connecting to Databases
1. Ensure class model supports collection
2. Choose centralized or distributed storage architecture
3. Store data in relational or object-oriented database
14.5.3Intro Designing
ControlDesigning for
Interfaces Data Access Completing the Design 8/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Ensure Object Model Allows Data Capture
Mediator for data captureTransaction
Account
Customer Teller
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 9/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Data Management Architectures Distributed : objects store themselves
Central : use specialized storage classes to create instances to destroy instances to make efficient use of space
e.g. garbage collection
Intro Designing Control
Designing for Interfaces Data Access Completing the
Design 10/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
key: from... u: use case s: from state model c: from component model
categoryString
Completing WinHelp OperationsIntro Designing
ControlDesigning for
Interfaces Data Access Completing the Design
23/24
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser
Summary1. Design for data capture 2. Design control 3. Design interfaces4. Exploit abstraction 5. Reduce many-to-many associations6. Finalize design of associations7. Obtain all functions from use case-,
state-, and component models8. Design individual functions
Intro Designing Control
Designing for Interfaces Data Access Completing the