1 / 28

Kontakt: Marián Slašťan, slastan @ dcs.fmph.uniba.sk Pavol.Mederly@fmph.uniba.sk Literat úra:

Kontakt: Marián Slašťan, slastan @ dcs.fmph.uniba.sk Pavol.Mederly@fmph.uniba.sk Literat úra: Ian Sommerville: Software Engineering, 6th Edition, Pearson Education, 2001 www.uniba.sk/www/sw-eng (len slajdy!) ( ostatná literatúra k príslušným prednáškam) Cieľ prednášky. Softv ér.

pelham
Télécharger la présentation

Kontakt: Marián Slašťan, slastan @ dcs.fmph.uniba.sk Pavol.Mederly@fmph.uniba.sk Literat úra:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kontakt: • Marián Slašťan, slastan@dcs.fmph.uniba.sk • Pavol.Mederly@fmph.uniba.sk • Literatúra: • Ian Sommerville: Software Engineering, 6th Edition, Pearson Education, 2001 • www.uniba.sk/www/sw-eng (len slajdy!) • (ostatná literatúra k príslušným prednáškam) • Cieľ prednášky

  2. Softvér • Spoločnosť závisí od schopnosti efektívne vyvíjať a prevádzkovať SW (priemysel, štátna správa, školstvo zdravotníctvo, ...) • Druhy SW produktov: • podpora činnosti organizácie (Business SW) • systémový softvér • SW bežiaci v reálnom čase (1 ms – 1 min.) • SW ako súčasť iných produktov • SW pre vedecké a inžinierske účely • SW pre osobné počítače • SW v oblasti umelej inteligencie • ...

  3. Generické SW produkty • požiadavky formuluje marketingové oddelenie a sú voľnejšie • Produkty vytvárané na objednávku • požiadavky formuluje zákazník a sú striktnejšie (zmluva)

  4. Produktivita pri vývoji SW • 1968 – softvérová kríza (konferencia NATO) • Máme poznatky, ale ... • nie sú dostatočné • prax často nerešpektuje základné zásady • Cca. ½ projektov prekračuje plánovaný rozpočet

  5. produkt dodaný podľa špecifikácie a používaný............................................. • produkt nedodaný................................ • produkt dodaný, ale nepoužívaný........ • používaný až po prepracovaní............. • dodaný a používaný po úpravách........ 5% 15% 10% 15% 55%

  6. Hlavné problémy • prekračovanie rozpočtu a termínu • nesplnenie používateľských požiadaviek • neuspokojivá kvalita produktu

  7. správnosť robustnosť flexibilnosť znovupoužiteľnosť kompatibilnosť efektívnosť portabilnosť verifikovateľnosť jednoduchosť používania ... Kvalita (Nie všetky naraz!) • Interné faktory kvality: • modulárnosť • zrozumiteľnosť kódu • ...

  8. No Silver Bullet • ťažko očakávať „čarovný prútik“ ... • ... ale je možné pozorovať trvalý nárast produktivity (cca 6% ročne) • Softvérové inžinierstvo sa zaoberá teóriou, metódami a nástrojmi potrebnými pre vývoj softvéru.

  9. Proces vývoja softvéru = množina aktivít, ktorej výsledkom je softvérový produkt.

  10. Role v procese vývoja SW • zadávateľ (zákazník/klient) • riešiteľ (developer) • používateľ • prevádzkovateľ • ...

  11. Činnosti v procese vývoja SW • Špecifikácia požiadaviek • cieľ: vytvorenie uceleného popisu požiadaviek na produkt (z pohľadu zadávateľa) • obsahuje: popis funkcií produktu a prípadne aj popis štruktúry objektov, resp. relevantných procesov v organizácii zadávateľa • problémy: • zadávateľ si nevie predstaviť, ako bude výsledný systém vyzerať • zadávateľ nevie, čo potrebuje • popis musí byť jednoznačný, úplný a vnútorne konzistentný • prostriedky: (štruktúrovaný) prirodzený jazyk, prípadne diagramy

  12. Jednoznačné ? • „3.4.A. Z terminálu sa načíta identifikátor súčiastky nasledovaný identifikátorom kontajnera. Ak tento obsahuje písmená AQ, treba cenu prenesenia danej súčiastky do daného kontajnera násobiť koeficientom 1,5.“ • Konzistentné ? • „A2. Ak tlak v pracovnej nádobe presiahne 10 atmosfér, je potrebné okamžite uzavrieť ventil M17.“ • „F5a. Ak tlak v pracovnej nádobe presiahne 10 atmosfér, je potrebné upovedomiť operátora. Ak operátor nezareaguje do 30 sekúnd, treba uzavrieť ventil M17.“ • Výsledkom je záväzná špecifikácia požiadaviek, podpísaná zadávateľom aj riešiteľom.

  13. Analýza a návrh = vytvorenie popisu riešenia • vytvorenie architektúry (výber z možných alternatív) • rozdelenie na moduly (vrstvový model, centralizované/decentralizované dáta, ...) • spôsob riadenia (call-return, event-based, ...) • rozdelenie na počítače (fyzická architektúra) • ... • detailný návrh (popis algoritmov, dát, detailov UI) • Treba zaznamenať rozhodnutia! (kvôli zmene, kvôli údržbe)

  14. Implementácia a testovanie modulov • naprogramovanie jednotlivých modulov • vytvorenie dokumentácie (programátorskej, používateľskej) • testovanie modulov • neformálne (programátorom) • formálne (s vopred určenými vstupmi) • revízia kódu

  15. Integrácia a testovanie systému • spájanie modulov a testovanie produktu ako celku • spôsob spájania má vplyv na výsledný produkt • testovanie: • počas integrácie (integračné testovanie) • testovanie celého produktu (funkčné, nie-funkčné vlastnosti), kompletnosť dokumentácie a zdrojových kódov • akceptačné testovanie (u zadávateľa)

  16. Prevádzka a údržba • Údržba je integrálna súčasť vývoja – predstavuje ½ až 2/3 nákladov • Treba na ňu myslieť od začiatku – pri návrhu, pri písaní kódu, pri dokumentácii

  17. Riadenie projektu • Odhadovanie • Plánovanie (čas, peniaze, ľudia, technika) • Organizácia práce • Sledovanie realizácie plánu a prijímanie potrebných opatrení • Práca s ľuďmi

  18. Zabezpečovanie kvality • zabezpečovanie „kvality procesu“ • príprava štandardných pracovných procedúr • kontrola ich uplatňovania • meranie efektívnosti procesu • posudzovanie kvality medziproduktov • (process improvement)

  19. Správa konfigurácií a riadenie zmien • Zabránenie nekontrolovaným zmenám vo vytváraných dokumentoch a programoch • Všetky dokumenty sú v „skrini“, ku ktorej je regulovaný prístup • Zmeny v už vytvorených dokumentoch podliehajú zvláštnemu schváleniu

  20. Modely procesu vývoja SW • kvôli manažovateľnosti treba dať procesu vývoja istú štruktúru • existujú schématické štruktúry: modely procesu vývoja SW • neexistuje „dobrý“ a „zlý“ model

  21. Atribúty procesu vývoja SW • Proces vývoja (a čiastočne aj jeho model) má nasledujúce atribúty: • pochopiteľnosť • viditeľnosť • možnosť podpory • rýchlosť • Nie je možné všetky optimalizovať naraz (napr. rýchlosť vs. viditeľnosť)

  22. Vodopádový model procesu vývoja SW

  23. Sekvenčne usporiadané etapy zodpovedajúce jednotlivým aktivitám • pred začatím etapy musí byť predchádzajúca etapa ukončená (vrátane dokumentácie) • napriek tejto snahe je návrat často nevyhnutný • Historicky prvý explicitný model procesu (1970), vychádza z procesu v ostatných disciplínach • Existuje mnoho variantov

  24. Prednosti: disciplína dokumentácia viditeľnosť požiadavky sú známe vopred Nedostatky: riziko nepochopenia požiadaviek vývojármi problémy pri zmene požiadaviek „všetko alebo nič“ Prednosti a nedostatky

  25. Inkrementálny model procesu vývoja SW • vývoj prebieha po jednotlivých inkrementoch • inkrement je časť celkovej funkčnosti produktu (nejde nutne o skupinu modulov) • príklad: predaj kníh cez internet • práca s katalógom kníh (zobrazenie, vyhľadávanie, ...) • registrácia používateľov • objednávanie kníh • ... • príklad: operačný systém • scheduler • file system • ...

  26. Prednosti: prevádzkyschopný medziprodukt je k dispozícii rýchlo skúsenosti s prevádzkou pomáhajú pri špecifikácii požiadaviek lepšia návratnosť investícií ľahšie zapracovanie zmien možnosť nasadzovať po častiach keď sa vývoj neukončí, je k dispozícií aspoň čiastočný výsledok Nedostatky: náročnejší na vývoj aj riadenie nutná je otvorená architektúra (nevýhoda?) Vlastnosti inkrementálneho modelu

  27. Sylaby • Implementácia • Návrh - OO paradigma, UML, architektúra • Špecifikácia požiadaviek - Use Cases • Verifikácia a validácia • Riadenie projektu

More Related