Csoport neve: HICON

Feladat sorszáma: 5

Feladat címe: UML szerkesztő






SRS




Gyakorlatvezető:

Tamás István


Csoport tagok:


Domby Tímea Katalin

BRV1N2

timi_muinfo@yahoo.com

Füzér Zsuzsanna

Z5VJ39

zsuzsi0690@freemail.hu

Katona János

IUAKNI

katonn@freemail.hu

Kovács Roland

ER9HL0

kovipolly@freemail.hu

Krajnc Norbert

RUIBB2

frodo19@freemail.hu


2006-03-21


 

 

Történet


Dátum

Verzió

Leírás

Szerző

2006.03.21.

0.01a

Kezdeti verzió

HICON









 

Tartalomjegyzék

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

3.1. Use case diagramm

4. Használhatóság

4.1. Kezdő vagy tapasztalt felhasználó

4.2. Adott tevékenység végrehajtásának az ideje más rendszerrel

4.3. Kezdő felhasználót segítő rendszertulajdonságok

4.4. Egyéb lehetőségek, amik még segítségül szolgálnak

4.5. A program felhasználói felülete

5. Megbízhatóság

6. Teljesítmény

7. Támogatottság

8. Tervezési korlátozások

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

Introduction

A választott feladatunk egy UML szerkesztő program, amelynek a neve MagicMax UML (MMUML). E program segítségével könnyebbé válik a szoftvertervezés menete, egyéb bonyolultabb rendszerek egyszerű modellezése, valamint egy bonyolult forráskód átláthatósága rövid idő alatt. A szoftver Windows operációs rendszer alá készül, és C++ nyelven lesz megírva. A fejlesztői környezet a Visual C++ lesz. A legfontosabb funkciói közé tartozik Java, illetve C++ kódimport után UML diagramok generálása. A szoftver az összes UML diagramot támogatja majd, így lehetővé válik a használója számára, hogy a lehető legkülönfélébb elképzeléseit könnyen vizuálisan láthatóvá tegye mások számára. Igyekszünk a lehető legátláthatóbb programot elkészíteni, hogy olyan emberek is használhassák, akik nem informatikusok.

 

 

2. Áttekintés

Overview

A termék környezete:

A program nem platform-független, elsősorban Microsoft Windows környezetre készül, mivel a fejlesztőkörnyezet Microsoft Visual C++. Egyfelhasználós alkalmazás, azaz egy időben egyszerre csak egy felhasználó tud egy példányt használni. A programhoz grafikus felület is készül, így kényelmesen kezelhető és bárki számára könnyű elsajátíthatóságot tesz lehetővé. Menük segítségével nyithatunk meg C++ illetve Java forráskódokat számítógépünkről, és GIF/JPG file-okat menthetünk ki, amelyek a kész diagramjainkat tartalmazzák. A megnyitott forráskódot megtekinthetjük, majd kiválaszthatjuk a kívánt típusú diagramot amit rajzoltatni szeretnénk a programmal a forráskód alapján.

Legfontosabb funkciói:

A program egy olyan UML szerkesztő, amely nemcsak az alapoktól elkezdhető UML diagram rajzolást tesz lehetővé, hanem kétféle kódimport támogatással (C++, Java) megvalósítja számunkra programok átláthatóságát stb. Az alkalmazás teljesen grafikus felületű. A program vezérlését a menü könnyíti meg, mely átlátható kategóriákba csoportosítja a szoftver lehetőségeit. A program fő funkciói közé tartoznak azok a menü pontok is, amik alapján a program elvégzi a kódimportot és végrehajtja a GIF/JPG exportot. Ezen opciók mellet még számos funkció megtalálható lesz a menüben.

Ezen funkciók a következők:

- Új dokumentum nyitás, ami mellett egyszerre több dokumentum válik szerkeszthetővé egy ablakban.
- A már kész dokumentum mentése .xml formátumba, ezzel megvalósítva a HTML támogatást.
- Az UML dokumentumokat egyszerűen kinyomtathatjuk.
- Egy hatékony súgó pedig segítségünkre lehet, ha esetleg elakadtunk volna valahol a rajzolásban.

