Csoport neve: NUQIQ

Feladat sorszáma: 5

Feladat címe: UML szerkesztő






SZOFTVER KÖVETELMÉNY SPECIFIKÁCIÓ




Gyakorlatvezető:

TAMÁS ISTVÁN G-5S8


Csoport tagok:


Jobbágy Gábor

G-3S7T

jogag@freemail.hu

Nyiczky Tamás

G-3IN

nyito@freemail.hu

Zemlényi Dávid

G-3S1D

sodessyon@hotmail.com

Kocsis László

G-3S7I

lacos@hungary.org

Szabó Árpád

G-3IN

aarpoe@freemail.hu

Márton Tibor

G-3IN

mtibi23@freemail.hu


2006. 03. 24.


Történet


Dátum

Verzió

Leírás

Szerző

2006.03.24.

1.0

Kezdeti verzió

NUQIQ

2006.04.23.

2.0


Javított verzió

NUQIQ










Tartalomjegyzék

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

3.1. Use case diagram

4. Használhatóság

4.1. Betanulási idő

4.2. A szoftver tevékenység-sebesség növelő képessége, hatása

4.3. A kezdő felhasználók segítése

4.4. Egyéb lehetőségek a betanulás elősegítésére

4.5. A felhasználói felület különbözősége

5. Megbízhatóság

6. Teljesítmény

7. Támogatottság

7.1. Elnevezési konvenciók

7.2. Üzemeltetőknek, karbantartóknak szükséges funkciók

7.3. A működés során keletkező naplók

7.4. Segédalkalmazások

8. Tervezési korlátozások

8.1. A kívánatos achitektúrára vonatkozó előírások

8.2. Felhasznált programozási nyelvek

8.3. Fejlesztőeszközök

8.4. Tervezni kívánt újra felhasználható elmek

8.5. Fejlesztési módszertan

9. On-line dokumentáció és Help rendszer

10. Felhasznált kész komponensek

11. Interfészek

11.1. Felhasználói interfészek

11.2. Hardware interfészek

11.3. Software interfészek

11.4. Kommunikációs interfészek

12. Alkalmazott szabványok

12.1. Kötelezően alkalmazandó szabványok

12.2. Választás alapján alkalmazott szabványok

13. Mellékletek



1. Bevezetés

Ezen dokumentum célja megismertetni az olvasót a készülő szoftverünk legfontosabb specifikációs lépéseivel, követelményeivel. Betekintést ad a program működésébe, azáltal, hogy ismerteti a programmal szemben támasztott legfontosabb követelményeket: értve ezalatt a használhatósági, megbízhatósági, teljesítmény-beli, támogatottsági, tervezési korlátozások-beli kérdések megfogalmazását, valamint az általunk felhasznált komponensek, alkalmazott szabványok felsorolását.

Először is, az alábbi fejezetben röviden összefoglaljuk a készülő UML modell-generáló programunk szempontjából fontos általános körülményeket. Konkrét követelményeket itt még nem fogalmazunk meg: a cél a következő fejezetekben szereplő információk megértése, ez tehát egyfajta összefoglalás. Tartalmazza a termékünk környezetének leírását, legfontosabb funkcióit, a felhasználók jellemzőit, korlátozásokat valamint függőségeket. Megfogalmazzuk, milyen szempontok szerint valósul meg az UML-el szemben támasztott követelmények csoportosítása.

Az ezután következő, 3.fejezet tartalmazza - ténylegesen - a rendszerrel szemben támasztott követelményeket. Ezt egy use case-diagram segítségével szemléltetjük. Látható, hogy megadtuk valamennyi use case: pontos definícióját, nevét, leírását, pre- és post kondícióját, szokásos valamint a szokásostól eltérő működési módjait (pl. hirtelen internet sávszélesség-esés vagy műszaki hiba miatt kialakuló jóval nagyobb válaszidő, emiatt egyszerűsített működés), valamint a diagramon szereplő use case-ek kapcsolatainak leírását. A use case diagramról a rendszer működése könnyen leolvasható, áttekinthető formát ölt.

