SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture # 16 Finalizing the Application Design SWE 316: Software Design and.

Slides:



Advertisements
Similar presentations
Entity Relationship (E-R) Modeling
Advertisements

1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
Design Patterns.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 1: The Database Environment
Chapter 26 Legacy Systems.
Chapter 7 System Models.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
Relational Database and Data Modeling
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
11 Copyright © 2005, Oracle. All rights reserved. Using Arrays and Collections.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Determine Eligibility Chapter 4. Determine Eligibility 4-2 Objectives Search for Customer on database Enter application signed date and eligibility determination.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
So far Binary numbers Logic gates Digital circuits process data using gates – Half and full adder Data storage – Electronic memory – Magnetic memory –
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Database Systems: Design, Implementation, and Management
Database Design Using the REA Data Model
Chapter 7 – Design and Implementation
Week 2 The Object-Oriented Approach to Requirements
Table 22.1 Stakeholder summary for the Odd Shoe Company
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
ABC Technology Project
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
© Paradigm Publishing, Inc Access 2010 Level 1 Unit 1Creating Tables and Queries Chapter 2Creating Relationships between Tables.
Microsoft Access.
Chapter 10: Designing Databases
Use Case Diagrams.
Software Requirements
Squares and Square Root WALK. Solve each problem REVIEW:
the Entity-Relationship (ER) Model
Database System Concepts and Architecture
Lecture 6: Software Design (Part I)
Systems Analysis and Design with UML Version 2.0, Second Edition
OBJECT-ORIENTEDNESS. What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual.
Processes Management.
Executional Architecture
Implementation Architecture
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
We will resume in: 25 Minutes.
Chapter 12: Designing Databases
Chapter 11 Component-Level Design
1 PART 1 ILLUSTRATION OF DOCUMENTS  Brief introduction to the documents contained in the envelope  Detailed clarification of the documents content.
How Cells Obtain Energy from Food
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 9 Object, Package, Component and Deployment Diagrams (Based on Fowler, 2004,
Modeling Main issues: What do we want to build How do we write this down.
Design 15 February. Software Engineering: Elaborated Steps Concept (contract, intro on web site) Requirements (use cases, requirements) Architecture Design.
Chapter 14 Architectures and Frameworks. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture # 05: Design Principles I - Correctness and Robustness SWE 316: Software.
Chapter 5 Design Principles II: Flexibility, Reusability, and Efficiency.
Lecture # 06 Design Principles II
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Chapter 5 Design Principles II: Flexibility, Reusability, and Efficiency.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 13 Creational Design Pattern SWE 316: Software Design and Architecture.
…… Notes …… Lecture 8: Structural Design Patterns Monday Nov 05, 2012
…… Notes …… Lecture 2: Design Attributes and Goals
Presentation transcript:

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 – Dr. Khalid Aljasser Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed Design x Key:= secondary emphasis x = main emphasis Intro Designing ControlDesigning for InterfacesData AccessCompleting 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. Domain classes Auto Road Auto Road 4. Detailed Design Cable Pylon (not specifically required ) added for detailed design GuardrailRoadbed * ** * Use cases used to obtain domain classes. ** Use cases used to verify and test design. Intro Designing ControlDesigning for InterfacesData AccessCompleting the Design 3/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Completing Detailed Design Design 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 ControlDesigning for InterfacesData AccessCompleting 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 Intro Designing Control Designing for InterfacesData AccessCompleting 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 … Globally: Event-driven (externally) or internally. … Locally: May collect control in its own class. KEY CONCEPT Control Applications Intro Designing Control Designing for InterfacesData AccessCompleting 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 IntroDesigning Control Designing for Interfaces Data AccessCompleting 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 IntroDesigning 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 capture Transaction Account CustomerTeller IntroDesigning ControlDesigning 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 IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 10/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Transaction float time Customer* cust CheckAccount* chAcc SavingsAccount* svgAcc store() cassie: Customer 3 Main: addr edward: Teller 54321: empNum Objects store themselves cAcc16: CheckAccount 100: lastWithdrawal sAcc12: SavingsAccount 3003: balance trans129:Transaction time: 0932 Distributed Data Storage IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 11/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objects send their contents to a storage utility class or module attribute values Storage store(...) transaction123: Transaction time: 0932 Object…:Class… Data Storage Package Centralized Data Storage IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 12/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Transaction time customer account DBMSDBMS Objects re-assembled in memory by application and database. Data, not objects stored. tables Using Relational Databases with OO DBMS: Database Management System IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 13/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objects delivered to memory for re-use. Objects, not data, stored. Transaction time customer account OODBMSOODBMS tables OO Databases IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 14/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser OO Databases: Relationships Maintained IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 15/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Relational DBMS vs. OO DBMS RDBMS based on a data model tables of rows & columns ODBMS based on a programming technology (the OO method) data model defined by the program IntroDesigning ControlDesigning for Interfaces Data Access Completing the Design 16/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Completing the Design Replace ambiguous associations, Expose all dependencies Split selected classes for improved design We reduce dependencies among classes to promote their reuse in other applications. KEY CONCEPT Design Goal: Reusability IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 17/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Examining Associations: Many-To-Many... may uncover a required class: an "event-remembered" or mediator (Registration in this case). 1..n 11 e.g. wedding gift registration system: StoreCouple StoreCouple 1..n Registration IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 18/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Examining Associations: Class-to-Itself... Business JointVenture... may uncover a required class : frequently an "event-remembered" Business Merger 2...n IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 19/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Examining Aggregations for Short Circuits Item 1..n Shelf 1..n But not every item is on a shelf Add: Supermarket Item 1..n Shelf 1..n Supermarket 0..n looseItem IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 20/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Consider Splitting Classes Envision system growth Leverage inheritance properly WinProcedureHelp Help WinProcedure IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 21/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Completing Operations 1. Required by… Class Operations 1.1 Use-case model (sequence diagrams) 1.2 State Model (event handlers; functionality on entering states) 2. Design the algorithm for each operation (activity diagrams? pseudocode?) 1.4 Design Patterns 1.3 Component model IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 22/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser getCategory() showCategoryOptions() demoExample() WinHelp getProblem() match() u u WinProcedure describe() u Partial Component Model WinProcedureExample demoExample() c WinProblem getCategory() getVisible() savePrimaryParameters() showCategoryOptions() c u s c key: from... u: use case s: from state model c: from component model category String Completing WinHelp Operations IntroDesigning ControlDesigning for InterfacesData Access Completing the Design 23/24

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Summary 1. Design for data capture 2. Design control 3. Design interfaces 4. Exploit abstraction 5. Reduce many-to-many associations 6. Finalize design of associations 7. Obtain all functions from use case-, state-, and component models 8. Design individual functions IntroDesigning ControlDesigning for InterfacesData AccessCompleting the Design 24/24