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

Post on 11-Sep-2019

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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?

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

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?

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

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)

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

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

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)

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

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

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 ?

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 ...

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

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

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

top related