Design overview
Download
1 / 16

Design Overview - PowerPoint PPT Presentation


  • 318 Views
  • Uploaded on

Design Overview. Software Design Process Design Document Outline. Agenda. Deliverables Friday, May 30 @ 5 PM - Status Report #3 Please put team # and report # in title of email! Friday, May 30 @ 5 PM Requirements Document Project Plan Team Resources Up Lecture: Design Overview.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Design Overview' - Sharon_Dale


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Design overview l.jpg

Design Overview

Software Design Process

Design Document Outline


Agenda l.jpg
Agenda

  • Deliverables

    • Friday, May 30 @ 5 PM - Status Report #3

      • Please put team # and report # in title of email!

    • Friday, May 30 @ 5 PM

      • Requirements Document

      • Project Plan

  • Team Resources Up

  • Lecture: Design Overview


Software design fundamentals l.jpg
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”


Software design l.jpg
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?


Software design model l.jpg
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


Conceptual vs technical design l.jpg
Conceptual vs. Technical Design

WHAT

HOW

CONCEPTUAL

TECHNICAL

DESIGN

DESIGN

form

System

function

designers

System

Customers

builders

[Pfleeger, 98]


Architectural design l.jpg

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

Standard Architectural Configurations – Architectural Styles

Architectural Design

“ The primary objective of architectural design is to develop a modular program structure and represent the control relationships between modules.” [Pressman]


Architecture example pipes and filters l.jpg
Architecture Example: Pipes and filters

Filter

Pipe

[Pfleeger, 98]


Architecture example layering l.jpg
Architecture Example: Layering

Cryptography

File interface

Key management

Authentication

Users

[Pfleeger, 98]


Architecture example l.jpg
Architecture Example

Program

being

interpreted

Input

Data

(program state)

Selected

Internal

instruction

Output

Simulated

interpreter

interpretation

state

engine

Selected

data

[Pfleeger, 98]


Architecture example11 l.jpg

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


Architectural views l.jpg
Architectural Views

  • Conceptual / Logical

  • Process / Runtime

  • Module / Code

  • Physical

  • Not all systems need all views. Need to describe how views relate, typically through scenarios.


Data design l.jpg
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


Procedural design l.jpg
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)


Design document l.jpg
Design Document

Format off class web page

Grading Criteria off web page

Looking for a flow from System -> Architecture -> Detail

What goes in/out of system at top level?

What are major components of system? (architecture)

What is design of each component? (Detail)


Common mistakes l.jpg
Common Mistakes

  • Poor Architecture

  • No mapping through levels

  • No Dynamic Models (State/Sequence)

  • No deployment diagram for distributed systems

  • Poor/Incorrect UML

  • Poor UI design

  • Poor overall design, failure to follow principles/patterns of good design.


ad