tema 4 osnovni koncepti za opis razvoja softvera · 1 version: feb. 20, 2004 (d nov. 06, 2003)...

18
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” Tema 4 Osnovni koncepti za opis razvoja softvera Parts of this Tema use material from the textbook H. Balzert, “Softver-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001

Upload: others

Post on 11-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

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”

Tema 4Osnovni koncepti za opis

razvoja softvera

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

Page 2: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

2

DAAD project „Joint Course on Software Engineering“ © 2

4. Osnovni koncepti za opis razvoja softvera

a) Opis rezultata razvojnih faza softvera – dokumentacijarazvoja softvera

b) Definisanje osnovnih koncepata za opis razvoja softvera i njihova klasifikacija

c) Osnovni koncepti i faze razvoja softvera

d) Klasifikacija osnovnih koncepata u skladu sa njihovom notacijom

e) Osnovni koncepti i njihova područja primene

f) Osnovni koncepti i njihovo korišćenje u metodama analize

Page 3: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

3

DAAD project „Joint Course on Software Engineering“ © 3

Tehnike opisa koje se koriste pri izradi softverske dokumentacije

Source: Schneider, SEUH 43, p. 123

Problem: Kako opisati ?

Zahtevi korisnika Specifikacija Projektovanje Kod

Korisnik Analitičar Dizajner (Projektant) Programer

Page 4: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

4

DAAD project „Joint Course on Software Engineering“ © 4

Opis softverske dokumentacije …

dijagram klasa

dijagram sekvenci

pseudo kod

konačniautomat

dijagram objekti veze

dijagram toka podataka

dijagramslučajeva korišćenja

UML

klasifikacija?

Page 5: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

5

DAAD project „Joint Course on Software Engineering“ © 5

Osnovni koncepti … razvoja softveraBalzert vol. 1, 2. izdanje 2001

Funkcij-skodrvo

Rečnik podataka

1979

Dijagram klasa1980/1990

Box dijagram

1973

Dijagram toka

programa

1966

Pseudokod

Tabele odluke

1957

Pravila Petrimreže1962

Sekven-cijalni

dijagram

1987

Konačni automat

1954

Modelobjekti veze1976

Dijagramtoka

podataka1966

Dijagram slučajeva korišćenja

1987

Dijagramaktivnosti

1997

Dijagramsaradnje

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisani

pogled

Algoritamskipogled

Funkcionalnahijerarhija

Poslovniproces

Tok informacija

Struktureklasa

Strukturepodataka

Pogled baziran na pravilima

Pogled orijentisanna stanja

Kontrolnestrukture

If-Thenstrukture

Tipovi entiteta i odnosa

Konačniautomat

Paralelnestrukture

Interaktivnestrukture

Pogled baziran nascenariju

koncepti i pogledi

Alte

rnat

ivne

not

acije

Čes

to k

orišće

ne

Ret

ko k

orišće

ne

Page 6: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

6

DAAD project „Joint Course on Software Engineering“ © 6

Osnovni koncepti … razvoja softveraBalzert vol. 1, 2-go izdanje 2001

Funkcij-skodrvo

Rečnik podataka

1979

Dijagram klasa1980/1990

Box dijagram

1973

Dijagram toka

programa

1966

Pseudokod

Tabele odluke

1957

Pravila Petrimreže1962

Sekven-cijalni

dijagram

1987

Konačni automat

1954

Modelobjekti veze1976

Dijagramtoka

podataka1966

Dijagram slučajeva korišćenja

1987

Dijagramaktivnosti

1997

Dijagramsaradnje

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisani

pogled

Algoritamskipogled

Funkcionalnahijerarhija

Poslovniproces

Tok informacija

Structureklasa

Strukturepodataka

Pogled baziran na pravilima

Pogled orijentisanna stanja

Kontrolnestrukture

If-Thenstrukture

Tipovi entiteta i odnosa

Konačniautomat

Paralelnestrukture

Interaktivnestrukture

Pogled baziran nascenariju

koncepti i pogledi

Alte

rnat

ivne

not

acije

Čes

to k

orišće

ne

Ret

ko k

orišće

ne

elementarni formalizovanimehanizmi opisa

Klasifikacija na tri nivoa:

Koji pogled na softver?

UML

osnovni koncepti

XKoji aspekt tog pogleda?

Koja stvarna vrsta notacije?

Page 7: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

7

DAAD project „Joint Course on Software Engineering“ © 7

Osnovni koncepti … razvoja softveraBalzert vol. 1, 2-go izdanje 2001

Funkcij-skodrvo

Rečnik podataka

1979

Dijagram klasa1980/1990

Box dijagram

1973

Dijagram toka

programa

1966

Pseudokod

Tabele odluke

1957

Pravila Petrimreže1962

Sekven-cijalni

