Tyto texty obsahuji hodne zjednudusenych zapisu (vymyslel jsem je ja, takze nemusi byt spravne mohou byt deformovane ci zobecnene).
Pri zapisu jsem nepouzival dekompozici, nevytvarel jsem ani specifikaci.
Pri psani tohoto zapisu nebylo zraneno zadne zvire.
dekompozice deli problemy na mensi celky, ktere se dale lepe zpracovavaji
Lepsi zvladnuti problemu (velke problemy se v celku nedaji zvladnout)
Delba prace
moznost vyvyjet jednotlivych celku nezavisle
moznost testovat jednotlive casti
Pamatovat
Etapy vyvoje, nutne cinnosti, vstupy a vystupy etap
Rozdily v modelech jsou v posloupnosti etap.
transformaci neformalnich pozadavku na formalni
provedeni studie vhodnosti
planovani akceptacnich testu.
V podstate upresnuje architektonicky navrh
rozdeleni lidskych zdroju
plan testu a testovacich dat
plan algoritmu (ktere na co a proc)
plan soucasti (provedla se dekompozice.. tak se rekne kdo, co a jak udela)
ten nadpis se mi zda dost debilni
(testovani je ve vsech castech pred implementaci se ale testy pouze planuji)
Vypracovani dokumentace
Programova realizace (a ja si vzdycky myslel ze toto hlavne vyplyva ze slova implementace.. no co..)
Zacatek skoleni
Testovani jednotlivych casti (ne celku ten az pri integraci, az se jednotlive casti spoji.)
nazev by napovidal, ze zde se k testovani nedostaneme.. opak je vsak pravdou
Dalsimu skoleni dalsich zamestnancu
nasazeni softwaru (jak vyplyva z nadpisu)
Prevzeti systemu zakaznikem
opravy chyb, rozsirovani a upravovani systemu
reseni problemu (nemusi to byt jenom chyby)
cokoli dalsiho co se muze pri provozu naskytnout
Definuji posloupnosti jednotlivych kroku (etap)
NEdefinuji ale jejich delku a rozsah
Kazda etapa vytvari realne vystupy.
Vypada zhruba takhle
| Pozadavky | ⇔ | Navrh | ⇔ | Implementace(testovani jednotek) | ⇔ | Testovani systemu | ⇔ | Provoz, Udrzba |
Sipky vedou tam i zpet (zpet tensi)
Pamatuju si to podle Po-na-im-te-pr(Úd) nevim proc me to pripomina slovo Imhotep (Asterix a Obelix) no a Úd si snad zapamatuje kazdy.
+ Pri stalych pozadavcich zarucuje nejlepsi strukturu
- Zakaznik vidi spustitelnou verzi pozde
- Realne projekty nesleduji etapy v definovanem poradi.
-
(Varianta vodopadoveho modelu s durazem na testovani)
Vypada asi takhle (neni tezke si ho zapamatovat)
Aalyza pozadavku
planovani akcept. testu | ↓ | | Akceptacni testovani |
Architektonicky navrh
planovani testu systemu | ↓ | ↑ | Testovani systemu |
Podrobny navrh
planovani testovani casti systemu | ↓ | ↑ | Testovani casti systemu |
| | Implementace | ↑ |
Model je usporadany do tvaru V a jsou to v zasade opsane etapy zivotniho cyklu softwaru..
System se vyviji v iteracich
je to sice napsane v nadpisu ale bylo to i v bodech… takze to tam proste napisu
System se teda vyvyji v iteracich no..
Horsi vysledna struktura
Predem se stanovi ucelene casti, ktere se pak predavaji uzivateli
S ⇒ N ⇒ I ⇒ T → → S ⇒ N ⇒ I ⇒ T
S:Specifikace, N:Navrh I:Implementace T:Testovani;
SNIT se dobre pamatuje treba jako snít..
Ten se blbe pamatuje i prepisuje sem… (alespon me)
ma ctyri casti jako osovy kriz:
Realizace
Testovani | Planovani |
| Vyhodnoceni rizik | specifikace |
Specifikace je prazdna…
ve specifikaci postupne v patrech:
plan zivotniho cyklu a v dalsim kole plan vyvoje (planem se zacina)
Specifikace je prazdna
ve vyhodnoceni je po patrech: analyza rizik, prototyp; a znovu analyza rizik a prototyp
v realizaci je po patrech: SW pozavadky; Navrh, implementace, trestovani
Po sobe to teda jde
Plan ziv. cyklu, vyhodnoceni anal.rizik, prototyp, sw pozadavky, plan vyvooje, vyhodnoceni anal. rizik. prototyp. navrh, implementace, testovani. kdyz se to nakresli spravne, mnela by v tom byt videt iterace
Ma graf… horizontalni casti: zahajeni, rozpracovani, konstrukce, zavedeni; vertikalni casti: pozadavky, analyza, navrh. implementace, testovani.
v podstate se postupne jakoby prekryvaji a kazdy dalsi se pomalu posouva v pravo… jen testovani zacina az v rozpracovani a iteruje porad dokola..
Zde je zas po kazde iteraci spustitelny kod
provadi se kontrola kvality
Modely a vizualizace (UML a tak dal. to co do nas tloukli cely semestr… 2x )
Zakaznik
Sponzoruje vyvoj
Spocifikuje pozadavky
Dodavatel
Vyviji (ma zavazky k zakaznikovi)
Komunikuje, testuje.. (proste se stara)
Uzivatel
Upresnuje pozadavky
Testuje a pouziva system
Programator
Navrhuje technicke reseni
implementuje, opravje, castecne, testuje
ma jasne danou praci, primo viditelny vysledek
analytik
Vytvareni cile, specifikace
musi umet komunikovat
nejasne ohraniceni prace
Programator travi nejvice casu komunikaci a ostatnim (treba osobnimi vecmi)
Cil analyzy a specifikace je ustanoveni sluzeb (a jejich podminek), ktere zakaznik pozaduje a dodavatel poskytne.
Funkcionalni (co bude system delat)
Na provoz (jak to byde delat)
Na vysledny system (na cem musi system fungovat a t.d.)
Na rozhrani (jak bude software vypadat, vstupy/vystupy)
Na vyvoj (vo bude pouzito, jak se bude postupovat)
Externi (legislativa….)
Studie vhodnosti slouzi k urceni realnosti vytvoreni systemu s danymi vlastnostmi v danych podminkach
Vyrazeni (pri popisu se vynecha treba jen jedno slovo.. popis pak neni jasny)
Deformace (deformace (pokrouceni) nedokonale vyscetleni problemu)
Zobecneni (popis je skoro stejny jako u deformace zobecneni je ale zabaleni problemu do jednodussiho, ktery ale nepopisuje vse)
Vyuziva se uml USE CASE a DATA FLOW DIAGRAMY
Use case popisuje ucastniky systemu a jejich moznosti v systemu.
DFD popisuje tok a sklady dat v systemu.
Popisuje datove sklady a tok dat v systemu
Soubor peostredku(objekty, tridy, UML,….) a metodologin(napr. RUP,…..)
Vyssi stabilita prvku z pohledu menicich se pozadavku
Abstrakce (zobecneni, zjednoduseni problemu)
Zapouzdreni (seskupeni funkcionality do jednotek)
polymorfismus stejne rozhrani muze byt implementovano ruzne)
Dedicnost (moznost dedit atributy a vlastnosti od nadrazeneho objektu, sdilet jeho chovavni (vytvareni objektu na zaklade jiz existujicich))
Reprezentuji data zapouzdrena v objektu
Atribut je vlastnosti objektu
neni to promenna (to ale nesouvisi s implementaci)
Objekty lze dale seskupovat do trid
Trida je mnozina objektu, se stejnym chovanim
Objekt je instanci tridy ⇒ vytvari se z ni, trida je predpis obejktu)
Smalltalk, C++, C#, Java
shodnost objektu ≠ identita objektu, Shodnost zavisi na stavu objektu. Shodne objekty nemusi byt identicke
Implementace je vybrana v dobe kompilace programu
Implementace je vybrana az za behu programu
Kdyz se mneni otec, muze se menit o syn
Urcuje se velikost elementu v pameti, moznosti prace s nimi.
Staticky typovane jazyky:
Dynamicky typovane jazyky:
Neplest statickou a dynamickou kontrolu s slabou a silnou
Silne a slabe datove typy popisuji moznosti a omezeni kombinace prace s datovymi typy
Strukturovana analyza a navrh chape system jako soubor funkci operujichch nad daty.
Obektove orientovana analyza a navrh chape system jako sobor vzajemne komunikujicich objektu
Jmeno entitni mnoziny slouzi k vyjadreni vyznamu vztahu.
Stupne vazby:
unarni ( vazba entitni mnoziny sama se sebou..
binarni ( vazba mezi dvema entitnima mnozinama)
ternarn ( propojuje tri tabulky… ale v zivote jsem ji nepouzil…)
Je to cetnost vztahu v dane vazbe 1..n———–1
Kardinalita je maximalni cislo..
To same jako kadinalita.. urcuje vlastne povinnost
1..n … je to povinne musi byt alespon jedna polozka..
0..n … neni to povinne → nemusi byt ani jednou.
Clenstvi je minimalni cislo.
nepouzivat slabe entitni mnoziny (nema vlastni identifikator (PK) pouziva cizi klic. Slaba mnozina nemuze existovat bez identifikujici mnoziny.)
entitni mnoziny jsou podstatna jmena (klient, ucet)
vztahove mnoziny jsou slovesa
mezi mnozinami muze byt vice vazeb
celkovy sestem by nemel byt zahrnut do ERD
Nahrazeni vztahu N:M (vazebni mnozinou prida se treri tabulka, v ktere bude moci byt pouzita vicekrat )napriklad limit uctu nepatri ani k uctu ani ke klientovi.. klient muze mit vice uctu a ucet vyuzivat vice klientu.. kazdy s jinym limitem.. lemit bude proto v dalsi tabulce
zachycuje chovani systemu v zavislosti na case
prechody mezi stavy a samotne stavy, ve kterych se system muze vyskytovat (delalo se to v projektech do INP a INC)
Udrzovatelnost je usili, ktere je treba vynalozit na upravu, udrzbu ci dalsi vyvoj software podle menicich se potreb zakaznika.
Prenositelnost je usili, ktere je treba vynalozit na prenos softwaru z jedne platformy na druhou
v praxi se pouziva kombinace obou pristupu.
verifikace zjistuje, jestli vytvarime vyrobek spravne podle pozadavku.
validace zjistuje, zda vytvarime spravny vyrobek (zda delame to co chhce zakaznik.)
Spravnost
Bezpecnost
Spolehlivost
Efektivnost
Spravnost cyrobku nepostacuje!
Dokonce spravnost vyrobku ani neni nevyhnutelná
Typy overeni jsou staticke a dynamicke.. Staticke nevyzaduji beh programu.
testovaci vstup se vybira na zaklade testovaciho kriteria
testovaci kriterium urcuje podminky, ktere musi splnovat mnozina testovacich vstupu ( napriklad pokryti vsech prikazu v programu)
Kdyz je testovaci kriterium spolehlive a platne a mnozina testovacich vstupu, ktere splnuji kriterium, neodhalim zadne chyby tak program neobsahuje chyby
Nahodne testovani
Funkcionalni testovani
na zaklade specifikace
metoda cerne skrinky
strukturalni testovani
testovani rozhrani
testovani zdola nahoru (od mensich casti po celky)
testovani shora dolu (od celku k mensim castem)
sendvicova testovani (kombinace dvou predchozich, moduly se deli do skupin logicke , funkcni-)
Jednofazove testovani (samostatne moduly a pak se naraz integruji. narocne vyhledavani mista chyby)
Testovani porovnavanim (vice verzi systemu na porovnani, vyvoj pro vice platform)
provadi se u uzivatele
uzivatel urcuje, zda produkt splnuje zadani
dalsi zmeny jiz predstavuji udrzbu
vztahuje se na zakazkovy software
Vyuziva se pro genericke softwarove vyrobky, kde neni mozne provest akceptacni testovani.
alfa- tam kde se vyvyji, testuje uzivatel, zname prostredi
beta- testuje uzivatel u sebe, podava zpravu, nezname prostredi
deleni na adaptivni vs. prediktivni, people-oriented vs. process-oriented.
requirements eneineering
fixni pozadavky
adaptivni metody
lide jsou zdroje, maji role
podstatne je mnozstvi, ne kvalita
clovek je komponenta systemu
vychazi z faktu, ze clovek ma promenne chovani a dva nejsou steji
clovek dokaze nejlepe rozhodnout, vsechny technicke otazky sve prace.
zaklad je komunikace
parove programovani, testovani, odhady ukolu
snazi se resit problemy co nejjednoduseji
male zmeny
management je proces koodrinace cinnosti skupiny lidi, ktery realizuje jednotlivec nebo skupina lidi za ucelem dosazeni stanovenych cilu. tyto cile se nedaji dosahnout jen praci jednotlivce.
je to celkem jasne proste cyklus jak by se mel chovat manazer
je to graf.. vypada jako krkonose.. znazornuje jak se prekryvaje ruzne casti vyvoje.. sem dostanu leda obrazek
Predchozi ch nekolik tucnych radek oznacuje jenom nadpisy techto casti.. ale podle nich si snad kazdy odvodi, co zhruba popisuji
Souhrn vlastnosti, produkru, ktere urcuji jeho schopnost plnit pozadavky uzivatele.
Softeware bez chyb ≠ kvalitni software
velikost, pocty radek, pocet modulu,rozsah dokumentace
spolehlivost
MTBF = MTTF+MTTR (stredni doba mazi vypadky)
MTTF = stredni doba do nasledujiciho vypadku
MTTR = stredni doba opravy
dostupnost = MTTF/MTBF *100 [%]
slozitost
chyby
udrzovatelnost
Open Source neni software zdarma.. pouze jeho zdrojove kody jsou verejne

Tohle me nejak nevzalo.. zkratim to je toho tu strasne moc
Verejnost - Melo by se jednat v souladu s verejnymi zajmy
Zakaznik a Zamestnavatel - To same co prvni ale se zakaznikem a zamestnavatelem.
Vyrobek - Zajisteni nejvyssich moznych standardu
Posuzovani - Softwarovi inzenyru by meli posuzovat cestne a nezavisle
Management - Manazeri by meli propagovat a podporovat etiku
profese - Zlepsovani povesti profese
kolegove - Spravedlivost k ostatnim kolegum
osobnost - Meli bychom se vzdelavat, vzdelava, vzdelavat, prosazovat eticky kodex
a pozor! na konec! (protoze tohle uz je konec) Poslednich par bodu (ne tak jak jsou zde popsany) vytvorily organizace na podporu standardu. IEEEE-CS, ACM…
Doufam, ze to k necemu bude me i ostatnim