WEBES ALKALMAZÁSOK TERVEZÉSE, FEJLESZTÉSÉNEK MENETE. Tarcsi Ádám, Horváth Győző



Hasonló dokumentumok
WEBES ALKALMAZÁSOK TERVEZÉSE, FEJLESZTÉSÉNEK MENETE. Tarcsi Ádám

Információtartalom vázlata

Információs rendszerek Információsrendszer-fejlesztés

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szoftvertechnológia ellenőrző kérdések 2005

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Verifikáció és validáció Általános bevezető

(Teszt)automatizálás. Bevezető

01. gyakorlat - Projektalapítás

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

A szoftverfejlesztés eszközei

Web-programozó Web-programozó

Név: Neptun kód: Pontszám:

UML (Unified Modelling Language)

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

30 MB INFORMATIKAI PROJEKTELLENŐR

A Java EE 5 plattform

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

DW 9. előadás DW tervezése, DW-projekt

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

gyakorlatban Nagy Gusztáv

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Projectvezetők képességei

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

Nagy bonyolultságú rendszerek fejlesztőeszközei

Programfejlesztési Modellek

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Szoftvertechnológia 2008/2009. tanév 2. félév 1. óra. Szoftvertechnológia

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

Szolgáltatás Orientált Architektúra a MAVIR-nál

IK Algoritmusok és Alkalmazásaik Tsz, TTK Operációkutatás Tsz. A LEMON C++ gráf optimalizálási könyvtár használata

Közösség, projektek, IDE

iphone és Android két jó barát...

Gara Péter, senior technikai tanácsadó. Identity Management rendszerek

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

Félévi követelmények Bemutatkozás és követelmények

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Bevezetés a programozásba

IT Factory. Kiss László

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Félévi követelmények. Gyakorlatvezetők

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Tudásalapú információ integráció

Adatbányászat és Perszonalizáció architektúra

MVC. Model View Controller

Teljeskörű BI megoldás a gyakorlatban IBM eszközök használatával, Magyarországon

Nyilvántartási Rendszer

Verziókövető rendszerek használata a szoftverfejlesztésben

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Programrendszerek tanúsítása szoftverminőség mérése

TOGAF elemei a gyakorlatban

Szoftver-technológia I.

Modell alapú tesztelés mobil környezetben

Ismeretanyag Záróvizsgára való felkészüléshez

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

webalkalmazások fejlesztése elosztott alapon

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Előzmények

JAVA webes alkalmazások

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

SW-project management

Az Oracle Fusion szakértői szemmel

Szoftverminőségbiztosítás

ELTE, Informatikai Kar december 12.

Járműinformatika A járműinformatikai fejlesztés

Újdonságok. Jancsich Ernő Ferenc

Web service fenyegetések e- közigazgatási. IT biztonsági tanácsadó

Funkciópont elemzés: elmélet és gyakorlat

S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN. Structured Systems Analysis and Design Method

A GAGYIN TÚL - JAVASLAT A MAGYAR WEBES PIAC FEJLESZTÉSÉRE. Kollár László MS HU

EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

The Unified Software Development Process. Történet. Feltételek. Rational Unified Process. Krizsán Zoltán Ficsor Lajos

Vezetői információs rendszerek

Microsoft SQL Server telepítése

Univerzális munkafolyamat szimulátor

Web-fejlesztés NGM_IN002_1

A követelm. vetelmény. analízis fázis. Az analízis fázis célja. fázis feladata

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Zimbra levelező rendszer

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Átírás:

WEBES ALKALMAZÁSOK TERVEZÉSE, FEJLESZTÉSÉNEK MENETE Tarcsi Ádám, Horváth Győző

2 Tervezés

Mi a Webtechnológia (Web Engineering)? 4 A szoftvertechnológia kiterjesztése webes alkalmazásokra. Több, mint csupán HTML és JavaScript A szoftverfejlesztés web-centrikus megközelítése. Kiváló minőségű, költség-hatékony web-es alkalmazások tervezéséhez, fejlesztéséhez, fejlődéséhez szükséges irányzatok, módszertanok alkalmazása.