Ha sorra vesszük ezeket a funkciókat, akkor észrevehetjük, hogy mindegyik a felhasználó kényelmét szolgálja. Az új dokumentum nyitással, egy teljesen előlről elkezdett UML szerekesztést folytathatunk, anélkül, hogy esetleg egy korábban már megkezdett szerkesztést bezárnánk, így könnyen lehetővé válik egyik munkalapról a másikra való diagram átmásolása. Ezt a többablakos felhasználói felület teszi lehetővé.
Hogyha mégis úgy döntenénk, hogy be szeretnénk zárni az egyik munkalapot, eldönthetjük, hogy elmentjük-e az UML ábránkat vagy nem. Ha igen, XML formátumba megtehetjük ezt, amely szinte az egész világon kedvelt és elfogadott formátum.
Ha kész vagyunk az UML diagrammal, akkor az ábráinkat könnyen még a programból kinyomtathatjuk, ezen opció a nyomtató beállítását is lehetővé teszi.
Mivel a program írói tisztában vannak azzal, hogy milyen egy jó súgó, azt hiszem ezzel nem lehet probléma. A későbbiekben tervezzük tutorial videók készítését is, amelyekkel még sokkal könnyebbé tehető a program működésének elsajátítása.
Bármilyen méretű forrásfile importálására képes.
A program támogatja a többnyelvűséget, azaz a magyar nyelven kívül más nyelveken is megjeníthetőek a kiírások. Ez az opció nyelvi fájlok használatával valósul meg. A beállítások menüből változtatható.

Felhasználók jellemzői:

A termék elsődleges célfelhasználói illetve érintettjei azok a Miskolci Egyetemi diákok, akik az objektum orientált programozási tudásukat szeretnék fejleszteni azáltal, hogy egy esetleges forráskódot könnyebben átlátnak és az osztály diagram segítségével az objektum orientáltság fogalma is könnyebben kezelhetővé válik. Azok a Miskolci Egyetemi oktatók (előadók, gyakorlatvezetők) akik egy programozás óra keretében szeretnék szemléltetni a hallgatókkal a programozás rejtelmeit éppúgy "megtalálják számításaikat" az MMUML programban. Ezenfelül érintetteknek tekinthetőek mindazok, akik bonyolultabb rendszereket szeretnének modellezni a program segítségével, vagy azok a profi programozók, akik a saját tervezésű programjukat szeretnék megvalósítani. A program nem konkrét személyeknek készül, hanem bárki használhatja, aki úgy gondolja, hogy segítségére lehetnek a funkciói.

Korlátozások:

Az operációs rendszernek Microsoft Windows-nak kellene lennie. Ajánlott valamilyen képnézegető szoftver, amivel az elkészített és GIF/JPG formában kimentett képeket megnézhetjük.

A program futtatásához szükséges rendszerkövetelmények:

- 300 MHz órajelu vagy gyorsabb processzor az Intel Pentium/Celeron, AMD K6/Athlon/Duron processzorcsaládból vagy kompatibilis processzor
- 128 MB vagy több RAM memória
- Super VGA (800 x 600 képpont) vagy magasabb felbontású videokártya és monitor
- Billentyuzet és egér (vagy kompatibilis mutatóeszköz).

Nem igényel semmilyen egyedi hardware-t.

Feltételezések, függoségek:

Mivel ez egy olyan UML szerkesztő, amely C++ és Java kód importot valósít meg, feltételezzük, hogy az importálandó forrásfile, valódi C++ és Java típusú file.

- A file kiterjesztése lehet .cpp vagy .cc esetleg .c++ (az implementációs fájloké), és .hpp vagy .hh, .h esetleg .h++ (a header fájloké)
- Feltételezett egy minimális számítógépes előismeret megléte és az alkalmazás értelemszerű használata is.

A követelmények csoportosításának szempontjai:

- a megrendelő által felállított követelmények
     - a program olcsó előállítási költsége
     - a project adott határidőre való befejezése

