Katedra počítačov a informatiky, Fakulta elektrotechniky a informatiky, TU Košice

 

Štandard KPI 14, ver. 4

 

 

Doplnok k programovej dokumentácii

       použitie štruktúrovaného návrhu

 

 

1       Štruktúra a obsah doporučenej dokumentácie.. 1

2       Vzory tabuliek............. 2

3       Metodika popisu návrhu fyzickej štruktúry bázy dát............ 4

4       Konvencie pre detailný popis obrazoviek a algoritmov........ 5

5       Popis algoritmov........ 6

6       Konvencie mien 8

7       Projekt jazykového procesora......... 9

7.1             Modelovacie nástroje 9

7.2             Štruktúra projektovej dokumentácie jazykového procesora..... 9

 

 

 

1       Štruktúra a obsah doporučenej dokumentácie

 

Modelovacie nástroje štruktúrovanej analýzy/návrhu:

 

-          štruktúrovaný text             (TXT)

-          tabuľka                 (TAB)

-          formálnu gramatiku         (BNF)

-          diagram dátových tokov     (DFD)

-          diagram dátových štruktúr         (DSD)

-          entitno-relačný diagram         (ERD)

-          stavový diagram             (STD)

-          diagram následnosti obrazoviek     (FSD).

 

NÁZOV ČASTI

PROSTRIEDOK

Obsah

 

1 Analýza súčasného stavu systému

 

1.1 Úvodný projekt

 

1.1.1 Popis systému určenie systému (čo, pre koho, načo, kedy systém poskytuje, súčasné technické a programové riešenie)

TXT

1.1.2 Nedostatky súčasného stavu  

TXT

1.1.3 Používateľské požiadavky na nový systém

TAB1

1.2 Hĺbková analýza

 

1.2.1 Vymedzenie hraníc systému

kontextový DFD

1.2.2 Popis okolia systému

TAB2

1.2.3 Zoznam udalostí

TAB3

1.2.4 Štruktúra údajových tokov - správ, dokladov, dokumentov,...

BNF, DSD

TAB4

1.2.5 Zoznam dokladov a dokumentov používaných v systéme

 

1.2.6 Fyzický procesný model existujúceho systému - dekompozícia po úroveň činností vykonávaných pracovníkmi alebo inými systémami – súčasťami systému

DFD

1.2.7 Popis procesov - špecifikácia činnosti, vstupov, výstupov, zodpovedných pracovníkov, umiestnenia procesov a pod.

TXT

1.2.8 Zoznam súvisiacich predpisov, nariadení, ...

TAB5

2 Návrh dátovej architektúry systému

 

2.1 Logický dátový model nového systému

ERD

2.2 Popis dátových entít

TAB6a

2.3 Popis entít s významom číselníka

TAB6b

3 Návrh funkčnej architektúry systému

 

3.1 Logický procesný model nového systému, dekomponovaný DFD model od systémovej úrovne až po elementárne funkcie. V kapitole sú striedavo umiestnené na dvoch susedných stranách vždy DFD a tabuľkový popis tohto diagramu

DFD

TAB7

3.2 Popis elementárnych procesov

TAB8

3.3 Implementácia používateľských požiadaviek v procesoch

TAB8

3.4 Väzba dátových entít na procesy a operácie (vstup, modifikácia čítanie)

TAB

4 Návrh používateľského rozhrania systému

 

4.1 Štruktúra systému služieb ( menu, strom ponúk služieb, prechody, ovládanie)

STD

4.2 Definícia obrazoviek

 

5 Návrh fyzického dátového

 

5.1 Fyzický dátový model

ERD

5.2 Popis entít (fyzické typy, doménová a referenčná integrita)

TAB9

6 Návrh fyzického funkčného modelu

 

6.1 Definícia modulárnej štruktúry

SCD

6.3 Popis obrazoviek

FSD , TAB

 

 

2       Vzory tabuliek

 

TAB.1: ZOZNAM POŽIADAVIEK

 

označenie

popis požiadavky

 

 

 

 

TAB.2: POPIS OKOLIA SYSTÉMU

 

