Obsah

N-INS 2

Zadání

Vývoj uživatelského rozhraní. Problém testování. Zásady tvorby dokumentace. Počítačová ergonomie. Práce v týmu.

O této otázce

Tato otázka vychází z předmětů TIS1 a TIS2. Veškeré potřebné informace jsou přímo v knize Informační systémy od profesora Krále.

Vypracování

Vývoj uživatelského rozhraní

1)Návrh a vývoj UI má specifické problémy a tudíž je vhodné koncipovat UI v IS jako samostatný subsystém. Kvalita UI ovlivňuje:

Analýza 31 projektů v 1993 ukázala, že vývoj UI spotřebuje od 4% do 15% celkových nákladů na projekt.

Zásady návrhu UI

Při analýze se využívají některé již zavedené techniky a některé specifické čistě pro UI. Pozorování uživatelů a jimi prováděné úkony je jeden ze základních postupů. Dalším, známým, způsobem jsou scénáře neboli zaznamenávání ucelených postupů uživatele při práci. Myšlení nahlas je technika, při níž uživatel za přítomnosti autora IS nebo testera nahlas říká, co právě dělá a proč to dělá. Heuristika evaluace je metoda, kde se neformálně hodnotí předložené UI podle sepsaných doporučení (které jsou identifikovány v některých publikacích).

Testování UI má svá specifika. Test se provádí za přítomnosti vývojáře. Testování by mělo probíhat anonymně a ve větší skupině pečlivě vyraných uživatelů (3-6). Testování má následující etapy:

Počítačová ergonomie

2) IT systémy využívá stále větší část populace. To ovšem vytváří i negativní vlivy, které si musíme uvědomit a jako tvůrci softwaru se je pokusit odstranit a sami se jim vyvarovat.

Expozičná doba – priemerná doba pôsobenia škodlivého vplyvu do prepuknutia choroby

PC nemoci z povolání

Práce s PC je mentálně namáhavá a může ohrozit zdraví psychické i fyzické. Uživatel by měl občas přenést pohled z obrazovky někam jinam, třeba se občas podívat oknem do přírody

Mezi objektivně zjistitelné nemoci z práce s počítači patří různé otoky a záněty. Zasažena bývá krční a bederní páteř a paže.

Obrana proti RSI jsou přestávky, uvolňovací cviky. Proti poškození páteře se bráníme kvalitní sedačkou, dobře umístěným displejem a přestávkami.

Kromě objektivních potíží existují i potíže subjektivní

Tyto subjektivní problémy mohou být vyvolány neodstíněným vysokofrekvenčním polem a vyzařováním obrazovky.

Medzi časté problémy profesného života patrí aj vyhorenie.
Príznaky vyhorenia:

Problém testování

Existují 3 typy testerů: vývojář, white-box tester a black-box tester.

3) V SW jsou vždy chyby. Pro každý případ chybného fungování je třeba nalézt příčinu. Opravený program se testuje dokud frekvence selhávání systému neklesne pod určitou mez.
Etapa ladění je velmi pracná, pracnější než psaní programů a je považována za nejobtížnější ze všech etap vývoje SW.

Testy se dají rozdělit do následujících typů:

Vstupy pro testování začínají vznikat už v návrhu aplikace. Výsledkem návrhu je mimo jiné i vypracování testových případů. Testování využívá i výsledků oponentur všech etap vývoje a inspekcí kódu.

Na základě plánu testů se pro jednotlivé moduly SW specifikuje:

Po provedení testů se vypracovávají zprávy o zjištěných nedostatcích a ty je dobré zaznamenávat do žurnálu testů. Na závěr se vypracuje souhrná zpráva o testech. Jedno selhání se popisuje následovně 4):

Souhrná zpráva obsahuje:

Organizační zabezpečení testů u velkých projektů obvykle zastřešuje speciální tým testerů. Tento tým může pracovat nezávisle, to je ale velmi drahé. Proto se doporučuje, aby testéři spolupracovali s vývojovým týmem.