Web Engineering kulcsterületei Szoftvertechnológia Követelmény elemzés Tervezés Fejlesztés Tesztelés Működtetés Karbantartás Web Engineering Hypermedia Információs struktúra leírása Navigáció Vizualizáció Használhatóság Ergonómia Eggyüttműködés Számítógépes hálózatok ISO/OSI rétegei Hatékonyság Biztonság 1997-2005 Dr. Martin Gaedke Egyebek... Információs rendszerek Adatmodellezés RDBMS, XML Lekérdező nyelvek Üzleti folyamatok

Web-site vs. Web-alkalmazás Statikus / dinamikus Adatbázis Hagyományos (asztali) alkalmazás Web-site Statikus vagy statikus-szerű Dinamikus Nem szükséges / nem tipikus Nem implementálható asztali alkalmazásként Jellemző Authorizáció Nem jellemző Jellemző Bookmarking / search engine Tipikus, jellemző Szerver-oldali logika Nem jellemző Mindig Kliens-oldali logika Nem jellemző, de előfordulhat Web-alkalmazás Rendelkezik asztali alkalmazásokhoz hasonló funkcionalitásokkal Nem működik. Keresőmotorok számára irreleváns, feldolgozhatatlan Jellemzően Példa Híroldalak, (Wikipedia) Google Docs

Keretrendszer vs. Tartalomkezelő (CMS) Programozói készségek, érettségi szint az adott környezetben Web-es fejlesztés célja Tisztán tartalom megosztás Tartalommegosztás kevés fejlesztéssel Kezdő CMS CMS, de fejlesztés nem ajánlott Haladó CMS CMS / Framework Profi CMS CMS / Framework Szofisztikált funkciók, a tartalmi szempontok nem fontosak Projekt nem ajánlott Framework Framework

Összetettség, komplexitás Web alkalmazás kategóriák Ubiquitous Semantic Web Collaborative Social Web Workflow Based Transactional Interactive Portal Oriented Doc-Centric Idő 8 Egy összetett webalkalmazás több kategóriába is tartozhat!!!

Dokumentum-központú web-site-ok Web alkalmazások előzményei, kezdetleges webalkalmazások Statikus HTML dokumentumok Jellemző a manuális frissítés Előnyeik Egyszerű, Megbízható, Gyors válaszidő Hátrányaik A gyakori frissítés jelentősen megnöveli a karbantartás költségeit Mivel a frissítése nehézkes, nem nagyon automatizálható, gyakoriak az elavult tartalmak.

Interaktív & Tranzakcionális Interaktív Interaktív tartalmak: űrlapelemek, gombok,... Dinamikusan generált oldalak (felhasználói inputtól függően) Pl.: híroldalak Tranzakcionális Tartalom frissítése (CRUD) tranzakció Adatbázis használat jellemző Pl.: szállodai hotelfoglalás, online bank, vásárlás

Munkafolyamat-alapú alkalmazások Üzleti folyamat (business processes) alapú alkalmazások Nem szükségszerű a workflow motor Az alkalmazás felépítését, struktúráját az üzleti logika határozza meg Jellemzően web-szolgáltatás alapú Pl.: B2B, SOA alkalmazások

Kollaboratív & Social Web Együttműködésre épülő webalkalmazások Struktúrálatlan, együttműködő környezetek Személyek közötti kommunikáció mindenekfelett Pl: Wiki-k Social Web A WWW alapvetően anonim környezet Megosztás, közösségek térnyerése Mashup: alkalmazások közötti integráció Pl: Blog-ok, social bookmarking (del.icio.us)

Portál-alapú webalkalmazások Minden egy helyen: egy belépési pontot ad a heterogén információk eléréséhez Index, Yahoo! CMS rendszerek Specifikus, tematikus portálok Üzleti portálok (Business, Enterprise portal): intranet Online piacterek: bookline, vatera Közösségi portálok adott közösségeknek: scn.sap.com

Mindenhonnan elérhető (Ubiquitous) webalkalmazások Testreszabott szolgáltatások, melyek bármilyen eszközről elérhetőek Human-Computer Interaction (HCI) kulcsfontosságú: Az egyes eszközök korlátai (képernyő méret, sávszélesség) Kontextusfüggő Jelenleg is fejlődő terület: Perszonalizáció Helyfüggő alkalmazások Multi-platform, HTML5 alkalmazások Pl.: Evernote, hvg.hu (tablet.hvg.hu, m.hvg.hu)