externá entita

popis väzby k systému

 

 

 

 

TAB.3: ZOZNAM UDALOSTÍ

 

označenie

popis udalosti ( s uvedením zdroja udalosti - externá entita (E), s uvedením súvisiaceho dátového toku (D) )

E1

OBČAN (E) prinesie ŽIADOSŤ (D)

 

 

TAB.4: ZOZNAM DOKLADOV

 

označenie

názov dokumentu

 

 

 

 

TAB.5: ZOZNAM PREDPISOV

 

označenie

názov predpisu

 

 

 

 

TAB.6a: POPIS DÁTOVEJ ENTITY

 

Plný názov dátovej entity:

Identifikátor entity:

Synonymá : súbežne používané názvy v projekte alebo v systéme

Súvisiace doklady : odkazy na doklady uvedené v TAB4, ktorých údaje sú v entite

Popis entity:

 

 

Odhad mohutnosti entity - počet výskytov

Maximum :

Priemer:

Nárast (za časové obdobie ):

 

 

Prístupové práva (R,I,U,D,A):

Vlastník:

 

 

 

 

 

Používateľ:

 

 

 

 

 

 

 

 

ATRIBÚT

VOLITEĽNOSŤ (P,V)

LOGICKÝ TYP

KĄÚČ (PK,FK)

ODKAZ NA (id tabuľky)

 

 

 

 

 

 

 

 

 

 

 

Prístupové práva:                 R - čítanie, I - vkladanie, U - modifikácia, D - ničenie, A - archivácia

Voliteľnosť:                          P - povinný, V - voliteľný

Kľúč:                                      PK - primárny, FK - cudzí

 

 

TAB.6b: POPIS ČÍSELNÍKA

 

Plný názov číselníka :

Identifikátor číselníka :

Synonymá : súbežne používané názvy v projekte alebo v systéme

Súvisiace doklady : odkaz na doklady uvedené v TAB4, ktorých údaje sú v číselníkovej entite

Popis číselníka:

 

ATRIBÚT

ZNÁME

HODNOTY

LOGICKÝ

TYP

FYZICKÝ

TYP

KĽÚČ (PK,FK)

ODKAZ NA

(id tabuľky)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TAB.7: POPIS PROCESU

Názov : prehľad o vykonaných skúškach Kód : Periodicita použitia: Používateľ :

Súvisiace predpisy : odkaz na doklady uvedené v TAB5

Popis : Napr. proces slúži na vytvorenie prehľadu o vykonaných skúškach. Najprv sa určí, potom ... atď. Popis podľa diagramu s uvádzaním mien procesov, tokov a dátových skladov podľa diagramu. Splnenie požiadavky : odkaz do zoznamu používateľských požiadaviek v TAB1

 Rubrika Používateľ sa vyplní pre ten proces, ktorý predstavuje realizáciu používateľsky dostupnej služby. Typ procesu:           I - interaktívny, D - dávkový.

 

 

TAB.8: POPIS ELEMENTÁRNEHO PROCESU

 

NÁZOV

názov elementárneho procesu podľa procesného modelu v Projekte architektúry

KÓD

aNNN ( NNN zodpovedá číslu príslušného procesu v tvare N.N.N )

TYP

dávkový, interaktívny, len výstup na obrazovku

SLUŽBA

kód a názov služby (služieb) pre používateľa, ktoré daný algoritmus zabezpečuje

POUŽÍVATEĄ

zoznam používateľov, pre ktorých je služba určená

PERIODICITA

predpokladaná násobnosť použitia algoritmus za časový interval

PREDPISY

zoznam súvisiacich predpisov

RIEŠENÉ POŽIADAVKY

zoznam používateľských požiadaviek podľa TAB1, ktoré proces rieši

TABUĽKY

zoznam použitých tabuliek (v zátvorke sú uvedené názvy dátových entít )

POPIS

popis algoritmu štruktúrovanou slovenčinou s definovaním podmienok

(WHERE) pre operácie nad tabuľkami

 

 

TAB.9: DOPLNENIE POPISU DÁTOVÝCH ENTÍT PRE FYZICKÝ MODEL

 