- a programírók által felállított követelmények
     - a felhasználók minimális számítógépes ismerete
     - a felhasználók által a program célszerű és értelemszerű használata
     - a felhasználók UML nyelv ismerete

- a felhasználói szempontból felállított követelmények
     - a felhasználói felület egyszerű és kezelhető legyen
     - minden funkció könnyen és egyszerűen elérhető legyen
     - átlátható legyen a program felülete és működése
     - rövid válaszidő

 

 

3. A rendszer funkciói

Specific Requirements

A rendszer funkcióit a melléletekben található use case diagram (1.1 ábra) segítségével mutatjuk be. A diagramokon szereplő aktor a felhasználót (ugyanazt a felhasználót) jelenti, mivel a program egyfelhasználós alkalmazás.

 

3.1. Use case diagramm

Start Program:
-Leírása: a program elindítása
-Prekondíciók: a programnak telepítve kell lennie
-Postkondíciók: a program elindul, a menürendszer betöltődik, a program futásra kész
-Szokásos működés: a GUI probléma nélkül elindul, betöltődik a főmenü
-Kivételes esetek: A program terminálódik és hibaüzenetet ad.

Menüsáv:
-Leírása: a program kiindulópontja, az elvégezhető műveltek választéka
-Prekondíciók: a GUI sikeresen betöltődött
-Postkondíciók: a menüsáv látható

-Szokásos működés: a GUI probléma nélkül elindul, betöltődik a főmenü

File Menü:
-Leírása: Általános műveletek választéka
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

New UML model:
-Leírása: Üres felületet hoz létre UML szerkesztésre
-Prekondíciók: kiválasztjuk az „Új UML modell menüpontot”
-Postkondíciók: új rajzfelület és eszköztárak látszanak
-Szokásos működés: új rajzfelület és az UML szerkesztő eszköztár jelenik meg
-Kivételes esetek: nincs elég memória a művelet végrehajtására

Open project:
-Leírása: Egy már elmentett projektet nyit meg szerkesztésre
-Prekondíciók: létezik már elmentett file
-Postkondíciók: a projekt betöltődik a kezelői felületre
-Szokásos működés: a file tartalmát feldolgozza a program és a képernyőn jeleníti megszerkesztésre
-Kivételes esetek: a file nem olvasható – hibaüzenet

Save project:
-Leírása: A szerkesztés alatt lévő projektünket file-ba menti
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a projekt a lemezre íródik
-Szokásos működés: a megnyitott projektet a lemezre menti
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen - hibaüzenet

Import:
-Leírása: Importálási lehetőségek választéka
-Prekondíciók: a program fut
-Postkondíciók: látszik az importálás menüpont tartalma
-Szokásos működés: megjeleníti az importálási menüpontokat

Import, from C++ code:
-Leírása: Egy létező C++ vagy Java forráskódból UML modell-t állít elő automatikusan
-Prekondíciók: létezik forrásfile és szerkezete szabványos
-Postkondíciók: új UML projekt jön létre feltöltve a forrásfileból vett szerkezet alapján
-Szokásos működés: létrehozza a forrásfile UML modelljét
-Kivételes esetek: a file nem olvasható – hibaüzenet
                            a forrás nem megfelelő szerkezetű – hibaüzenet

Import, from Java code:
-Leírása: Egy létező C++ vagy Java forráskódból UML modell-t állít elő automatikusan
-Prekondíciók: létezik forrásfile és szerkezete szabványos
-Postkondíciók: új UML projekt jön létre feltöltve a forrásfileból vett szerkezet alapján
-Szokásos működés: létrehozza a forrásfile UML modelljét
-Kivételes esetek: a file nem olvasható – hibaüzenet
                            a forrás nem megfelelő szerkezetű – hibaüzenet

Export:
-Leírása: Exportálási lehetőségek választéka
-Prekondíciók: a program fut
-Postkondíciók: látszik az exportálási menüpont tartalma
-Szokásos működés: megjeleníti az exportálási menüpontokat

