Software Design: Summary - PowerPoint PPT Presentation

About This Presentation
Title:

Software Design: Summary

Description:

... Computer Sciences. Heriot-Watt University. Edinburgh ... Control modelling, i.e. how is control managed between the subsystems? Centralized vs event-based ... – PowerPoint PPT presentation

Number of Views:13
Avg rating:3.0/5.0
Slides: 10
Provided by: CalumW8
Category:

less

Transcript and Presenter's Notes

Title: Software Design: Summary


1
Software Design Summary
Andrew Ireland School of Mathematical Computer
Sciences Heriot-Watt University Edinburgh
2
Outline
  • Nature of Software Design
  • Architectural Design
  • Function-oriented Design
  • Object-oriented Design
  • Software Reuse and Component-based Design
  • Verification Validation

3
Architectural Design
  • Systems structuring, i.e. identify the key
    subsystems and the way in which they will
    communicate
  • Repository, client-server, layered
  • Control modelling, i.e. how is control managed
    between the subsystems?
  • Centralized vs event-based
  • Subsystem decomposition

4
Function-oriented Design
  • Transaction based systems, minimal state
  • Data flow
  • Structure charts
  • Detailed design

5
Object-oriented Design
  • Decentralized state, exploiting information
    hiding and hierarchies
  • Many OOD methods, but common ingredients
  • Identification of objects CRCs use cases
    grammatical analysis
  • Identification of static perspective class
    diagrams
  • Identification of dynamic perspective sequence
    communication activity state machine diagrams

6
Component-based Design
  • Promote software reuse
  • Key ingredients
  • Well defined service (functionality)
  • Well defined interface
  • Explicit dependencies
  • Standardization (component model), e.g. CORBA,
    EJB, COM (.NET)
  • Compositionality trade-offs
  • Predictability, trustworthiness certification

7
Verification Validation
  • Definitions
  • Static dynamic analysis
  • Analysis testing life-cycle
  • Early phase analysis
  • Planning for testing
  • Exploiting design notations (UML)
  • From unit to acceptance testing

8
Typical Exam Questions
  • Explain concepts and approaches using examples,
    e.g.
  • Using an example explain the role of CRCs with
    software design process
  • Be able to compare and contrast the relative
    merits of particular approaches, e.g.
  • Compare and contrast the trade-offs between
    component-based design vs designing a system from
    scratch.

9
Typical Exam Questions
  • Given a scenario, be able to propose a software
    architecture together with a justification
  • Given a scenario, apply a particular technique or
    approach, e.g. given English requirements
    develop DFDs structure charts use cases CRCs
    class, sequence communication, activity, state
    machine diagrams.
  • Alternatively, be able to answer questions on a
    given design OR extend the design OR compare it
    against given requirements
Write a Comment
User Comments (0)
About PowerShow.com