Szemantikus Web Tim Berners-Lee: Information on the Web should be readable to machines, as well as humans. Metaadatok és ontológiák használata a tartalom, információ leírására. Számítógépek számára is érthető tartalom. Pl.: dbpedia

16 Web Engineering

A web-alkalmazások építőkövei 17 Tartalom HTML dokumentumok, Multimédia állományok Navigációs struktúra (Hypertext) Felhasználói interfész

Szoftverfejlesztés tevékenységei Elvárások, követelmények elemzése és specifikáció Tervezés Implementálás, fejlesztés, kódolás Kipróbálás, validálás, tesztelés Szoftverevolúció: karbantartás, továbbfejlesztés

Kiegészítő tevékenységek Projekt menedzsment Verzió kezelés / verzió követés Erőforrás menedzsment Minőségbiztosítás Terméktámogatás Projekt értékelés, fejlesztési folyamat továbbfejlesztése

Feladatkörök 20 Megrendelő Szervezői, tervezői feladatok: rendszerszervezés, szoftver architect, projektvezetés, marketing, stb. Web-fejlesztés: kilens, szerver oldalon Web-design Adatbázis: adminisztráció, fejlesztés Tesztelés Üzemeltetés

21 Szoftverfolyamat-modellezés

Szoftverfolyamat modellek Vízesés Boehm féle spirál Gyors prototípus Inkrementális (evolúciós) Újrafelhasználás orientált (komponens alapú) V OMT (Object Modelling Technique) RUP (Rational Unified Process) Agilis módszerek: SCRUM, Extreme Programming (XP), Lean, stb.

Vízesés modell A probléma elemzése, meghatározása, követelmények felmérése Rendszerjavaslat kidolgozása Rendszerspecifikáció Logikai és fizikai tervezés Implementáció, megvalósítás Szoftvervalidáció, tesztelés Rendszerátadás és bevezetés Üzemeltetés és karbantartás

Vízesés modell Követelmények felmérése: igények, elvárások meghatározása, összefoglalása. Jelen állapot (helyzetfelmérés), probléma, elérendő cél definiálása. Rendszerjavaslat: Alternatívák, szükséges erőforrások, költségek megválaszolása, alapvető lépések a projektterv összeállításához. A rendszerjavaslat az első olyan dokumentum, amelyet a megrendelő megkap, melyből az eddig végzett munkát megítélheti, a fejlesztés perspektíváiról képet alkothat. Rendszerspecifikáció: rendszertervezőnek szól. Input-output típusok, fájlok definiálása, nagyvonalú rendszerterv (hardver és szoftveres), adatstruktúra, interfész-definíció. Döntések, azok bemutatása (pl.: vásárolt v. fejlesztett részek), stb. Logikai és fizikai tervek: szoftver és adatbázis. A lépések konkrét definiálása. Megvalósítási terv (idő, erőforrások, ember, pénzügyi források, hogyan érjük el a célokat) és rendszerterv elkészítése. Architektúra, hálózati topológia, funkcióspec., navigációs és oldal desing-ek, adatterv - DB diagram, osztálydiagrammok.

Vízesés modell Implementáció = megvalósítás Szoftvervalidáció = tesztelés Rendszerátadás (élesbe helyezés online) Üzemeltetés, karbantartás visszamutat a korábbi állapotokra.

Logikai és fizikai rendszerterv Logikai rendszerterv: a felmerült probléma megoldására kidolgozott működési-, szervezeti-, adat- és folyamatmodell, mely többféle eszközkörnyezetben megvalósítható módon, logikai szinten van megfogalmazva. Fizikai rendszerverv: egy logikai rendszerterv alapján több fizikai is készíthető más-más hardver/szoftver környezetre is tervezhető, megvalósítható. Konkrét eszközbázisra, adott környezetre épül.

Logikai tervezés A rendszer működési logikájának tervezése Folyamatok (funkciók) tervezése Adattervezés Felhasználói interfészek tervezése

Fizikai tervezés Adatterv Rendszerspecifikációk (fejlesztési, futtatási környezet) Szoftverarchitektúra (rétegek) A rendszer működésének elve Programspecifikációk funkciótervek I/O tervek, rendszer interfészek Biztonsági terv

