Skip to content

Követelményelemzés és tervezés

ZoltanTabi edited this page Mar 1, 2021 · 32 revisions

GeoGallery Követelményleírás

Megvalósíthatósági elemzés

  • Humán erőforrások: kettő tervező/fejlesztő (~60 óra), tesztelés (~20 óra)
  • Hardver erőforrások: fejlesztők személyi számítőgépei
  • Szoftver erőforrások: fejlesztői környezet: Visual Studio Code, verziókövető: GitHub
  • Üzemeltetés: nincs üzemeltetői feladat
  • Karbantartás: esetleges funkcionális hibák javítása
  • Megvalósítás időtartama körülbelül 80 óra

Az alkalmazás célja

A cél egy olyan android alkalmazás készítése, amely segítségével lehetőségünk van képeink böngészésére, mind listában, mind a térképen elhelyezett pozíciójukban.

  • A programban szükség van egy lista nézetre, valamint egy térkép nézetre a képek kényelmes és a pozíció alapú böngészéséhez, kiválasztásához.
  • A lista nézetben ikonok segítségével alapértelmezetten meg kell jelennie minden olyan képnek amely a telefon tárhelyéről hozzá lett adva, vagy az alkalmazásól lett fényképezve.
  • A térkép nézetben alapértelmezetten meg kell jelennie minden olyan képnek, amely az alapértelmezett lista nézetben szerepel, a kép információiból kinyert helyzet szerinti pozicióban.
  • A lista nézetben legyen lehetőség a képek kategória, dátum, valamint címke szerinti szűrésére.
  • Legyen lehetőség a térképen kiválasztani képeket koppintással, kör valamint téglalap szerinti kijelöléssel. Ezek a lista nézetben egy kitűntetett címkével, szűrt listaként jelenjenek meg ezután a lista nézetben.
  • Egy képet legyen lehetőség megnyitni, megnyitás után törölni az alkalmazás tárhelyéről, címkét hozzárendelni vagy eltávolítani.
  • A térkép nézetben húzás segítségével legyen lehetőség a zoomolásra és a mozgatásra, és a térkép méreteitől függően az egymáshoz közel álló képek kerüljenek egy pozíciót jelölő pin alá. Ebben az esetben meg kell jeleníteni az egy pozíció alá eső képek számát a pin-en.

Felhasználói követelmények

Rendszerkövetelmények

Az alkalmazáshoz szükség van egy mobiltelefonra, amely rendelkezik:

  • Android 10-es operációs rendszerrel,
  • Helymeghatározással,
  • Működő kamerával,
  • Legalább 500 MB szabad memóriával az alkalmazás, valamint a tárolt képek számára

Felületi terv

A felület három fő oldalra bontható.

Galéria

A galériában van lehetőségünk a képek között böngészni, ezekre különböző szűrési feltételeket alklmazni. A képeket megnyithatjuk, ahol törölhetjük az alkalmazásból, szerkeszthetjük a címkéit, valamint megtekinthetjük az információkat a képről. Ezenkívül lehetőségünk van új címke létrehozására is.

Térkép

A térképen láthatjuk a képeket pozíciójuk szerint.

Kamera

A kamera oldalon lehetőségünk van új fénykép készítésére.

Alkalmazás használata