Export to JPEG :
-Leírása: A szerkesztés alatt lévő projektünk ábráját JPEG, formátumban menti lemezre.
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a kiválasztott formátumú file a lemezre íródik
-Szokásos működés: Megjelenik a mentés menüpont a lemez aktuális tartalmával, a kívánt filenév beírása után egyszerű képként menti az UML ábrát a JPEG kódoló eljárás meghívásával.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen – hibaüzenet

Export to GIF:
-Leírása: A szerkesztés alatt lévő projektünk ábráját GIF, formátumban menti lemezre.
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a kiválasztott formátumú file a lemezre íródik
-Szokásos működés: Megjelenik a mentés menüpont a lemez aktuális tartalmával, a kívánt filenév beírása után egyszerű képként menti az UML ábrát a GIF kódoló eljárás meghívásával.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen – hibaüzenet

Export to HTML:
-Leírása: A szerkesztés alatt lévő projektünk ábráját HTML, formátumban menti lemezre.
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a kiválasztott formátumú file a lemezre íródik
-Szokásos működés: JPEG képként menti az UML ábrát a JPEG export meghívásával, majd HTML dokumentumba illeszti a képet.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen – hibaüzenet

Close project:
-Leírása: A szerkesztés alatt lévő projektünket bezárja
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: az üres GUI-t és a menüsávot látjuk
-Szokásos működés: a projekt bezáródik
-Kivételes esetek: a projekt nincs elmentve - felkínája
                            a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen - hibaüzenet       

Exit:
-Leírása: Kilép a programból
-Prekondíciók: a program fut
-Postkondíciók: a program nem fut
-Szokásos működés: Ha volt megnyitott projektünk bezárja, ha nem volt mentve felkínálja a mentést, a program terminálódik.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen - hibaüzenet

Edit Menü:
-Leírása: Szerkesztő műveletek választéka
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

Undo:
-Leírása: visszavonja az utolsó műveletet
-Prekondíciók: van előző művelet
-Postkondíciók: ez előző művelet hatása visszavonódik
-Szokásos működés: Megvizsgálja a művelettörténetet és visszagörgeti az utolsó műveletet

Redo:
-Leírása: visszavonja az utolsó visszavonásunk hatását
-Prekondíciók: van visszavont művelet
-Postkondíciók: mégis végrehajtódik a visszavont műveletünk
-Szokásos működés: Megvizsgálja a művelettörténetet és végrehajtja a visszavont  műveletünket

Select all:
-Leírása: kijelöli az összes rajztáblán lévő objektumot
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a rajztáblán lévő objektumok kijelölödnek

Copy:
-Leírása: vágólapra helyezi a kijelölt elemeket
-Prekondíciók: van kijelölt elem
-Postkondíciók: a kijelölt elem a vágólapra került

Cut:
-Leírása: vágólapra helyezi a kijelölt elemeket, és kitörli a kijelölteket
-Prekondíciók: van kijelölt elem
-Postkondíciók: a kijelölt elem a vágólapra került, és kitörlődött a

Paste:
-Leírása: beilleszti a vágólapra másolt objektumokat a projektbe
-Prekondíciók: van objektum a vágólapon
-Postkondíciók: az objektum megjelenik a projektben

Delete:
-Leírása: kitörli a kijelölt elemeket
-Prekondíciók: van kijelölt elem
-Postkondíciók: a kijelölt elem eltűnik a projektből

View menü:
-Leírása: Megjelenítéssel kapcsolatos opciók választéka
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

Design view:
-Leírása: A nézet megváltoztatására szolgál.
-Prekondíciók: van megnyitott projekt
-Postkondíciók:  Csak a rajztábla látszik, az objektumokhoz tartozó kód nem
-Szokásos működés: ha meg volt nyitva a kód ablak bezárja, ha nem volt megnyitva a rajztábla megnyitja

Code view:
-Leírása: A nézet megváltoztatására szolgál.
-Prekondíciók: van megnyitott projekt
-Postkondíciók:  Csak az objektumokhoz tartozó kód látszik, a rajztábla nem
-Szokásos működés: ha nem volt megnyitva a kód ablak megnyitja, ha megvolt nyitva a rajztábla bazárja

