topic 4 basic concepts for the description of software ... · diagram 1980/ 1990 box diagram 1973...

9
1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac DAAD Project “Joint Course on Software Engineering” Topic 4 Basic concepts for the description of software development Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001 DAAD project „Joint Course on Software Engineering“ © 2 4. Basic concepts for the description of software development a) Description of results of software development phases - software development documents b) Definition of basic concepts for the description of software development and their classification c) Basic concepts and software development phases d) Classification of basic concepts according to their notation e) Basic concepts and their application areas f) Basic concepts and their use in analysis methods

Upload: others

Post on 12-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

1

Version: Feb. 20, 2004 (D Nov. 06, 2003)

Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

DAAD Project“Joint Course on Software Engineering”

Topic 4Basic concepts for the description of

software development

Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001

DAAD project „Joint Course on Software Engineering“ © 2

4. Basic concepts for the description ofsoftware development

a) Description of results of software development phases -software development documents

b) Definition of basic concepts for the description ofsoftware development and their classification

c) Basic concepts and software development phases

d) Classification of basic concepts according to their notation

e) Basic concepts and their application areas

f) Basic concepts and their use in analysis methods

Page 2: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

2

DAAD project „Joint Course on Software Engineering“ © 3

Description techniques of software documents

Source: Schneider, SEUH 43, p. 123

Problem: How to describe ?

Customer's requests

Specification Design Code

Customer Analyst Designer Programmer

DAAD project „Joint Course on Software Engineering“ © 4

Description of software documents by …

class diagr.

sequence diagr.

pseudo code

state automaton

entity relation-ship diagr.

dataflow-diagr.

use case diagr.

UML

classification?

Page 3: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

3

DAAD project „Joint Course on Software Engineering“ © 5

Basic concepts of … software developmentBalzert vol. 1, 2nd edition 2001

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Box diagram

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri Net1962

Sequ-encediagram

1987

Stateautomaton1954

Entity Relation-shipModel1976

Data flow diagram1966

Use Case Diagram1987

Activity diagram

1997

Collabo-ration diagram

Functional View Data-Oriented View Object-Oriented View

Algorith-mic View

Functionalhierarchy

BusinessProcess

Infor-mation Flow

Class structures

Data Structures

Rule-Based View

State-Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automaton

Concurrentstructures

Interactionstructures

Scenario-Based View

Concepts and ViewsA

ltern

ativ

e N

otat

ions

Ofte

n us

ed

Rar

ely

used

DAAD project „Joint Course on Software Engineering“ © 6

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Box diagram

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri-Net1962

Sequ-encediagram

1987

Stateautomaton1954

Entity Relation-ship Model1976

Data flow diagram1966

Use Case Diagram1987

Activity diagram

1997

Collabo-ration diagram

Functional View Data-Oriented View Object-Oriented View

Algorith-mic View

Functionalhierarchy

BusinessProcess

Infor-mation Flow

Class structures

Data Structures

Rule-Based View

State-Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automaton

Concurrentstructures

Interactionstructures

Scenario-Based View

Concepts and Views

Alte

rnat

ive

Not

atio

nsO

ften

used

Rar

ely

used

Basic concepts: fundamental approach

elementary formalizeddescription mechanisms UMLX

classification in three levels:

Which view on the software?

Which aspect of this view?

Which actual notational forms?

basic concept

Page 4: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

4

DAAD project „Joint Course on Software Engineering“ © 7

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Box diagram

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri Net1962

Inter-actionDiagr.

1987

Stateautomaton1954

Entity Relation-shipModel1976

Data flow diagram1966

Functional View Data-Oriented View Object-Oriented View

Algorith-mic View

Functionalhierarchy

BusinessProcess

Infor-mation Flow

Class structures

Data Structures

Rule-Based View

State-Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automaton

Concurrentstructures

Interactionstructures

Scenario-Based View

Concepts and ViewsA

ltern

ativ

e N

otat

ions

Ofte

n us

ed

Rar

ely

used

JacksonDiagr.1975

Warnier-Orr-Diagr.1972

SyntaxDiagr.1964

JacksonDiagr.1975

Basic concepts of … software development Balzert vol. 1, 1st edition 1996

development: 1996 2001

DAAD project „Joint Course on Software Engineering“ © 8

Computer-Zeitung 25/96 (20. June 96)

Software DevelopmentRemains a Mixture of MethodsSoftware development as science and as a practical activity have something in common: heterogeneity.

Software DevelopmentRemains a Mixture of MethodsSoftware development as science and as a practical activity have something in common: heterogeneity.

Diversity of approaches in basic concepts:different views on software products must be possible(different aspects of a software product)

Page 5: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

5

DAAD project „Joint Course on Software Engineering“ © 9

Basic concepts: principles

application-independentkind of application determines the choice of a convenient basic concept

method-independentbasic concepts can be combined to general methods (e.g. structured analysis,OOA with UML ...)

phase-independentusable in different phases

DAAD project „Joint Course on Software Engineering“ © 10

Basic concepts and software development phases

definition phase

pseudo code

rules

decision table

DD (data dictionary)

classdiagram

stateautomaton

functiontree

sequence diagram

collaboration diagram

