what is design design is the process of transforming requirements specifications for software into...
Post on 19-Dec-2015
226 views
TRANSCRIPT
![Page 1: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/1.jpg)
What is Design
Design is the process of transforming requirements specifications for software into an architectural structure of software components.
![Page 2: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/2.jpg)
Who Does Design
Software designer, software programmer or software architect.
![Page 3: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/3.jpg)
Why is Design Difficult
1. Nascent Body of Knowledge – relatively new field.
2. Confusion and Gurus – good designers must lead
3. Professional Jealously – use humility
4. Management Trap
5. Software Crisis
![Page 4: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/4.jpg)
Where is DESIGN in the SDLC
SystemInitiation
RequirementsAnalysis
MockUp UserPrototype
Design
![Page 5: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/5.jpg)
Where is DESIGN in the SDLC
Design
Build Database
Architecture
Build Interface
Architecture
Build Distributed
Architecture
Build TechnologyArchitecture
![Page 6: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/6.jpg)
Build Database
Architecture
Input: Entity Relationship Diagram/Class Diagram
Process: Transform ERD into Database Architecture
Output: LAYOUT for
Relational Database Tables OR IMS Database Segment OR Codasyl Database Pointers OR Object Oriented Database Entities OR Flat File Components
![Page 7: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/7.jpg)
Build Database
Architecture
STUDENT ENROLL SECTIONS1..1 0..M 1..10..M
SSN 9 digits {0..9}
SName 20 char {A..Z, a..z}
Major 5 digits {0..9}
ReferenceNo 5 digits {0..9}
ClassID 7 char {A..Z, 0..9}
Bldg 5 char {A..Z, a..z}
SSN 9 digits {0..9}
ReferenceNo 5 digits {0..9}
![Page 8: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/8.jpg)
Build Interface
Architecture
Input: Screen Definition, Output Definition
Process: Transform Screen Definition into Screen Design with Navigation
(Identifying reusable I/O components) Transform Output Definition into Reports and other outputs
Outputs: Screen Prototype and Output Prototype
![Page 9: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/9.jpg)
Build Interface
Architecture
SRF = SSN + {class information} + total hours
Class information = Class ID + ref# + hours
SSN: Name:
Total Hours:
Reference No Class ID Hours
![Page 10: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/10.jpg)
Build Distributed
Architecture
Input: Specification for inputs/outputs, Specification for Use CasesSpecification for Domain ClassesSpecification for Database
Process: Transform Specifications into Distributed Specifications
Output: Distributed Inputs/Outputs Distributed Use Cases Distributed Databases
![Page 11: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/11.jpg)
Build Distributed
Architecture
System
CRUD requestCreate
Reference
Update
Delete
CRUD response
![Page 12: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/12.jpg)
Build Distributed
Architecture
Web Browser Web Server
http request
http responseDB
db request
db response
File Server
Java
Servlet
JSP
![Page 13: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/13.jpg)
Build Distributed
Architecture
Controller
http response
http request routed request
Use CaseServletClasses
EntityClasses
do CRUD(SQL request)
JavaBean
DBdb request
db responseupdate db resultset
JSP Request Dispatcher
putValue (JSP bean)
HttpSession
make a JSP Bean ( result set): instance
forward to JSP
![Page 14: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/14.jpg)
Build TechnologyArchitecture
Inputs: Database Designs Input/Output Designs Distribution Design
Process: Transform Designs into Good Design using Analysis Patterns
Design Patterns, Refactoring, Component BuildingFramework Building
![Page 15: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/15.jpg)
Design
Build Database
Architecture
Build Interface
Architecture
Build Distributed
Architecture
Build TechnologyArchitecture
Majority of course dedicated to Technology Architecture
![Page 16: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/16.jpg)
Technology Design Approaches
1. Zachman
2. Open Distributed Processing (ODP)
3. Domain Analysis
4. 4+1 View Model
![Page 17: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/17.jpg)
1. Zachman (30 viewpoints of design)
• IBM Approach (using structured techniques)
• Who what when why where how for software
• plan own build design for construction
• DOD C4ISR –Command, control, computers, communications, intelligent surveillance and reconnaissance
Technology Design Approaches
![Page 18: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/18.jpg)
2. Open Distributed Processing (ODP) 5 viewpoints
• Enterprise viewpoint – domain objects
• Informational viewpoint- object models
• Computational viewpoint – components
• Engineering viewpoint – distributed middlewareDCOM (MS distributed object model)
CORBA (common object request broker
architecture) EJB (sun enterprise java beans)
• Technology Viewpoint - design patterns
Technology Design Approaches
![Page 19: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/19.jpg)
3. Domain Analysis
Building systems in a particular domain which utilize reuse and commonalities in the domain.
Frameworks in particular domains
Technology Design Approaches
![Page 20: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/20.jpg)
4. 4+1 View Model
• Use Case View
• Logical View
• Process View
• Implementation (component) View
• Deployment View
Technology Design Approaches
![Page 21: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/21.jpg)
Global Level
Enterprise Level
System Level
Application Level
Frameworks
MicroArchitectures
Objects/Classes
DESIGN LEVELS
Commercial marker - Internet
Across the Enterprise
0..N Applications
0..N Frameworks
0..N Components
0..N Objects/Classes
Refactoring, Design Patterns
![Page 22: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/22.jpg)
Design Patterns
Definition:
Pattern: A representation of a proven solution.
Problem
Applicable Forces
Solution
ConsequencesBenefits
![Page 23: What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components](https://reader036.vdocuments.net/reader036/viewer/2022062300/56649d2b5503460f94a00cb6/html5/thumbnails/23.jpg)
Design Patterns
Definition:
Anti-Pattern: A solution pair not a problem solution pair
Anti Pattern Solution
Contextual Causes
Refactored Solution
ConsequencesBenefits
Symptoms and Consequences