Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Rogramozás ódszertan Endrődi Tamás.

Hasonló előadás


Az előadások a következő témára: "Rogramozás ódszertan Endrődi Tamás."— Előadás másolata:

1 rogramozás ódszertan Endrődi Tamás

2 A Vasa és a Kronan Nem volt írásos specifikáció Nem mondtak nemet
A felhasználót nem vonták be Díszítéssel ment el az idő nagy része Más technika kell egy nagy programhoz

3 Élelmiszerbolt Vonalkódolvasó helyett kézi beírás
Numerikus azonosítók fejből Sorbanállás Ellenpélda (ha áram van, minden van!)

4 Bankjegykiadó automata
Négyjegyű kód + összeg Kártya+pénz+papír Négyjegyű kód + nyitó menü + összeg Kártya+pénz+papír(?) Kód + nyitó + összeg + újabb menü Pénz, de a kártya NEM!

5 A szoftverkészítés célfüggvényeinek megváltozása
Adatfeldolgozás Viszonylag primitív műveletek és algoritmusok Típusfeladatok Kliens/szerver és többágú rendszerek elterjedése Gyors és olcsó kivitelezhetőség Sok hardverhez sok szoftver kell Nincs idő egy-egy programmal hónapokat "vacakolni" Tömegtermelés Pl. a matematikában kevesebb a változás. A sablon jellegnél a tömeggyártás három szintje fontos: Egyedi gyártás Sorozatgyártás (minden egyforma) Automatikus programozás (sorozatban eltérőt gyártani) Sokféle tartármártás létezik. Amíg madártejnek nem érezzük, elfogadható!

6 A szoftverkészítés célfüggvényeinek megváltozása
Könnyebben módosítható, továbbfejleszthető és karbantartható programok Az adatfeldolgozásban nagyok a változások Sablonjelleg fontossága Koncepció és szabványok alkalmazása

7 A szoftverkészítés célfüggvényeinek megváltozása
Megbízhatóság "Fault-tolerant" rendszerek elterjedése HW téren Tranzakciókezelés alkalmazása SW területen A precíz gyártás és a pontos, részletes tesztelés szerepe megnő Adatvédelem Nyílt rendszerek védelme az illetéktelen hozzáférés elől

8 Strukturált módszer Koncepciókészítés (Survey) Analízis
Tervezés (Design) Adatbázis (adatmodell) Felhasználói interfész (ez a legnagyobb rész) Funkcionális mag (üzleti logika) Implementáció Tesztelés

9 Rapid prototípus módszer
Rapid analízis Prototípus készítés Tervezés (Design) Hangolás (Tuning) Tesztelés Implementálás Iteráció a 2. ponttól kezdve

10 Mi a baj a prototípussal? (1)
Könnyen elkészíthetőnek és módosíthatónak kell lennie A papíralapú tervnél nem tud semmi egyszerűbb lenni El kell dobni a végén!!! Sajnos a legtöbbször "termékké csiszolják" A rapid development csapdája: hamar mutatunk valamit, de közel nem azt, amilyen a végtermék lesz A prototípust is meg kell tervezni Helyes sorrend: 1=tervezés, 2=implementálás Helytelen sorrend: 1=implementálás, 2 újabb verzió implementálása

11 Mi a baj a prototípussal? (2)
A prototípus konfliktus A felhasználó pontos visszajelzéséhez szinte teljesen funkcionálisan működő program kell "Ez csak prototípus, az élesben működni fog!?" A SW specifikációt nem helyettesítheti egy jól működő prototípus sem. Legtöbbször akkor jön elő, amikor meg kell mutatni, milyen jól áll az adott SW fejlesztése Pontosan megfogalmazott cél kell, hogy mit akarunk elérni a prototípussal!

12 Milyen a jó prototípus Meglévő programokból indul ki.
Nem igényel külön munkát, azt mondjuk pl. hogy a csoportkiválasztás úgy fog működni, ahogy a Customize Toolbar működik a Windows-ban Nem árt, ha sok SW-t nézeget az ember Papír alapú prototípus Könnyű elkészíteni és módosítani Nem kell egy vonalba húzni és méretezgetni a controlokat A felhasználó is kénytelen a tervet értékelni, és nem hasra esni egy vizuális látványtól Nem funkcionális, korlátozott Csak a kritikus részek Bemutató a felhasználó bevonásával Forgatókönyv

13 A múlt 5 4 1 3 2

14 A múlt szlogenje Gépidő végén Elhull a virág, eliramlik a gépidő
Jöjj kedvesem, add a jobodat ide. Ki most kártyáidat kezembe tevéd le Holnap nem omolsz-e listád fölibe?

15 A jelen és a jövő

16 Felhasználócentrikus módszer
Igényspecifikáció Rendszeranalízis (OOA) Felhasználók elemzése Felhasználói feladatok Objektummodell Rendszertervezés Metafora tervezés Grafikus felhasználói interfész tervezés Környezetfüggő interfész tervezés Implementálás

17 Vision-centered UI design
A felhasználó bevonása fontos, de nem ő definiálja a UI-t A szélsőséges User-centered UI olyan, mint a halcentrikus akvárium tervezés. Igen nehéz lenne a haltól megkérdezni, mi lenne jó neki! A felhasználó amúgy is hajlamos önmagát okolni a UI helyett.

18 A felhasználók elemzése
Szerepkör Szervezeti különbség Számítástechnikai tudás Az adott tématerület ismerete Gyakoriság

19 Szerepkör elemzés Jogosultsági kérdések Egyszerű helyzetben 2-3 szint
Hozzáférés, elérés, láthatóság Új adat felvitele Meglevő adat módosítása Meglevő adat törlése Egyszerű helyzetben 2-3 szint Főnök Alkalmazott Külső szemlélő

20 Szervezeti különbség Ritkán okoz problémát
Számlázásnál pl. érdemes külön szerepkörnek venni a bejövőt és a kimenőt.

21 Számítástechnikai tudás
Kezdők On-line segítségre szorulnak Sok hibával dolgoznak Gyakorlottabbak Kevesebb hiba, ritkább help használat Profik Gyorsbillentyűk, rafinériák használata

22 Az adott tématerület ismerete
Kezdők A tématerület magyarázata Sok hiba, helyreállíthatóság Gyakorlottabbak Kevesebb hiba, ritkább help használat Profik Összetett, bonyolult műveletek kellenek