Plný názov dátovej entity

Identifikátor entity (tabuľky)

ATRIBÚT

LOGICKÝ

TYP

FYZICKÝ

TYP

KĽÚČ

(PK,FK)

DOMÉNOVÁ INTEGRITA

(null,not null,iná)

REFERENČNÁ

INTEGRITA

pre operácie

I U D

ODKAZ NA (id tabuľky)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3       Metodika popisu návrhu fyzickej štruktúry bázy dát

 

DOMÉNOVÁ INTEGRITA (DI):

zabezpečenie prípustných hodnôt nekľúčových atribútov,

pravidlá doménovej integrity.

 

REFERENČNÁ INTEGRITA (RI):

zabezpečenie nenarušiteľnosti referencií,

pravidlá RI pre vykonávanie operácií:

vloženie riadku                     (I - insert),

aktualizácia riadku                 (U - update),

zrušenie riadku                     (D - delete).

 

ZÁKLADNé SPOSOBY (PRAVIDLÁ) ZABEZPEČENIA RI PRE OPERÁCIE I, U, D SÚ NASLEDOVNÉ:

R – reštrikčný,

N – nulitný,

K – kaskádny.

 

RI sa týka hodnôt primárnych (PK) a im zodpovedajúcich cudzích kľúčov (FK).

Ak smer exportu PK je v smere od A k B

v entite B je cudzí kľúč referujúci do A

A rodičovská entita (parent alebo hlavná - master)

B dcérska entita (alebo vedľajšia - detail)

 

 

ENTITA

OPERÁCIA

PRAVIDLO RI

VÝZNAM

master

D

R

Riadok v A tabuľke nemôže byť zrušený, pokiaľ existuje aspoň 1 riadok v B tabuľke, ktorý na neho referuje.

master

D

N

Riadok v A tabuľke môže byť zrušený, ale s jeho zrušením sa v tabuľke B vo všetkých riadkoch nastaví príslušný cudzí kľúč na hodnotu null.

master

D

K

Riadok v A tabuľke môže byť zrušený, ale s jeho zrušením sa zrušia aj všetky tie riadky v tabuľke B, ktoré referovali na zrušený riadok v A.

master

U

R

Primárny kľúč v riadku tabuľky A nemôže byť zmenený, ak existuje aspoň jeden riadok v B tabuľke, ktorý naňho referuje.

master

U

N

Primárny kľúč v A tabuľke môže byť zmenený, ale so zmenou sa vo všetkých riadkoch B tabuľky ( ktoré referovali na riadok so zmeneným kľúčom) nastaví zodpovedajúci cudzí kľúč na hodnotu null.

master

U

K

Primárny kľúč v A tabuľke môže by» zmenený, ale so zmenou sa vo všetkých riadkoch B tabuľky ( ktoré referovali na riadok so zmeneným kľúčom) nastaví zodpovedajúci cudzí kľúč na novú hodnotu .

detail

I

R

Do B tabuľky nie je možné zaradiť riadok s hodnotou príslušného cudzieho kľúča takou, ktorá ešte neexistuje v tabuľke A ako primárny kľúč.

detail

I

N

Do B tabuľky je možné zaradiť riadok s hodnotou príslušného cudzieho kľúča null.

Detail

I

K

Do B tabuľky je možné zaradiť riadok s hodnotou príslušného cudzieho kľúča takou, ktorá ešte neexistuje v tabuľke A ako primárny kľúč. Súčasne sa ale vytvorí aj riadok v tabuľke A tak, aby naňho novozaradený riadok v tabuľke B referoval.

 

 

4       Konvencie pre detailný popis obrazoviek a algoritmov

 

 

 

NÁZOV OBRAZOVKY:

Identifikátor obrazovky v tvare sNNNNNNx (NNNNNN je číslo procesu z projektu funkčnej architektúry systému, ktorým sa interakcia cez túto obrazovku začína, x je písmeno na rozlíšenie viacerých obrazoviek pre jeden interaktívny proces), identifikátor algoritmu, ktorý obrazovku používa je v tvare aNNNNNNx.

 