Po dokončení testů jednotlivých modulů IS dochází k propojení (integraci) jednotlivých částí do celku. IS by se neměl integrovat naráz, ale postupně. Vycházet by se mělo ze závislostního grafu (modul B je závislý na modulu A) a pomocí tohoto grafu postupně integrovat. Integraci můžeme rozdělit na integraci shora a integraci zdola. Integrace zdola začíná u modulů které nepotřebují jiné moduly a postupně integruje až se integrují již integrované množiny modulů. Je to poměrně dobrá metoda, vyžaduje však mnoho pomocných programů, které generují data pro prověřené moduly. Také se pozdě zkontrolují funkce systému.
Integrace shora začíná u modulů, které nejsou potřeba v jiných modulech a závislosti tohoto modulu jsou simulovány. Tyto simulované podřízené moduly se naprogramují později a připojí do vznikajícího systému. Výhodou je, že se testují konečné funkce (moduly na vysoké úrovni abstrakce) a testuje se dříve rozhraní. Nevýhodou je, že simulace nižších úrovní je často velmi obtížná.

Existují některé další integrační (kombinované metody). Metoda sendviče funguje tak, že se systém rozdělí a některé funkcionality se integrují shora a některé zdola. Například u OS se uživatelské moduly integrují zdola a společné služby shora.

Zásady tvorby dokumentace

5)Dokumentace SW je velmi důležitá, platí to jak o technické, tak o administrativní a ekonomické dokumentaci. Do jisté míry představuje paměť firmy. Dokumentace má být:

SW dokumenty mají obsahovat informace o tom

Dále existuje uživatelská dokumentace a dokumentace pro údržbu. 6)

Kvalita dokumentace je stejně důležitá jako kvalita programu, přes nejrůznější doporučení a normy bývá ale na dosti nízké úrovni. Dokumentace bývá neúplná, zastaralá a především nepřehledná. Psaní dokumentace vyžaduje hodně úsilí. Napsaný text by měl být pečlivě čten autorem i jeho spolupracovníky, oponován a upravován. Některé zásady které pomůžou ke kvalitnější dokumentaci:

Pro vedení dokumentace existují normy. Obecné zásady jsou v ISO 9000-3.

Práce v týmu

7)Je zjevné, že větší úkoly nemůže realizovat jednotlivec ani malá skupina. Pro dobrou funkci týmu je zde ovšem mnoho překážek. Mezi jeho členy nesmí být jedinci totálně neschopní týmové práce, např. „schopní všeho“. Čím větší tým tím více je třeba věnovat plánování, kontrolním opatření, schůzím.

Z průzkumů vyplývá, že je větší spokojenost s prací a vyšší produktivita u členů menších týmů s neformální organizací8). Centralizace je výhodná tam, kde je nutné rychlé rozhodování a u relativně jednoduchých a pracných činností, jako je shromažďování a předávání informací.

Optimální tedy je malá neformállní skupina se členy obou pohlaví a neautokratickým vedoucím. Bohužel existují úkoly, na které malý tým nestačí.

Tímy je možné deliť na pevné (tím je pevný, úlohy sa hľadajú) a najímané (pracovníci sa prenajímajú podľa potreby)

V rámci tímu je možné jednotlivcov deliť na základe niekoľkych vlastností/pováh opísaných v a)-d)
a) Existuje základní dělení pracovníků, podle jejich motivací:

  1. Pracovníci orientovaní na úkol (workoholici)
  2. Pracovníci orientovaní na spolupráci (kamarádi)
  3. Pracovníci orientovaní především na sebe sama (sobci). Pro tyto je hlavní motivace úspěch

(1) mohou být dobří vedoucí. Ale pokud jich je v týmu mnoho, tak mají tendenci k organizační nekázni, neradi se podřizují. (3) jsou dobří vedoucí, ale musí být motivováni prací. Mívají dostatek vůle a zároveň se nespokojují s nižším postavením. Z pohledu pohlaví jsou muži častěji orientovaní na práci, ženy pak na spolupráci.

Týmová loajalita je pojem vyjadřující stav, kdy členové týmu pojmou cíle projektu za své vlastní a brání ho před vnějším světem. Týmová loajalita zvyšuje výkonnost týmu a však po jisté době může narůstat bez zjevného důvodu rozpory, což je známé jako ponorková nemoc.