23 Alkalmazási gyakoriság
Alkalmanként használók Nem fognak fejlődni Gyakran használók A kezdőből profivá válnak idővel

24 A felhasználói feladatok elemzése
GOMS módszer Goals (Célok) Operators (Műveletek) Methods (Metódusok) Selection Rules (Kiválasztási szabályok) Cognitive Complexity Theory (CCT) Task-Action Grammar (TAG)

25 Az objektum modell elemei
Objektumok Elsődlegesek vagy másodlagosak Nyelvtani elemzés szerepe Az attribútumok szétválasztása az objektumoktól Objektumok közötti kapcsolatok 1:1, 1:N vagy N:M fokú kapcsolat lehetséges Egyirányú vagy kétirányú

26 Az objektum modell elemei
Attribútumok Tématerületi ismeretek kellenek Csak a nélkülözhetetleneket szabad összeszedni Származtatott attribútumok is kellenek - pl. alternatív nézet miatt Műveletek Ezekkel lehet lekérdezni vagy megváltoztatni az objektum állapotát

27 Az objektum modell elemei
Attribútum arculat Kezdőérték Lehetséges értékek halmaza Alternatív nézetek Tárgyi eszköz műszaki és számviteli adatai Szín megjelenítés Konténer objektum többféle rendezettségben

28 Az objektum modell elemei
Osztályok Azonos műveletek, azonos attribútumtípusok és arculatok, azonos alternatív nézetek Aggregátum és konténer osztály Alosztály, főosztály, absztrakt osztály

29 Metafora tervezési szempontok
A felhasználói tapasztalat szerepe Strukturáltság Szelektivitás Bővíthetőség Konzisztencia és koherencia

30 Metafora tervezési korlátok
Tág forrásmetafora Szűk forrásmetafora Eltérő felhasználói tapasztalat

31 Felhasználói interfész fejlődési szintjei
Main-frame számítógép interfész Parancssor interfész Menüvezérelt rendszerek Grafikus felhasználói interfész (GUI) Alkalmazásorientált helyett adatorientált lett Grafikus tervező szakemberek igénybevétele Funkcionalitás helyett a könnyű használhatóságon van a hangsúly

32 A távirányítók fejlődése
1. Meglévő technológiára épül Olyan gombok és doboz, ami már létezik Egyfajta gombok 2. Javított elrendezés Még mindig a meglévő technológiára épül Kétféle gomb és több szín 3. Új technológia A gomb sugallja, hogy mire való Hiba elleni védelem (pl. a felvétel két gomb)

33 A távirányítók fejlődése
4. Az új technológia túllihegése Űrhajó vezérlőpultjához hasonlít Többféle alakú, színű és viselkedésű gombok dzsungele Bizonyítani akarták, hogy mi mindent tud a masina. 5. A felhasználó céljaihoz való visszatérés Csökkentett bonyolultság Rejtett gombok Nem túl sok szín és gombfajta

34 Példa1 Példa2 Hadd tegye a felhasználó AZT, amit akar AKKOR, amikor akarja és ÚGY, ahogy akarja!

35 Rugalmasság (Flexibility)
Felhasználói kompatibilitás Dialógus kezdeményezési mód Számítógép által kezdeményezett Felhasználó által kezdeményezett Munkafolyamat kompatibilitás Többszálú dialógus Többdimenziós, multimodális rendszerek

36 Rugalmasság (Flexibility)
Taszk vándorlás Kooperatív feldolgozási mód Helyettesíthetőség "Ami látható, az használható is legyen" Az interfész testreszabása Adaptálhatóság Adaptivitás

37 Könnyű megtanulhatóság
Egyszerűség Limitált funkciómennyiség Könnyű elindulás A tervezési folyamat = az UI egyszerűsítése Szükségtelen ablakok kiiktatása, dialógusok és üzenetdobozok megszüntetése, stb. Ismerősség Korábbi ismeretanyagra támaszkodjon Megjósolhatóság Termék kompatibilitás Taszk kompatibilitás Konzisztencia

38 Donald A Norman mondja:
"Ha legközelebb találkozunk egy ismeretlen objektummal, és elsőre könnyen kezelni tudjuk, akkor álljunk meg és vizsgáljuk meg: a könnyű kezelhetőség ugyanis nem lehet véletlen: Valaki profi módon megtervezte ezt az objektumot!!"

39 Robosztusság Nyomonkövethetőség Helyreállíthatóság Válaszadási készség
Böngészési lehetőség Kiválasztási lehetőség Tartósság (persistance) Helyreállíthatóság Előre Vissza Arányos fáradozás elve Válaszadási készség Válaszidő stabilitása

40 Robosztusság (Preview)
Icon (konstans bitmap) Word-ben a szövegigazításra a toolbar gombok Absztrakt (változó bitmap) Témák bemutatása Frontpage-ben Minta (adat is van benne) Font beállítás a Word-ben Közelítő replika Animáció lejátszás a képernyővédőknél Pontos replika Print Preview

41 Robosztusság (Default)
Az utolsó állapot visszaállítása Egy dialógus az utoljára beírt adatokat tartalmazza Kivétel a nyomtatások száma, ha pl. 58 volt Alapértelmezés Veszélyes akció ne legyen default Sokszor a user által bevitt utolsó (első) adat Pl. Word-nél az első sort kínálja fel filenévnek Nem feltétlenül statikus adat (de lehet, pl. darab=1) Default csoport alkalmazása Pl. Egy következő csekknél nem az előző csekkből, hanem az adott díjtétel előző csekkjéből származhat a default

42 Default tanácsok Jó, ha a user meg is tudja változtatni
Komoly döntéseknél ne legyen default, vagy szükséges legyen user beavatkozás is Rossz példák default-ra: Windows kikapcsolásakor Restart után újra Restart Word-ből kilépve üzenet helyett menteni kellene. Csak a profi user érti a különbséget a memória és a lemez között. A user azt hiszi, hogy amit beírt a Kakukk.Doc-ba, az ott van. Ehhez kellene egy "összes módosítás eldobása" gomb.

43 Dolgozó neve: Kis Péter Dolgozó neve: Kis Péter
Színek használata Világos háttéren fekete szöveg Dolgozó neve: Kis Péter Dolgozó neve: Kis Péter