A 4.fejezet a használhatóságot tárgyalja. Leírjuk, átlagosan mennyi betanulási időre lesz szüksége egy átlagos ill. nem átlagos felhasználónak ahhoz, hogy magabiztosan kezelni tudja a programunkat, ill. mennyi idő alatt tud elkészíteni egy UML ábrát a meglévő tudásával, és a rendelkezésre álló eszközökkel. Természetesen számos rendszer tulajdonság is segíti a felhasználót a gyors betanulásban. Megadjuk, milyen egyéb lehetőségek állnak rendelkezésre a betanulást elősegítően, ill. képesek lesznek-e a felhasználók más alkalmazással párhuzamosan használni a szerkesztőnket.

Ezután az 5.fejezetben külön tárgyaljuk a szerkesztővel szemben támasztott biztonsági követelményeket, majd azokat a teljesítmény mutatókat (6.fejezet), melyek produkálását mindenképpen elvárjuk a kész szoftvertől: azaz mennyi idő szükségeltetik majd a modell legenerálásához, képpé konvertáláshoz ill. exportáláshoz.

A 7.fejezet témája a támogatottság: azaz, a program üzembe helyezése után szükséges karbantartási feladatok megkönnyítésére szolgáló követelmények megfogalmazása. Ezeket külön alpontokba szedve tárgyaljuk. Nyomatékosítjuk, hogy a "NUQML szerkesztő" platformfüggetlen működést fog lehetővé tenni.

Természetesen a tervezés során számolnunk kell bizonyos korlátozásokkal, amik a tervezési, esetleg implementálási munkálatokat befolyásolják - ezeket írjuk le a 8.fejezetben.

A 9.fejezetben kitérünk az online dokumentációra - természetesen a program elkészültekor megadjuk ennek helyét - , amennyiben ezt a tervezés során szükségesnek látjuk.

A 10.fejezetben leírjuk, milyen kész komponenseket használtunk/használunk a "NUQML Editor" készítése során. Előreláthatólag nem fogunk előre elkészített, szabad programozású komponenseket beépíteni, illetőleg vásárolt komponensekről a jelen esetben nincs értelme beszélni.

A 11.fejezetben definiáljuk és ismertetjük a rendszerhez kapcsolódó valamennyi külső kapcsolatot, valamint az ezekhez kapcsolódó interfészeket. Külön alpontokban jellemezzük az összes olyan felhasználói-, hardware-, software- és kommunikációs interfészt, amelyek a szerkesztőnkkel kapcsolatban állnak majd.

A 12.fejezetben leírjuk, milyen kötelező (PHP) és választott (pl. a modell kinézetére, felhasználói felület kinézetére vonatkozó) szabványokat fogunk használni a feladat elészítése során.

Végül a 13.fejezetünk tartalmazza azon mellékleteket, amelyek magába foglalják a fentebb tárgyaltakkal kapcsolatos kiegészítő információinkat, megjegyzéseinket.

 

2. Áttekintés

A "NUQML Editor" webes környezetben fog elhelyezkedni, amelyet a felhasználói név és jelszó megadásával a felhasznál elérhet. A legfontosabb megjegyeznünk, hogy termékünk platformfüggetlen lesz, mivel egy webszerveren fog elhelyezkedni és innen lesz futtatható. Négy fő komponensből épül fel: az első egy grafikus elemekkel létrehozott szerkesztői felület, a második a konverziót hajtja végre más modell szerint alkotott adatbázisból az általunk használt UML 1.5 verziójú modellbe, emellett a C++, illetve Java export/import ill. a HTML export komponensek alkotják együttesen a programunkat. A szoftver két adatbázisleíró-nyelven írt adatbázis feldolgozására lesz alkalmas: ezek a MySQL és az XML. A végcél ezután egy .jpeg vagy .gif formátumú kép előállítása, mely a kész UML modellt szemlélteti. Emellett lehetőség nyílik HTML formátumban történő exportálásra is, ezekről a felhasználó szabadon dönthet. Ugyanakkor a szoftver képes lesz C++, valamint Java programozási nyelv segítségével készített UML 1.5 ábrák importálására/exportálására is.
A szoftverünket elsősorban végfelhasználósra tervezzük, ám bízunk benne, hogy béta-tesztelők, tartalom-felelősök valamint webszerver-adminidsztrátorok is segítik majd a munkánkat. Hasznos lehet mindazon diákoknak, oktatóknak, adatbázisok tervezésével foglalkozó cégeknek, vállalatoknak, akik egy egyszerűen kezelhető szoftver segítségével kívánnak UML ábrákat létrehozni, megkönnyítve és felgyorsítva ezáltal az adatbázisok tervezési folyamatát. Azonban némi programozói tudást és UML 1.5 alapokat az editor használóitól feltételezünk.
A program használatához szükség van grafikus internetböngészőre és egy, ezt futtani képes számítógépre, internetkapcsolatra (ennek hiányában egy legalább 5-ös verziójú PHP-t támogató webszerverre). Az operációs rendszernek tudnia kell kezelnie a .jpeg és .gif képformátumokat és rendelkeznie kell C++ compilerrel, és Java VM-el az import/export megvalósításához. Továbbá a termékünk konvertálás funkciójának használatához elengedhetetlen egyéb adatbázis kezelő nyelvek (XML, MySQL) importálása, mivel a konverzió ezeken keresztül valósul meg.

