Projektová dokumentácia

 

Hlavná stránka

 


Obsah

Úvod

Špecifikácia požiadaviek

Analýza

Analýza problému (existujúceho systému)

Analýza požiadaviek na systém

Hrubý návrh

Údajový slovník

Vzťahy medzi úložištiami

Kontextový diagram tokov údajov

Prvá úroveň diagramu tokov údajov

Opis entít diagramov tokov údajov

Diagram modelu údajov

Správanie systému

Prílohy

Ponuka

Zápis č. 1

Zápis č. 2

Zápis č. 3

Zápis č. 4


Úvod

Tento dokument obsahuje dokumentáciu k počiatočným fázam tvorby softvérového produktu, ide konkrétne o špecifikáciu požiadaviek, analýzu problému a požiadaviek a hrubý návrh riešenia.

Clieľom je vytvoriť plnohodnotný softvérový produkt s použitím postupov a pravidiel zodpovedajúcich softvérovému inžinierstvu. Dôraz je kladený na vykonanie všetkých etáp vývoja a vytvorenie všetkých potrebných výstupov vývoja. V tejto časti projektovej dokumentácie sú to etapy špecifikácie, analýzy a hrubého návrhu a vytvorenie dokumentácie k jednotlivým etapám.    

Riešiteľský kolektív

Riešiteľský kolektív, ktorý sa podieľa na vývoji tohoto softvérového produktu pozostáva z nasledujúcich členov:

inžinier strojárstva

znalosti: C++

inžinier automatizácie

znalosti: C++

projekty: vnútrofiremný IS (AIAS s.r.o.), publikovanie časopisu na WWW (VW Monitor pre VW Bratislava), systém pre podporu výuky v prostredí WWW (RNDr. Valéria Šimáková);

znalosti: administrácia MS SQL Servera, databázové systémy, architektúra softvérových systémov, princípy softvérového inžinierstva, systémové programovanie, C++, MFC

projekty: systém evidencie obyvateľstva pre verejnú správu

znalosti: databázové systémy, architektúra softvérových systémov, princípy softvérového inžinierstva, systémové programovanie, C++, Visual Basic (MS Access)

projekty: systém pre podporu výuky v prostredí WWW (RNDr. Valéria Šimáková)

znalosti: databázové systémy, architektúra softvérových systémov, princípy softvérového inžinierstva, systémové programovanie, administrácia Sambar Servera, C++, PERL    

Plán projektu

analýza existujúceho systému, špecifikácia,

celková analýza problému, hrubý návrh riešenia

implementácia prototyp vybraných častí a jeho prezentácia, odovzdanie dokumentácie    

Úlohy členov riešiteľského kolektívu

Štefan Rajčan

Artúr Kováč

Ladislav Kečkéš

Michal Chorvatovič

Dušan Tamajka


Špecifikácia požiadaviek

Táto časť dokumentu obsahuje súhrn požiadaviek používateľov a ich špecifikáciu tak, ako sa nám ich podarilo získať od pracovníkov katedry a ako vyplynuli z analýzy počiatočných požiadaviek.    

Úlohou je navrhnúť a implementovať katedrový rozvrh hodín, ktorý bude fungovať v rámci Katedrového Informačného Systému (KIS) s použitím dostupného softvéru (brať do úvahy, že na katedre je hlavný server s operačným systémom UNIX). Rozvrh by mal byť prístupný ako súčasť KIS-u a zároveň aj ako samostatný program.    

V nasledujúcom texte používame takéto označenie zdrojov požiadaviek:

[1] - pôvodná špecifikácia zadania projektu,

[2] - informácie získané od pani ing. Bielekovej,

[3] - požiadavky vyplývajúce z analýzy problému.  
 

Integrované prostredie rozvrhu hodín má umožniť:

Pričom treba umožniť používateľovi zapnutie kontrol aj jednotlivo a zobrazovať nastavenie zapnutia/vypnutia kontroly na obrazovke.