44 Dolgozó neve: Kis Péter Dolgozó neve: Kis Péter
Színek használata A kék szín alkalmatlan információközlésre Dolgozó neve: Kis Péter Dolgozó neve: Kis Péter

45 Színek használata Ez egy súlyos hiba Ez egy figyelmeztetés
Kevés, jól elkülöníthető szín kell Ez egy súlyos hiba Ez egy figyelmeztetés Ez egy súlyos hiba Ez egy figyelmeztetés

46 Színek használata Piros=vészhelyzet Zöld=normál helyzet
A színen kívül más jelzés is kell

47 Hanginformációk Kikapcsolható legyen! Puritán egyszólamú síp
Beszédkommunikáció lehetősége Van, aki szerint pozitív hangjelzés (pl. lágy "cool") is lehet (Alan Cooper)

48 Gyümölcselemzés - Alma
Ismerősség – jó Megjósolhatóság – közepes (kukacok!) Könnyű kezelhetőség – közepes Mosni kell Késre és/vagy jó fogakra van szükség Nincs éles határ a csuma és a lényeg között Robosztusság – jó 1-2 alma jó kalóriát adhat

49 Narancs - Citrom Ismerősség – jó Megjósolhatóság – gyenge (magok!)
Könnyű kezelhetőség – közepes/jó Pucolni kell Robosztusság – jó 1-2 narancs jó kalóriát adhat A citrom viszont piszok savanyú

50 Gyümölcselemzés - Kókusz
Ismerősség – közepes/gyenge Megjósolhatóság – jó Könnyű kezelhetőség – gyenge Komoly fegyver (bárd?) kell hozzá Robosztusság – közepes ?

51 Gyümölcselemzés - Banán
Ismerősség – jó Megjósolhatóság – Kiváló Könnyű kezelhetőség – Kiváló Nem kell mosni Nem kell kés – még fog se! Éles határ a burok és a lényeg között Robosztusság – kiváló 1-2 banán magas kalóriát adhat

52 Interfész szabványok IBM SAA/CUA A Windows-interfész
Nagyszámítógépes modell (Entry model) Grafikus modell Hibrid modell A Windows-interfész Más rendszerek (Macintosh, Sun, stb.) Szabványtól eltérés okai (játék, multimédia, művészi UI, meghökkentés, jövőbe mutatás)

53 Tervezési elemek Vezérlő elemek (OLE, ActiveX is)
Ablakok (Teljes képernyős legyen az alkalmazás) Menük (feltáruló – popup menük is) Eszközsor (toolbar) és Státuszsor Egér- és billentyűzetkezelés Típusfeladatok Szelekció Tranzakció-kezelés Transzfer műveletek Folyamatvezérlés Segítő interfész

54 Gombok (Button) Jelölőnégyzet Rádiógombcsoport Nyomógomb Menügomb
Unfold gomb pl. Egyebek>> Menügomb Jobb végén kis háromszöggel

55 Parancsgomb szabályok
Minimális mérete 1095 twips*375 twips Maximum kétféle szélességű gomb lehet a teljes alkalmazásban Kivéve a nem szöveges gombokat (pl …) Ne legyen olyan, hogy rákattint és hibaüzenet jön. (Disabled legyen ehelyett) Ne legyen duplakattintás egy nyomógombra.

56 Listadobozok (ListBox)
Fix méretű Lebomló Owner-drawn listbox Jelölőnégyzet is lehet benne (pl. listview)

57 Speciális listadobozok
Listview control Treeview control

58 Listadoboz szabályok Check box list az alternatívája a multiple selection listbox-nak Statikus szöveg a kiválasztottak számát mutathatja Mindet kijelöli, Összes kijelölés törlése típusú gombok jól jöhetnek ListView tetején lévő sor kattintható legyen Rendezés lehetősége Második kattintásra fordított irányú rendezés Ha a lista 30 tételnél hosszabb, akkor mindig lehessen rendezni.

59 Szövegmezők (Text) Címke
Adatbeviteli mező (szürke háttér=readonly, szürke betű=disabled) Combobox Gördítőgomb Spin button Rich Text Box - formázott szöveg bevitele Hotkey control A statikus text control hátránya, hogy nem lehet működtetni, azaz pl. másolni vagy szűrni.

60 Szövegmező szabályok A címkét ne használjuk adatmegjelenítésre
A user nem tudja másolni, és nem tud szűrni A címke ne legyen csupa nagybetűs Olyan, mintha ráordítanánk a userre. Csak Sans Serif fontot használjunk Times New Roman nem jó Courier csak akkor, ha valamiért nagyon kell A Windows szín és fontváltását illene akceptálnia a programnak

61 Speciális vezérlőelemek (1)
Eszközpaletta "Füles" ablakok (Tab control) Max 2 sorban Ha egy lapon kevés adat van, akkor sincs nagyobb tér közöttük

62 Speciális vezérlőelemek (2)
Önálló gördítősáv Folyamatindikátor

63 Grafikai vezérlőelemek
Ikon (.ICO) Egyenes, kör, téglalap Bitmap ábra

64 Az attribútum arculatának ábrázolása
Kételemű halmaznál jelölőnégyzet vagy rádiógombcsoport Kis elemszámú statikus halmaznál rádiógombcsoport Kis elemszámú nem statikus halmaznál listadoboz vagy kombinált doboz Nagy halmaznál külön adatablak Grafikus reprezentáció is lehet Gördítőgombos képernyőelem

65 Eszközgomb elrendezések
Sima eszközgomb Ki-bekapcsoló eszközgomb Rádiógombszerű eszközgomb

66 Képernyőelemek elrendezése
A felhasználó keresési sorrendjének megfelelően (inkább balra fenn, mint középen) Csoportosítás fontossága A vízszintes görgetést kerüljük. A kiemelkedő elemek kattintásra ingerelnek, az egérvonszolásra átszíneződők is Fehér hátterű elem editálható, a szürke vagy ablakhátterű nem. A kiemelkedő vonalak egérrel vonszolhatók. Dialógusablakban a nyomógombok sorrendje: OK gomb, Mégse gomb, A végére a Súgó gomb

67 Ablakok típusai Elsődleges ablak (application window)
Elsődleges objektumok megjelenítésére Több részre (pane) osztható az alternatív nézetek miatt Másodlagos ablak (dialog box) Másodlagos objektumokhoz Elsődleges objektumok kevésbé fontos attribútumaihoz (pl. lapmargók) Felhasználói instrukciók bevitelére