Vízesés modell A következő fázis addig nem indulhat el, amíg az előző be nem fejeződött. Ez a modell akkor működik jól, ha a követelmények teljesen ismertek. Előny: Jól menedzselhető és ellenőrizhető. Minden fázisban jól definiált feladatok. Minden fázis jól dokumentálható. Előre jól definiálható követelmények esetén jól alkalmazható. Hátrány: Nagyon sok probléma csak az utolsó fázisban derül ki, így a javítás nagyon költséges. Korán kell jelentős döntéseket hozni, ez hibás döntésekhez vezethet. Nehéz a rendszert a fejlesztés közben változó követelményekhez igazítani. Sok dokumentációs munkát igényel.

Spirál modell megvalósíthatóság a rendszer követelményeinek meghatározása rendszertervezés, stb.

Spirál modell Determine goals, alternatives, constraints Evaluate alternatives and risks budget 4 budget 3 budget 2 budget 1 prototype 1 prototype 2 prototype 3 prototype 4 concept of operation Plan Develop and test

Spirál modell Előny: a kockázati tényezőkkel explicite számol. A spirális modellben nincsenek rögzített fázisok, és felölelhet más folyamatmodelleket is (vízesés, evolúciós, stb.). Hátrányai: a modell alkalmazása bonyolult, munkaigényes feladat; a párhuzamos foglalkoztatás csak a 3. szektorban lehetséges.

V modell Forrás: http://softwareandme.wordpress.com/2009/10/20/software-development-life-cycle/sdlc_v_model

Level of abstraction V modell system requirements system integration software requirements acceptance test preliminary design integration testing analyze and design detailed design component test test and integrate code and debug unit test time

V modell Egy módosított vízesés modell. Megkülönbözteti a fejlesztésen belül a konstrukciós és a tesztelési fázisokat. Definiálja a tesztelés szintjeit. Szemlélteti, hogy a tesztelési munka végigköveti a teljes fejlesztési folyamatot. Összefüggést tételez fel az egyes konstrukciós fázisok és az egyes tesztelési szintek között.

Gyors prototípus modell

Gyors prototípus modell Segíti a fejlesztő és a felhasználó kommunikációját. Főleg kisebb csoportoknál vált be. A teljes fejlesztési folyamatot általában nem fedi le, de jól alkalmazható kiegészítő módszerként.

Inkrementális (evolúciós)

Evolúciós modell Ki kell fejleszteni egy kezdeti implementációt (prototípust), azt a felhasználókkal véleményeztetni, majd sok-sok verzión át addig finomítani, amíg megfelelő nem lesz. Iterációs modellnek is nevezik. Objektum orientált fejlesztésben gyakran használják. Ez a modell a felhasználó kívánságait jobban kielégítő programot eredményez. A kis (<100.000 programsor) és közepes (<=500.000 programsor) rendszerek fejlesztéséhez ideális. Hátrányai: a folyamat nem látható; a rendszerek gyakran szegényesen strukturáltak; a gyors fejlesztés rendszerint a dokumentáltság rovására megy.

Újrafelhasználás orientált fejlesztés (komponens alapú) Komponenselemzés Követelménymódosítás Rendszertervezés újrafelhasználással Fejlesztés és integráció

Komponens alapú modell Előnye: lecsökkenti a kifejlesztendő részek számát, így csökkenti a költségeket és a kockázatot. Ez általában a kész rendszer gyorsabb leszállításhoz vezet. Hátrányai: akövetelményeknél hozott kompromisszumok elkerülhetetlenek, és ez olyan rendszerhez vezethet, ami nem felel meg a felhasználó valódi kívánságának.

Egyéb modellek, módszertanok Agilis XP extreme Programming SCRUM Lean MDA Model Driven Architecture MDD- Model Driven Design TDD Test Driven Design BDD Behaviour Driven Design...

Tervezési eszközök

