Software Design: The Next Step - PowerPoint PPT Presentation

About This Presentation
Title:

Software Design: The Next Step

Description:

... The Next Step. A presentation by Sean Matthews. Kruchen, P. 2005. ... Editor's Introduction: Software Design in a Postmodern Era.' Software, ... John Gero, ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 23
Provided by: Vex
Category:
Tags: design | john | next | sean | software | step

less

Transcript and Presenter's Notes

Title: Software Design: The Next Step


1
Software Design The Next Step
  • A presentation by Sean Matthews

2
Kruchen, P. 2005. "Editor's Introduction
Software Design in a Postmodern Era." Software,
IEEE 22 (2) 16-18.
Kruchten, P. 2005. "Casting software design in
thefunction-behavior-structure framework."
Software, IEEE 22 (2) 52-58.
3
Intro
  • Weve reached a plateau in software design
  • What are the next directions?
  • Where are we?
  • Where do we go from here?

4
Where are we?
  • we can systematically harvest and organize our
    collective knowledge, experience, and wisdom
    variously captured in design principles and
    heuristics, patterns, best practices, and bad
    smells into a coherent whole.

5
Where do we go from here?
  • We need to
  • Bridge the gap between user needs and the way we
    express requirements
  • Improve design analysis, validation, and
    verification techniques
  • Bridge the gap between design and code that
    programmers create manually

6
Requirements Engineering
GAP
Design
GAP
Coding
7
Where do we go from here?
  • Expand the boundaries of software design to fill
    in the gaps
  • When we program and test, were making decisions
    about the system under construction this is
    doing design.
  • Design activities should be included in other
    parts of the software development process

8
Analogous situations
  • To demonstrate how and why design should be
    combined with other phases of the SD process, the
    author casts it in a general, recently formulated
    engineering framework.

9
Functional-Behavior-Structure
  • A development framework applicable to any
    engineering discipline
  • John Gero, design scientist
  • 8 processes link a set of five elements that lead
    us from a set of abstract functions to a design
    description

10
Functional-Behavior-Structure
  • FBS Elements
  • F functions
  • Be expected behaviors
  • Bs behaviors (actual)
  • S synthesis
  • D documentation

11
Functional-Behavior-Structure
  • FBS Processes
  • Formulation (F ? Be)
  • Synthesis (Be ? S)
  • Analysis (S ? Bs)
  • Evaluation (Be ? Bs)
  • Documentation (S ? D)
  • Structural reformulation (S ? S)
  • Behavioral reformulation (S ? Be)
  • Functional reformulation (S ? F)

12
FBS Framework
13
Applying FBS to SE
  • design is making choices that will shape the
    final product.
  • Requirements, coding, and testing activities all
    involve some design
  • Traditionally, design means building a model of
    the system to be constructed up to the point at
    which coding can begin.

14
Applying FBS to SE
15
Applying FBS to SE
16
SE lessons from FBS
  • Lack of fundamental theory
  • Physics has its laws
  • Evaluation process is experimental
  • Concrete S, almost no addition to D

17
SE lessons from FBS
  • Legacy systems
  • D ? S ? Be ? F
  • Reuse
  • F ? Be ? S
  • catalogue look-up

18
SE lessons from FBS
  • Modeling
  • to automate the coding and deployment artifacts
  • to describe a systems expected behavior (Be),
    and thereby facilitate the synthesis (S) process

19
SE lessons from FBS
  • Design patterns
  • If F1 and Bs1 F2 and Bs2, then the designs
    are analogous
  • We can communicate design fragments and share and
    reuse practical solutions for recurrent problems.

20
The BIG picture
  • In software production, programming is primarily
    a design activity
  • In software manufacturing it is not
  • Decisions about structure and the way something
    is done
  • Also, testing to a smaller extent
  • Assessment of test results determine whether
    design needs reworking

21
Conclusions
  • Generally, something gets lost between design and
    implementation.
  • With FBS, design becomes part of coding and
    implementation.
  • SE needs to find approaches to describing
    software that easily translate to static analysis
    and code generation.

22
References
Kruchen, P. 2005. "Editor's Introduction
Software Design in a Postmodern Era." Software,
IEEE 22 (2) 16-18.
Kruchten, P. 2005. "Casting software design in
thefunction-behavior-structure framework."
Software, IEEE 22 (2) 52-58.
Write a Comment
User Comments (0)
About PowerShow.com