dijagram

1987

Konačni automat

1954

Modelobjekti veze1976

Dijagramtoka

podataka1966

Dijagramsaradnje

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisani

pogled

Algoritamskipogled

Funkcionalnahijerarhija

Poslovniproces

Tok informacija

Structureklasa

Strukturepodataka

Pogled baziran na pravilima

Pogled orijentisanna stanja

Kontrolnestrukture

If-Thenstrukture

Tipovi entiteta i odnosa

Konačniautomat

Paralelnestrukture

Interaktivnestrukture

Pogled baziran nascenariju

koncepti i pogledi

Alte

rnat

ivne

not

acije

Čes

to k

orišće

ne

Ret

ko k

orišće

nerazvoj1996 2001

Jacksondijagram1975

Warnier-Orr-dijagram1972

Sintaksnidijagram1964

Jacksondijagram1975

Page 8: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

8

DAAD project „Joint Course on Software Engineering“ © 8

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

Razvoj softveraostaje mešavina metodaRazvoj softvera kao nauka i kao praktična aktivnost imaju nešto zajedničko: raznovrsnost

Razvoj softveraostaje mešavina metodaRazvoj softvera kao nauka i kao praktična aktivnost imaju nešto zajedničko: raznovrsnost

Raznovrsnost pristupa u osnovnim konceptima:moraju biti mogući različiti pogledi na softverske proizvode(različiti aspekti sofverskih proizvoda)

Page 9: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

9

DAAD project „Joint Course on Software Engineering“ © 9

Osnovni koncepti: principi

Nezavisni od područja primenevrsta primene određuje izbor pogodnogosnovnog koncepta

Nezavisni od metodaosnovni koncepti se mogu kombinovatiu opštim metodama (npr. strukturnaanaliza, OOA sa UML ...)

Nezavisni od fazeupotrebljivi u raznim fazama

Page 10: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

10

DAAD project „Joint Course on Software Engineering“ © 10

Osnovni koncepti ifaze razvoja softvera

Faza definisanja

pseudo kod

pravila

tabala odlučivanja

RP (rečnikpodataka)

dijagramklasa

konačniautomat

funkcijskodrvo

sekvencijalnidijagram

dijagramsaradnje

OV (objektiveze)

Petri mreže

dijagramtoka podataka

dijagram slučajeva korišćenja

boxdijagram

dijagram toka programa

Faza implementacije

Faza projektovanja

Legenda: A B: A se koristi u B

Page 11: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

11

DAAD project „Joint Course on Software Engineering“ © 11

Klasifikacija osnovnih koncepatau skladu sa njihovom notacijom

teks

tual

nigr

afič

ki

verbal

box dijagramdijagramklasa

dijagramtoka podataka

tabela odluči-vanja

OV

Petri mrežedijagramstanja

dijagram toka programa

RPPetri mreže(tekst)pravila

pseudo kod

tabela odlučivanja

konačniautomat

sekveencijalnidijagram

neformalni poluformalni/formalizovani formalni

dijagramsaradnje

nabrojanizahtevi

klasifikacionašematekst

use case diagr.

funkcijsko drvo

konačniautomat

(tekstualni)

Page 12: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

12

DAAD project „Joint Course on Software Engineering“ © 12

Osnovni koncepti i njihova područja primenepodručja primene složenost ... osnovni koncepti

...podataka

...funkcija

...algoritama

... sistemskog okruženja

... vremenski-zavisnog ponašanja

... korisničkog interfejsa

rečnik podatakaOV (objekti veze)(konačni automat)dijagram klasadijagram studijskog primeradijagram toka podatakafunkcijsko drvopseudo koddijagram toka programabox dijagramtabela odlučivanjapravila

dijagram toka podatakaPetri mrežekonačni automatdijagram aktivnostisekvencijalni dijagramdijagram saradnjegrafička specifikacija(Petri mreže)(konačni automat)kontrolne strukturepravila

tehn

ički

-na

učni

real

no-

vrem

ead

min

istra

tivni

interakcija čovek-računar

legenda: ( ) = ograničeno

Page 13: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

13

DAAD project „Joint Course on Software Engineering“ © 13

Funkcij-sko drvo

Rečnik podataka1979

Dijagram klasa1980/1990

Box dijagram

1973

Dijagram toka

programa1966

Pseudokod

Tabele odluke1957

Pravila Petri mreže1962

Sekven-cijalni

dijagram1987

Konačniautomat 1954

Modelobjekti veze1976

Dijagramtoka

podataka1966

Dijagram slučajeva korišćenja

1987

Dijagramaktivnost

i 1997

Dijagramsaradnje

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisanipogled

Algoritamskipogled

Funkcionalnahijerarhija

Poslovniproces

Tok informacija

Structureklasa

Strukturepodataka