Tieto požiadavky sa budú ešte upresňovať, ale sú už viac-menej čo do rozsahu konečné. Budeme z nich vychádzať pri tvorbe systému. Takže všetky ďaľšie dodatočné požiadavky zo strany zadávateľa musia byť akceptované oboma stranami.

Zhotoviteľ si vyhradzuje právo aby v systéme bola zahrnutá funkčnosť presahujúca rámec týchto požiadaviek, avšak nie je viazaný tak urobiť.

Termíny vyhotovenia a sadzby spolu so sankciami súv dodatku k zmluve o dielo (katedrou jednostranne určené pravidlá hry pre tímové projekty).    


Analýza

Analýza problému (existujúceho systému)

V súčasnosti na vypracovaní rozvrhu katedry pracujú traja pracovníci, dvaja na katedrovej a jeden na fakultnej úrovni. Vytváranie rozvrhu je aj preto možné rozdeliť na tri za sebou nasledujúce fázy:

Našou úlohou je uľahčiť prácu s rozvrhom v I. a III. fáze a pri prezeraní rozvrhu.    

Fáza I

Pracovník katedry (pani Husárová) vytvorí návrh rozvrhu podľa daných kritérií. Forma vytvárania rozvrhu v tejto fáze je manuálna, tj. na papieri bez použitia výpočtovej techniky. Takto vytvorený rozvrh sa odovzdá pracovníkovi, ktorý spracováva rozvrh na fakultnej úrovni (pán Galan) v druhej fáze.    

Fáza II

V tejto fáze sa vytvára celý rozvrh pre 1. a 2. ročník bakalárskeho štúdia a rozvrh pre predmety, ktoré sa vyučujú v miestnostiach, ktoré sú v správe fakulty (prednášky a pod.). Ďalej kompletizujú rozvrhy za ostatné ročníky vytvorené jednotlivými katedrami. Získané informácie sa vložia do existujúceho informačného systému a zisťujú sa konflikty v rámci celej fakulty (predovšetkým ide o konflikty v pridelení miestností). Vzniknuté konflikty a prípadné zmeny sa konzultujú telefonicky.    

Fáza III

V tejto fáze sa prideľujú pedagógovia jednotlivým prednáškam a cvičeniam pomocou informačného systému už do hotového rozvrhu, ktorý vznikol v druhej fáze.    

Fáza prezerania

Doteraz na prehliadanie rozvrhu bolo nutné reštartovať počítač bez sieťových ovládačov pre nedostatok voľnej pamäte počítača. Tento problém spôsobuje program, ktorý sa celý nahráva do konvenčnej pamäte počítača a nedokáže pracovať s rozšírenou pamäťou. Naviac beží len pod operačným systémom MS-DOS.


Analýza požiadaviek na systém

Kedže sa kladie dôraz na príjemné používateľské rozhranie, treba ďalej počítať s grafickým používateľským rozhraním, ktoré je dnes už samozrejmosťou.    

Fáza I

Systém by mal odstrániť pracné vytváranie rozvrhu na papieri.

Systém by mal umožňovať:

Treba zvážiť možnosť uľahčenia zadávania informácií do systému importovaním zo súborov (napr. využiť, že informácie o študentoch už sú v súboroch používaných katedrou pri zapisovaní predmetov).    

Vstupy vo fáze I:

Výstupy vo fáze I:

Fáza III

V tejto fáze sa kompletizuje rozvrh pre všetky ročníky. Správca systému zadá z podkladov získaných vo fáze II do systému všetky tie informácie, ktoré ešte treba pre úplnosť rozvrhov.    

Vstupy vo fáze III:

Výstupy vo fáze III:

Fáza prezerania

Vstupom tejto fázy už nie sú externé informácie, ale len informácie zo systému.

Výstupom by mali byť voliteľné zostavy rozvrhov.    

Výstupné rozvrhy by malo byť možné prehliadať aktívne pomocou klientských programov, alebo vytlačiť buď na tlačiarni či do súboru.    

