Modelovanie softvéru 2023/24

Projekt


Podstatnou súčasťou predmetu je realizácia projektu tvorby modelu softvérového systému. Projekt pozostáva z nasledujúcich častí:

  1. Zámer projektu (5 b)
  2. Prípady použitia (15 b)
  3. Iniciálny model správania v UML (8 b)
  4. Objekty, triedy a interakcia (18 b)
  5. Komponenty (6 b)
  6. Kód (8 b)
  7. Algebraická špecifikácia (5 b)
  8. Model vlastností (nepovinná časť; môže kompenzovať najviac 5 b)

Všetky časti projektu okrem časti 8 (model vlastností) sú povinné. Bez ich odovzdania na akceptovateľnej úrovni nie je možné absolvovať predmet.

V zátvorkách je uvedené maximálne bodové hodnotenie každej časti projektu. Súčasťou hodnotenia projektu je aj kvalita práce na cvičeniach (pripravenosť, aktivita a úroveň prezentovania progresu), za ktorú vyučujúci na cvičeniach do záverečného hodnotenia pridelí maximálne 5 bodov. Celkovo za projekt tak možno získať 70 bodov. Časť 8 môže kompenzovať 5 b v rámci týchto maximálných 70 bodov.

Projekt končí individuálnou prezentáciou. Pri prezentácii sa vyžaduje jasne koncipovaný výklad s poukázaním na najzaujímavejšie časti modelu. V rámci obhajoby sa očakáva korektné zodpovedanie otázok vyučujúceho na cvičeniach. Prezentácia a obhajoba projektu môže vplývať na zvýšenie alebo zníženie hodnotenia projektu do 30% (nie je možné prekročiť maximálne hodnotenie).

Významnú časť projektu vypracujete v nástroji Enterprise Architect (EA). Všetky diagramy pritom dopĺňate do toho istého projektu v EA tak, aby tvorili konzistentný celok.

Termíny odovzdávania sú uvedené v plane cvičení. Všetky časti projektu sa odovzdávajú do systému AIS, pre čo budú vytvorené zodpovedajúce miesta odovzdania. Miesta odovzdania budú vytvorené aj pre odovzdanie pracovných verzií projektu, prostredníctvom ktorých dokladáte aktívny prístup k realizácii projektu.


Časť 1: Zámer projektu

Vypracujte zámer projektu ako spresnenie rámcovej témy tak, aby bolo jasné, aký softvérový systém budete modelovať. Projekt výstižne pomenujte. K zámeru pripojte opis jedného prípadu použitia, ktorý pokladáte za charakteristický pre váš projekt. Očakávaný rozsah zámeru projektu je 200–300 slov nepočítajúc prípad použitia.

Dokument odovzdajte vo formáte PDF. Píšte s použitím diakritiky. Nezabudnite v dokumente uviesť svoje meno.

Zámer projektu podlieha schváleniu a prípadným úpravám zo strany vyučujúceho na cvičeniach. Využite preto cvičenia pred termínom odovzdaním na prekonzultovanie jeho predbežného znenia.

Odovzdáva sa: dokument so zámerom projektu (PDF)

Hodnotenie časti 1

Spôsob hodnotenia je nasledujúci:

^


Časti 2 a 3: Prípady použitia a iniciálny model správania v UML

Časť 2: Prípady použitia. Vytvorte model prípadov použitia, ktorý zodpovedá zámeru vášho projektu. Model prípadov použitia pozostáva z textového vyjadrenia prípadov použitia a tomu zodpovedajúcich diagramov prípadov použitia v UML.

Opis prípadov použitia dodajte v samostatnom súbore (PDF). Diagramy prípadov použitia vypracujte a dodajte ako model v EA. Opis prípadov použitia má byť konzistentný vo zvolenej notácii: Jacobsonovej, Cockburnovej alebo aj inej, prípadne aj s vlastnými prispôsobeniami (konzultujte s vyučujúcim na cvičeniach). V dokumente opíšte konvencie notácie, ktoré platia pre váš model.

Snažte sa o to, aby medzi prípadmi použitia bol aspoň jeden vzťah include, jeden vzťah extend a jeden vzťah generalizácie, a to medzi prípadmi použitia, ktoré sú opísané (uvedené sú kroky ich tokov).