A programunkkal szemben támasztott követelmények csoportosításának fő szempontjai:

- a fő funkciók
- a kiszolgáló rendszerrel (szerver) kapcsolatos elvárások
- a felhasználókkal szembeni elvárások
- a felhasználók elvárásai a NUQML Editorral szemben

Feltételezések és függőségek a szoftverrel kapcsolatban:

- az internetes kapcsolat megléte, valamint
- a PHP kód feldolgozásának szerver-oldali lehetősége

 

3. A rendszer funkciói

A program 4 fő funkciói a következők:

1. UML ábrák grafikus szerkesztése

Az alkalmazásnak alkalmasnak kell lennie arra, hogy grafkus úton készítsenek vele 1.5-ös UML ábrákat. E célból idegen kód beültetése szükséges. Az idegenség itt azt jelenti, hogy a kód nyelve az idegen, és nem külső forrásból származik,hanem a csoportunk saját fejlesztésének eredménye. Az említett beágyazott kódot JavaScript nyelven kívánjuk megírni.

2. SQL, illetve XML adatbázisok átkonvertálása 1.5-ös UML ábrákká.

3. A kész UML ábrák elmentése kép formájában.

4. Kész UML ábrák exportálása C++, valamint Java nyelven feldogozható kódba, illetve C++, és Java nyelv segítségével készített ábrák importálása.

3.1 Use case diagram

Átlagos használati use case diagram:

 

A program futási eredményét reprezentáló use case:

 

Teljes use case szerkezeti diagram:

Az egyes use case-ek prekondíciói:

- Main: belépés, azonosítás

-Konvertálás: Main

- Szerkesztés: Main

- Importálás: Main

- Eredmény: Konvertálás, Szerkesztés, Import

A use case-ek post kondícja maga az eredmény, ami .GIF, .JPEG, C++, és Java nyelven feldolgozható kód, ill. a kész UML képet tartalmazó HTML dokumentum lesz. A "Main" use case post kondíciója az, hogy elérhetővé válnak a program konvertálás, szerkesztés ill. importálás funkciói.

 

4. Használhatóság

4.1 Betanulási idő

Mivel a rendszert feladatkörénél fogva gyakorlott informatikai fejlesztők fogják használni, így szabadon feltételezhetünk az átlagosnál jóval magasabb szintű számítástechnikai ismereteket, szoftverkezelési gyakorlatot ill. intelligenciát, így a szoftvernek a használhatóság szempontjából nem feltétlenül kell 100% -ig "bolondbiztosnak" lennie.

A fentiek tükrében valószínűsíthető, hogy a betanulási idő gyakorlott felhasználók esetében minimálisnak tekinthető (kb 30 perc), kezdő felhasználó esetében pedig a betanulási idő hosszát alapvetően nem a szoftver kezelésének elsajátítása, hanem sokkal inkább a szoftver által kiszolgált problémakör mélyreható és alapos elméleti, ill. gyakorlati ismeretének megléte, ill. hiánya határozza meg. Mindezen ismeretek birtokában a rendszer használata, logikus felépítéséből következően egyértelmű, és használata elsajátításának ideje nem haladhatja meg a maximum 30 percet.

4.2 A szoftver tevékenység-sebesség növelő képessége, hatása

