Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components.

Similar presentations


Presentation on theme: "What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components."— Presentation transcript:

1 What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components.

2 Who Does Design Software designer, software programmer or software architect.

3 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

4 Where is DESIGN in the SDLC System Initiation Requirements Analysis MockUp User Prototype Design

5 Where is DESIGN in the SDLC Design Build Database Architecture Build Interface Architecture Build Distributed Architecture Build Technology Architecture

6 Build Database Architecture Input: Entity Relationship Diagram/Class Diagram Process: Transform ERD into Database Architecture Output: LAYOUT for Relational Database TablesOR IMS Database Segment OR Codasyl Database Pointers OR Object Oriented Database Entities OR Flat File Components

7 Build Database Architecture STUDENTENROLLSECTIONS 1..10..M1..10..M SSN9 digits{0..9} SName20 char{A..Z, a..z} Major5 digits{0..9} ReferenceNo5 digits{0..9} ClassID7 char{A..Z, 0..9} Bldg5 char{A..Z, a..z} SSN9 digits{0..9} ReferenceNo5 digits{0..9}

8 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

9 Build Interface Architecture SRF = SSN + {class information} + total hours Class information = Class ID + ref# + hours SSN:Name: Total Hours: Reference NoClass IDHours

10 Build Distributed Architecture Input: Specification for inputs/outputs, Specification for Use Cases Specification for Domain Classes Specification for Database Process: Transform Specifications into Distributed Specifications Output: Distributed Inputs/Outputs Distributed Use Cases Distributed Databases

11 Build Distributed Architecture System CRUD request Create Reference Update Delete CRUD response

12 Build Distributed Architecture Web Browser Web Server http request http response DB db request db response File Server Java Servlet JSP

13 Build Distributed Architecture Controller http response http request routed request Use Case Servlet Classes Entity Classes do CRUD(SQL request) JavaBean DB db request db response update db resultset JSP Request Dispatcher putValue (JSP bean) Http Session make a JSP Bean ( result set): instance forward to JSP

14 Build Technology Architecture Inputs: Database Designs Input/Output Designs Distribution Design Process: Transform Designs into Good Design using Analysis Patterns Design Patterns, Refactoring, Component Building Framework Building

15 Design Build Database Architecture Build Interface Architecture Build Distributed Architecture Build Technology Architecture Majority of course dedicated to Technology Architecture

16 Technology Design Approaches 1.Zachman 2.Open Distributed Processing (ODP) 3.Domain Analysis 4.4+1 View Model

17 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

18 2.Open Distributed Processing (ODP) 5 viewpoints Enterprise viewpoint – domain objects Informational viewpoint- object models Computational viewpoint – components Engineering viewpoint – distributed middleware DCOM (MS distributed object model) CORBA (common object request broker architecture) EJB (sun enterprise java beans) Technology Viewpoint - design patterns Technology Design Approaches

19 3.Domain Analysis Building systems in a particular domain which utilize reuse and commonalities in the domain. Frameworks in particular domains Technology Design Approaches

20 4.4+1 View Model Use Case View Logical View Process View Implementation (component) View Deployment View Technology Design Approaches

21 Global Level Enterprise Level System Level Application Level Frameworks Micro Architectures 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

22 Design Patterns Definition: Pattern: A representation of a proven solution. Problem Applicable Forces Solution Consequences Benefits

23 Design Patterns Definition: Anti-Pattern: A solution pair not a problem solution pair Anti Pattern Solution Contextual Causes Refactored Solution Consequences Benefits Symptoms and Consequences


Download ppt "What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components."

Similar presentations


Ads by Google