Pri prezeraní rozvrhu by mala byť možnosť zvoliť si pomocou filtrov, ktoré entity z rozvrhu budú zobrazené. Napr. prezeranie rozvrhu dvoch či viacerých krúžkov. Dôvodom môže byť potreba zladiť rozvrh študentov z viacerých krúžkov pre voliteľné predmety, ktoré si zapíšu naviac.    

Medzi ďaľšie možnosti by mali patriť:



Hrubý návrh

Táto časť dokumentu obsahuje hrubý návrh riešenia problému. Obsahuje špecifikáciu údajov v systéme, kontext systému, špecifikáciu funkcií systému a špecifikáciu správania systému k okoliu.


Údajový slovník

opis úložísk

úložisko

atribút

opis atribútu

študent

(obsahuje údaje o študentoch)

ID

jedinečné identifikátor študenta

meno

meno študenta

priezvisko

priezvisko študenta

 
 

pedagóg

(obsahuje údaje o pedagógoch)

ID

jedinečné identifikátor pedagóga

meno

meno pedagóga

priezvisko

priezvisko pedagóga

titul

titul pedagóga

 
 

miestnosť

(obsahuje údaje o miestnostiach)

ID

jedinečný identifikátor miestnosti

názov

názov miestnosti

kapacita

kapacita miestnosti

vybavenie

vybavenie miestnosti (obyčajné, meotar, počítače, laboratórium)

 
 

predmet

(obsahuje údaje o predmetoch)

ID

jedinečný identifikátor predmetu

názov

názov predmetu

skratka

skratka predmetu

kapacita

max. počet študentov prihlásených na predmet

počet

počet študentov prihlásených na predmet

 
 

krúžok

(obsahuje údaje o krúžkoch)

ID

jedinečný identifikátor krúžku

číslo/názov

číslo/názov krúžku

kapacita

max. počet študentov v krúžku

počet

momentálny počet študentov v krúžku

 
 

ročník

(obsahuje údaje o ročníkoch)

ID

jedinečný identifikátor ročníka

číslo/názov

číslo/názov ročníka

 
 

zameranie

(obsahuje údaje o zameraniach)

ID

jedinečný identifikátor zamerania

názov

názov zamerania

     
 

Prozvrh

(obsahuje údaje o jednotlivých položkách rozvrhu, tzn. kedy, v akej miestnosti, kto, aký krúžok resp. študenti majú výuku)

ID

jedinečný identifikátor políčka rozvrhu

deň

poradové číslo dňa v týždni

hodina_z

poradové číslo hodiny začiatku

hodina_k

poradové číslo hodiny konca

ID_miestnosť

identifikátor miestnosti

ID_predmet_pedagóg

identifikátor pedagóga a predmetu (do väzobnej tabuľky predmet_pedagóg)

ID_ročník_krúžok/štud.

identifikátor ročníka a krúžku (do väzobnej tabuľky predmet_pedagóg) alebo študentov (do väzobnej tabuľky prozrh_študent) v závislosti od hodnoty položky typ_priradenia

typ_priradenia

zohľadňuje, či je políčku rozvrhu priradený krúžok alebo zoznam študentov


 

pomocné (väzobné) úložištia
 

predmet_pedagóg

(obsahuje vzťahy medzi pedagógmi a predmetmi, tzn. kto vyučuje aký predmet)

ID

jedinečný identifikátor vzťahu

ID_predmet

identifikátor predmetu

ID_pedagóg

identifikátor pedagóga

typ

hodnota určuje, či je pedagóg cvičiacim alebo prednášateľom predmetu

 
 

ročník_krúžok

(obsahuje priradenia krúžkov do ročníkov)

ID

jedinečný identifikátor vzťahu

ID_ročník_zameranie

identifikátor ročníka a zamerania

ID_krúžok

identifikátor krúžku

 
 

ročník_zameranie

(obsahuje vzťahy medzi zameraniami a ročníkmi)

ID

jedinečný identifikátor vzťahu

ID_ročník

identifikátor ročníka

ID_zameranie

identifikátor zamerania

 
 

krúžok_študent

(obsahuje priradenia študentov do krúžkov)