Tekintve, hogy a szoftver által elvégzendő UML ábra szerkesztési feladatokat eddig egy szövegszerkesztő beépített ábraszerkesztőjével oldották meg, amely természetesen nem rendelkezett az adott problémakörre jellemző specifikus eszközkészletekkel, ábrákkal, sablonokkal, így az ábraszerkesztés a régi módszerben gyakorlott felhasználóknál 30 - 40 % -kal, kezdő felhasználók (új munkatársak) esetében, akár 60 -80 % -kal nagyobb hatékonyságot eredményezhet.

Tekintve, hogy az adatbáziskezelő nyelveken készült forráskód alapján történő utólagos UML ábra szerkesztést a cég munkatársai eddig szintén a fentebb említett szövegszerkesztő ábraszerkesztőjével, manuálisan oldották meg, igy az új szoftver importált forráskódból való UML ábra készítés funkciójával automatizálva ezt a folyamatot, ezt a feladatot a szoftver 100 % -ban leveszi a dolgozók válláról, jelentős időmegtakarítást okozva ezzel.

4.3 A kezdő felhasználók segítése

A szoftver rendelkezik beépített súgó rendszerrel, továbbá a rendszerhez mellékelünk egy teljes felhasználói dokumentációt mind elektronikus (mely a szoftver menüsorából elérhető), mind pedig nyomtatott formában.

A szoftver a súgó rendszerén belül rendelkezik egy úgynevezett "Tanfolyam" (Tutorial) funkcióval, melynek segítségével a kezdő felhasználók interaktív módon, lépésről lépésre vegigkövethetik a legfontosabb, ill. leggyakoribb feladatok megoldásának menetét.

A szoftver átadására elkészül egy felhasználói honlapunk is, melyre minden kedves felhasználónk a szoftverdokumentációban feltüntetett kód segítségével bejelentkezhet. Itt az érdeklődőket 24 órás segítő fórumokon várják munkatársaink. Továbbá online manual-ekkel, az esetleges javításokkal, fejlesztésekkel, változtatásokkal kapcsolatos információkkal, ill. adatbáziskezeléssel foglalkozó oldalakra mutató linkekkel várjuk ügyfeleinket.

4.4 Egyéb lehetőségek a betanulás elősegítésére

A szoftver fejlesztése során a folyamatos egyeztetések során ellátjuk a megrendelőket különböző demonstrációs és béta szoftverekkel, melyek tanulmányozása nagyban elősegítheti, a rendszer teljes elsajátítását a végleges verzió elkészültére, igy az ügyesebb, ill. lelkesebb munkatársak a szoftvert, annak elkészültekor azonnal használatba is vehetik, akár 100 %-os hatásfokkal is, nullára csökkentve így a betanulási időt.

Külön kérésre 21000 Ft -ért kétnapos tanfolyam keretében segítünk kedves ügyfeleinknek a szoftver elsajátításában, mely egy vizsgával végződik, mely után állófogadásra invitáljuk őket, továbbá ajándékokkal kedveskedünk nekik.

4.5 A felhasználói felület különbözősége

Tekintve, hogy a felhasználók eddig nem használtak kifejezetten erre a feladatra kifejlesztett rendszert (eddig ugye szövegszerkesztővel dolgoztak), így a felhasználói felület bizonyos szempontból teljes mértékben különbözik az eddig használttól. Másfelől azonban mivel ez a rendszer is ablakos, grafikus felhsználói felületet használ, és kizárólag feladatorientált funkciókkal rendelkezik, a megjelenése távolról sem lesz ismeretlen, vagy idegen. Igyekszünk, hogy képi világában és elrendezési logikájában a használhatóságot nem korlátozó maximális mértékben hasonlítson a felhasználók által eddig használt rendszerekhez.

 

5. Megbízhatóság

A termék készítésekor egy felállított rendszer százalékos rendelkezésre állásának követelményét 98%-ban határozzuk meg. Bár ez az érték nagy mértékben környezetfüggő, véleményünk szerint tartható. A karbantartás körülbelül fél órát vesz majd igénybe (emberi tényezőktől függően), de 2 óránál többet semmiképp. Ez idő alatt korlátozott hozzáférés biztosítása nem támogatott.

A hibák között eltelt átlagos idő reményeink szerint legalább 6 hónap, természetesen a környezeti tényezőktől (mint amilyen például a szoftverhez kapcsolódó adatbázis-szerver állapota, terheltsége) függően.