Split view:
-Leírása: A nézet megváltoztatására szolgál.
-Prekondíciók: van megnyitott projekt
-Postkondíciók:  Mind a rajztábla , mind az objektumokhoz tartozó kód látszik
-Szokásos működés: ha nem volt megnyitva a rajztábla megnyitja, ha nem volt megnyitva  a kódablak megnyitja

Toolbars:
-Leírása: kiválaszthatjuk melyik eszköztárakat szeretnénk látni a menüsor alatt
-Prekondíciók: a program fut
-Postkondíciók:  a menüpont tartalma megjelenik
-Szokásos működés: a toolbars menüpont tartalma legördül

Model elements:
-Leírása: megjeleníti a modell elemek eszköztárat
-Prekondíciók: a program fut
-Postkondíciók:  a menüsáv alatt láthatóak a létrehozható új objektumok szimbólumai
-Szokásos működés: a menüsáv alatt megjelenik az új eszköztár

View:
-Leírása: megjeleníti a nézet eszköztárat a menüsáv alatt
-Prekondíciók: a program fut
-Postkondíciók:  a menüsáv alatt látható a nézet eszköztár
-Szokásos működés: a menüsáv alatt megjelenik az új eszköztár

Edit:
-Leírása: megjeleníti a szerkesztés eszköztárat
-Prekondíciók: a program fut
-Postkondíciók:  a menüsáv alatt látható lesz a szerkesztés eszköztár
-Szokásos működés: a menüsáv alatt megjelenik az új eszköztár

General:
-Leírása: megjeleníti az általános műveletekre vonatkozó eszköztárat
-Prekondíciók: a program fut
-Postkondíciók: a menüsáv alatt látható lesz az általános műveletek eszköztára
-Szokásos működés: a menüsáv alatt megjelenik az új eszköztár

Tools menü:
-Leírása: A létrehozott modellel  kapcsolatos opciók választéka
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

Model correctness checker:
-Leírása: leellenőrzi a megnyitott modellünket helyesség szempontjából, megfelel-e a szabványoknak
-Prekondíciók: a program fut, van megnyitva projekt
-Postkondíciók:  Az esetleges hibákról jelentést kapunk
-Szokásos működés: új ablak jelenik meg ahol megadhatjuk hogy Java vagy C++ nyelvet és milyen szabályokat szeretnénk ellenőrizni. Az ellenőrzés lefut, majd a képernyőre írja az esetleges hibákat.
-Kivételes esetek: nincs megnyitott projektünk – hibaüzenet

Code generator:
-Leírása: A forráskód generálási lehetőségek választéka
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

To C++ code:
-Leírása: Az UML modell alapján C++ forráskódot generál
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a C++ forráskód lementődik a lemezre
-Szokásos működés: Sorra veszi az ábrázolt objektumokat és generálja a nekik megfelelő C++ kódokat, az esetleges hibásan megadott objektumokat figyelmen kívül hagyja, ha tudja folytatja a generálást. A hibákról készült jelentést egy új ablakban jeleníti meg.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen - hibaüzenet
                            nincs objektum – üres forrásfile keletkezik       

to Java code:
-Leírása: Az UML modell alapján Java forráskódot generál
-Prekondíciók: van megnyitott projektünk
-Postkondíciók: a Java forráskód lementődik a lemezre
-Szokásos működés: Sorra veszi az ábrázolt objektumokat és generálja a nekik megfelelő Java kódokat, az esetleges hibásan megadott objektumokat figyelmen kívül hagyja, ha tudja folytatja a generálást. A hibákról készült jelentést egy új ablakban jeleníti meg.
-Kivételes esetek: a megadott filenév már létezik – hibaüzenet
                            nincs elég hely a lemezen - hibaüzenet
                            nincs objektum – üres forrásfile keletkezik

Help:
-Leírása: Ebben a menüpontban kérhetünk segítséget a program használatához
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  a menü tartalma látható
-Szokásos működés: legördül a menü tartalma