POPIS OBRAZOVKY:

Bude slúžiť ako pomocný text - nápoveď pre celú obrazovku.

 

NÁPOVEDE PRE JEDNOTLIVÉ OBRAZOVKOVÉ OBJEKTY

OBJEKT                 NÁPOVEĎ

jeho textové                 text nápovede, ktorá sa objaví pri

návestie na obrazovke                 aktivovaní tohto objektu

 

GRAFICKÁ REPREZENTÁCIA OBRAZOVKOVÝCH OBJEKTOV V NÁČRTOCH OBRAZOVIEK

 

VÝSTUPNÉ OBJEKTY:

Slúžia na zobrazenie hodnôt premenných alebo obsahu tabuliek (table, field)

·           výstupné pole viacriadkové,

·           tabuľka,

·           výstupné pole,

·           rolovateľné výstupné pole,

·           pole hodnôt.

 

VSTUPNÉ OBJEKTY:

Slúžia na echo vstupu z klávesnice so zápisom hodnoty do premennej alebo do:

·           tabuľky (entryfield, multiline entryfield),

·           vstupné pole,

·           viacriadkové vstupné pole,

·           rolovateľný zoznam vstupných polí.

 

OBJEKTY PRE VÝBER:

Slúžia na výber jednej z viacerých hodnôt (radiofield, listfield, optionfield, toggle):

·           ponuka volieb,

·           zoznam hodnôt,

·           rolovateľný zoznam hodnôt na výber,

·           prepínač (voľba).

 

RIADIACE OBJEKTY:

Slúžia na prechod k ďalšej obrazovke alebo na vykonanie nejakej činnosti

svetelné tlačidlo (button)

 

 

5       Popis algoritmov

 

NÁZOV ALGORITMU:

·           kódové označenie algoritmuidentifikátor napr. v tvare aNx

N je číslo procesu z projektu funkčnej architektúry systému

odpovedajúca obrazovka sNx.

 

POPIS:

Stručný textový názov algoritmu jeho funkcia.

 

POUŽITÉ TABUĽKY:

Kódy dátových entít (písané malými písmenami).

 

VSTUPNÉ PREMENNÉ:

Vstupné parametre modulu.

 

VÝSTUPNÉ PREMENNÉ:

Výstupné parametre modulu.

 

GLOBÁLNE PREMENNÉ:

Zoznam použitých globálnych premenných.

 

NÁVESTIE OBRAZOVKY:

Návestie - titulok obrazovky.

 

OBJEKTY OBRAZOVKY:

Zoznam obrazovkových objektov. Každému objektu je jednoznačne priradená obrazovková premenná, návestie a jednoriadková nápoveda. Ak zoznam objektov je prázdny, potom algoritmus nemá obrazovku.

 

INICIALIZÁCIA:

Akcie vykonané pred povolením spracovania udalostí.

 

SPRACOVANIE UDALOSTÍ:

Napr. v tvare tabuľky s nasledujúcimi stĺpcami.

 

UDALOSŤ                 AKCIE

 

Označovanie udalostí:

 

CLICK x                 Stlačenie tlačidla myši, ak kurzor je na x.

DOUBLE x Dvojité stlačenie tlačidla myši, kurzor je na x, ENTRYx [INTO y] vstup hodnoty z klávesnice s echom v obrazovkovom objekte x a zápisom do premennej (alebo atribútu tabuľky) y (ak INTO y chýba, zápis do premennej s rovnakým názvom ako má obrazovkový objekt).

CHOICE x                Výber hodnoty z ponuky x.

DBEVENTx                Po prijatí databázovej udalosti x sa vykoná blok udalosti.

 

OZNAČOVANIE AKCIÍ

 

Operácie s obrazovkovými objektmi:

 

READ p=x                prečítanie hodnoty obrazového objektu x do premennej p,

WRITE x=h                zápis hodnoty h do obrazovkového objektu x a jeho,

INVISIBLE x                zakrytie obrazovkového objektu x,

VISIBLE x                zviditeľnenie obrazovkového objektu x,

INACTIVE x                objekt x bude viditeľný,

