Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic...
Transcript of Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic...
![Page 1: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/1.jpg)
1
Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac
Version: Feb. 19, 2003 (D Jan, 30, 2003)
DAAD Project“Joint Course on Software Engineering”
Topic 16Structured design
Parts of this topic use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001
![Page 2: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/2.jpg)
2
2DAAD project „Joint Course on Software Engineering“ ©
16. Structured design
a) Overview
b) Description method: Structure chart
c) Example ‚Seminar Organization‘
![Page 3: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/3.jpg)
3
3DAAD project „Joint Course on Software Engineering“ ©
no abstraction
SC: -M / C: -S:
Class abstraction
Dataabstraction
Functionalabstraction
Data-abstraction
SC: Functions/Procedures
M / C: SDL: Pascal, C,
Fortran,Cobol L85, Basic,Assembler
SC: abstractdata objects
M / C: SD after Buhr
L: Modula-2
SC: ADT (abstractdata type)
M / C: Booch,OOSD
L: Ada
SC: ClassesM / C: OODL: Java, C++
Legend: SC = System component M / C = Method / ConceptL = Programming language
0 4321
time
Structured analysis
Object-oriented analysis
Analysis method flows into the suitable design method
Structured design
Object-oriented design
![Page 4: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/4.jpg)
4
4DAAD project „Joint Course on Software Engineering“ ©
Structured design (SD): Overview
Design methods in many variants: • /Stevens et al. 74/, /Stevens 81/• /Myers 75, 78/• /Yourdon, Constantin 79/• /Page-Jones 88/
Software architecture = Hierarchy of functional components(functions, procedures, subroutines)
Description method:• Structure charts
![Page 5: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/5.jpg)
5
5DAAD project „Joint Course on Software Engineering“ ©
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-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
Structured Analysis
Change of description
method
Structured design
![Page 6: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/6.jpg)
6
6DAAD project „Joint Course on Software Engineering“ ©
Structured design: assessment
Software architectures that predominantly consist of functional components, are rare: • Multi-pass compilers • Numerical algorithms• etc.
![Page 7: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/7.jpg)
7
7DAAD project „Joint Course on Software Engineering“ ©
History
Edward Yourdon*30.4.1944 Software engineering consultantNew YorkCo-inventor of structured design 1979 (Book: Structured Design,together with L. L. Constantine)Pioneer of object-oriented analysis 1990 (Book: Object-Oriented Analysis,together with P. Coad).
![Page 8: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/8.jpg)
8
8DAAD project „Joint Course on Software Engineering“ ©
16. Strustured design
a) Overview
b) Description method: Structure chart
c) Example ‚Seminar Organization‘
![Page 9: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/9.jpg)
9
9DAAD project „Joint Course on Software Engineering“ ©
Structure chartGraphical representation of functional abstractions and their cooperation (call relationships, parameter passing)Example of parameter passing: function for „calculation of interest“
a p date
1
date
2
inte
rest
Interestfunctional
abstraction
in out
![Page 10: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/10.jpg)
10
10DAAD project „Joint Course on Software Engineering“ ©
unit name
call arrow
input parameter
in
in/out
out
state
calling unit
unit (sub-routine,procedure, function, operation)
transient parameter
state after execution of B
output parameter
called unitB
A
Structure chart: call structure
Clarification of call structure and data flow between units (functions)
![Page 11: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/11.jpg)
11
11DAAD project „Joint Course on Software Engineering“ ©
16. Structured design
a) Overview
b) Description method: structure chart
c) Example ‚Seminar Organization‘
![Page 12: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/12.jpg)
12
12DAAD project „Joint Course on Software Engineering“ ©
DFD 4.3: Book Presen-tations(Detail)
regi
stra
tion
data
first
invo
ice
data
personalNo
presentationNo
registration date
registration receipt
notif
icat
ion
over
book
ed
notifica
tion
false
presen
tation
notification
paying delay
first invoice
data base seminars and customers
payi
ng d
elay
part
icip
ants
cur
rent
part
icip
ants
max
pres
enta
tionN
o
regi
stra
tion
date
Invo
ice
on
rece
ipt o
n
1 Record
registrations
![Page 13: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/13.jpg)
13
13DAAD project „Joint Course on Software Engineering“ ©
Invoice data sets
Regi
stra
tion
date
Registration data = PersonalNr + SeminarNr + Registration date
Paying delay
Client
Booking
Seminar presentation
Invoice data
Recordregistrations
1Notifaction payment delayNotification overbookedRegistr
ation receipt
Notific
ation
false
pres
entat
ion
PersonalNrRegistration
data
Personal-Nr
SeminarNr
Invo
ice on
Rece
ipt o
n
Participants max
PresentationNr
Particpants
current
DFD 4.3: towards database design
data base
seminars and customers
...
Databasedesign:
Database tables
*
*
*
*
*
![Page 14: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/14.jpg)
14
14DAAD project „Joint Course on Software Engineering“ ©
Registration date
Regist
ration
date
Recordregistrations
SQL-select payment delay
SQL-select/insert booked
Enternew client
Stat
usN
ame
Adre
ssSt
atus
Pers
onal
Nr
PersonalN
rPresentationN
r Status
StatusPersonalNr Paym
ent delaySQL-select client
read registration date
Presen
tation
Nr
Person
al-Nr
Pers
onal
-Nr
Nam
eAd
ress
Provide registration receipt
Provide notificationoverbooked
Provide notificationfalse presentation
Provide notificationpayment delay
SQL-select/update presentation
Status
Presentation data
PresentationNr
Notification payment delay
Notification false presentation
Notification overbooked
Registration receipt
Structure chart: record registrations
Pre-implemented function
User interfacefunctions Database
functions User definedfunctions
Part of software architecture according to structured design
![Page 15: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/15.jpg)
15
15DAAD project „Joint Course on Software Engineering“ ©
Comments on structure chart „record registrations“ (1)
„Record registrations “ is main functionAll other functions: help functions, local functions, which are called from main functionFunctions are called from left to right
![Page 16: Topic 16 Structured design - start [Perun · 2011. 3. 27. · Structured design Parts of this topic use material from the textbook H. Balzert, ... Structured analysis Object-oriented](https://reader035.fdocuments.in/reader035/viewer/2022081620/610ff6c8c0d8fd00d4687f7b/html5/thumbnails/16.jpg)
16
16DAAD project „Joint Course on Software Engineering“ ©
Comments on structure chart „record registrations“ (2)
Call relations and parameter passing:• ‚read registration date‘: read from user-interface• ‚SQL: select client‘:
- Search DB for client, using key ‚PersonalNr‘found: name, address, status = trueotherwise: status = false