Help file:
-Leírása: Segítséget nyújt a program használatához
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  megjelenik a súgófile
-Szokásos működés: egy új ablak nyílik meg ahol szöveges segítséget találunk a program használatához
Credits:
-Leírása: Információt ad a programról és a felhasználókról
-Prekondíciók: a GUI és a menüsáv sikeresen betöltődött
-Postkondíciók:  megjelennek a program és a készítők adatai
-Szokásos működés: egy új ablak nyílik meg ahol megjelennek a kívánt adatok

 

 

4. Használhatóság

Usability

Az általunk készített alkalmazást a lehető legjobban felhasználóbaráttá tesszük, hogy akár egy tapasztalt felhasználó, akár egy kezdő, a lehető leggyorsabban elsajátítsa a program használatát, hogy ne azzal teljen az ideje, hogy megfejti, hogy működik a program. Tehát törekszünk egy olyan, a számítógépes felhasználók széles táborának megfelelő, egyértelmű könnyen kezelhető program elkészítésére, mely belesimul, követi a manapság megszokott felhasználói felületet. Ha esetleg ettől valamilyen mértékben mégis eltérnénk, azt csak azzal a céllal tesszük, hogy minél használhatóbb és egyértelműbb programot készítsünk.

 

4.1 Kezdő vagy tapasztalt felhasználó

Nem igazán teszünk különbséget e két felhasználó között, mivel programunk a lehető legegyértelműbb lesz, melyet mind a két típusú felhasználó akár első látásra képes lesz magabiztosan kezelni, köszönhetően a program nem túl bonyolult jellegének, az egyértelmű tervezésnek és az átlátható felhasználói felületnek. Ha mégis nehézségekbe ütköznének, segítségül hívhatják a program beépített súgóját.

 

4.2 Adott tevékenység végrehajtásának az ideje más rendszerrel

Az általunk készített program, mindenben felveszi a versenyt társaival, ez alól a végrehajtás ideje sem kivétel.

 

4.3 Kezdő felhasználót segítő rendszertulajdonságok

Elsősorban az egyértelmű grafikus felhasználói felület, az átlátható menürendszer, és a megfelelő alaposságú súgó. Mindezek miatt biztosak vagyunk benne, hogy bármilyen egyéb külső segítség nélkül képes lesz még a "legmezeibb" felhasználó is betanulni programunk használatát.

 

4.4 Egyéb lehetőségek, amik még segítségül szolgálnak

A későbbiekben a video tutorial alapján a program működésének elsajátítása szinte gyerekjáték. A program írói folyamatos e-mail lehetőséget ajánlanak fel, ahol bármilyen a szoftverrel kapcsolatos kérdésre, észrevételre válaszolnak.

 

4.5 A program felhasználói felülete

Programunkat úgy alakítjuk, hogy az a felhasználó is ismerősen tekintsen programunk grafikus felhasználói felületére, aki még csak most ismerkedik a számítógépes programok világával. Tehát arra törekszünk, hogy a legkisebb mértékben sem térjünk el napjainkban megszokott és általánosan használt programok felhasználókkal kapcsolatot tartó interfészeitől, értve ezalatt a strukturális felépítést, elrendezést, megnevezéseket és jelöléseket.

 

 

5. Megbízhatóság

Reliability

Cél, hogy a rendszerrel szemben támasztott megbízhatósági követelmények a legapróbb hiba lehetőségét is kizárják. A következőkben felsorolt adatok a fejlesztés során, elsősorban az impelementációnál még változhatnak.
A program teljesítményéről elmondható, hogy alapvetően az érdemi munka végzése gyorsan történik, bár a válaszidők a különböző funkciók esetén eltérőek lehetnek. A válaszidőt befolyásoló tényező még az aktuális Java, C++ vagy más UML szerkesztővel készített fájlok mérete, bonyolultsága.

A program funkcióit tekintve:
- a fájl megnyitása max. 1másodpercet,
- a forráskódok UML diagrammokra történő átalakítása max. 3 másodpercet,
- UML diagrammokból történő Java ill. C++ forráskód generálása max. 5 másodpercet, vesz igénybe.