Az alkalmazás elindításakor alapértelmezetten a lista nézet fog megjelenni.
A listanézetben minden olyan kép megtalálható, amelyek hozzá lettek adva az alkalmazáshoz. Alapértelmezetten nem szerepel semmilyen kép a listában, a hozzáadáshoz engedélyeznünk kell a galériához való hozzáférést.
Képeket hozzáadni a bal alsó sarokban található "+" gombra koppintással lehet. Ekkor megjelenik a telefon galériája, és ki tudjuk választani a tetszőleges képeket. A kiválasztás megerősítése után a képek megjelennek a listában.
A képernyő felső sávjában található a kereső mező. Erre koppintva tudunk különböző szűréseket megadni. Lehetőség van kategóriák, címkék vagy dátum szerint szűrni. A címkék kiválasztása mellett újak létrehozására is lehetőség van.
A térkép nézetre az alsó menüsor középső gombjára kattintva léphetünk át. Ekkor megjelenik a térkép, és rajta minden kép ami a lista nézeten szerepelt a listában. Ha történt szűrés, akkor a térképen a szűrési feltételeknek megfelelő képek jelennek meg.
A képek pozícióját az információkból kinyert helyadatok segítségével helyeződnek el a térképen. A térkép pozíciói kaszterezve vannak attól függetlenül, hogy mennyire van a térkép kicsinyítve/nagyítva. Ha egyes képek nagyon közel vannak egymáshoz, akkor a darabszámuknak megfelelő jelzéssel jelennek meg a térképen. Ha egy képhez nincsen közel másik, akkor pontos helyzetének megfelelően jelenik meg, egy megfelelő thumbnail-lel.
A térképnézetben is lehetőség van listaszűrést létrehozni úgy, hogy pozíció szerint választjuk ki a képeket. Ezt lehet egyszerűen koppintással egy olyan helyzetjelölőre, amely nem egy darab képre hivatkozik. A bal felső sarokban lévő kijelölés gombra kattintva kiválaszthatunk továbbá két különböző (kör és téglalap) kijelölés módszert. Ebben az esetben a kijelölt területen belül elhelyezkedő képeket választjuk ki. A kiválasztott képek ezután minden esetben megjelennek a listanézetben egy "térképen kiválasztott" címkével ellátva.
Bármely nézetből elérhető a jobb alsó sarokban található kamera gomb, amellye új képet készíthetünk az alkalmazásban. Ennek használatához szükség van a kamera valamint a helyzetmeghatározáshoz szükséges engedély megadására. A gombra koppintás után a telefon alapértelmezett kamera alkalmazásával készíthetünk képet, amit ezután hozzáadódik az alkalmazáshoz rendelt képekhez.

Fejlesztői követelmények

Felhasználói esetdiagram

Felhasználói történetek

AS A Felhasználó
I WANT TO Elindítani az alkalmazást
GIVEN Az alkalmazás telepítve van.
WHEN Rákoppint az alkalmazásra.
THEN Az alkalmazás elindul.
I WANT TO Hozzáadni egy képet a telefon galériájából
1 GIVEN Listanézetben van, és meg van adva a hozzáférés a telefon fájljaihoz.
WHEN Hozzáadás gombra koppint.
THEN Felugrik az telefon galériája.
2 GIVEN A telefon galériájában van.
WHEN Kiválasztja a tetszőleges képeket, majd a hozzáadás gombra koppint.
THEN A kiválasztott képek hozzáadódnak a listához.
I WANT TO Készíteni egy új képet
1 GIVEN Listanézetben van, és meg van adva a hozzáférés a telefon kamerájához és helymeghatározáshoz.
WHEN Kamera gombra koppint.
THEN Felugrik az telefon kamerája.
2 GIVEN A telefon kamera alkalmazásában van.
WHEN Elkészíti a képet.
THEN Az elkészített kép hozzáadódik a listához.
I WANT TO Szűrni a listázott képeket kategória/címke/dátum/helyszín szerint.
1 GIVEN Listanézetben van.
WHEN Rákoppint a keresés mezőre.
THEN Megjelennek a lehetséges szűrési feltételek.
2 GIVEN Listanézetben van, megjelentek a lehetséges szűrési feltételek.
WHEN Rákoppint a tetszőleges szűrési feltételekre.
THEN A listában csak a szűrési feltételeknek megfelelő képek jelennek meg.
I WANT TO Címkét hozzáadni.
1 GIVEN Listanézetben van.
WHEN Rákoppint a keresés mezőre.
THEN Megjelennek a lehetséges szűrési feltételek.
2 GIVEN Listanézetben van, megjelentek a lehetséges szűrési feltételek.
WHEN Rákoppint a címke hozzáadása gombra.
THEN A név megadása után a címke megjelenik a szűrési feltételek között.
I WANT TO Listanézetre váltani.
GIVEN Térképnézetben van.
WHEN Rákoppint a listanézet gombra.
THEN Megjelenik a listanézet.
GIVEN Térképnézetben van.
WHEN Rákoppint a térképen szereplő olyan pozícióra, amely több képet tartalmaz.
THEN Megjelenik a listanézet a pozíción található képek listájával.
GIVEN Térképnézetben van.
WHEN Rákoppint a kijelölés gombra, és kiválasztja a kijelölés módját.
THEN A kijelölés után megjelenik a listanézet a kijelölt képek listájával.
I WANT TO Térképnézetre váltani.
GIVEN Listanézetben van.
WHEN Rákoppint a térképnézet gombra.
THEN Megjelenik a térképnézet.
I WANT TO Térképen navigálni.
1 GIVEN Térképnézetben van.
WHEN Zoomolás gesztúrát alkalmaz.
THEN A térkép a gesztúrának megfelelően nagyít/kicsinyít.
2 GIVEN Térképnézetben van.
WHEN Mozgatás gesztúrát alkalmaz.
THEN A térkép a húzás irányának megfelelően elmozdul.
I WANT TO Képet megnyitni.
1 GIVEN Listanézetben van.
WHEN Rákoppint egy tetszőleges képre.
THEN A kép megjelenik a képernyőn.
2 GIVEN Térképnézetben van.
WHEN Rákoppint egy olyan pozícióra, amely csak egy képre hivatkozik.
THEN A kép megjelenik a képernyőn.