ID_krúžok

identifikátor krúžku

ID_študent

identifikátor študenta

 
 

Prozvrh_študent

(obsahuje priradenia študentov jednotlivým políčkam rozvrhu; použité v prípade, že nie sú určené krúžky)

ID_Prozvrh

identifikátor políčka rozvrhu

ID_študent

identifikátor študenta

     
 

pedagóg_obmedzenia

(obsahuje priradenia obmedzení jednotlivým pedagógom, tzn. kedy jednotlivý pedagógovia nemôžu vyučovať)

ID_pedagóg

identifikátor pedagóga

deň

poradové číslo dňa v týždni

hodina

poradové číslo vyučovacej hodiny

dôvod

dôvod prečo pedagóg nemôže vykonávať výuku




Vzťahy medzi úložištiami



Obrázok č.1 Vzťahy medzi úložišťami.



Kontextový diagram tokov údajov



Obrázok č.2 Kontextový diagram tokov údajov.



Prvá úroveň diagramu tokov údajov



Obrázok č.3 Prvá úroveň diagramu tokov údajov.



Opis entít diagramov tokov údajov    

Externé entity

V systéme sú definované nasledujúce tri externé entity:

Entita, ktorá vkladá do systému informácie o predmetoch (ktoré vyučuje) a informácie o tom, kedy nechce (nemôže) vykonávať výuku (nazývané obmedzenia). Pričom tieto obmedzenia majú len informatívny význam, tzn. že nemajú rozhodojúci vplyv na tvorbu rozvrhu (ak to inak nejde, musí pedagóg učiť aj vtedy keď nechce). Zadáva do systému informácie o predmetoch.

Entita, ktorá používa systém na získanie požadovaného rozvrhu (rozvrhy krúžkov, miestností, pedagógov, a pod.). Táto entita nemôže pridávať alebo meniť údaje v úložištiach ani rozvrh.

Entita, ktorá napĺňa dátové úložištia (pedagógov, študentov, miestnosti, predmety, krúžky, ročníky) a vytvára rozvrh vkladaním požiadaviek (alebo údajov o rozvrhu). Systém na požiadanie zadávateľovi vhodným spôsobom oznamuje vznik kolízií v rozvrhu.

Funkcie systému

Systém bude mať (vo vzťahu k tvorbe a prezeraniu rozvrhu) štyri hlavné funkcie, nasleduje ich popis:

Touto funkciou sa zabezpečí naplnenie všetkých úložísk systému. Poskytne vhodné používateľské rozhranie pre vstup zadávaných údajov, ich kontrolu a efektívne uloženie v zodpovedajúcom úložisku. Umožní prehľadne zobraziť stav a aktuálne údaje v jednotlivých úložištiach. Pedagógom umožní pomocou jednoduchého používateľského rozhrania zadávať informácie o predmetoch, ktoré prednášajú (alebo cvičia).

Táto funkcia bude zabezpečovať tvorbu rozvrhu na základe vstupných údajov (požiadaviek). Poskytne prehľadné a efektívne používateľské rozhranie s ohľadom na čo najväčšie zjednodušenie a zrýchlenie procesu tvorby rozvrhu. Tento cieľ sa bude snažiť dosahovať poskytnutím (a vhodným sprístupnením) potrebných údajov z naplnených úložísk. Táto funkcia bude zároveň zabezpečovať kontrolu vytváraného rozvrhu vzhľadom na možnosť vzniku kolízií v rozvrhu. Kontrolu bude možno v opodstatnených prípadoch (niektorí cvičiaci môžu byť v dvoch miestnostiach naraz) nevykonávať. Výsledky kontroly bude vo vhodnej forme zobrazovať na obrazovke.