Prípady použitia organizujte do diagramov podľa predmetu (subject). Samotné diagramy prípadov použitia (nie jednotlivé prípady použitia) opíšte priamo v EA ako keby ste opisovali príslušný predmet. Z tohto opisu by malo byť jasné prečo sú dané prípady použitia uvedené spolu.

Časť 3: Iniciálny model správania v UML. Pre vybrané prípady použitia (ich toky) vypracujte diagramy sekvencií a pre tie isté prípady použitia aj diagramy aktivít (aby ste mohli konfrontovať tieto techniky). Použite pokročilé prvky diagramov sekvencií a diagramov aktivít.

K prípadom použitia, pre ktoré ste vypracovali diagramy sekvencií a diagramy aktivít, v príslušných diagramoch uveďte zodpovedajúce kolaborácie s rolami, ktoré vyplynuli z (opisov) prípadov použitia, a ktoré sa prejavujú v diagramoch sekvencií (typy línií života) alebo v diagramoch aktivít (typy prenášaných objektov).

Odovzdáva sa:

Hodnotenie časti 2 (prípady použitia)

Aby táto časť projektu mohla byť hodnotená nenulovým počtom bodov, musí zodpovedať zámeru projektu, rámcovému zadaniu a spĺňať nasledujúce podmienky:

  1. Diagramy prípadov použitia musia byť súčasťou modelu v EA.
  2. Musí byť opísaných aspoň 6 prípadov použitia s netriviálnymi tokmi. Ak sú prípady použitia typu CRUD pre danú entitu rozpísané do samostatných prípadov použitia, všetky tieto prípady použitia sa počítajú ako jeden. V prípadoch použitia sa musí vyskytovať aspoň jeden alternatívny tok mimo vzťahu extend.
  3. Model v EA musí byť dodaný vo verzii, licenciou ktorej disponuje fakulta.
  4. Táto časť projektu musí byť odovzdaná do AIS-u a prezentovaná aspoň raz v pokročilom štádiu rozpracovania pred jej záverečným odovzdaním.

Spôsob hodnotenia tejto časti projektu je nasledujúci:

Hodnotenie časti 3 (iniciálny model správania v UML)

Aby táto časť projektu mohla byť hodnotená nenulovým počtom bodov, musí zodpovedať zámeru projektu, rámcovému zadaniu a spĺňať nasledujúce podmienky:

  1. Pre tri prípady použitia (ich toky) musia byť vypracované diagramy sekvencií a pre tie isté tri prípady použitia aj diagramy aktivít.
  2. Model v EA musí byť dodaný vo verzii, licenciou ktorej disponuje fakulta.
  3. Táto časť projektu musí byť odovzdaná do AIS-u a prezentovaná aspoň raz v pokročilom štádiu rozpracovania pred jej záverečným odovzdaním.

Spôsob hodnotenia tejto časti projektu je nasledujúci:

^


Časti 4–6: Detailný model v UML a kód

Časť 4: Objekty, triedy a interakcia. Triedy a rozhrania, ktoré tvoria architektonický základ systému, a triedy a rozhrania identifikované prostredníctvom iniciálneho modelu správania, ktorý je výsledkom predchádzajúcej časti projektu, znázornite v diagramoch tried ako základnom modeli štruktúry systému. Dbajte na zrozumiteľnosť v zmysle adekvátneho pomenovania a rozloženia prvkov v diagramoch. Využite viaceré diagramy s primeraným počtom prvkov, ktorými zachytíte dôležité pohľady na systém (jeden prvok sa môže vyskytovať vo viacerých diagramoch). Výstižne pomenujte tieto pohľady, t. j. diagramy tried.

Identifikácií tried môže predchádzať identifikácia kľúčových objektov a súvislostí medzi nimi prostredníctvom tzv. diagramu objektov. Ten sa v UML pokladá iba za špeciálny prípad diagramu tried. Aj keď je jednoduchý, má výhodu znázornenia predstavy o fungujúcom systéme bez nutnosti zaoberania sa implementačnými mechanizmami. Identifikujte zaujímavú konfiguráciu objektov a znázornite ju diagramom objektov. Znázornite niekoľko variantov naplnenia tejto konfigurácie objektov ďalšími diagramami objektov, napríklad pred a po ich interakcií vyjadrenej diagramom sekvencií, čo vám môže pomôcť pri identifikácií stavov.

