Softwarové inženýrství - jaká je metodika?

Samufaj

Softwarové inženýrství - jaká je metodika?
« kdy: 11. 06. 2015, 00:12:54 »
Dobrý den,
 potřebuju opět pomoc. Budu státnicovat ze softwarového inženýrství. Za posledních X let, co se na moji VŠ učí, mám problém si udělat o procesu vývoji softwaru nějaký ucelený přehled. Příjde mi, že se u nás SWI vyučuje pořád jinak, stejné věci se jmenují jinak. Nejsem bifler, takže se mi to takto učí blbě.

1.) Potřebuju se naučit strukturovaně a detailně proces vývoje softwaru od sběru požadavků, po návrh, implementaci a testování.

2.) Pořád nějak nevím, kde se v soft. procesu používá business processing a jak přesně - ačkoliv jsem ten předmět měl a umím z něho hromadu grafů (používají se vůbec někde Petriho sítě?)

3.) Jaké použít UML diagramy a kde - a KDO ŘÍKÁ ŽE tam mají být použity. (vyletěl jsem na otázce, jaké UML diagramy se používají ve fázi sběru požadavků - řekl jsem UseCase a Sekvenční diagram (podle jedné RNDr. co mi tu otázku dávala tam nepatří, někde se ale zase píše že patří...)


Nemám s vývovojem SW nějakou pořádnou metodikou jaksi vůbec zkušenost. DOst by mi pomohla nějaká reálná a kompletní specifikace SW která proběhla v nějaké společnosti.

Díky


nobody

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #1 kdy: 11. 06. 2015, 07:23:03 »
U 3. jste si mozna spletl User stories a Use case, Use case se tam samozrejme pouziva taky ale trochu jinak, pokud si myslite ze tam patri pak to musite vysvetlit jak jste to myslel. Sekvencni diagram opet muze byt jednoduchy pro popis nejake funkcnosti beznym uzivatelem a podruhe detailnejsi pro implementaci funkcionality programatorem. Ve fazi sberu pozadavku predevsim komunikujete s budoucim uzivatelem IS a ten neni programator.

Muzu se zeptat na jake skole studujete?

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #2 kdy: 11. 06. 2015, 08:55:32 »
Tipl bych, že FEI VŠB-TUO - tento příspěvek mi nápadně připomíná borce, který tento týden přesně na tomto vyletěl od inženýrských státnic.  :(

Drobný rejpanec: UserStory není UML diagram - ta otázka od té ženské prý byla na UML diagramy. ;) Nicméně UserStory i UseCase samozřejmě patří do sběru požadavků (obecně UserStory u agilních metodik, UseCase u OpenUP a RUP).

UseCase je textový dokument s přesně definovanými náležitostmi (viz příklad: http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/examples/use_case_spec_CD5DD9B1.html ); UseCase UML diagram zobrazuje pouze vztahy aktéři <-> případy užití a mezi případy užití samotnými, ale scénáře samotných případů užití nikoliv.

Samufaj: Dá se tam kromě UseCase diagramu (který se AFAIK může a nemusí dělat) použít i diagram aktivit. Sekvenční bych jim osobně řekl že ne, že to je spíš do návrhu.

V praxi platí, že pokud Ti pomůže v komunikaci se zákazníkem, tak ho udělej - pokud popisuješ business procesy pomocí UML, tak ten sekvenční lze použít (viz např. předmět MSPS). Jenomže škola není praxe a p*ča co v životě neviděla reálný projekt k tomu bude přistupovat jinak. Zkus zajít za Štolfou, který má vlastní firmu a slušnou praxi, ale ptej se ho na konkrétní otázky - je to totální bordelář a jeho studijní materiály, výklady, projev i přednášky se vyznačují extrémně vysokou mírou entropie ;D , což ale asi víš. Z odpovědi na obecnou otázku se nedozvíš nic, ale konkrétní otázky jsou v pohodě a fakt dokáže pomoct. (Měl jsem ho jako vedoucího diplomky ... no chvilu mi trvalo, než jsem si na jeho styl zvykl.)

Jinak Štolfa by IMHO na tuto otázku chtěl slyšet odpověď něco v tom smyslu, že výstupem fáze definice požadavků jsou artefakty (to slovo "artefakt" je pro něj důležité), které jsou v řádku "outputs" v tabulce v tomto dokumentu: http://epf.eclipse.org/wikis/openup/practice.tech.use_case_driven_dev.base/tasks/identify_and_outline_requirements_90D272B9.html?nodeId=e1fcc9d0

On je hodně zatížený na OpenUP, celý ten framework i s dokumentací najdeš tady: http://epf.eclipse.org/wikis/openup/
Je na to možno koukat jako na trochu odlehčenou (a bezplatnou) verzi Rational Unified Process a lze s tím pracovat i bez drahého a nákladného školení, nicméně se hodí jen pro menší týmy. Jo a není to agilní metodika, tam to probíhá jinak.

Petriho sítě jsem nikde při samotném vývoji softwaru neviděl použité. Ale při vývoji, validaci a optimalizacích byznys procesů ano - na základě takto optimalizovaných procesů můžeš vyvinout řídící software nebo informační systém. Těžko říct, jestli to u státnic zmiňovat či nikoliv.

nobody

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #3 kdy: 11. 06. 2015, 09:26:40 »
omlouvam se za mystifikaci user stories != UML, blbe jsem si tu otazku precet :)