68 Másodlagos ablakok kezelése
Nincsenek rajta a Taskbar-on Nincs min és max gomb, de van kérdőjel Unfold gombbal lehet a méretét változtatni. Ha a hozzátartozó elsődleges ablakot bezárjuk, akkor ez is bezárul. Kivéve a Tulajdonságok ablakot (Alt+F6 vált) Másodlagosból ne nagyon kreáljunk újabb másodlagost. Csak akkor legyen modális, ha nagyon kell

69 Dialógusablak szabályok
A dialógusablak egy külön szoba; legyen ok, hogy átmenjen a felhasználó oda. Főzés közben egy kanálért bemenni a nappaliba Megtöri a felhasználó gondolatát, és így átveszi a program az irányítást Mérete ne legyen 640*460-nál nagyobb, hogy minden videó módban megjelenhessen 3*4 méretarányú legyen Ne legyenek kövér betűk rajta Modális dián OK/Mégse, Modelessen Bezár kell Scrollbar se legyen rajta.

70 Mire jó a dialógusablak?
Bizonyos részletek és kapcsolódó adatok (Pl. Részletek…) Feltételek begyűjtése egy leválogatáshoz Objektum tulajdonságadatai Ritka beállítások és parancsok elkülönítése Ha a user egy adott feladathoz állandóan dialógust hív, akkor az a dialógus nem jó. Veszélyes műveleteknél a Mégse előnyeinek kihasználása (pl. Formázás)

71 Hogyan szabaduljunk meg a felesleges dialógusablakoktól?
Közvetlen manipuláció (pl. Átnevezés) Főablakba integrálás (pl. névre keresés) Jó alapértelmezések (pl. a Nyomtatás gomb) Automatikus folyamatok Pl. Word-ben a helyesírás és a nyelvtan aláhúzása Korszerű toolbar technika A gombok mellett editbox vagy combo is lehet A Mégse is lejátszható: a gomb nyomva marad egy hosszú keresésnél, és ha a user nem akarja kivárni, akkor újra lenyomja. Hibafile írása feldolgozásnál Millió egymás utáni dialógusablak helyett

72 Tulajdonságablak Nem modális, nem méretezhető ablak
Az adatközpontú tervezés fő komponense Dokkolható toolbox vagy paletta Láthatónál explicit, nem láthatónál implicit (pl. paragrafus tulajdonságadatai) OK, Mégse, Alkalmaz gombok Többszörös szelekció esetén is csak egy ablak a közös tulajdonságokkal Inspector jellegű működés Mindig az aktuális objektumról automatikusan

73 Ablakkezelés Single Document Interface (SDI)
Multiple Document Interface (MDI) Sokkal inkább alkalmazásorientált, mint az SDI Minimalizált gyerekablak a képernyő alján Kezdő felhasználónak nehéz az MDI technika A gyerekablak és az elsődleges ablak fogalma keveredhet A szülő ablak lezárása és újranyitása nem állítja vissza az eredeti állapotot

74 Az MDI alternatívái (1) Workspaces (munkaterületek)
Hasonló egy könyvtárhoz, amiben file-ok találhatók Vizuális tartalmazza az ikonokat és az ablakokat is, amelyek alá tartoznak. Kezelése hasonló az MDI-hez, de lezáráskor és újranyitáskor visszaáll az eredeti állapot. Workbooks (munkakönyvek) Tab fülek jelenítik meg az objektum különféle nézeteit és kapcsolatait.

75 Az MDI alternatívái (2) Project
Hasonlít a könyvtárhoz abban, hogy egy külön ablakban jelképezi az objektumokat. A könyvtár bezárásához képest eltérés, hogy a projekt bezárása minden gyerekablakot bezár.

76 Standard dialógusok Az op. rendszer által használt standard dialógusok (Common Dialog Boxes) Open Dialog Box SaveAs Dialog Box Find and Replace Dialog Box Print, Print Setup, Printer Page Setup Font és Color

77 Üzenetdobozok típusai
Értesítés (info doboz) A státuszsor is használható helyette Control disable/enable is helyettesítheti Flash Box (nincs gomb rajta) Konfirmálás (Warning Box) Nem kell a user minden tevékenységét konfirmáltatni Hibaüzenet (Critical Box) "Timeout-os" üzenet Ha a user válasza valószínű, és kár lenne egy több órás munkát felakasztani ezzel

78 Üzenetdoboz részei Címsor Ikon Üzenetszöveg Nyomógombok
Az objektum neve és esetleg az alkalmazás neve kerül Ne legyen "Hiba" vagy "Figyelmeztetés" a címsorban Ikon Csak a "critical" és a "warning" használható. Kerüljük a kérdőjelet, mert a helppel keverhető - Win 3.1-ben volt szokás. Saját ikon ne használjunk. Üzenetszöveg Nyomógombok

79 Üzenetdobozok eliminálása
Megelőzés Érvénytelen menük és controlok kikapcsolása Kikényszerített adatbevitel (pl. Combo) Jó alapértelmezések (eleve mintát ad a usernek) Közvetlen manipuláció Automatikus javítás (pl. Word, de box = boksz) Üzenetmegjelenítés konfigurálása "Ez az üzenet ne jelenjen meg többé" Vissza is kell tudni kapcsolni az Options-ben. Alan Cooper: "…megfelelő tervezéssel az összes hibaüzenet és konfirmációs üzenet eliminálható"

80 Üzenetdoboz szabályok
Csak az aktív alkalmazásnál jöjjön fel Taskbar-on villogjon az ikon Ne jöjjön több üzenet egymás után sorban. Adott ideig látszódó üzenetre ne tegyünk ikont Ilyen például egy termékinfo az indításnál Specifikus legyen az üzenet "File megnyitási hiba" helyett pontosabban Kerüljük a beépített rendszerüzeneteket Pl. "xxx mező nem lehet NULL" nem jó.

81 Üzenetek szövegezése Kilép, befejez = program, hálózati kapcsolat
Bezár = ablak, dokumentum Leállít = folyamat, hardver művelet Mégse (Cancel) és Töröl (Delete) különbözősége Felett/alatt helyett előző/következő

82 Üzenetek Tömör, max. 3 soros
A számla dátuma nem lehet jövőbeni dátum, mert így akár előre is lehetne számlát kitölteni, amit nagyon rossz néven vesz az APEH, ha esetleg egy ellenőrzést tart a cégnél. A számla dátuma nem lehet jövőbeni dátum