Při práci v týmu mohou nastávat různé problémy:

Při řešení nějakého rozhodnutí existují následující metody:

Nejlepší rozhodnutí je všeobecný konsenzus a nejhorší zdánlivá dohoda.

b) V rámci tímu zohrávajú dôležitú úlohu rôzne typy povahových zručností:

  1. športová
  2. sociálna (vedenie tímu)
  3. abstraktná
  4. emocionálna
  5. umelecká (grafik)

c) Delenie na základe neoficiálnych profesných rolí:

d) Delenie na základe neoficialných škodlivých rolí:

Vedoucí týmu

Úspěch týmu silně závisí na vedoucím týmu. Vedoucí bývá přirozeně osoba, jehož rozhodnutí nebo doporučení bývají často respektována - nazývá se vedoucí de facto. Je výhodné aby byl zároveň vedoucím de jure neboli zvolen oficiálně organizací. Existují i týmy, kde mohou být tyto role odděleny a tito dva vedoucí musí respektovat své vzájemné role. Vedoucí de facto musí chápat potřebnost administrativy a vedoucí de jure musí ustoupit v technických otázkách.

Vedoucí by měl budit pocit, že je platným členem týmu. Má být schopen najít svého zástupce a spolupracovat s ním. Za hlavní psychologické rysy osobnosti patří:

Petriho princíp – Zamestnanec je povyšovaný až dokým na pozíciu nestačí

Organizace SW týmů

Ke struktuře týmu je třeba zmínit princip minimaxu. Při tomto manažerském přístupu se rozhodnutí volí tak, aby maximální možná ztráta byla minimální. Pro příklad si představme špičkového programátora který sám pracuje na důležitém projektu. Takový programátor může zastat mnoho průměrných programátorů (poměr 1:20 není neobvyklý), nicméně maximální možná ztráta právě tohoto zaměstnance. Z principu minimaxu tedy vyvodíme, že je lepší více průměrných programátorů. Ovšem i přístup minimaxu má své nevýhody - několik průměrných programátorů pravděpodobně stvoří pouze průměrný produkt, využití kvalitního programátora se dá parafrázovat větou „risk je zisk“.

Existuje několik základních typů organizace SW týmu.

Ostatní aspekty práce v týmu

V týmech se mohou objevit podvědomá schémata chování, tzv. psychohry. Nejčastěji se vyskytuje hra alkoholik. Nevýkonný pracovník je alkoholik kterého se snaží napravit vedoucí. Ve špatných zvyklostech ho udržuje utěšovatelka tím že mu říká „oni pro tebe nemají pochopení“ a kamarádi, kteří alkoholika přesvědčují, že o nic nejde. Další zajímavá hra je „beru vše“ - člen týmu, co přijímá stále nové úkoly a pak se vymlouvá na přetížení.

Předměty

FI:PA102 Technologie informačních systémů I., prof. RNDr. Jaroslav Král, DrSc.
FI:PA105 Technologie informačních systémů II., prof. RNDr. Jaroslav Král, DrSc.

Zdroje

Informační Systémy, prof. RNDr. Jaroslav Král, DrSc., 1998
FI MUNY Vypracované otázky k PA102 Vypracované otázky k PA105

Přílohy

2.pdf – rozšíření některých témat a soukromé zpracování, vycházelo se z této wiki na přelomu roku 2013/2014. Nekonzultováno s kantory.

Vypracoval

Filip Nguyen (nguyen.filip@mail.muni.cz), hotovo

1)
Kapitola 14, str. 217
2)
Kapitola 4, str. 49
3)
Kapitola 13, str. 203
4)
vtipné, je to v podstatě bug report, popsaný jazykem z dávných dob :-)
5)
Kapitola 17, str. 277
6)
tyto dokumentace jsou dále v knize rozvedeny, ale z důvodu rozsahu je zde neuvádím
7)
Kapitola 10, str. 121
8)
pozn. Filip N.: tzn třeba agilní metodiky