Implementációs terv

Hatékonyság

Megfelelő hálózat biztosítása mellett az alkalmazás gyors válaszidővel rendelkezik, nincs nagy rendszerigénye.

Megbízhatóság

Az alkalmazás nem áll le váratlanul, megfelelő használat esetén nem történik hiba.

Biztonság

Az alkalmazás futtatásához szükség van a kamera, a helymeghatározás és a tárhelyhez való hozzáférés megadásához. A szoftver az ezekből kinyert információkat nem küldi tovább, a telefonban tárolja.

Hordozhatóság

Az alkalmazás minden, a rendszerkövetelményeknek megfelelő Android eszközön fut.

Felhasználhatóság

A program használata intuitív, nincs szükség hozzá informatikai vagy egyéb szaktudást adó képzettségre.

Fejlesztés

Fejlesztés során a következő eszközöket, libeket, apikat használjuk:

Karbantartás

A program az esetleges hibák kijavításán kívül nem igényel más karbantartást.

Komponens diagram

Az alkalmazásunk egy fő komponensből fog állni, amely felhasznál különböző komponenseket.
A galéria és a kamera a használt fizikai eszköz által szolgáltatott komponensek, melyek lehetőséget nyújtanak kép feltöltésére, valamint új kép készítésére.
Az AsyncStorage és az ImageStorage a react native keretrendszer által szolgáltaott komponensek, melyek lehetőséget nyújtanak adatok Json formátumban való tárolására, valamint képek tárolására.
A react-native-maps egy olyan komponens, ami a Google map api felhasználásával szolgáltat az alkalmazás számára egy interface-t, mellyel lehetőség van térkép megjelenítésére, valamint azon képeink, illetve pin-ek elhelyezésére.

Osztály diagram

Az App osztály, az applikáció főosztálya, ahol megvalósításra kerül a navigációra alkalmas alsó sáv.
A Gallery osztályban kerülnek listázásra a képek.
A Map osztályban jelenik meg a térkép a rajta szereplő képekkel.
A Camera osztályban van lehetőség kép készítésére.
Az EditLabel osztállyal szerkeszthetünk vagy létre hozhatunk új címkét.
A PhotoView osztályban tekinthetjük meg nagyban a képet. Törölhetjük, címkéit módosíthatjuk, valamint az információit tekinthetjük meg.
A Storage osztálnyak nincsen vizuális megjelenítése. Itt kerülnek tárolásra a képek, valamint címkék.