1 / 15

Design Overview

Design Overview. Software Design Process Design Document Outline. Agenda. Deliverables Friday, September 6 @ 5 PM - Status Report #3 Monday, September @ 4 PM Requirements Document Project Plan Team Resources & Faculty Advisors Coming Soon Lecture: Design Overview.

Jeffrey
Télécharger la présentation

Design Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Overview Software Design Process Design Document Outline

  2. Agenda • Deliverables • Friday, September 6 @ 5 PM - Status Report #3 • Monday, September @ 4 PM • Requirements Document • Project Plan • Team Resources & Faculty Advisors Coming Soon • Lecture: Design Overview

  3. Software Design Fundamentals • Good design is not accomplished by chance “The beginning of wisdom for a computer programmer is to recognize the difference between getting a program to work, and getting it right.” [Jackson] • Fundamental concepts provide the framework for “getting it right”

  4. Software Design • General definition of design • “… the process of applying various techniques and principles for the purpose of defining a device, a process, or a system in sufficient detail to permit its physical realization.” • Goal: • To produce a model or representation that will later be built • Engineering or Art?

  5. Software Design Model Functional model Information model Behavioral model Data design Design Architectural design Code Other requirements Integrated & validated software Procedural design Program modules Test

  6. Conceptual vs. Technical Design WHAT HOW CONCEPTUAL TECHNICAL DESIGN DESIGN form System function designers System Customers builders [Pfleeger, 98]

  7. Introduction Problem Statement Document Overview Revised Requirements System Models Data Function Procedure Conceptual Design Architecture Diagram Description Detailed Design Data Design Procedural Design UI Design Sources Appendix Design Document

  8. Data Function Procedure/Behavior OOA/P Data Driven Models Data Flow Function Driven Models Real-Time Transaction System Models

  9. Software Architecture The hierarchical structure of procedural components & the structure of data Transition between analysis and design Combines program and data structure by defining interfaces that allows data to flow throughout the program “Holistic view” of software Architectural Design “ The primary objective of architectural design is to develop a modular program structure and represent the control relationships between modules.” [Pressman]

  10. Architecture Example: Pipes and filters Filter Pipe [Pfleeger, 98]

  11. Architecture Example: Layering Cryptography File interface Key management Authentication Users [Pfleeger, 98]

  12. Architecture Example Program being interpreted Input Data (program state) Selected Internal instruction Output Simulated interpreter interpretation state engine Selected data [Pfleeger, 98]

  13. Ballot Creation Software Record Ballot Info Create Ballot Architecture Example Ballot Information Ballot Creation Interface Election Official Ballot Ballot Server Vote Repository Ballot Ballot Ballot Ballot Voter

  14. Data Design The primary activity during data design is to select logical representations of data objects identified during the requirements definition and specification phase. The selection process may involve algorithmic analysis of alternative structures in order to determine the most efficient design or may simply involve the use of a set of modules that provide the operations upon some representation of an object. [Wasserman] • Identify the program modules that operate upon the logical data structures • Data design leads to better program structure, effective modularity, & reduced complexity

  15. Procedural Design • After data & program structure have been established, becomes necessary to specify procedural detail without ambiguity • Design Notations • Structured programming • Graphical design notation • Tabular design notation • Program design language (PDL)

More Related