Táto funkcia bude zabezpečovať komunikáciu medzi používateľom a systémom pri prezeraní (tlačení) hotového rozvrhu. Vzhľadom na požiadavky bude obsluhovať používateľov rôznymi typmi používateľských rozhraní (grafický prehliadač, textový prehliadač, DOS, ...). Dovolí používateľovi zvoliť si požadované informácie, ktoré chce mať na výstupe. Vytvorený výstup zo systému bude zobrazovať v čo najvhodnejšom usporiadaní (vzhľadom na obmedzené možnosti textových rozhraní). Umožní používateľovi zvoliť si výstup na tlačiareň.

Táto funkcia umožní pedagógom pomocou jednoduchého používateľského rozhrania zadávať informácie o tom, v ktorých dňoch a hodinách nemôžu vyučovať (tzv. obmedzenia). Obmedzenia sa použijú na konrolovanie kolízií pri tvorbe rozvrhu.  
 

Diagram modelu údajov



Obrázok č.4 Diagram modelu údajov


Správanie systému

Komunikácia s okolím

Systém bude komunikovať s používateľom pomocou viacerých používateľských rozhraní, vzhľadom na požiadavku textového i grafického rozhrania boli zatiaľ navrhnuté nasledujúce možnosti:

Používateľské rozhranie budú tvoriť stránky v jazyku HTML, prípadne aplikácie v jazyku Java. Komunikáciu s používateľom budú zabezpečovať obrazovky vo forme formulárov, ktoré budú obsahovať zoznamy (pre prípad výberu zo zoznamu možností), textové polia (prípad zadávania dlhších textových správ), zaškrtávacie políčka a tlačítka (pre vykonanie požadovaných akcií), atď. Výstup rozvrhu na obrazovku bude zabezpečený pomocou vhodného usporiadania tabuliek.

Pre toto rozhranie platí to isté ako pri grafických prehliadačoch s nasledujúcimi obmedzeniami. HTML stránky budú tvorené tak, aby ich textový prehliadač dokázal úplne zobraziť, tzn. bude do maximálnej možnej miery využívať možnosti formulárov a tabuliek. Avšak pri zobrazovaní rozvrhu možno pristúpime k zobrazovaniu pomocou priameho formátovania textu, aby sme optimálne využili obmedzené možnosti (čo sa týka rozmerov) textového rozhrania.

Komunikáciu bude zabezpečovať jednoduché používateľské rozhranie. Pôjde o jednoduchý program, ktorý sprístupní požadovaný rozvrh zobrazením textového súboru, ktorý ho obsahuje. Používateľovi dovolí zvoliť si požadovaný ročník, krúžok alebo pedagóga.

Komunikáciu s Katedrovým Informačným Systémom (KIS) bude zabezpečovať odkaz z prostredia KIS-u, ktorý spustí používateľovi systém rozvrhov. Je tu možnosť upraviť systém rozvrhov tak, aby využíval úložištia používané KIS-om, odkiaľ by získaval potrebné informácie pre tvorbu a zobrazenie rozvrhov. Úložištia KIS-u by mohol prípadne dolpniť o vlastné špecifické úložištia.    

Prístup používateľov

Prístup používateľov bude zabezpečovaný systémom hesiel, pričom budú existovať tri úrovne ochrany:

  1. Používateľ
  2. Najvyšší stupeň ochrany. Používateľ s týmto stupňom ochrany môže používať systém rozvrhov na zobrazenie požadovaného rozvrhu, prípadne jeho vytlačenie na tlačiarni. Nemôže tvoriť nový ani modifikovať existujúci rozvrh, takisto nemôže napĺňať úložištia, ktoré systém používa.

  3. Pedagóg
  4. Stredný stupeň ochrany. Používateľ s týmto stupňom ochrany môže modifikovať určité úložištia v systéme (pedagógov a predmetov) a zadávať obmedzenia na výuku. Takisto môže systém používať rovnakým spôsobom ako pri prvej úrovni ochrany.

  5. Zadávateľ
  6. Bez ochrany. Používateľ s týmto stupňom ochrany môže vykonávať všetky činnosti, ktoré boli spomenuté pri predchádzajúcich stupňoch a okrem toho môže napĺňať všetky úložištia údajov, vytvárať a modifikovať rozvrh.



Tímový projekt
Školský rok 1998/99