Triedy organizujte do balíkov. Medzi balíkmi identifikujte závislosti, ktoré znázornite v diagrame balíkov. Závislosti medzi balíkmi majú reflektovať závislosti medzi ich prvkami.

Použite diagramy sekvencií na špecifikáciu vybraných metód. Koncipujte ich korektne, vrátane modelovania vyvolania špecifikovanej metódy ako nájdenej správy (found message).

Uplatnite stavové diagramy na vyjadrenie stavového priestoru objektov vybraných tried, systému alebo časti systému. Dbajte o logický výber stavov, správne používanie pseudostavov a správne modelované udalosti.

Podmienky v modeli sa snážte vyjadriť v OCL. Zvlášť vhodnou príležitosťou je vyjadrenie predpokladov, dôsledkov a invariantov pri operáciách.

Časť 5: Komponenty. Použite diagram komponentov na vyjadrenia architektúry. Interakciu komponentov vyjadrite diagramami sekvencií. Vnútornú štruktúru a prepojenie vybraných komponentov znázornite diagramom kompozitnej štruktúru.

Časť 6: Kód. K vybranej časti modelu uveďte zodpovedajúci kód vo vami zvolenom programovacom jazyku. Identifikujte a opíšte súvis kódu s architektúrou a prípadmi použitia.

Odovzdáva sa:

Hodnotenie časti 4 (objekty, triedy a interakcia)

Aby táto časť projektu mohla byť hodnotená nenulovým počtom bodov, musí zodpovedať zámeru projektu, rámcovému zadaniu a spĺňať nasledujúce podmienky:

  1. Model v EA musí byť dodaný vo verzii, licenciou ktorej disponuje fakulta.
  2. Táto časť projektu musí byť odovzdaná do AIS-u a prezentovaná aspoň raz v pokročilom štádiu rozpracovania pred jej záverečným odovzdaním.

Spôsob hodnotenia tejto časti projektu je nasledujúci:

Hodnotenie časti 5 (komponenty)

Aby táto časť projektu mohla byť hodnotená nenulovým počtom bodov, musí zodpovedať zámeru projektu, rámcovému zadaniu a spĺňať nasledujúce podmienky:

  1. Model v EA musí byť dodaný vo verzii, licenciou ktorej disponuje fakulta.
  2. Táto časť projektu musí byť odovzdaná do AIS-u a prezentovaná aspoň raz v pokročilom štádiu rozpracovania pred jej záverečným odovzdaním.

Spôsob hodnotenia tejto časti projektu je nasledujúci:

Hodnotenie časti 6 (kód)

Aby táto časť projektu mohla byť hodnotená nenulovým počtom bodov, musí zodpovedať zámeru projektu, rámcovému zadaniu a spĺňať nasledujúce podmienky:

  1. Kód sa dá spustiť.
  2. Ku kódu je poskytnuté vysvetlenie.

Spôsob hodnotenia tejto časti projektu je nasledujúci:

^


Časť 7: Algebraická špecifikácia

Použite algebraickú špecifikáciu na vyjadrenie vybranej triedy z vášho modelu. Špecifikáciu vyjadrite v samostatnom textovom súbore (odovzdajte najlepšie v tvare PDF). Vyznačte jasne všetky štyri časti algebraickej špecifikácie: typy, funkcie, axiómy a predpoklady. Dbajte o úplnosť funkcií a axiómov. Špecifikáciu krátko vysvetlite.

Odovzdáva sa: dokument s algebraickou špecifikáciou (PDF)

Spôsob hodnotenia tejto časti projektu je nasledujúci:

^


Časť 8 (nepovinná): Modelovanie vlastností

Zahyťte variantnosť vybranej časti vášho systému modelom vlastností. Očakávaný rozsah je okolo desať vlastností. Model vlastností sa odovzdáva ako samostatný PDF dokument.

Model vlastností uveďte vo forme jedného alebo viacerých diagramov vlastností s príslušnými dodatočnými ohraničeniami uvedenými vo forme textu. Každú vlastnosť krátko opíšte (stačí jednou vetou), aby bolo jasné, čo predstavuje.

Variabilné vlastnosti dajte do súvisu s príslušnými prvkami alebo časťami konfigurovaného modelu.

^


fiit.stuba.sk/~vranic/msoft