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 |
|
NUQIQ
|
|
|
|
|
Tartalomjegyzék
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
7.2. Üzemeltetőknek, karbantartóknak szükséges funkciók
8.1. A kívánatos achitektúrára vonatkozó előírások
8.2. Felhasznált programozási nyelvek
9. On-line dokumentáció és Help rendszer
10. Felhasznált kész komponensek
11.1. Felhasználói interfészek
11.4. Kommunikációs interfészek
12.1. Kötelezően alkalmazandó szabványok
12.2. Választás alapján alkalmazott szabványok
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.
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
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.
Á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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- PHP5 scriptnyelv
- JavaScript
- MySQL, XML
- C++
- Java
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.
- saját készítésű session menedzsment
- grafikus UML-ábra szerkesztő modul
Despotikus módszerekkel irányított, és felügyelt csoportmunka.
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.
A projekt során nem használunk fel kész komponenseket.
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:
A termékünk nem kezel különleges hardvert.
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.
A szoftver az interneten keresztül tart kapcsolatot a felhasználóval, ezen kívül lehetséges a helyi használat is.
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.
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.
Nincs információ.