Gyakorlati alapok II.

A szoftverfejlesztés

 

Igényfelmérés (követelménytervezés) és specifikáció

 

Az alábbi fejezet részben Sallay András informatikatanár oktatási anyagára támaszkodik (www.szit.hu)

 

A megrendelő és a szoftverfejlesztő közötti együttműködés az igények, elképzelések felmérésével kezdődik. Ennek során általában a megrendelő fantáziája vagy szárnyal, vagy csak rendkívül elnagyolt körvonalakban akar valamit. (Harmadik eset, hogy a megrendelőnek kész, szakmailag is pontos elképzelései vannak, csak olyasvalakit keres, aki mindezt lekódolja. Gondoljunk csak bármelyik multicég hivatalos reklámarculatára, amely pontosan szabványosított elemekből áll, akár több 100 oldalon keresztül).

 

Érdekesség: van olyan multicég, amelynek teljes arculati követelményrendszere megtölt egy több mint 100 oldalas könyvet. Magyar viszonylatban gondolhatunk például a Telekomra, amely cég minden kommunikációs platformon (TV, Internet, levelezés, stb.) mindig azonos arculattal jelentkezik, nem véletlenül.

 

A szoftverfejlesztő feladata, hogy a szárnyaló fantazmagóriákból, a nagy semmiből, vagy éppen kész ötletekből a megrendelőnek prezentáljon egy általa is érthető, előzetes tervet, tervcsomagot. Ebből következően a követelmények kétfélék lehetnek:

Minél nagyobb a projekt, annál hosszabb ideig tart ez az igényfeltárás, a követelmények összegyűjtése. Ugyanakkor a szoftverfejlesztőnek meg kell határoznia a projekt szakmai irányait is (legalábbis ami érthető a megrendelő számára):

Mindezt folyamatosan a megrendelővel egyeztetve kell felépíteni, hogy ne legyenek rossz irányvételek.

 

Nézzük meg mindezen rendkívül komplex "cselekvési tervcsomagot" hivatalosnak mondható folyamatábrákon keresztül. Az 1. ábra voltaképpen majdhogynem teljes egészében összefoglalja a szoftveralkotással kapcsolatos szakmai teendőket:

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

A 2. ábra a követelménytervezés folyamatát mutatja meg, amely fogalmat eddig sokszor az érthetőbb igényfelméréssel helyettesítettünk.

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

Az igényfelmérés (követelménytervezés) rendkívül bonyolult és költséges munkafolyamat:

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

A fenti ábrában van 2 további, tisztázandó fogalom:

Nézzük meg például, hogy milyen nem funkcionális rendszerkövetelményekkel szembesülhetünk:

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

Gondoljunk bele, hogy milyen nehéz dolga van a szoftverfejlesztőnek! Több helyen megállapítottuk már, hogy a programozás a való világ modellezése. A szoftverfejlesztés eme kezdeti fázisában tehát a szoftverfejlesztő addig nem is nyilatkozhat, amíg legalább középszinten meg nem értette a modellezett téma, szakma lényegét. Például tételezzük fel, hogy egy orvosi műszereket gyártó cég keresi fel a programozót azon célból, hogy műszereihez szoftvert fejlesszen.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Teljesen világos, hogy addig nem jöhet létre semmilyen előzetes terv, amíg a programozó nem értette meg a műszerek mögötti orvosi alapelveket, az ebből következő adatokat és a kapcsolódó matematikát. E nélkül tervei és árajánlata elnagyoltak lesznek, amely súlyos hibalehetőségeket hordoznak magukban.

 

Az igényfelmérést (a követelmények feltárását) több módszer és segédeszköz is támogatja:

www.informatika-programozas.hu

 

Forrás - Source: www.szit.hu

 

A követelménytervezés 1. félhivatalos lépése a gyönyörű magyar szóval megvalósíthatósági tanulmánynak nevezett dokumentum, amely az alábbi kérdésekre keresi a választ:

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

Az igényfelmérés, a követelmények teljes feltárása, a megvalósíthatósági tanulmány egy hivatalos dokumentumban, a  specifikációban ölt végső testet. Olyannyira hivatalos ez, hogy külön szabvány foglalkozik vele (ANSI/IEEE 830-1993 - IEEE Recommended Practice for Software Requirements Specifications). Egyúttal ez a dokumentum az alapja az ügyfél és a szoftverfejlesztő között létrejövő üzleti szerződésnek.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A specifikáció tehát egy olyan előzetes, komplex formátumú szöveg, valamint tervrajz, amely egyaránt tartalmazza a megrendelőnek a programmal kapcsolatos ötleteit, szándékait, hivatalos elvárásait, az általa támasztott formai-tartalmi követelményeket és a kivitelező programozó (cég) szakmai elképzelései közti kompromisszumok eredményét.

 

Mivel a specifikáció összesített dokumentum, a szoftverprojekt minden résztvevőjének szakmai véleményét tartalmazza:

 

www.informatika-programozas.hu

 

Forrás - Source: www.szit.hu

 

Nézzük meg a specifikáció általános felépítését:

A specifikáció elkészítése költséges és hosszadalmas eljárás, ezért kisebb projektek esetében sokszor nem is éri meg elkészítése (vagy közös megállapodás szerint azt is leszámlázzák).

 

Utolsó gondolatként nézzünk meg a követelményfeltárás és elemzés általános menetét, amely lényegi összefoglalója a fenti folyamatoknak:

 

www.informatika-programozas.hu

 

Forrás - Source: www.szit.hu