Pogled baziran na pravilima

Pogled orijentisanna stanja

Kontrolnestrukture

If-Thenstrukture

Tipovi entiteta i odnosa

Konačniautomat

Paralelnestrukture

Interaktivnestrukture

Pogled baziran nascenariju

Osnovni koncepti … Razvoja softvera: poboljšanjaBalzert vol. 1, 2-go izdanje 2001

Struk-turnidijagram

SDLEBNFGrama-tike

Paketnidijagr.

Kompo-nentnidijagr.

osnovna koncepti:• kompletni?• dodatne notacije?

Dijagram stanja1987

ZAlgebarskaspecifika-cija 1972

Hoare-ovalogika1969

3 nivoa klasifikacijeŠema je fleksibilna

Page 14: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

14

DAAD project „Joint Course on Software Engineering“ © 14

Funkcij-sko drvo

Rečnik podataka1979

Dijagram klasa1980/1990

Box dijagram

1973

Dijagram toka

programa1966

Pseudokod

Tabele odluke1957

Pravila Petri mreže1962

Sekven-cijalni

dijagram1987

Konačniautomat 1954

Modelobjekti veze1976

Dijagramtoka

podataka1966

Dijagram slučajeva korišćenja

1987

Dijagramaktivnost

i 1997

Dijagramsaradnje

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisanipogled

Algoritamskipogled

Funkcionalnahijerarhija

Poslovniproces

Tok informacija

Structureklasa

Strukturepodataka

Pogled baziran na pravilima

Pogled orijentisanna stanja

Kontrolnestrukture

If-Thenstrukture

Tipovi entiteta i odnosa

Konačniautomat

Paralelnestrukture

Interaktivnestrukture

Pogled baziran nascenariju

Osnovni koncepti … klasifikacija poboljšanja

Struk-turnidijagram

SDLEBNFGrama-tike

Paketnidijagr.

Kompo-nentnidijagr.

Dijagram stanja1987

ZAlgebarskaspecifika-cija 1972

Hoare-ovalogika1969 ?

Page 15: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

15

DAAD project „Joint Course on Software Engineering“ © 15

Osnovni koncepti: detaljna klasifikacija poboljšanja

Funkcij-sko drvo

Rečnik podataka1979

Dijagram klasa1980/1990

Bodij

Dijtokpro

Psko

OVObjekti-veze1976

Dijagramtoka podataka1966

Dijagramslučajeva korišćenja1987

Funkcionalni pogled Pogled orijentisanka podacima

Objektno-Orijentisanpogled

Algsk

Funkcionalnahijerarhija

Poslovniproces

Tokinforma-cija

Struktureklasa

Strukturepodataka

Kostru

Tipovi objekata i veza

Structure Chart

EBNF

Grama-tike

Z

Algebar-skaspecifi-kacija1972

Hoare-ovalogika

Paketni dijagr.

Kompo-nentnidijagr.

Pogled orijentisanka komponentama

Efectifunkcija

Interakcijameđufunkcijama

Efektifunkcijana podatke

podsistemi izvodnogkoda

podsistemibinarnogkoda

Proširenje pogleda ...

Proširenje aspekata ...

Page 16: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

16

DAAD project „Joint Course on Software Engineering“ © 16

Kombinacija osnovnih koncepatau objektno-orijentisanoj analizi

legenda: A B: A se sadrži u BA B: A se implicitno sadrži u B

Pseudokod

Konačniautomat

Dijagramklasa

OOA1990

OV(Objektiveze)

Dijagramsaradnje

Sekvenci-jalni dijagram

Dijagramslučajeva korišćenja

objekti &veze

struktureklasa

kontrolnestrukture

konačniautomat

struktureinterakcije

tokposla

Page 17: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

17

DAAD project „Joint Course on Software Engineering“ © 17

Kombinacija osnovnih koncepatau strukturnoj analizi

SA1979

Tabelaodlučivanja

Drvoodlučivanja

Pseudokod

Rečnik podataka

Dijagramtoka podataka

Funkcijskodrvo

funkcionalnahijerarhija

tokinformacija

strukturepodataka

kontrolnestrukture

legenda: A B: A se sadrži u BA B: A se implicitno sadrži u B

Page 18: Tema 4 Osnovni koncepti za opis razvoja softvera · 1 Version: Feb. 20, 2004 (D Nov. 06, 2003) Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University

18

DAAD project „Joint Course on Software Engineering“ © 18

Kombinacija osnovnih koncepatau strukturnoj analizi i analizi u realnom vremenu

SA1979

tabela odlučivanja

drvo odlučivanja

pseudo-kod

rečnikpodataka

dijagramtoka podataka

automatstanja

OV(objektiveze)

RT1987

tokinformacija

strukturepodataka

kontrolnestrukture

konačniautomati

objekti &veze