1-2 hetente elvégzett karbantartás elég kell, hogy legyen.

6. Teljesítmény

A kész szoftverrel szemben támasztott számszerű teljesítménybeli elvárások a következők:

- A felállított rendszer várható válaszideje egy konverziós művelet során 20-40 másodperc, a felső korlát (magas leterheltség mellett) legyen 150 sec. Ha az időkorlát technikai okok miatt nem tartható, a művelet - biztonsági okok miatt - nem hajtódik végre.

- A konvertálandó UML ábra maximális elemszáma legyen legalább 255. Az egyidejűleg kiszolgálható felhasználók száma függ az adatbázis-szervertől, illetve a rendelkezésre álló sávszélességtől, de maga a rendszer ki tud majd szolgálni akár 10000 főt is.

Erőforrásigények:

- A szoftver biztos működtetéséhez szükséges egy 2006 tavaszán elfogadható teljesítményt nyújtó PC, legalább 1 GHz-es órajelű processzor, 512MB RAM, és 1GB szabad tárhely. A támasztott minimális sávszélesség-igény függ a felhasználók számától, de legalább 0,5 Mbit ajánlott. Nagyszámú felhasználó mellett ennek sokszorosára lehet szükség.

- Az adatbázis szerver felé elvárható a nagy sávszélesség, gyors kommunikációt biztosítva a kiszolgáló számítógép felé. Felhasználói oldalt tekintve, egy 500Mhz-es órajelű processzor 128MB RAM-mal, modemes kapcsolattal elég kell, hogy legyen.

 

7. Támogatottság

7.1 Elnevezési konvenciók

Az alkalmazás használata során az elnevezésekben (fájlnevek, felhasználónevek stb.) csak az angol ABC kisbetűinek, valamint a számoknak a használata megengedett. Az importálni kívánt nyelvekre nem kötünk meg szabvány használatot.

7.2 Üzemeltetőknek, karbantartóknak szükséges funkciók

Az üzemeltető képes felhasználót felvenni, illetve törölni, felhasználók jelszavát változtatni. Minden felhasználó rendelkezik egy előre meghatározott nagyságú tárterülettel, amivel gazdálkodhat (quota), ennek túllépése esetén az üzemeltető dönthet a felhasználó törléséről. A tárterületen túl minden felhasználó rendelkezik egy előre beállított időkerettel (90 nap).Ha a felhasználó az utolsó bejelentkezése óta a beállított időkeret lejártáig a felhasználó nem mutat aktívitást (nem jelentkezik be), az üzemeltető szintén dönthet a törléséről. Az üzemeltő ezen felül képes a felhasználó kérésére adatbázisát törölni, illetve módosítani.

7.3 A működés során keletkező naplók

A felhasználók tevékenységéről automatikusan biztonsági napló készül, ez segíti a karbantartók munkáját, az esetleges hibák felderítését, illetéktelen használat kiszűrését. Ezen felül a napló segítségével figyelni lehet a felhasználók aktívitását.

7.4 Segédalkalmazások

A karbantartók a naplókat egyszerű szövegszerkesztő (Jegyzettömb, MC Editor) segítségével értékelik ki. A felhasználók adatbázisait a MyAdmin segítségével tudják kezelni. A fejlesztők weboldalának karbantartására a Macromedia DreamWeaver nevű programot használjuk.

 

8. Tervezési korlátozások

8.1 A kívánatos achitektúrára vonatkozó előírások

A tervezés során nincs szükségünk kifejezetten nagy erőforrásokkal rendelkező számítógép architektúrára, egy PIII konfiguráció minimum 256 Mb memóriával, és 20 Gb háttértárolóval például szinte teljes mértékben megfelel. Persze lényeges, hogy működőképes legyen. Az egyedüli lényeges elvárásaink, hogy rendelkezzen webszrever programmal, illetve SQL adatbázissal, C++ és Java fejlesztőkörnyezettel, valamint olyan grafikus internetböngészővel, ami képes megjeleníteni a JavaScriptet is a PHP5 mellett. Mindezen kívül fontos a számunkra valamilyen egyszerű szövegszerkesztő megléte (Notepad, Midnight Commander CEditor). Ezek az eszközök elengedhetetlenek a fejlesztői munkánk során.