83 Üzenetek Hasonló hibákra hasonló üzenetek
Az Ország mezőt ki kell tölteni! Az Irányítószám adatot meg kell adni! Nem töltötte ki a Számlaszám-ot !

84 Üzenetek Ne üzenjünk egyes szám első személyben!
Nem találom a megadott rendelést. A megadott rendelés nem található.

85 Üzenetek Kerüljük a tegezést! Tedd be a lemezt a meghajtóba!
Tegye be a lemezt a meghajtóba!

86 Üzenetek Ne legyen kettőspont az üzenetben!
Nem található az állomány: Számla! A Számla állomány nem található!

87 Üzenetek Legyen kódja az üzenetnek. Ez a végére kerüljön!
A szállítás dátum nem lehet régebbi, mint a rendelés dátum. (H245)

88 Üzenetek Ügyeljünk a névelő és a többes szám korrekt használatára!
A(z) Számla állomány nem nyitható meg! A Számla állomány nem nyitható meg!

89 Üzenetek Kerüljük a jópofáskodásokat!
Könyököljön rá az Enter-re, ha búcsút akar mondani a rendeléstől! Adja meg a cixámot! Lökje be a lemezt!

90 Üzenetek Nyelvtani szerkezet és helyesírás!
A záróérték nem lehet kisseb a kezdőértéknél! A külömbség nem lehet 10-nél nagyobb!

91 Üzenetek Kerüljük a tragédia érzetét keltő kifejezéseket!
Az indexállomány tönkrement! Katasztrofális hiba a számlaegyeztetésnél! Az ideiglenes állomány megsemmisült!

92 Menük Vízszintes főmenü (menu bar) Lebomló menük (pull-down menus)
Egy szóból állhat Lebomló menük (pull-down menus) Gyorsítóbillentyű tartozhat a menüpontokhoz Kaszkád menü Feltáruló menü (pop-up menü) Lebegő menü a jobb egérgombra

93 Menü kialakítási szabályok
10-nél kevesebb menüpont Ki-bekapcsoláshoz pipa Tömör fekete pont az összefüggő menüpontok közül az aktuálishoz Három pont a dialógussal induló funkcióhoz (csak ha van adatbekérés, kivétel Névjegy) Szeparátorsorok alkalmazása Leszürkítés és nem eltüntetés A menüszövegek igék legyenek Minden menü legyen leomló ("Bang menü" nem tanácsos)

94 Menüszabványok Fájl Szerkeszt Súgó Nézet és Ablak is ajánlatos
Új, Megnyit, Ment, Ment másként, Nyomtat, Nyomtatót állít, Kilép Szerkeszt Visszaállít, Kivág, Másol, Beilleszt Súgó Témakörök, Mi ez?, Keres, Névjegy Nézet és Ablak is ajánlatos A CUA-ban Fájl helyett pl. Vevő van

95 Feltáruló (pop-up) menü kialakítási szabályok
A legutolsó tétel a Tulajdonságok Előtte legyen egy szeparátorsor Billentyűzeten Shift+F10-re jön fel Ne legyenek gyorsbillentyűk benne. A default menütétel vastagítva jelenik meg. Jobb egérgombos drag & drop-nál ezen áll. Standard pop-up menük Window (a címsorra jön fel) Icon (a jelzett objektumra specifikus)

96 Műveletek indítási szintjei
Ablak belsejébe telepített nyomógombok Eszközsor grafikus indítógombokból Menüpontok

97 Toolbar (Eszközsor) Panel egy csomó vezérlőelemmel
Ribbon, toolbox, paletta néven is emlegetik Legyen vezérlőelem-magyarázat (tooltip), amin nincs címke A gomb mérete 24*22 vagy 32*30 A grafika így 16*16, illetve 24*24 pixel lehet. Dokkolást biztosítani kell.

98 StatusBar (Státuszsor)
A státuszsor általában csak-olvasható, illetve nem iteratív elemeket tartalmaz.

99 Egérkurzor (Pointer) Az egér relatív helyét mutatja
Forrópontja van (hot spot) Drag & drop technika A duplaklikk és a drag & drop nem könnyű a kezdő felhasználónak. Tipikus pointerek

100 Egér funkciók Mutatás (forrózónán belül reagálhat)
Kattintás (aktuális objektum kiválasztása) Duplakattintás (default művelet elindítása, = szimplakattintás + Enter) Lenyomva tartás (a felengedés aktivizálja a műveletet!) Drag & drop (vonszolás) Ritka műveletek: Chording (több gomb egyszerre lenyomása) Többszörös kattintás (pl. 3-4)

101 Billentyűkurzor Kiválasztási kurzor Szövegkurzor
Aktuális menüpont eltérő szine Aktuális táblacella színkiemelése Képernyőelemek bekeretezése Szövegkurzor Adatbeviteli mezőn állva jelenik meg

102 Billentyű funkciók Szöveg beviteli billentyűk ("fehér" gombok)
Access billentyűk (alt + aláhúzott betű) Gyorsbillentyűk (F1-F12, Ctrl+betű) Módváltó gombok Toggle típus (Caps Lock, Num Lock) Módosító (Ctrl, Shift, Alt) Csak addig, amíg lenyomjuk Több módosító együttes használatát kerüljük.

103 Billentyű funkció hozzárendelési tanácsok
A gyorsbillentyű lehetőleg egy gomb legyen (pl. F6) Az Access gombok ne legyenek érzékenyek a kisbetű/nagybetűre A SHIFT adja a fordított sorrendet Pl. Alt-Tab és Shift-Alt-Tab az ablakok között A Ctrl nagyobb hatókörben navigál Pl. Home=soreleje, Ctrl-Home=dok.eleje Az Esc a Mégse művelet gyorsgombja

104 Alapnyilvántartás funkciói
Megtekintés Kiválasztás Adatelem, Adatsor, Csoport Karbantartás Felvitel, Módosítás, Törlés Adatintegritást sértő adatok ("félkész" státusz) Keresés Rendezettségváltás Nyomtatás

105 További típusfeladatok
Tranzakciókezelés Folyamatkezelés Transzfer műveletek Összetett műveletek végrehajtása Típusfeladatok Web megfelelői