CASE eszközök Computer-Aided Software Engineering Követelményspecifikáció: grafikus rendszermodellek, üzleti és domain Elemzés/tervezés során: adatszótár kezelése, mely a tervben található egyedekről és kapcsolataikról tartalmaz információt; felhasználói interfész generálását egy grafikus interfész-leírásból, melyet a felhasználóval együtt készíthetünk el.; a terv ellentmondás mentesség vizsgálata Implementáció során: automatikus kódgenerálás (Computer Aided Programming - CAP);verziókezelés Szoftvervalidáció során: automatikus teszt-eset generálás, tesztkiértékelés, -dokumentálás Szoftverevolúció során: forráskód visszafejtés (reverse engineering); régebbi verziójú programnyelvek automatikus újrafordítása újabb verzióba.

CASE eszközök Automatikus dokumentumgenerálás; Projektmenedzsment támogatás (ütemezés, határidők figyelése, erőforrás-tervezés, költéségés kapacitásszámítás, stb. ) A CASE-eszközök korai pártolói azt jósolták, hogy a szoftverek minőségében és a termelékenységben nagyságrendi javulást okoznak ezek az eszközök, de valójában csak 40% körüli a javulás.

46 Web site tervezés

Web Site tervezés 47 1. Információ gyűjtés 2. Tervezés 3. Tartalom és design 4. Fejlesztés 5. Tesztelés, minőségi ellenőrzés / Üzembehelyezés 6. Karbantartás

1. Információgyűjtés 48 Igényfelmérés: több lépcsőben, funkcionális igények felmérésével marketing- és stratégiai célok meghatározása Előzetes árajánlat Domain név és tárhely (www.domain.hu)

2. Tervezés I. 49 Anyagbeszerzés I. Adat, funkcionális, navigációs terv készítése

2. Tervezés II. 50 Technológiai és megrendelői döntések Statikus vs. dinamikus (PHP,.NET, Java, stb.) oldal Adatbázis vs. fájl tárolás Ki tartja karban az oldalakat: megrendelő, készítő vagy rendszergazda, stb. Saját oldal (sablon) vs. keretrendszer vs. tartalomkezelő rendszer Tárhely-szükséglet tervezés Árajánlat

3. Tartalom és design 51 Marketing-terv készítése Arculat-terv, logótervek készítése Feladatok meghatározása Sablon készítése Döntés a design-ról

52 Presentation Model

53 Presentation Model - Mockup

54 Web-site tervezés - sablon

4. Fejlesztés 55 Anyagbeszerzés II. További oldalak elkészítése (sablon) Fejlesztés Szerver oldali kód Kliens oldali kód

5. Tesztelés, értékelés 56 Tesztelés Mérések értékelése Javítások, amennyiben szükségesek Üzembe helyezés Karbantartási terv Jótállás Karbantartás Support

6. Karbantartás 57 Javítások Üzemeltetési feladatok

58 Web alkalmazás tervezése

Modern Web Alkalmazások evolúciós modellje 59 Üzleti elvárások Követelmény analízis / Igényfelmérés Tervezés Megvalósítás, fejlesztés Tesztelés, értékelés Offline prototípus Üzembehelyezés Leállítás Üzemeltetés, karbantartás Online webalkalmazás

WebML Development Processes 60 Requirement analysis (use case, business process models) Application design (data model, hypertext model presentation, site structure) Data design Hypertext design Implementation (Database and Web application) Testing and evaluation (testing, measuring, code generation ) Deployment, maintenance and evolution (Conceptual model changes)

Specifikáció 61 4 jellemző leírási, jelölési módszer Forgatókönyv, szkenáriók leírása jellemzően mondatos, vagy egyszerű táblázatos leírás: megrendelők számára jól érthető Részletes, felsorolás-szerű leírás Formális követelmény-leírás pl.: UML használati eset diagrammok segítségével, stb. Formális specifikáció: matematikai képletekkel leírt specifikáció a weben nem nagyon használt

Tervezési szempontok 62 követelmények összegyűjtése szerepkörök, használati esetek, folyamatok meghatározása oldalfunkciók adatokkal oldaltérkép (site struktúra) oldalvázlatok készítése adatbázis tervezése designtervek készítése

Példa: albumkezelő web-alkalmazás 63 Célunk egy olyan webalkalmazás készítése, amely lehetővé teszi fényképalbumok készítését, megtekintését, publikálását.