Ezen feladatok végrehajtásakor korlátozódik a program használata, mely korlátozás minden funkcióra kiterjed. Feloldás a feladat elvégzésével történik, de a végrehajtás  manuálisan is megszakítható.
A program UML szerkesztő lévén a forráskódokban semmilyen módosítást nem végez, hiszen azok UML diagrammokra történő átkonvertálása már egy másik fájlban lesz tárolva. Más UML szerkesztőkkel készült UML fájlok módosítására viszont van lehetőség.
Az átalakítás során a felhasználó egy folyamatjelző segítségével tájékozódhat az aktuális állapotról és meggyőződhet arról, hogy a program dolgozik.
Mivel lehetőség van a műveletek megszakítására is, ilyenkor minden a program által előállított ideiglenes, használhatatlan adat törlődik a tárolóról és a memóriából.

A program nem igényel karbantartási időt, a telepítés után nincs szükség semmilyen kiegészítő komponens telepítésére.

 

 

6. Teljesítmény

Performance

Az MMUML teljesítménye, az egyes funkciók válaszideje függhet attól, hogy a forrásfájl épp milyen adathordozón helyezkedik el, hiszen egy floppy meghajtó esetén jóval lassabb az adatátvitel, mint pl. egy flash drive esetén.
A program feltételezi, hogy a használni kívánt fájlok nem tartalmaznak sem szintaktikai, sem szemantikai hibát, mivel nem tartozik a beépített funkciók közé ellenőrzés, természetesen hibás fájl esetén nem megfelelően fognak végrehajtódni az egyes részfeladatok. Ennek köszönhetően is nagy mértékben javul az MMUML teljesítménye, csökken a válaszidő.
A funkciók közötti időkülönbség elhanyagolható, mivel a program a forráskódot minden esetben valamilyen UML diagrammra (pl. USE CASE diagramm) konvertálja át. Az UML fájlok átalakítása Java vagy C++ forráskódra természetesen több időbe telik, nagyobb a válaszidő.
Az MMUML működésében nem beszélhetünk tranzakciókról, a programban az átalakító művelet tekinthető atominak, ezt tekintjük tranzakciónak. Egy tranzakció lefutásának ideje függ attól, hogy melyik funkciót használjuk, de körülbelül 1/3 tranzakció/másodperc.
Erőforrás igények:

- 300 MHz órajelu vagy gyorsabb processzor az Intel Pentium/Celeron, AMD K6/Athlon/Duron processzorcsaládból vagy kompatibilis processzor
- 128 MB vagy több RAM memória
- Super VGA (800 x 600 képpont) vagy magasabb felbontású videokártya és monitor
- Billentyuzet és egér (vagy kompatibilis mutatóeszköz).

 

 

7. Támogatottság

Supportability

Nem tervezünk beépíteni a programba utólagos karbantartást megkönnyítő funkciókat. Mivel a fejlesztés során a MS Visual C++-t használjuk, így az esetleges hibák kijavítása és a karbantartás is ennek segítségével fog történni.
A karbantartást, a hibák felderítését és javítását az objektumorientáltság, a modularitás mellett segítik a változók, metódusok, objektumok ésszerű, a tartalomra, funkcióra utaló rövid, tömör elnevezése, a megfelelő kommentezettség, illetve a jó dokumentáltság is.
A mi (fejlesztők) számunkra szükséges információk, adatok, vagy bármi, amihez a karbantartás során nyúlhatnánk, az mind – a felhasználó elől elrejtve – a forráskódban szerepel.
Az MMUML készít naplófájlokat, így lehetőség nyílik az utólagos hibakeresésre, illetve a naplók segítségével történő későbbi ”finomhangolásra”.

 

 

8. Tervezési korlátozások

Design Constrainst

 

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

Online User Documentation and Help System Requirements

Készítünk a felhasználók számára, egy a program használatát segítő dokumentumot, melyet a program felületéből is elérhetővé teszünk. Tehát ez a dokumentum testesíti meg a program Súgó részét is. A szokványos súgó felépítésének tervét elvetettük, mivel a program bonyolultsága nem követel meg olyan sok információt, hogy azt egy keresővel ellátott rendszerben kellene tárolni. Tehát egy egyszerű, logikusan felépített tartalomjegyzékkel ellátott szöveges dokumentumot készítünk el. Mivel a programunk nem Internetes alkalmazás, ezért speciálisan on-line dokumentációt nem készítünk. Az imént említett súgó fájlt tesszük elérhetővé az Interneten. A programmal együtt lesz letölthető az MMUML oldaláról.