106 Megtekintési műveletek gyorsbillentyűi
Elsődleges objektum megnyitása (Ctrl-O) Ablak bezárása (Alt+F4) Tulajdonságablak megnyitása (Alt+Enter, Alt+duplakattintás) Segítő képernyő (Help) (F1 vagy Shift+F1)

107 Navigálás a billentyűzettel
Nyilak - egy egységgel fel/le/balra/jobbra Ctrl-nyilak - nagyobb egységgel fel/le… Home,End - sor eleje, sor vége Ctrl-Home, Ctrl-End - file eleje, file vége PgDn, PgUp - egy képernyőt fel/le Ctrl-PgUp, Ctrl-PgDn - balra/jobbra egy képernyőt (pozíció nem változik) Tab, Shift-Tab - következő/előző mező Ctrl-Tab - következő nagyobb mezőegység

108 Szelekció Explicit vagy implicit Egy vagy több objektum
Egy betű kiszelektálása az egész paragrafust is Egy vagy több objektum Tartomány (range) vagy szórt (disjoint) jellegű Homogén vagy heterogén Pl. "szöveg" betűtípus szerint heterogén, de karakterek szerint homogén Szelekció hatóköre egyik ablak szelekciója nem üti a másikat Szelekció hierarchiája (pl. Word-ben)

109 Szelekció elvégzése egérrel
Anchor pont és végpont között A végpont Shift-tel módosítható. Szelekció bővíthető és csonkítható Ctrl-lel Disjoint (Word nem, Access, Excel igen) Z-helyzet Egy neutrális helyen indított téglalap (marquee) rajzolás jelöli ki a tartományt.

110 Szelekció elvégzése billentyűzettel
A javasolt Select gomb a szóköz vagy a Ctrl-szóköz A Shift-re indul be a tartomány szelekció Shift+F8-ra (Add mode) lehet disjoint szelekciót csinálni. Újabb Shift+F8 (vagy Esc) kikapcsolja a bővítési módot)

111 Új objektum létrehozása
Másolással (Copy-Másolás) Új (New) parancs segítségével Beillesztés (Insert-Beillesztés) paranccsal pl. konténerbe adott helyre való behelyezés Külön vezérlőelemmel pl. a képernyőre felrakott nyomógombbal Template ikonnal minta alapján történő automatikus vagy varázsló-vezérelt létrehozás

112 A kényszerek szerepe Eliminálják az érvénytelen értékeket
Könnyebb az érvényes adatokból a választás "Kényszer" típusú vezérlőelemeket célszerű használni Kényszerítő módok (pl. modális dialógusablak, varázsló) Kényszerített mozgások (pl. Shift-nél csak vízszintes vagy függőleges vonal húzható)

113 Tranzakció-kezelés Egy vagy több művelet összekapcsolva.
Visszagörgetési lehetőségre gondoskodni kell (rollback) Tranzakció elfogadó (commit) parancsok: Save (Mentés) Save As (Mentés másként) Close (Bezárás)

114 Tranzakció-kezelési parancsok
Az utolsó tranzakció megismétlése (Repeat-Ismétlés) Az utolsó tranzakció visszagörgetése (Undo-Visszavonás) Az Undo visszacsinálása (Redo-Mégis) A függő tranzakciók Commitja, és az ablak bezárása (OK) A függő tranzakciók rollback-je és az ablak bezárása (Cancel-Mégse) Commit az ablakok bezárása nélkül (Apply-Alkalmaz)

115 Folyamat-kezelő parancsok
Folyamat felfüggesztése (Pause-Szünet) Felfüggesztett folyamat újraindítása (Resume-Tovább) Folyamat végleges leállítása (Stop-Leállítás) A Mégse a Leállítás helyett akkor, ha vissza lehet még állítani az eredeti állapotot

116 Transzfer műveletek Három részből áll: Három fajtája létezik:
Átküldendő objektum Célhely Végrehajtandó művelet Három fajtája létezik: Move (Áthelyez) - áthelyezi, de nem változtat. Nem ugyanaz, mint a Copy + Delete Copy (Másol) - Duplikátumot készít néhány eltéréssel Link (Csatol)- Két objektum közötti kapcsolat létrehozása úgy, hogy a cél rámutat az eredetire

117 Transzfer művelet megvalósítása
Kétféle technika létezik: Parancs mód (Kivágás, Másolás, Beillesztés) Közvetlen manipulációs mód (drag & drop) Bal gombbal - default drag & drop azonnal. Jobb gombbal - nem default drag & drop, feltáruló menüből választható ki a művelet. Visszajelzés (feedback) Parancs módban leszedi vagy leszürkíti Pointer megváltoztatása a cél alapján A Move, a Link és a Copy megkülönböztetése

118 Speciális transzfer parancsok
Delete (Törlés) - kiszedi az objektumot a konténerből Clear (Ürítés)- kiüríti a konténert Duplicate (Másolat)- elkészíti az aktuális objektum másolatát Print (Nyomtatás)- "átmásolja" az objektumot a printerre Send To (Küldés)- átküldi az objektumot a felkínált célhelyekre

119 Transzfer parancsok gyorsbillentyűi
Ctrl-C - Másolás (Copy) Ctrl-V - Beillesztés (Paste) Ctrl-X - Kivágás (Cut) Ctrl+vonszolás - Másolás (Copy) műveletté alakítja a mozgatás (Move) műveletet Esc - A drag & drop művelethez tartozó Mégse gomb

120 Kapcsolatok és ábrázolásuk
A kapcsolatokra nincs igazán jó vizuális jel Kapcsolatok típusai Kollekció Együtt lehet végrehajtani egy csomó dolgot rajtuk Kényszer (Constraint) Egy elem változása kihat több más elemre is Kompozíció objektumaggregátum - pl. Word tábla Konténer

121 A látható navigáció kellékei
Kiindulópont (pl. főmenü) Cél Menekülő út (pl. Mégse vagy Kezdőlap) Hol tartunk most (Ablak Caption-je révén) Mi a következő lépés (megfelelő feliratú gombok révén) Vissza az előző lépéshez (Mégse vagy Vissza)

122 A jó navigációs rendszer
A végrehajtandó feladatok blokkosítása, esetleg sorszámozása Egy ablak oldja meg az egészet (Tab control segítségével) Varázsló készítése Sok-sok egymás utáni modális dialógusablak is lehet, de kerülendő