Követelmény-analízis 64 Pontosan milyen oldalak lesznek? Milyen adatok jelenjenek meg az oldalakon? Hogyan nézzenek ki ezek az oldalak? (sablon) Milyen összefüggésben vannak ezek az oldalak? (oldaltérkép) Hogyan azonosítom a felhasználókat, hogyan különböztetem meg, hogy kinek milyen albumai vannak? (azonosítás, autentikáció) Általában: milyen műveleteket és oldalakat érhetnek el az azonosítatlan és azonosított felhasználók? (szerepkörök, autorizálás) Mik az egyes oldalak adatigényei? (modell felépítése, körvonalazása) Milyen struktúrában, hogyan tároljuk az adatokat? (adatbázis) Milyen eszközök támogatottak? (asztali böngésző, mobil kliensek)

Szerepkörök 65 A felhasználókat csoportokba osztjuk. A csoportok határozzák meg az elérhető funkciókat, jogosultságokat. Felhasználói csoport leírása: Szerepkör neve: Leírás: Profil adatok: Super-group: Sub-group: Kapcsolódó usecase: Objektumok olvasási joggal Objektumok módosítási joggal RegisztráltUser Regisztrált felhasználó. Az alkalmazás teljes funkcionalitása csak ebbe a csoportba tartozó felhasználók számára érhető el. oid, username, password, email User Nincs Login, Bemutató megtekintés, Keresés, Bemutató információk lekérése, Új bemutató, Kép feltöltés, Bemutató szerkesztése, Kép törlése, Bemutató törlése, Kedvencnek jelöl Bemutato, Kep Bemutato, Kep

Use case használati eset diagram 66

Activity diagram - 1. Használati eset, folyamat leírása

Használati eset táblázatos leírás Cím Cél Új bemutató készítése Új bemutató album készítése. Előfeltétel Csak regisztrált felhasználó (RegisztráltUser) tud új bemutatót készíteni. Utófeltétel A bemutató mentése sikeres. Folyamat leírása Az alábbi lépések végrehajtása szükséges: 1. Az alábbi adatokat kell a felhasználónak kötelezően megadnia egy új bemutató készítésekor: cím, leírás, szerzo (automatikus). 2. Opcionális adatok: nincs 3. Bemutató mentése

Activity diagram - 2. Használati eset, folyamat leírása, architektúrára hivatkozással. User Application Server Database Initial Request Send Form Input Credentials Accept Credentials Verify Credentials Select Home Page Elaborate Page Index of Home Pages Default Home Page List Serve Request Receive Home Page

70 Business Process Model (BPM)

Oldalak és funkciók tervezése 71 Főoldal Hivatkozás a bejelentkezésre és a regisztrálásra 10 legnépszerűbb bemutató listája Album adatai: indexkép, címe, leírása, hányszor tekintették meg Funkciók: egy bemutatóra kattintva betöltődik a bemutató Egy véletlenszerűen kiválasztott album vetítése Bemutató megtekintése Bemutató adatai...

Adatbázis tervezés 1. Cél meghatározás, a feladat: Meghatározzuk a tárolandó adatok körét, az adatbázis használatának módját, az elvégzendő részfeladatokat. 2. Logikai (koncepcionális) adatmodell készítése 3. Fizikai adatmodell készítése 4. Táblák meghatározása: Az összegyűjtött információkat témakörökre, táblákra bontjuk (normalizálás). Kerülni kell a többszörös adatbevitelt, de minden szükséges adatot tárolni kell. 5. A táblák mezőinek meghatározása, funkcionális függőségek megállapítása 6. Kapcsolatok felállítása a táblák között 7. Teszt változat elkészítése, a terv finomítása 8. Üzembehelyezés 9. Karbantartás

73 Adatmodell

74 Adatmodell

75 Site structure hypertext model

76 Presentation: Mock-up

77 Design, ebből a sablon

Irodalom 78 Gerti Kappel, Birgit Pröll, Siegfried Reich, Werner Retschitzgger: Web Engineering, John Wiley &Sons, 2006. Sven Casteleyn, Florian Daniel, Peter Dolog, Maristella Matera: Engineering Web Applications, Springer, 2009 Horváth Győző, Tarcsi Ádám, Menyhárt László: Többrétegű webes alkalmazások fejlesztése, ELTE, 2012 Dr. Johanyák Zsolt Csaba: Szoftvertechnológia előadás, KF, 2010