ACTIVE x                objekt x sa stane "vykonateľný",

NEXT x                  umiestnenie obrazovkového kurzora na uvedený obrazovkový objekt x,

CHANGEABLE                 x objekt x je prístupný na vstup údajov.

 

 

Operácie s databázovými objektami:

 

SELECT [DISTINCT]                 prem = dbprem,

[prem = dbprem ....] FROM <zoznam_tabuliek>

WHERE <podmienka> [ORDER BY prem [asc|desc], prem [asc.... ]

[BEGIN                <prikazy> END];

(DISTINCT - potlač duplicitné riadky)

(pre vnorený príkaz select: SELECT ...FROM ... WHERE X = select Y from ....;)

UPDATE <tabulka> SET <dbprem>=<prem>,... WHERE <podmienka>

INSERT <tabulka> SET <stlpec>=<vyraz>,...

DELETE <tabulka> WHERE <podmienka>

BEGIN WORK začiatok transakcie

COMMIT vykonanie zmien definovaných transakciou a odomknutie tabuliek

ROLLBACK ukončenie transakcie bez vykonania zmien a odomknutie tabuliek

RAISE DBEVENT XXX "text" vyslanie DB udalosti PREPARE <prikaz> FROM <retazec>;

EXECUTE <prikaz>;

 

 

Definícia toku riadenia:

 

GOTO <modul>[(zoznam_parametrov)]

[INTO <zoznam_premennych_pre navrat_hodnoty>]

 

CALL <modul>[(zoznam_parametrov)]

[INTO <zoznam_premennych_pre navrat_hodnoty>]

 

OPEN <modul>[(zoznam_parametrov)]

[INTO <zoznam_premennych_pre navrat_hodnoty>]

Ak je s modulom zviazaná obrazovka, GOTO aktivuje modul s uzavretím predošlej obrazovky; CALL aktivuje modul a novú obrazovku bez uzavretia predošlej, táto ale ostane neaktívna; OPEN otvára nasledujúcu obrazovku, ostáva aktívna aj predošlá.)

 

RETURN [(<zoznam_navratovych_hodnot>)]

 

IF <podmienka>

{<príkazy>}

ENDIF

               

IF <podmienka>

{<príkazy>}

ELSE {<príkazy>}

ENDIF

               

SWITCH(<výraz>){

CASE <hodnota>:<príkazy>

CASE ...}

 

WHILE <podmienka>

{<príkazy>}

ENDWHILE

 

ENDLOOP slúži na ukončenie cyklu while a pokračovanie

vo vykonávaní príkazom nasledujúcim za endwhile

 

RESUME slúži na ukončenie vykonávania bloku udalosti

 

Označovanie komentárov doporučených pre zápis do zdrojového textu modulu: /* ľubovoľný text */

 

 

6       Konvencie mien

 

MENÁ TABULIEK:

Kód entity podľa dátového modelu (písané malými písmenami).

 

MENÁ OBRAZOVKOVÝCH OBJEKTOV:

Prvé písmeno veľké, ostatné malé, viacslovné spojenie spojené pomocou znaku _ (korešponduje s názvami návestí obrazovkových objektov v popise a zobrazení obrazovky príslušnej k danému algoritmu).

 

MENÁ POMOCNÝCH PREMENNÝCH:

Malými písmenami

 

MENÁ ALGORITMOV (MODULOV):

aPN[NNNNNx],

sPN[NNNNNx] je odpovedajúca obrazovka (ak existuje),

N.[N.N.N.N.N] je zviazaný proces,

aPN[NNNNx].txt je textový súbor s popisom algoritmu,

P je kód subsystému,

x je jednopísmenové rozlíšenie viacerých algoritmov k jednému procesualebo v tvare _cK (alebo _conK) K-te pokračovanie príslušného algoritmu.

 

MENÁ POMOCNÝCH ALGORITMOV (MODULOV):

sú to algoritmy, ktoré sa neviažu priamo k procesu.

meno:                      apomKKK,KKK je 3-cifer.číslo,

meno súboru:                 apomKKK.txt.

 