123 A rossz navigációs rendszer
Egymással össze nem függő ablakok Pl. Find-nál a Folder Options-ben kell beállítani a Show All-t, hogy rákeressünk egy rendszerfile-ra) Útvonalak keresztezése Pl. programkomponensek hozzáadása/törlése esetén nincs egy az egyhez megfeleltetés a gomb és a funkció között Ne kelljen a usernek külön lefordítania a vezérlőelem lényegét Pl. checkbox a nemre, ha üres = nő

124 Internet specialitások
A honlap különösen fontos Ha nem barátságos, akkor villámgyorsan elkattint a felhasználó innen. Gyorsan letölthető kell hogy legyen Web lapok Téma (theme) és elrendezés (layout) fontos Forgatókönyv kell a megtervezéshez Ne legyenek hosszúak a lapok 2-3 klikknél ne legyen semmi se messzebb Táblák és keretek (frame) fontosak

125 Web és Windows eltérései
Nincs több ablak vagy MDI Külön dialógusablaknak csak az MsgBox van Menü és toolbar sincs Se help rendszer vagy státuszsor Szimplaklikk van a duplaklikk helyett Nem lehet HTML objektumot kijelölni és műveletet végezni vele, mint a Windowsban Nincs billentyű shortcut sem

126 Web és Windows közelítése (1)
Több HTML dok. Legyen a Windows-ban Pl. HTML help, illetve a szöveges infok HTML-ben legyenek Hyperlink használata Az ablak tartalmát változtatja, míg a parancsgomb egy funkciót indít el Használati helyek a Windows programban Program nyitó lapjára ugrás HTML help behívása Web lap elérése Mail To működtetése

127 Web és Windows közelítése (2)
Hyperlink tanácsok Inkább külön lapra vigyen, mint az adott lapon valahová Legyen a link bőbeszédű, hogy egyértelmű legyen Sok hyperlink = "hyperlost" Navigálási problémák Fontos megmutatni, hol vagyunk (fa, sitemap, stb.) Honlap szerep fontos (mint a kályha a táncban) A Vissza gomb fontos Navigation Bar A Web Browser Navigation Model-ben nincsenek modális ablakok

128 Web és Windows közelítése (3)
Kiválasztás Az egyszeres egérklikket ne használjuk erre Jelölőnégyzetek és külön Töröl hyperlink Ha mégis kell a szelektálás, akkor a szelektálható objektumokat meg kell különböztetni (nem 3D-sek és nem aláhúzottak) Menühelyettesítő elemek az űrlapon legyenek Kerüljük a különálló dialógusablakot A keresési feltételek beintegrálhatóak az ablakra.

129 Web és Windows közelítése (4)
Ne használjuk többablakos (pl. MDI) rendszert Keretek használata tanácsos, mint a HTML-ben Több fehér hátteret és kevesebb 3D effektust kellene használni Fehér háttér jelentése = dokumentum Standard controlokat kellene használni A Borland controljai szörnyűek (túl sok a 3D!)

130 Context-sensitive interface
Vizuális visszajelzések Az eredmény megmutatása (pl. törlés, mozgatás, kijelölés, átméretezés, stb.) Kurzor átváltozás (pl. homokóra) Control disable (pl. fordítás közben) Szín változás Státuszsor (szöveges info vagy folyamatindikátor) Taskbar system tray (pl. modem adatfolyama) Animáció Hang (csak óvatosan!) Üzenetdoboz (válaszra készteti a felhasználót) Tooltips

