-
Notifications
You must be signed in to change notification settings - Fork 0
Követelményelemzés és tervezé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
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.
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
A felület három fő oldalra bontható.
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.
A térképen láthatjuk a képeket pozíciójuk szerint.
A kamera oldalon lehetőségünk van új fénykép készítésére.
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.
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. |
Megfelelő hálózat biztosítása mellett az alkalmazás gyors válaszidővel rendelkezik, nincs nagy rendszerigénye.
Az alkalmazás nem áll le váratlanul, megfelelő használat esetén nem történik hiba.
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.
Az alkalmazás minden, a rendszerkövetelményeknek megfelelő Android eszközön fut.
A program használata intuitív, nincs szükség hozzá informatikai vagy egyéb szaktudást adó képzettségre.
Fejlesztés során a következő eszközöket, libeket, apikat használjuk:
- React Native keretrendszer (verzió: 0.63)
- Typescript programozási nyelv (verzió: 3.8.4)
- react-native - AsyncStorage
- react-native - ImageStore
- react-native-maps
- Google maps api
A program az esetleges hibák kijavításán kívül nem igényel más karbantartást.
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.
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.