Software Design - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Software Design

Description:

Software Design Concepts: Abstraction. Data Abstraction ... Software Design Concepts: Modularity. How big should a module be? How complex should a module be? ... – PowerPoint PPT presentation

Number of Views:886
Avg rating:3.0/5.0
Slides: 10
Provided by: desg
Category:
Tags: design | software

less

Transcript and Presenter's Notes

Title: Software Design


1
Software Design
  • Dr Z He
  • University of Ulster

2
Lecture 4 Software Design
  • Objectives
  • What is Software Design?
  • Data design, architectural design, interface
    design and component level design
  • Translating the analysis model into a software
    design
  • Software Design Concepts
  • abstraction, modularity, information hiding
  • Software Architectural Design
  • what is software architecture?
  • Mapping requirements into software architecture
  • transform flow, transaction flow,
    transform/transaction mapping
  • transform mapping
  • JSD
  • User Interface Design
  • what is it?,steps, golden rules
  • Component-level Design
  • what is it?, notations (flowchart, decision
    table, PDL))

3
What is Software Design?
  • Software design
  • sits at the technical kernel of software
    engineering
  • begins once software requirements have been
    analysed and specified
  • is the first of the three technical activities
    design, coding, testing

4
Software Design
  • Data design
  • transforms the information domain model into data
    structure required to implement the software
  • also performed in architectural design and
    component level design
  • Architectural design
  • defines the relationship between major structural
    elements of the software
  • defines the design patterns that can be used to
    achieve the requirements
  • defines the constraints that affect the way in
    which architectural design patterns can be
    applied
  • Interface design
  • describes how the software communicates within
    itself, to systems that interoperate with it, and
    with humans who use it
  • Component-level design
  • transforms structural elements of the software
    architecture into a procedural description of
    software components

5
Software Design
State transition diagram
Component- level Design
Process Specification
Data Flow Diagram
Interface Design
Entity-relationship Diagram
Architectural Design
Data Design
Data Dictionary
Transforming the analysis model into a software
design
6
Software Design Concepts Abstraction
  • Design Considerations
  • 1. Abstraction
  • Ignore the details that are not relevant at this
    stage
  • 2 types
  • procedural abstraction
  • data abstraction
  • Procedural abstraction
  • decompose the problem into sub-problems,
    decompose these into further sub-problems etc.
  • This top down approach leads to modules which
    are easy to program
  • sub-problems are ordered logically

7
Software Design Concepts Abstraction
  • Data Abstraction
  • consider the data only to the level required
  • e.g. paragraph, sentence, word ... in text
    processing.
  • One example of data abstraction is data
    encapsulation.
  • e.g. job queue in a compiler. At the top level we
    know there is a queue and that it has the
    functions initialise queue, add to the queue
    and delete from the queue. At a lower level we
    might consider how the queue is implemented, as
    records or arrays.
  • (see later under object oriented design)

8
Software Design Concepts Modularity
  • 2. Modularity
  • What is module? - a grouping of sections of code.
  • Pascal - procedure
  • C - function
  • Fortran - subroutine
  • BASIC - subroutine
  • Cobol - subprogram
  • Ada - procedure or package
  • Advantages
  • Easier to design small modules
  • Easier to find bugs
  • Easier to maintain
  • facilitates independent development
  • allows for reuse

9
Software Design Concepts Modularity
  • How big should a module be?
  • How complex should a module be?
  • How can we minimise the interactions between
    modules?

OR
Write a Comment
User Comments (0)
About PowerShow.com