mobil informatikai rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_modern... ·...

16
Mobil Informatikai Rendszerek Modern szoftverfejlesztés a mobil informatika területén 2016. szeptember 12. Sicz-Mesziár János [email protected]

Upload: others

Post on 23-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Mobil Informatikai RendszerekModern szoftverfejlesztés a mobil

informatika területén

2016. szeptember 12.

Sicz-Mesziár Jánoss icz -mesz ia r. janos@nik .un i -obuda.hu

Page 2: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Mi az a mobil informatikai rendszer?

A mobil informatikai rendszerek célja, hogy olyan instant

megoldásokat adjon, amely a felhasználás helyétől és

idejétől független. Jellemző, hogy valamilyen vezeték

nélküli informatikai hálózatot, mint erőforrást használ, és

a mobilitás érdekében (véges mennyiségű) energiaforrásról

üzemel.

Manapság már a digitális jel átvitel jellemzi az

adatkommunikációt. Mobil hálózatok terjedésének

köszönhetően pedig az offline feldolgozás mellett az

állandó online kapcsolat kezd előtérbe kerülni.

Általában valamilyen adott célból kialakított rendszer

ezért kezelésük, használatuk egyszerű és letisztult.

Napjainkra a mobil informatikai rendszerek társadalmi

szerepe és hatása felértékelődött.

9/12/2016Sicz-Mesziár János 2

Page 3: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Miben más egy mobil informatikai

rendszer?

Független energiaforrásról üzemel, pl.: akkumulátor

Vezeték nélküli hálózati kommunikációval rendelkezik

Hordozható, mobilis

Optimalizált szoftver-hardver megoldások

Kevesebb funkció

Kötegelt és ütemezett feldolgozás

Célhardverek (heterogén csatolt CPU, specializált

feldolgozók)

Biztonsági kérdések eltérő jellege

Elhagyott eszközök kérdése (BYOD és MDM megoldások)

Vezeték nélküli hálózati kommunikáció lehallgathatósága

Disztribúciós jelleg

9/12/2016Sicz-Mesziár János 3

Page 4: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Felhasználási területek

9/12/2016Sicz-Mesziár János 4

TérinformatikaKommunikáció

Telemedicina

Sport

Munka

Audio, music

Photo, video

Social

Page 5: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

9/12/2016Sicz-Mesziár János 5

Modern szoftverfejlesztés1. Projekt alapítás

Módszertan választás

Projekt menedzsment eszköz választás

2. Felhasználói felület

Wireframe, prototípus gyártás

UI, UX

3. Fejlesztés

Veruió kezelő

Build tool & build script

Kódírás

4. Continuous Integration

Automata teszt

Automata verzió publikálás

5. Utóélet

Visszajelzések, Hiba követés

Analitika

Page 6: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

9/12/2016Sicz-Mesziár János 6

Modern szoftverfejlesztés folyamata

Projekt

alapítás

Wireframe

UI UX

Verzió kezelő

rendszer

Build

tool & script

Kód ág

feltöltés

branch

merge

dependencies

Kód

letöltés

Fordítás Teszt Publikálás

Kódírás

alpha,beta

test group

all user

Page 7: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Projekt alapítás

A projekt céljának és/vagy irányának meghatározása,

előkészítése, reális megtervezése amely projektmenedzsment

feladat.

Általában valamilyen specifikáció vagy user story áll

rendelkezésre.

Eredmény terméke a Projekt Alapító Dokumentum (PAD)

Projekt célja (mire ad megoldás, 1-2 mondat)

Projekt célközönsége (kor, nem, terület)

Ütemterv (mérföldkövek)

Eredmény termékei (időközi verziók, tesztelési eredmények,

stb…)

Erőforrások (fejlesztői kapacitás, külső erőforrások, határidő,

budget)

Felelősségi körök, szerepkörök (ki mit tehet)

Kockázatok

9/12/2016Sicz-Mesziár János 7

Page 8: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Módszertan választás

Mai modern szoftverfejlesztésben az agilis módszertanok a

preferáltak.

Adaptív szoftver-hardver fejlesztést takar, amely flexibilisen

