Softvérové inžinierstvo 1

 

Softvérové inžinierstvo  I.

 

Informácie k projektu

Obsah projektu SWI 1

Celkový projekt by mal obsahovať:

Ekonomický model:

- Organizačný diagram

- Hierarchický diagram funkcii

- Relačná matica

- Diagram funkčných závislostí, (Process Dependency Diagram)  - 3diagramy

Informačný systém:

- Hierarchický diagram funkcií IS - informačných

- Diagram dátových tokov – 3 diagramy

- Dátový diagram : - Chenov diagram - konceptuálny model

                                - Normalizovaný model

+  Metóda COCOMO  na výpočet predbežných nákladov na softvérový projekt (bližší popis dostanete v priebehu semestra)

+  Vytvorenie Dátového slovníka (bližší popis dostanete v priebehu semestra)

* * *

Požiadavky na projekt

Projekt bude obsahovať:

  • Model existujúceho systému, obsahujúci nie len informačné činnosti (20% z rozsahu projektu)
  • Model nového systému. (80% z rozsahu projektu)
  • Použité prvky (diagramy) pre model nového systému:
  • Špecifikácia požiadaviek a referencie (normy, zákony smernice), ktoré ovplyvňujú požiadavky
  • Hierarchický diagram funkcií a relačná matica
  • Diagram dátových tokov (cca 9 diagramov na všetkých úrovniach)
  • Dátový slovník
  • DB Model (konceptuálny a logický model, voliteľne aj fyzický)
  • Diagram prechodu stavov
  • Minišpecifikácie pre všetky procesy z diagramov dátových tokov na najnižších úrovniach
  • Testovacie scenáre nie je potrebné
  • Výpočet predbežných nákladov na projekt (metóda COCOMO II)

Požiadavky na systém je potrebné rozumne obmedziť tak aby boli všetky diagramy medzi sebou konzistentné. (Opačný prípad - príliš málo požiadaviek nastáva zriedka)

 
Vzor projektiu je na moodle
 
Projekt sa odovzdáva vo formáte PDF.
 
* * *
 

Zadanie projektu

K zadaniu pribudnú ešte požiadavky na formálnu úpravu projektu.

Zadanie môže byť do 25.11 mierne modifikované/upresnené

Parkovací systém

Parkovací systém umožňuje automatizovanú správu parkovacieho domu.

Popis funkcie:

  1. Parkovací systém umožňuje parkovať za poplatok v parkovacom dome.
  2. V závislosti od doby parkovania sa mení cena parkovného. Prvé dve hodiny sú zadarmo. Potom je každá hodina za 2 euro. Po prekročení 5h parkovania je parkovné 1 euro za hodinu. Maximálne denné parkovné je 20 euro.
  3. Ľudia pracujúci v blízkosti parkovacieho domu si môžu kúpiť parkovaciu kartu, ktorá je dvoch typov: kreditná, časová. Kreditná parkovacia karta umožňuje parkovať v parkovacom dome so zľavou 40%. Časová parkovacia karta je vydaná na určité časové obdobie a počas tohto obdobia má jej držiteľ parkovanie bezplatné.
  4. Kreditnú parkovaciu kartu je možné v parkovacom systéme nabiť.
  5. Cez víkendy a štátne sviatky je parkovanie bezplatné
  6. Parkovací systém eviduje koľko má voľných parkovacích miest vzhľadom na počet aut, ktoré vyšli a vošli
  7. Parkovací systém eviduje informácie o tom, v ktoré dni resp. hodiny je parkovací dom najviac vyťažený.
  8. Ak parkujúci nakúpi v obchodnom dome, ku ktorému patrí parkovací dom, získa zľavu na parkovnom vo výške 20%. Túto zľavu získa predložením parkovacej karty v obchodnom dome. Zľava neplatí pre držiteľov kreditnej a časovej parkovacej karty.
  9. Všetky uvedené sumy a zľavy ako aj časové obmedzenia je možné v parkovacom systéme meniť.

 

* * *

1

  1. Čo je to softvérové inžinierstvo (aspoň dve definície)?
  2. Aký je rozdiel medzi inžinierstvom a vedou?
  3. Čo je to softvérová kríza?
  4. F. Brooks definoval dve kategórie dôvodov prečo je vývoj sw náročný (a teda aj prečo existuje sw kríza) aké sú tieto dve kategórie?
  5. Prečo F. Brooks považuje neviditeľnosť za dôvod prečo je vývoj sw náročný?
  6. Prečo F. Brooks považuje prácu v tíme za dôvod prečo je vývoj sw náročný?
  7. Aké sú ďalšie dôvody podľa F. Brooksa?
  8. Je podstata sw krízy vyriešená?
  9. Akým spôsobom pomáha jednotné programovacie prostredie k prekonávaniu sw krízi?
  10. Aký je to prístup "pestovať nie stavať" k vytváraniu programového systému?
  11. Aký je rozdiel medzi metódou, metodikou a metodológiou
  12. Čo je to informačný systém?
  13. Aký je rozdiel medzi programom a programovým systémom (okrem ceny)?
  14. Aký je rozdiel mezi softvérovým procesom a modelom softvérového procesu?
  15. Aký je rozdiel medzi systémom a informačným systémom (na príklade)?
  16. V ktorých prípadoch nie je možné urobiť analýzu existujúceho IS?
  17. Aká je súvislosť medzi organizačným diagramom a hierarchickým diagramom funkcií?
  18. Na príklade izbovej klimatizácie demonštrujte funkčný prístup k analýze systému zhora nadol.
  19. Na príklade robocopa demonštrujte funkčný prístup k analýze systému zdola nahor.
  20. Na príklade príjmačiek na vysokú školu demonštrujte dátový prístup k analýze systému.

 

* * *

2

  1. Prečo je vhodnejšie nazývať jednu z fáz sw procesu Evolúcia namiesto napr. prevádzka a údržba?
  2. Aký je rozdiel medzi softvérovým procesom a softvérovým projektom?
  3. Aké sú možnosti vývoja SW?
  4. Aký je vzťah medzi prirodzenými systémami a ľudmi vytvorenými systémami
  5. Ktoré činnosti by mali mať podporu v automatizovanom informačnom systéme?
  6. Čo znamená ak v priesečniku v relačnej matici (metóda BSP/ISP) nie je možné nič vyplniť (tj. ani K-kontroluje, ani V-vykonáva apod)?
  7. Akým spôsobom by sa pri vývoji softvéru mala zohľadniť vlastnosť komplexných systémov: relatívne primitíva?
  8. Akým spôsobom by sa pri vývoji softvéru mala zohľadniť vlastnosť komplexných systémov: stabilné prechodné formy?
  9. Akým spôsobom by sa pri vývoji softvéru mala zohľadniť vlastnosť komplexných systémov: spoločné vzory?
  10. Akým spôsobom by sa pri vývoji softvéru mala zohľadniť vlastnosť komplexných systémov: hierarchická štruktúra?
  11. Akým spôsobom by sa pri vývoji softvéru mala zohľadniť vlastnosť komplexných systémov: oddelenie záujmov?
  12. Aký je rozdiel medzi systémovým, štruktúrovaným a objektovým prístupom k analýze informačných systémov?
  13. Aké dva základné prístupy k modelovaniu systémov používa štruktúrovaný prístup?
  14. Aké ďalšie prístupy pozná funkčý prístup k modeloveniu systémov?
  15. Aké modely vytvárame pri analýze systémov?
  16. Ako môžeme členiť systémy?