MENÁ OBRAZOVIEK:

sPN[NNNNNx],

kde aPN[NNNNx] je odpovedajúci modul (algoritmus),

N.[N.N.N.N] je zviazaný proces,

sPN[NNNx].txt je textový súbor s popisom obrazovky,

P je kód subsystému,

x je jednopísmenové rozlíšenie viacerých obrazoviek k jednému procesu alebo v tvare _cK (alebo _conK) K-te pokračovanie príslušnej obrazovky.

 

MENÁ POMOCNÝCH OBRAZOVIEK:

viažu sa k pomocným algoritmom

meno:                      spomKKK,KKK je 3-cifernéčíslo,

meno súboru:                 spomKKK.txt.

 

OZNAČOVANIE POLOŽIEK V MENU:

názov menu m,

názov položky x,

označenie položky menu: m.x.

 

MENÁ VSTUPNO/VÝSTUPNÝCH PREMENNÝCH:

veľkými písmenami celý identifikátor.

 

 

 

7       Projekt jazykového procesora

 

7.1      Modelovacie nástroje

 

·           štruktúrovaný text (TXT)

·           tabuľka (TAB)

·           formálnu gramatiku (BNF)

·           diagram dátových tokov (DFD)

·           diagram dátových štruktúr (DSD)

·           stavový diagram (STD)

·           atribútová prekladová gramatika (APG)

·           zdrojové texty popisu príslušnej časti jazykového procesora v jazykoch pre kompilátory kompilátorov (napr. LEX, YACC)

 

7.2      Štruktúra projektovej dokumentácie jazykového procesora

 

NÁZOV ČASTI

PROSTRIEDOK

1 Popis jazykov (formálne syntax, neformálne sémantika)

 

       1.1 Zdrojový jazyk

BNF, TXT

       1.2 Medzijazyk

BNF, TXT

       1.3 Cieľový jazyk

BNF, TXT

       1.4 Implementačný jazyk (výber, zdôvodnenie)

TXT

2 Štruktúra jazykového procesora a princíp prekladu (1 alebo viacprechodový preklad, kompilačné alebo interpretačné spracovanie)

DFD, TXT

3 Konštrukcia lexikálneho analyzátora

 

       3.1 Špecifikácia lexikálnych jednotiek (triedy, hodnoty)

TAB

       3.2 Návrh štruktúry tabuliek

DSD

       3.3 APG pre preklad lexikálnych jednotiek

APG

       3.4 Implementácia (napr. pomocou systému Lex: vstupný súbor generátora, úpravy v zdrojových textoch

zdroj.text pre LEX

4 Konštrukcia modulu syntaktickej analýzy a sémantického spracovania

 

       4.1 Definícia výstupného jazyka

BNF, TXT

       4.2 APG pre preklad syntaktických konštrukcií, popis atribútov

APG

       4.3 Implementácia (ako v 3.4)

zdroj. text pre YACC

5 Konštrukcia generátora z medzijazyka do cieľového jazyka alebo konštrukcia virtuálneho stroja pre interpretáciu medzijazyka

 

       5.1. Návrh (riadenie pamätí, riadenie vykonávania)

DFD, DSD, TXT

       5.2. Implementácia (údajové štruktúry, funkcie, moduly)

zdroj. text pre YACC

6 Používateľský popis

TXT, TAB

       6.1. Zoznam a popis súborov

 

       6.2. Popis inštalácie a použitia

 

       6.3. Príklady a testovacie protokoly

 

7 Prílohy:

projektové súbory (makefile a pod. súbory definujúce preklad a spájanie), zdrojové texty modulov komentované v súlade s navrhnutými APG.

zdrojové texty

 

 

Súvisiace štandardy KPI:

                Dokumentácia pre technické prostriedky a pre integrované prostriedky -11

                Doplnok k programovej dokumentácii – použitie objektového návrhu - 15

                Pokyny pre vypracovanie diplomovej práce - 12

                Projektová dokumentácia informačného systému - 16

 

Zostavili:

Doc. Ing. Zdeněk Havlice,CSc.

 

 Košice, 6.3.2000