10. Felhasznált kész komponensek

Third-party Components

A programunk nem fog tartalmazni egyetlen más által írt komponenst, programrészletet, kódot és objektumot sem!

 

 

11. Interfészek

Interfaces

A terméknek nincsen külső kapcsolata, azaz nem kapcsolódik hálózatba, nem végzi feladatát osztott módban, az elvégzett tranzakciókról nem készül log fájl, így külső interfészre nincs szükség. Egyedüli interfész(ek) a felhasználóval való kapcsolattartást biztosítják, azaz egy esetleges kód import esetén az UML ábra rajzolása hol tart.

 

11.1. Felhasználói interfészek

User Interfaces

A felhasználói interfészre vonatkozó követelmények a következők:
      - Az interfész legyen felhasználóbarát, könnyen átlátható
      - Ne térjen el a felhasználó számára megszokottaktól
      - A közölt információ legyen érthető, világos
A felhasználók elvárása a gyors tanulhatóság, egyszerű kezelhetőség, azt csinálja amit kell, valamint a megtalált hibákat és annak helyét világosan közölje. A leglényegesebb felhasználói interfész az maga a program felülete, azaz a kapcsolattartó felület, amely segítségével a felhasználó a feladatát elvégezheti. Ez a felület a Windows operációs rendszerbe épített programok kinézetét tükrözi.

 

11.2. Hardware interfészek

Hardware Interfaces

A rendszerben nincsenek speciálisan kezelendő hardver elemek.

 

11.3. Software interfészek

Software Interfaces

A rendszer nem rendelkezik software interfésszel.

 

11.4. Kommunikációs interfészek

Communications Interfaces

A rendszer nem rendelkezik kommunikációs interfésszel, nem tartja a kapcsolatot más rendszerekkel.

 

 

12. Alkalmazott szabványok

Applicable Standards

A program - jellegéből adódóan - üzemeltetése során semmilyen törvénysértő tevékenységet nem folytat. Az UML és XML szabványt alkalmazza a program, valamint a C++ kód a háziszabványnak megfelel.

 

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

Mandatory Standards

Mivel a tantárgy nem szabja az implementációs nyelvet, következésképp kötelezően betartandó szabványt sem ad meg.
Kikötötték viszont, hogy valamely objektum orientált nyelven kell, hogy elkészítsük a programot. Ezt mi is így gondoltuk, hiszen manapság már mindenki objektum orientáltan fejleszt. Mivel a C++ nyelvet már korábban is tanultuk, választásunk erre a nyelvre esett. Tehát ez a kritérium nem jelent akadályt. A C++ háziszabványt természetesen teljesiti.

 

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

Optional Standars

A fejlesztés során a C-re és C++ -ra vonatkozó házi-szabvány előírásait tervezzük betartani, mivel ez elég átfogó, és a cél pontosan az átláthatóság és egyértelműség növelése.
Mivel a fejlesztőeszközünk az MS Visual C++, ezért némely, a fejlesztőkörnyezet által automatikusan generált kódrészletek ettől eltérhetnek.
Ezen túlmenően igyekszünk elvonatkoztatni saját programírási stílusunktól, és egységes, kinézetre is összefüggő kódot létrehozni. Ez még előreláthatólag egyeztetés tárgyát fogja képezni. Az UML és XML szabványokat a program teljes mértékben követi.

 

13. Mellékletek

Appendix

Források:

  1. http://www.iit.uni-miskolc.hu/ficsor
  2. a Szoftver technológia című tárgy előadásainak anyaga
  3. a Miskolci Egyetem C++ kódolási háziszabványa
  4. Angster Erzsébet – Objektum Orientált Programozás
  5. XML szabvány

A USE-CASE ábrához felhasznált StarUML program letölthető a következő linkről:
            http://www.staruml.com/

 

1.1 ábra