ER (entity relationship

Petri net

data flow diagram

use case diag.

boxdiagram

program flow chart

implementation phase

design phase

Legend: A B: A is used in B

Page 6: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

6

DAAD project „Joint Course on Software Engineering“ © 11

Classification of basic concepts according to their notation

text

ual

grap

hica

l

verbal

box diagramclass diagram

data flowdiagram

decision table

ER

Petri netsstatediagram

program flow chart

DDPetri nets(textual)rules

pseudo code

decision table

stateautomaton

sequencediagram

informal semiformal/formalized formal

collaboration diagram

numberedrequirements

classification schemetext

use case diagr.

function tree

state automaton(textual)

DAAD project „Joint Course on Software Engineering“ © 12

Basic concepts and their application areasapplication areas complexity... basic concepts

...of data

...of functions

...of algorithms

...of system environment

...of time-dependent behavior

...of user interface

data dictionaryER (Entity Relationship)(state automaton)class diagramuse case diagramdata flow diagramfunction treepseudo codeprogram flow chartbox diagramdecision tablerules

data flow diagramPetri netsstate automatonactivity diagramsequence diagramcollaboration diagramgraphical specification(Petri nets)(state automaton)control structuresrules

tech

nica

l-sc

ient

ific

real

-tim

ead

min

istra

tive

human-computer-interaction

legend: ( ) = limited

Page 7: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

7

DAAD project „Joint Course on Software Engineering“ © 13

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Box diagram

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri Net1962

Sequ-encediagram

1987

Stateautomaton1954

Entity Relation-ship Model1976

Data flow diagram1966

Use Case Diagram1987

Activity diagram

1997

Collabo-ration diagram

Functional View Data-Oriented View Object-Oriented View

Algorith-mic View

Functionalhierarchy

BusinessProcess

Infor-mation Flow

Class structures

Data Structures

Rule-Based View

State-Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automaton

Concurrentstructures

Interactionstructures

Scenario-Based View

Basic concepts of … software development: enhancements

Balzert vol. 1, 2nd edition 2001Structure Chart

SDLEBNFGram-mars

Packa-geDiagr

ComponentDiagr.

Basic concepts:• complete?• additional forms

of notations?

StateChart1987

ZAlgebraicSpecifica-tion 1972

Hoarelogic1969

3 level classificationscheme flexible

DAAD project „Joint Course on Software Engineering“ © 14

Function tree

Data-Dictio-nary1979

Class diagram 1980/1990

Box diagram

1973

Program flowchart

1966

Pseudocode

Decision tables

1957

Rules Petri Net1962

Sequ-encediagram

1987

Stateautomaton1954

Entity Relation-ship Model1976

Data flow diagram1966

Use Case Diagram1987

Activity diagram

1997

Collabo-ration diagram

Functional View Data-Oriented View Object-Oriented View

Algorith-mic View

Functionalhierarchy

BusinessProcess

Infor-mationFlow

Class structures

Data Structures

Rule-Based View

State-Oriented View

Controlstructures

If-Thenstructures

Entity types and relations

Finite State Automaton

Concurrentstructures

Interactionstructures

Scenario-Based View

Structure Chart

EBNFGram-mars

Packa-geDiagr

ComponentDiagr.

ZAlgebraicSpecifica-tion 1972

Hoarelogic1969

Basic concepts: classification of enhancements

?statechart1987

SDL

Page 8: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

8

DAAD project „Joint Course on Software Engineering“ © 15

Basic concepts: detailed classification of enhancements

Functiontree

Data-Dictio-nary1979

Class diagram 1980/1990

Bodi

Prflo

Psco

ER Entity Relation-ship)1976

Data flow diagram1966

Use Case Diagram1987

Functional View Data-Oriented View Object-Oriented View

Algmi

Functionalhierarchy

BusinessProcess

Infor-mation Flow

Class structures n

Datastructures

Costru

Entity types and

relations

Structure Chart

EBNF

Gram-mars

Z

AlgebraicSpecifi-cation 1972

Hoarelogic

PackageDiagr

Component diagr.

component-oriented view

effect of afunction

interactionbetweenfunctions

effect of functionsto data

source codesubsystems

binarycodesubsystems

Extension of views ...

Extension of aspects ...

DAAD project „Joint Course on Software Engineering“ © 16

Combination of basic concepts in object-oriented analysis

legend: A B: A is contained in BA B: A is implicitly contained in B

pseudocode

stateautomaton

classdiagram

OOA1990

ER (Entity Relationship)

collabo-ration diagram

sequencediagram

use casediagram

entities &relations

classstructures

controlstructures

finiteautomaton

interactionstructures

workflow

Page 9: Topic 4 Basic concepts for the description of software ... · diagram 1980/ 1990 Box diagram 1973 Program flowchart 1966 Pseudo code Decision tables 1957 Rules Petri-Net 1962 Sequ-ence

9

DAAD project „Joint Course on Software Engineering“ © 17

Combination of basic concepts in structured analysis

SA1979

decisiontable

decisiontree

pseudocode

datadictionary

data flowdiagram

functiontree

functionalhierarchy

informationflow

datastructures

controlstructures

legend: A B: A is contained in BA B: A is implicitly contained in B

DAAD project „Joint Course on Software Engineering“ © 18

Combination of basic conceptsin structured analysis and real-time analysis

SA1979

decisiontable

decisiontree

pseudo-code

datadictionary

data flowdiagram

stateautomaton

ER (entity relationship)

RT1987

informationflow

datastructure

controlstructures

finiteautomaton

entities &relations