8.2 Felhasznált programozási nyelvek

- PHP5 scriptnyelv
- JavaScript
- MySQL, XML
- C++
- Java

8.3 Fejlesztőeszközök

Mint ahogy azt fentebb említettük, a fejlesztőeszközeinket egyszerű szövegszerkesztők, egy grafikus internet böngésző, egy C++ és egy Java fejlesztői környezet alkotják.

8.4 Tervezni kívánt újra felhasználható elmek

- saját készítésű session menedzsment
- grafikus UML-ábra szerkesztő modul

8.5 Fejlesztési módszertan

Despotikus módszerekkel irányított, és felügyelt csoportmunka.

 

9. On-line dokumentáció és Help rendszer

Mint már arra a 4.3 -as pontban utaltunk, a szoftver rendelkezik beépített súgó rendszerrel, melyen belül rendelkezik egy úgynevezett "Tanfolyam" (Tutorial) funkcióval, melynek segítségével a kezdő felhasználók interaktív módon, lépésről-lépésre végigkövethetik a legfontosabb, ill. leggyakoribb feladatok megoldásának menetét.

Továbbá:

A szoftver átadására elkészül egy felhasználói honlapunk is, melyre minden kedves felhasználónk a szoftverdokumentációban feltüntetett kód segítségével bejelentkezhet. Itt az érdeklődőket 24 órás segítő fórumokon várják munkatársaink. Továbbá online manual-ekkel, az esetleges javításokkal, fejlesztésekkel, változtatásokkal kapcsolatos információkkal, ill. adatbáziskezeléssel foglalkozó oldalakra mutató linkkekkel várjuk ügyfeleinket.

 

10. Felhasznált kész komponensek

A projekt során nem használunk fel kész komponenseket.

 

11. Interfészek

11.1. Felhasználói interfészek

A felhasználói felület kidolgozására saját stílus hoztunk létre, amely felhasználóbarát, egyszerű kezelőfelülettel rendelkezik, ezért bármely felhasználó csoport számára könnyen kezelhető. Ezen kívül nem alkalmazunk szabványt, illetve már meglévő stílusokat.

A leglényegesebb User Interface tervek:

Beléptető képernyő:

Főablak:

File menü:

Műveletek menü:

Renszergazdai menü:

Új fájl ablak:

:

Mentés ablak:

Import képernyő:

Export képernyő:


Új elem létrehozása:

Elem módosítása :

Új kapcsolat létrehozása :

Kapcsolat modositasa:

Szín vátoztatás:

Felhasználó felvitele:

Felhasználó törlése:

Jelszó módosítása:

11.2. Hardware interfészek

A termékünk nem kezel különleges hardvert.

11.3. Software interfészek

Az alkalmazás teljes értékű használatához internetkapcsolat szükséges. Ehhez megfelelő hálózati hardverre (hálózati kártya, modem), illetve szoftverre van szükség. Az internetkapcsolathoz rendelkeznie kell internet előfizetéssel (telefonos, szélessávú, vezeték nélküli). A lehetőségekről kérjük érdeklődjön a legközelebbi internetszolgáltatónál. Ha már rendelkezik internet előfizetéssel, a szolgáltatótól kapott szoftver segítségével csatlakozhat az internetre. Amennyiben nem rendelkezik internetkapcsolattal a szoftvert a helyi gépen is használhatja, a megfelelő (legalább 5-ös verziószámú PHP-t támogató) webszerver telepítése után. A szoftver használatához rendelkeznie kell grafikus internetböngészővel.

11.4. Kommunikációs interfészek

A szoftver az interneten keresztül tart kapcsolatot a felhasználóval, ezen kívül lehetséges a helyi használat is.

 

12. Alkalmazott szabványok

12.1. Kötelezően alkalmazandó szabványok

Az alkalmazás fejlesztése és üzemeltetése során a SQL99, XML, HTML szabványokat alkalmazunk. Ezek betartása könnyíti a fejlesztést és problémamentes működést eredményezhet.

12.2. Választás alapján alkalmazott szabványok

A fejlesztés során az átláthatóság kedvéért, és a kódolás megkönnyítése végett a Cés C++ háziszabványokat alkalmazzuk.

 

13. Mellékletek

Nincs információ.