tud alkalmazkodni a menet közbeni igény változásokra.

Jól fókuszált erőforrás felhasználás.

9/12/2016Sicz-Mesziár János 8

Scrum Kanban

Page 9: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Projekt menedzsment eszköz választás

Célja, hogy a projekt irányítását egy kézbe, azaz egyetlen

eszközbe terelje.

Követhető legyen a projekt fejlesztés folyamata.

Mindenki számára egyértelműsítse a feladatokat.

Az akadályok jól felismerhetőek legyenek. (blokkolódás)

9/12/2016Sicz-Mesziár János 9

Page 10: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Wireframe, mockup, prototype

Koncepció, drótváz rajz készítése

Elképzelések egyeztetésére jól használható (ugyanazt képzeljük alatta?)

UX előteszt(hibás koncepció korrigálása implementáció előtt)

Számtalan eszköz van már rá …Sketch, WireframeSketcher, Pencil, MockFlow, Gliffy, AxureRP,

Balsamiq, JustInMind

9/12/2016Sicz-Mesziár János 10

Page 11: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

UI, UX

Célja, hogy a szoftver használata minél gördülékenyebb

legyen.

Manapság a fő irány elvek:

Letisztultság

Kényelem

(egy kattintásos megoldás, pl.: FB, G+ OAuth login

Minél kevesebb zavaró tényező

(amit tudunk oldjunk meg a felhasználó nélkül)

Minimális színválaszték

Koherencia és egységesség

Visszajelzés az interakciókra

Elfogadjuk, hogy nem tudjuk (teljesen) mi a jó a

felhasználónak.(felhasználó reakciója a szoftverre)

9/12/2016Sicz-Mesziár János 11

Page 12: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Verzió kezelő rendszer

A forrás kód karbantartása és magas szintű kezelése.

Csapat munka összehangolása.

Elágazások, alternatív implementációk támogatása.

Successful Git branching model

Master

Release

Develop

Feature branch

9/12/2016Sicz-Mesziár János 12

Page 13: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Build tool & script

Build automatizáló rendszer, melynek célja, hogy a

szoftvercsomag előállításához szükséges folyamatokat

összefogja.

Karmester szerep, mindent tud ami az előállításhoz kell

Így is ismert: „One click build”

Az alábbi feladatokat szokta ellátni:

Függőség kezelés

(felhasznált library-k begyűjtése, központi repository-kból)

Forrás optimalizálás

Alternatív verziók kezelése

9/12/2016Sicz-Mesziár János 13

Page 14: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

CI – automata teszt & deploy

Célja, hogy a verziókövető rendszerből letöltse az aktuális

kódot, majd a build script(ek) segítségével előállítsa a kívánt

szoftvercsomagot.

Szoftver csomag elkészülte után, futtathat:

Automatikus teszteket

Publikációs folyamatokat

Kiküldés szűk tesztcsoportnak (e-mail, weboldal),

Közzététel mindenki felé (Play Store, AppStore publikáció),

Kitelepítés a szerverre

9/12/2016Sicz-Mesziár János 14

Page 15: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Crash report

Célja, hogy visszajelzést kapjunk a nem megfelelő

működésről.

Általában egy olyan automatikus reportot jelent, amely az

esetleges programhibáknál (expcetion) elküldi egy központi

szerverre.

Lehetőségünk van kielemezni a hibát, készüléktől és

felhasználótól függően.

9/12/2016Sicz-Mesziár János 15

Page 16: Mobil Informatikai Rendszerekusers.nik.uni-obuda.hu/malk/mobil/2016 ősz/01_-_Modern... · 2016-09-12 · előkészítése,reálismegtervezéseamely projektmenedzsment feladat. Általában

Analitika

Az analitika célja, hogy „ne repüljünk vakon”.

A kiadott disztributív alkalmazásokat nyomon tudjuk követni.

Megismerjük általa a szoftverünk felhasználóit

Mérni tudjuk döntéseinket. (A/B test)

Platformok közötti összehasonlítás

9/12/2016Sicz-Mesziár János 16