131 Tooltips felhasználása
Példák A Toolbart kiegészítő help Treeview címkéhez kiváló (helytakarékos) Scroll Bar Tip (scrollbar mozgatása közben segít (pl. Word vagy PowerPoint) Data Tip (Debug közben a változó értéke) Dialógusablakot lehet megspórolni vele Tanácsok Akkor értékes, ha nincs sok belőle (különben állandóan felvillan, amikor a felhasználó mozgatja az egeret Jobb, mint a help balloon a Mac-nél, mert nem külön mód Hasznos info legyen (pl. "Nyomtatás" az kevés)

132 Műszaki dokumentáció fejezetei
Feladatspecifikáció Adatszerkezet specifikáció Részletes funkcióspecifikáció Fejlesztési környezet specifikálása Forráskód Tesztelési specifikáció

133 Adatszerkezet specifikáció részei
Adatbázis specifikáció Tábla specifikáció Virtuális meződefiniciók Konkrét táblamezők leírása Táblák közötti kapcsolatok definiálása Indexek megadása

134 Adatbázis specifikáció
Adatbázis logikai és fizikai neve Funkció leírása Táblák felsorolása Adatbázis típusa Törzs jellegű táblák, munkatáblák, transzfer állományok, stb. a tipikusak Tipikus adatkapcsolat (local, remote, ODBC, stb.) Kódkonverziós kérdések (ANSI/OEM, kódlap, stb.)

135 Tábla specifikáció Tábla logikai és fizikai neve Funkció leírása
Tábla tulajdonos adatbázis és szervezési mód (dBASE, Oracle, RDB) Tábla típusa Törzs, munka, transzfer Adatkapcsolat (local, remote, ODBC, stb.) Kódkonverzió (ANSI/OEM, kódlap, stb.)

136 Tábla specifikáció Adatszerkezet és adattartalom karbantartása
CREATE TABLE, DELETE TABLE INSERT, UPDATE, DELETE tárolt eljárások Struktúra menetközbeni módosítási lehetősége Rekordszintű ellenőrzések Mezők közötti keresztellenőrzések Egyéb rekordszintű ellenőrzések

137 Tábla specifikáció Táblák közötti kapcsolatok
A kapcsolódó tábla neve és a kapcsolódó mezők, illetve indexek A kapcsolat típusa (1:1, 1:N) Referenciális integritás szabálya Cascade Restrict Ignore

138 Tábla specifikáció Minden egyes táblaindexről: Az index neve
Az index típusa (Primary, Candidate, Regular) Az indexkifejezés (résztvevő mezők) Rendezettség iránya és a rendezési elv Index meghajtó Indextárolási hely

139 Részletes funkcióspecifikáció
Osztály specifikáció Objektum attribútumok és lehetséges műveletek Objektum arculat (facet) Objektumok közötti kapcsolatok leírása Eseménykezelési mechanizmus Funkcionális mag objektumorientált vagy procedurális programterve

140 Fejlesztési környezet megadása
Alkalmazás szekció Hardver szekció Operációs rendszer szekció Fejlesztő eszköz szekció Kiegészítő eszközök szekció Egyéb szekció

141 Forráskód A kötött nyelvi elemek konzisztens, és áttekinthető megjelenítése A választható nyelvi elemeknél emlékeztető név választása Magyarázó szövegek alkalmazása

142 Szoftverfejlesztői tesztelés
Elemi egységek tesztje (unit test) Programteszt Rendszerteszt

143 Független személyek általi tesztelés
Quality Assurance Testing Minőségbiztosítás Automatizált módszer Inspekciós teszt Rendszerfejlesztő kolléga által Sok új hibát hozhat felszínre

144 Felhasználói tesztelés
Prototípus Alfa teszt Munkaverziók (WIP, Builds) Béta teszt Finomítások Elfogadási teszt Használhatósági teszt Labor egyirányú tükörrel Magnószalag, videokamera

145 Tesztelési terv Program logika ellenőrzése
Felhasználói interfész működése Adatbekérési ellenőrzés Különféle output adatok tartalmi ellenőrzése

146 Felhasználói dokumentáció
Felhasználói útmutató (User's Guide) Oktató kézikönyv (Tutorial) Referenciakártya On-line segítő rendszer

147 Felhasználói útmutató
A dokumentáció eleje Az installálás bemutatása Tartalmi fejezetek Objektummodell alapján Függelékek Adatszótár Technikai támogatás Glosszárium, irodalomjegyzék, index

148 Tartalmi részek konvenciói
Az adott tématerület szakkifejezéseit használjuk! A dokumentáció nem regény! A témák ne függjenek egymástól! Témabevezetés és összefoglaló Képernyőképek!! Jó mintapéldák kellenek

149 Tipográfiai szabályok
Egy kép == Ezer szó! Több stílus kell, de nem sok! Címsorokhoz SansSerif Normális szöveghez TimesRoman Forrásprogramokhoz Courier A normál szöveg betűmérete 11-12 Célszerű nagyobb margót hagyni a felhasználói megjegyzések miatt

150 Oktató kézikönyv (Tutorial)
80/20 szabály "Hogyan lehet...?" Funkcióorientáltság helyett problémaorientáltság a jellemző

151 Referenciakártya Parancsok szintaktikája
Hajtogatott vagy billentyűzetre ragasztható formában készülhet Hagyományos adatfeldolgozási alkalmazásokban ritka

152 On-line segítő rendszer
Problémaorientált Állandóan rendelkezésre áll Naprakész és pontos Teljeskörű Konzisztens megjelenésű Rugalmas (intelligens) Nem tolakodó

153 Segítség hívása Parancs módú meghívás
Helyzetérzékeny (context-sensitive) mód On-line dokumentáció önálló olvasása (önálló alkalmazás) On-line oktatóanyag Limitált tudású verzió előnye

154 Szakdolgozat témaválasztás
Önálló információs rendszer vagy szoftveradaptáció Előnyös, ha valós feladat A választék nagy: a sertésellés nyilvántartásától a postagalamb versenyig "Hasznos legyen"! Hármas könyvvitelt ne találjunk ki! A 245. Norton Commandert se írjuk meg

155 Szakdolgozat mérete Pontos mutatókkal nem definiálható, de összehasonlítható a következő minimum feladattal: 3 közepes méretű adattábla teljes lekérdezése és karbantartása 1 "batch" jellegű feldolgozás 1 alaplista és 2 közepes méretű eredménylista Ha az összehasonlítás alapján nem dönthető el, hogy melyik a súlyosabb, akkor elég kicsi a választott feladat.

156 Szakdolgozat külalakja
Hagyjunk időt a dokumentációra! Ne maradjon ki semmi se belőle! Kerüljük az értelemzavaró megfogalmazásokat! Helyesírás-ellenőrzés!!! elsem indul, kitudja használni árú, bejelenkezés, renszer, külömböző, kisseb Befelyezni, malyd, fojtat egyenlőre, mellet, kellet

157 Fogalmazásgátló hatása (1)
"A rendelésformátumon levő rendelésszámról tudom, hogy az egy dátum, de ez nem fontos számomra és a mögötte levő szám se, ez nekik információ, nekünk csak egy szám, ezzel azonosítom be, de az nem érdekel, hogy az hogy nő, hiszen nem biztos, hogy találok olyat, ahol ez a második tag pl.: 1-es, nem biztos, hogy nálam van, az lehet, hogy máshova küldték."

158 Fogalmazásgátló hatása (2)
"Tehát ott megjelenik az az összeg abban a KWGL mezőben és a többit frissíteni kell, ki kell törölni, ki kell nullázni, vagyis amikor indul ez az egész procedura, akkor a többit mindig kinullázza, végig nézi mind a tíz mezőt és, ha van, átmásolja oda a végére, majd utána azt lehet összegezni rekordonként pontosabban csak azok a rekordok jelennek meg amelyeknél az adott héten volt kiszállítás."

159 Fogalmazásgátló hatása (3)
"ArtNum-ot azt felvesszük és a következőt jelenti, kezdetben ez mindig be volt gépelve az árral együtt, ami márkában van megadva, de nincs mindig kitöltve." "Tulajdonképpen a cég a németeknek és belföldre is, de egy-egy megrendelőnek szállít, tehát két helyre szállít."

160 Adatszerkezet 3NF formájú legyen
Bármilyen indokolt eltérést magyarázni kell! Adatszerkezeti ábra is legyen a dokumentációban Beszédes és konvenciózus mezőnevek Vigyázzunk a mezőhosszakra! 10 karakterben nem fér el egy telefonszám

161 Forrásprogram Tetszőleges fejlesztőeszköz választható
Csak az önállóan készített forráselemeket kell dokumentálni Generált kód ne legyen a dokumentációban A máshonnan szerzett rutingyűjteményre hivatkozni kell

162 Egyebek Cd-t vagy floppyt adjunk be
Éles mennyiségű adatnál is hatékonyan kell működnie Takarékosan bánjon a felhasználó idejével, a lemez- és memóriakapacitással Lehetőleg többfelhasználós rendszer legyen jogosultságkezeléssel együtt


Letölteni ppt "Rogramozás ódszertan Endrődi Tamás."

Hasonló előadás


Google Hirdetések