Non-functional and functional requirements: are they equally relevant? - PowerPoint PPT Presentation

About This Presentation
Title:

Non-functional and functional requirements: are they equally relevant?

Description:

Title: Nieuwe systeemontwikkelings-methoden Subject: none Author: Jan Last modified by: owner Created Date: 2/15/2006 8:12:30 AM Document presentation format – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 8
Provided by: jan
Learn more at: http://www.iaria.org
Category:

less

Transcript and Presenter's Notes

Title: Non-functional and functional requirements: are they equally relevant?


1
Non-functional and functional requirements are
they equally relevant?
  • Herwig Mannaert

2
Many Gaps in Software Engineering
  • Business lt--gt IT
  • Theory lt--gt Practice
  • Industry lt--gt Academics
  • Architects lt--gt Developers
  • Functional lt--gt Non-Functional

Is there a mother or root gap ? Can we build
theory to bridge ?
3
The Dream Doug Mc Ilroy
  • expect families of routines to be constructed on
    rational principles so that families fit together
    as building blocks from McIlroy, Mass
    Produced Software Components, 1968 NATO
    Conference on Software Engineering, Garmisch,
    Germany.

4
The Reality Manny Lehman
  • The Law of Increasing Complexity
  • Manny Lehman
  • As an evolving program is continually changed,
    its complexity, reflecting deteriorating
    structure, increases unless work is done to
    maintain or reduce it.
  • Proceedings of the IEEE, vol. 68, nr. 9,
    september 1980, pp. 1068.

5
Our Embryonic Theory Stability
  • Applying the concept of systems theoretic
    stability to software evolvability, we demand
    that a bounded amount of changes has a bounded
    impact for an infinite time period and an
    unlimited system evolution. This leads to stable
    design theorems rational principles.
  • In order to obtain stable building blocks, we
    propose the encapsulation of software entities
    into higher-level stable elements according to
    structures implied by the stability theorems.

6
1 Rational Principles ? Performance
  • Stability theorems
  • No stateless sync pipelines are allowed
  • Calling an action needs to exhibit state keeping
  • We do not have a theorem for this
  • No stateless sync pipelines are allowed
  • An action can only contain a single task
  • OLTP commandments
  • Do not lock a system resource too long
  • Use transactions to clean up your mess
  • Reuse resources across clients
  • Come in, do your work, and get out
  • Deal with large number of small things

7
2 Building Blocks ? Testing / Docs
  • The structured composition of entities into the
    higher-level elements can be described as design
    patterns, that are detailed, unambiguous, and
    parametrized. Therefore
  • Both unit and integration testing of such a
    stable building block should become a trivial
    thing.
  • The complete and unambiguous documentation of the
    building block should consist of the
    documentation of this design pattern and the
    expansion parameters.
  • Example CRUDS In order to obtain stable building
    blocks, we propose the encapsulation of software
    entities into higher-level stable elements
    according to structures implied by the stability
    theorems
Write a Comment
User Comments (0)
About PowerShow.com