j

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #4 kdy: 11. 06. 2015, 09:31:23 »
Kdyz to ctu ... a jak se obsluhuje koste vis? Nebo na to nejdriv budes delat analyzu a vyvojovej diagram?


Kolemjdouci

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #5 kdy: 11. 06. 2015, 09:51:47 »
Kdyz to ctu ... a jak se obsluhuje koste vis? Nebo na to nejdriv budes delat analyzu a vyvojovej diagram?
Nějak často zapomínáš na ty prášky.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #6 kdy: 11. 06. 2015, 10:13:34 »
Kdyz to ctu ... a jak se obsluhuje koste vis? Nebo na to nejdriv budes delat analyzu a vyvojovej diagram?

Na obsluhu koštěte není potřeba žádná složitá analýza ani vývojový diagram, protože se nejedná o žádný vývoj.  :P

Ale diagram aktivit určitě bude potřeba, bo práce s koštětem zcela jistě aktivitou je. Statový diagram též, neboť je potřeba zachytit změnu stavu podlahy ze zaprášené na méně zaprášenou po každém máchnutí koštětem. Stejně jako zachytit opotřebení chlupů na koštěti... :D

karel

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #7 kdy: 11. 06. 2015, 10:29:16 »
Kdyz to ctu ... a jak se obsluhuje koste vis? Nebo na to nejdriv budes delat analyzu a vyvojovej diagram?

co koště, ale žebřík

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #8 kdy: 11. 06. 2015, 10:40:56 »
.... Stejně jako zachytit opotřebení chlupů na koštěti... :D

?

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #9 kdy: 11. 06. 2015, 10:51:07 »
Cypi, vy si z toho děláte zadek. Ale co jste kurde čekali, že se bude učit na magisterském studiu? Jak napsat if/else v PHP, Javě a Pythonu? Nebo že na státnici se bude někdo ptát "Je podle vás lepší napsat otevírací závorku IFu na stejný řádek jako podmínku nebo na další?"

Stavaři na vysoké škole se taky neučí ovládat krumpáč, házet lopatou nebo stavět zdi. Ale počítají teoreticky, jak tlustá musí být nosná železobetonová stěna pokud v tom betonu bude tolik a tolik železné armatury... Že u rodiného domku to trefíš od oka? Supr. Ale u výškové budovy? Věř mi, budeš rád, že to projektoval někdo, kdo ten titul Ing. má.

Fakt, že celkem dost ajťáků tyto znalosti nepotřebuje a nevyužije ... je to až tak chyba školy? Všichni jsme přeci dostali možnost skončit už po bakaláři (nebo na školu vůbec nejít).

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #10 kdy: 11. 06. 2015, 10:54:27 »
hawran: Tak k tomuhle koštěti potřebuješ (dle platných právních předpisů v ČR) ještě tento diagram (pokud letíš do Prahy): http://lis.rlp.cz/ais_data/aip/data/valid/a2-pr-ils06.pdf

P.

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #11 kdy: 11. 06. 2015, 11:36:30 »
Pokud poletí podle VFR, tak je mu tenhle plánek k ničemu. Dost pochybuju, že koště má přístrojové vybavení a certifikaci pro lety dle IFR. Tím více pochybuji o kvalifikaci posádky na IFR :-))

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #12 kdy: 11. 06. 2015, 11:38:52 »

Samufaj inkognito

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #13 kdy: 11. 06. 2015, 12:06:11 »
Samozřejmě že se nejedná o VŠB-TUO a já nejsem ten týpek, je to podobnost čistě náhodná  8)

Tak například prof. Vondrák (shodou okolností je z VŠB) ve svých skriptech píše, že do fáze sběru požadavků patří Use Case a Sekvenční diagram.

http://vondrak.cs.vsb.cz/download/Uvod_do_softwaroveho_inzenyrstvi.pdf

Já to věděl, že jsem se to někde učil, kdybych si tak vzpomněl, že to bylo od Vondráka...

Samufaj inkognito

Re:Softwarové inženýrství - jaká je metodika?
« Odpověď #14 kdy: 11. 06. 2015, 12:09:03 »
prof. Vondrák:

"Jazyk UML pro potřeby sestavení modelů specifikace požadavků využívá dvou typů
diagramů:
• Diagram případů užití popisující vztahy mezi aktéry a jednotlivými případy použití.
• Sekvenční diagram zobrazující vzájemnou interakci participujících objektů
organizovanou podle časového hlediska. "