SIN Flashcards

(37 cards)

1
Q

SW Artchitektura

A

Struktura komponent programu, jejich vazby, principy a predpisy, koncept navrhu a vyvoje v prubehu casu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Priklady ruznych SW architektur

A
  1. OOP - diagramy
  2. Klient-server komuniakce
  3. Design patterny
  4. Komponenty diagramy
  5. Roury…

Treba i monolit vs mikroservisni

Popis pomoci jazyku - treba UML, framewroyk…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Architektonicky styl

A

Je to mnozina omezeni a definic vyhrazujici jeden urcity pristup

Popisuji:
- typy komponent
- design patterny pro ne
- datove prenosy/komunikace

Neni to primo architektura, ale pouze typ architektury - jako treba gotika, baroko, romansky styl - abstrakce
- ne vzdy je jasne hranice, prekryti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Monolit, dvouvrstva, vicevrstva architektura

A

Monolit - vsechno je v ramci jednooho celku
Dvouvrstva - oddeluje FE od BE

Vicevrstva - lepsi granularita, rozsiritelnost, udrzitelnost, izolace potrebnych funkconalit a omezeni “viditelnosti” a prav, na kazdou vrstvu muzu nasadit jinou technologii nebo pristup, lepsi kontrola flow

  1. Uzivatel
  2. FE
  3. Controller
  4. Service
  5. Repository (DAO)
  6. BO - business object, primo classa mapovana pres ROM z DB
  7. Databaze
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Klient-Dospetcher-Server

A

Pattern, kdy klient se nedotazuje primo serveru, ale je to zprozredkovany dispetcherem, ktery vezme pozadavek, vybere z poolu workeru nejakeho workera, preda mu praci a po vysledku ho preda klientovi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Object vs Komponenta

A

Objektovy pristup - klasicky class diagram v UML, resi velmi konkretni detaily
- pracuje s jednotlivymi objekty, popisuje detailni domenu jednu treba

Komponenta - abstraktni zabaleni, sestavuje diagram aplikace z komponent - servisy/interfacy
- encapsulation
- interface
- reuse and evolution
- zabalime cele uz logicke celky do komponent, ktere mezi sebou propojujeme, v ramci nich neresime detaily ale jssou treba pomoci class diagramu
- je nezavisle na implementaci
- navenek poskytuje sluzbu a sama nejakou muze prijimat (lizatka)
- popisuje vetsi domenu jako zvenku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

SOA - Service-Oriented Architecture

A

Predchudce mikroservis, tedy SW neni monolit ale zalozen na servisahch, ktere jsou nezavisle, pokryvaji vetsi logicke domeny a mezi sebou komunikuji posilkanim zprav

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Java EE

A

☕️ Java EE (nyní Jakarta EE)
Java EE (Java Platform, Enterprise Edition) je platforma od firmy Sun/Oracle (nyní Jakarta EE) pro vývoj rozsáhlých podnikových (enterprise) aplikací v jazyce Java.

Je to standardizovaná architektura pro aplikace běžící na serveru (tzv. server-side), např. e-shopy, CRM, bankovní systémy apod.

🧱 Architektura Java EE aplikace
Java EE je vrstvená architektura, typicky se dělí do tří hlavních vrstev:
1. Client tier (klientská vrstva)
Prohlížeč, mobilní aplikace, desktop, REST klient atd.
Komunikuje s aplikací přes HTTP, REST, SOAP atd.

  1. Web tier (prezentační vrstva)
    Běží na web serveru nebo servletovém kontejneru:
    Servlety – Java objekty reagující na HTTP požadavky.
    JSP (JavaServer Pages) – HTML + Java kód.
    JSF (JavaServer Faces) – framework pro tvorbu UI.
    ➡️ Zde se zpracovává vstup uživatele a vytváří výstup (HTML/JSON).
  2. Business tier (logika aplikace)
    Obsahuje Enterprise JavaBeans (EJB) – komponenty pro obchodní logiku.
    Zajišťuje transakce, bezpečnost, správu životního cyklu komponent.
    Příklady: zpracování objednávky, výpočty, přístup k databázi.
  3. Enterprise Information System (EIS) tier (datová vrstva)
    JPA (Java Persistence API) – rozhraní pro práci s databází.
    ORM (Object-Relational Mapping) – např. Hibernate.

Může obsahovat také přístup k jiným systémům (SAP, mainframe, fronty, e-mail).

🧩 Hlavní pojmy Java EE
Pojem Význam
Servlet Java třída pro zpracování HTTP požadavků.
JSP HTML stránky s vloženým Java kódem.
JSF Framework pro webová UI (součást Java EE).
EJB (Enterprise JavaBean) Komponenta s obchodní logikou – může být session bean, message-driven bean atd.
JPA API pro přístup k relační databázi pomocí objektů.
JTA (Java Transaction API) Pro řízení transakcí.
JMS (Java Messaging Service) Pro komunikaci mezi částmi systému pomocí zpráv.
WAR a EAR soubory WAR = webová aplikace, EAR = enterprise aplikace s více moduly.
Application Server Server běžící Java EE aplikace (např. WildFly, GlassFish, Payara).

📦 Shrnutí
Java EE = platforma pro vývoj podnikových Java aplikací.
Staví na konceptech jako servlety, EJB, JPA, transakce, messaging.
Běží na aplikačním serveru a je rozdělená do vrstev.
Dnes je známá pod novým názvem Jakarta EE (po převodu na Eclipse Foundation).

✅ ANO: Java EE je původní způsob, jak psát enterprise (webové) aplikace v Javě
🔄 Architektura funguje takto:
Prohlížeč (klient) → odešle HTTP požadavek na server.
Servlet nebo jiný webový komponent (např. REST endpoint) požadavek zachytí.
Servlet předá požadavek do business logiky (např. EJB).
Business logika komunikuje s databází pomocí JPA (objektově-relační mapování – ORM).
Výsledek putuje zpět: databáze → business vrstva → servlet → odpověď do prohlížeče.

🧠 Typický přístup „model-view-controller“ (MVC), často i v kombinaci s JSF nebo JSP.

🚨 Proč už se Java EE moc nepoužívá?
Komplexita – Java EE bylo často „těžkopádné“, konfigurace byla zdlouhavá.
Vývojový cyklus byl pomalý (dlouhé nasazování, EAR/WAR soubory).
Překonané technologie jako EJB se ukázaly jako překomplikované.

✅ Co místo toho? → Spring Boot
Proč ho vývojáři milují:
Rychlý start, jednoduchá konfigurace (pomocí anotací).
Vestavěný server (Tomcat/Jetty) – žádný EAR/WAR, ale prostě java -jar app.jar.
Lehkost, modularita, snadná integrace s REST, databází, bezpečností.
Nezávislost na aplikačním serveru – běží jako jednoduchá aplikace.

Srovnání:
Funkce Java EE Spring Boot
Deployment EAR/WAR na aplikační server java -jar, vlastní server
Web API Servlety, JSF REST pomocí @RestController
Databáze JPA, EJB JPA, Spring Data JPA
Konfigurace XML, anotace Anotace + application.properties
Vývojový zážitek Těžší, robustní Rychlý, moderní

📌 Shrnutí:
Ano, Java EE byla původní (standardní) architektura pro serverové webové aplikace v Javě.
Dnes je prakticky nahrazena frameworkem Spring Boot, který je lehčí, modernější a lépe se s ním pracuje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Aplikacni server Java EE

A

Aplikační server je prostředí pro spouštění Java EE aplikací.
Spravuje komponenty pomocí kontejnerů (např. servlety, EJB).
Zajišťuje infrastrukturu: HTTP, transakce, databázi, messaging, zabezpečení.
Tomcat není aplikační server, ale jen servletový kontejner.
Pokud vyvíjíš v Spring Boot, aplikační server často není potřeba, protože máš zabudovaný server (např. Tomcat) přímo v aplikaci (java -jar).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Java EE kontejnery

A

🧱 Co je Java EE kontejner?
Java EE kontejner je běhové prostředí (runtime), které:
spravuje životní cyklus komponent (např. servlety, EJB),
poskytuje jim infrastrukturu (bezpečnost, transakce, dependency injection, atd.),
a zajišťuje komunikaci mezi vrstvami.
Jin7mi slovy: Java EE kontejner za tebe řeší spoustu „nudné“ práce, aby ses mohl soustředit na logiku aplikace.

🧩 Typy Java EE kontejnerů
Java EE definuje několik typů kontejnerů, každý slouží jiné vrstvě aplikace:
Typ kontejneru Co spravuje Technologie
Web kontejner Servlety, JSP, JSF Servlet API
EJB kontejner Enterprise JavaBeans (business logika) EJB
Application client Aplikace běžící mimo server Java aplikace
App server (full) Kompletní kontejner pro všechny vrstvy WildFly, GlassFish…

🧪 Podrobněji:
🧰 1. Webový kontejner (Servlet container)
Spravuje servlety, JSP, JSF.
Zajišťuje: HTTP požadavky/odpovědi, session management, filtraci, přístup k parametrům.
Příklady: Apache Tomcat, Jetty.

🔄 2. EJB kontejner
Spravuje Enterprise JavaBeans (např. @Stateless, @Singleton).
Zajišťuje: transakce, bezpečnost, škálovatelnost, dependency injection.
Umí například:
automaticky zahájit transakci (@Transactional)
vytvořit instanci beanu, ošetřit výjimky
spravovat vícevláknovost

📦 3. Application Client Container
Pro “tlusté klienty” (např. desktop aplikace).
Umožňuje jim využívat EJB a další služby jako by běžely na serveru.

📌 Shrnutí
Java EE kontejner = správce komponent běžících na aplikačním serveru.
Rozdělen na webový (servlety, JSP) a EJB kontejner (business logika).
Automatizuje spoustu věcí, které bys jinak musel ručně psát.
Tomcat ≠ Java EE server, ale pouze servletový kontejner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Java EE komponenty

A

V Java EE (nyní Jakarta EE) jsou funkční komponenty ty, které vykonávají konkrétní část logiky aplikace. Dělí se na:

🔧 Java EE funkční komponenty
🫘 Enterprise JavaBeans (EJB)
Session beans – business logika, krátkodobá komunikace s klientem.
Stateless – nepamatuje si stav.
Stateful – pamatuje si stav mezi voláními.
Singleton – jedna instance pro všechny.
Message-Driven Beans (MDB) – zpracovávají asynchronní zprávy přes JMS (např. objednávky ve frontě).

🌐 Webové komponenty
Servlety – reagují na HTTP požadavky, základ webového backendu.
JSP/JSF – UI komponenty, generují HTML odpovědi.
Applet – dříve Java v prohlížeči, dnes už zastaralé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Co je SW inzenyrstvi

A

Softwarové inženýrství je systematický a disciplinovaný přístup k vývoji, návrhu, testování a údržbě softwaru, jehož cílem je efektivně a spolehlivě dodávat byznysově smysluplné aplikace splňující požadavky uživatelů včas a za přiměřenou cenu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Kdo všechno se podílí na vývoji SW?

A

 Zákazník
 Koncový uživatelé
 Objednavatel
 Sponzor (Ten kdo platí)
 Experti na řešenou problematiku / Business Owner
 …
 Dodavavatel
 Business analytik
 Analytik
 Návrhář (Architect)
 Programátor
 Tester
 Vedoucí projektu
 Subdodavatelé

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Zjednodušená definice metodiky
vývoje SW

A

Metodika obvykle rozděluje vývoj na
určité fáze (=časové úseky).

Dále určuje:
 co se má v které fázi dělat,
 jaké postupy se mají používat,
 co má být výsledkem fáze,
 z čeho (dokumenty,…) se má vycházet
při řešení.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

MVP, MMP, MLP

A

MVP - Minimum Viable Product
● helps product teams validate their ideas so it is very basic in
terms of functionality and UX.
- prvni pouzitelnej navrh

dalsi vyvoj jde do:

MMP - Minimum Marketable Product
●is ready to be sold, so it is better developed and offers a better
overall user experience

dalsi vyvoj jde do:

MLP - Minimum Loveable Product
●that has not only basic functionality, but also the potential to
make users fall in love with it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Iterative and Incremental vyvoj

A

Inkremental - stavim produkt po castech, kde kazda cast sama o sobe je hotova, ale vysledny produkt funguje az po dokonceni vsech casti, tedy neni pouzitelnej prubezne

Iteracni - zavedu CELY objekt ale velmi zjednodusene, neni full hotovoje, ale uz se da alespon nejak pouzivat, pak ho postupne iteracne zlepsuju
- zakaznik po celou dobu vyvoje ma pouzitelnej a vylepsovanej produkt

Nejlepsi je kombinace obou pristupu

17
Q

Zakladni deleni metodik/postupu vyvoje SW

A
  1. Spirala - iterativni pristup, kdy vychazim z MVP a postupne provadim iteracni upgrade ale celeho produktu naraz
  2. Waterfall - design - analysis - build - test - deploy
    - mensi projekty, inkrementalni pristup, klasicky pristup pipeliny
    - nejhorsi pristup, protoze to neni ani poradny inkrementalni pristup,
    protoze zakaznik nedostava ani po nefunkcnich castech, ale jen ceka a pak az dostane cely projekt
  3. Staged Delivery - inkrementalni pristup
    - ukazkova inkrementace po castech
  4. Agilni - treba SCRUM, inkrementacni i iteracni pristup
    - nejlepsi, postupne nabalovani upgradu na uz pouzitelny projekt

Celkove srovnani
A. Nejhorsi - vodopad
B. Stredni - spirala (iteracni), staged delivery (inkrement)
C. Nejlepsi - agilni (kombinace obou pristupu)

18
Q

Metodika Unified Process UP

A

Tradicni metodika, vylepsuje Vodopad na pouzitelnejsi variantu

Vodopad rozdeli do 4 fazi:
1. Zahajeni
2. Rozpracovani
3. Realizace
4. Predani

Pro kazdou fazi stanovuje i nekolik iteraci
1. Sber pozadavku
2. Analyza
3. Navrh
4. Implementace
5. Testovani

Tedy v kazde fazi se provede kompletni revize

19
Q

Obecny popis agilnich metodik

A

Relativně moderní přístupy ~ Agilní manifest je z r. 2001
Vychází z toho, že standardní metodiky selhávají = Pokud
projekty vůbec dopadnou, tak jsou mnohem dražší, často
s „ořezaným“ rozsahem a mnohem později.

SCRUM hlavne,
Další metodiky a dílčí přístupy
 CI/CD
 DevOps
 GitOps
 DDD – Domain Driven Design
 12factor.net - Microservices
 MDD
 Event-Driven Desing
 …

20
Q

SCRUM Role

A

Product owner
– Jedna fyzická osoba reprezentující všechny stakeholdery
– Říká „Co“ ale ne „Jak“
–Specifikuje User Stories
– Business RQ (Kdo? Co? Proč?)
– UC scénáře

  • Scrum master
    – Zajišťuje bezproblémový „chod“ teamu.
  • Team
21
Q

Model Driven Development

A

Jeden z mnoha dílčích postupů, který
využívají různé metodiky.
 Založen na postupném vytváření a
transformaci modelů/diagramů.

Proč modely vytvářet?
„Zaměstnanci přicházejí a odcházejí,
modely zůstávají.“
 Znovupoužitelnost (firemní know-how)
 Sledovatelnost realizace požadavků
 Zvýšení udržovatelnosti produktu
 Centrální uložiště informací o projektu

22
Q

FTFP – Fixed Time, Fixed Price Model
TMM - Time and Material Model

23
Q

Vize/idea projektu = Vision
document a kroky pri tvorbe projektu

A
  1. Vytahova definice - motivace pod 100 slov
  2. Vizeprojektu
    - První krok na cestě od „vidiny produktu“ k
    „nasazenému produktu“
    - Jasná, stručná, výstižná.
    - Zachycuje celkový rozsah projektu,
    základní požadavky a přínos pro
    zadavatele a koncové uživatele produktu.
    - Usnadňuje a zrychluje zorientování v
    problematice projektu pro nově zapojené do řešení.

Basic sablone:
vytahova definice
kdo?
co potrebuji? -> ceho chceme dosahnout?, hlavni cile
proc to potrebuji?
business cile
business domenova entity
finance

24
Q

RACI Matice

A

Matice zodpovednosti, rozdeleni zodpovednosti v tymu

R - Responsible, kdo fakticky vypracuje?
A - Accountable, kdo zodpovida za vypracovani?
C - Consulted, s kym nutno konzultovat?
I - Informed, koho nutno informovat o vysledku?

Zjednodusuje vyhledavani urcitych zodpovednych osob pri projekt managmentu

25
Stakeholder
Zainteresovana osoba, ktera je ovlivnena systemem, pozaduje projekt nebo ho sponzoruje - nebo kdokoliv kdo se na projektu podili Users * Administrators * Non-Users * Customer * Sponsor * Domain experts * Implementation experts * Project Management * Test experts * Supplier * Hackers * Stakeholders of competing systems * Institutions/Regulator … (statní i nestátní instituce)
26
Mozne urovne tvorby popisu systemu, urovne modelovani
1. Modelovani business procesu a entit - jak funguje organizace? 2. Analyticke modelovani - co system dela? 3. Navrhove modelovani - jak to system dela? 4. Kodovani - implementace
27
Business model
Prvni uroven modelovani systemu - popisuje Business Domain Model - entity systemu a vazby - business procesy v ramci organizace Business process - obchodni/firemni postup - mnozina aktivit, ktera realizuje podnikatelsky cil firmy - treba "Zahradkareni", Odecet mericu, Pripojeni mericu, Vyuctovani... AS IS - jake jsou postup ted? AS BOSS THINKS IT IS - jak si to predstavuje vedeni TO BE - jake budou procesy po zavedeni systemu? Typy procesu: 1. Hlavni - financni jadro firmy 2. Podpurne - technicke provedeni hlavnich procesu 3. Ridici procesy - vedlejsi, doplnkove
28
Diagram aktivit
Vizualizuje nejaky proces systemu - prehlednejsi diagram nez textovy popis - uzly jsou akce - hrany jsou chronologicky navazujici prechody ma start -> 1.akce -> 2. akce -> ... -> konec Muze mit vetvici rozhodovaci body s podminkou (GUARD) Start -> Podat zadost o dovolenou -> posoudit zadost -> ROZHODNUTI [ANO]/[NE] -> (ano) zanest schvaleni do archivu -> oznamit vysledek -> konec Tento diagram muzu rozdelit vizualne na zony zodpovednosti - treba jaka aktivita se musi provest v Praze, jaka v Brne, jaka jinde - nebo podle roli - aktivita Admin, pak User atd... - muze mit paralelni rozvetveni - vodorovna cara vymezuje paralelni blok, kde aktivity probihaji najednou (fork-join) - koncu muze byt vice - plne vyplneny je ze konci cely diagram (muze jich byt vic) - nevyplneny s krizkem ukoncuje pouze prislusnou vetev (muze jich byt vic) Muzeme vnorovat aktivity (pro prepouzitelnost) jako o-o symbol, kde tato aktivita zabaluje jeste jine aktivity v sobe pro prehlednost Existuji dve znacky - SEND, RECEIVE zpravy mezi aktivitami, ktere graficky znazornuji odeslani a prijeti nejake zpravy na kterou aktivita muze reagovat jako trigger - treba zamitnta operace je znazornena jako ERROR a posle se zprava chybova
29
Business cil vs pozadavek vs systemovy pozadavek
Cil - globalni smerovani cilu organizace - chci zvysit trzby v cr o 20% do peti let Pozadavek - nastroje, kroky k naplneni cile - popisu duvodu, dosahnuti cile, reaguji na potreby - jako XY potrebuji XY pro XY... Systemovy pozadavek - popis IT reseni - defincie IT omezeni, reseni, reakce na business pozadavek - implementace business pozadavku B. pozadavek - jako manaze chci zpracovavat data o trzbach pro vypocet S. pozadavek na to - system umozni export tabulek do CSV Hierarchie: Business cil -> je postaven z business pozadavku -> ktere jsou realizovany systemovymi pozadavky Sablona: Jako potřebuji , protože BR 235 - Jako obchodník potřebuji být informován o končících smlouvách svých klientů, abych mohl začít jednání o nové smlouvě včas. V kazde fazi projektu se provede sber pozadavku, jejich analyza, dokumentce a overeni, neustale upresneni cilu a pozadavku Granularita - detailnost pozadavku se zacina od nejmene konkretnich (ve fazi prvotni analyzy) a postupne se pozadavky upresnuji na konkretni detaily - pozadavky kde ma budova stat? - potom - jaky je tvar budovy? - nejpozdeji - jake zidle budou v budoe? - tedy nema smysl resit pozadavky na tvar zidli, kdyz ani nemame plan kde bude samotna budova
30
Kategorizace pozadavku z pohledu spokojenosti klienta, KANO model
Nutne vlastnosti - dissatisfiers – Vlastnosti/požadavky, které nebyly stakeholderem ani zmiňovány, protože je považoval za zcela zřejmé. – Př.: Systém bude umožňovat kopírovat veškeré zobrazené tabulky pomocí „CTRL + C a CTRL + V“ do MS Excel . - pokud nebudou implementovany => rozladeny klient  Požadované vlastnosti (Satisfiers) – Explicitně zmíněné vlastnosti/požadavky. – Př.: Systém umožní montérovi vkládat žádosti o odstranění překážek bránících přístupu k elektrickým přípojkám.  Zbytné vlastnosti (Delighters – „Nadchávače“) – Vlastnosti systému, které stakeholder neočekával, ale po jejich objevení/používání je považuje za příjemné vylepšení. – Př.: Systém bude propojen s rozhraním banky a bude automaticky párovat došlé platby s předpisy plateb. Jak jde čas, tak se ze zbytných vlastností se stanou požadované a z požadovaných nutné.
31
Sber a dolovani pozadavku
0.krok - priprava sberu - urcit, jak pozadavky budu sbirat 1. Samotny sber 2. Dokumentace pozadavku - prvotni navrh 3. Anayla a souhlas vystupu = prvotni fazi jde pouze o prani, nikoliv jeste pozadavky, protoze sbiram jenom prvni utrzky zainteresovanych osob a mohou byt v rozporu s cily nebo navzajem Poazdavky ziskavam od zainteresovanych osob a firmy - zakaznik, uzivatel - pak s dokumentace stavajiciho systemu - z procesu firmy - z konkurencniho trhu - resim pouze s relevantnim okolim (tedy spise se bude ptat uzivatele systemu nebo administratora nez uklizecky firmy) Ne vzdy mam presne pozadavky - muzou byt pouze predpoklady a otevreene body - nutne posouvat do dalsich fazi na analyzu a prehodnocovat pozdeji Vzdy se zamerit pouze na sber pozadavku, nikoliv reseni konfliktu v pozadavcich - identifikovat problemy - analyzovat - resit problemy - dokumentace
32
Vystupy prvniho sberu pozadavku
Cokoliv je lepsi nez nic: - poznamky z meetingu - grafy, screenshoty - videa - tabule - emaily... Dale se to rozpracovava v analyze
33
Techniky sberu pozadavku
- vlastni napady, zkusenosti z praxe - skupinovy meeting, setkani s nejvyse postavenymi zakazniky - individualni osloveni zamestancu co se systemem realne delaji - analyza aktualni dokumentace - pozorovani, rutina zamestnancu samozrejma, nazornejsi nez popis - prototypovani - simulace procesu, prototyp GUI, wireframes, screen - brainstorming - dotaznik - pomoci window-flow - screen s pozadavkem/popisem
34
Typy konfliktu pri sberu pozadavku
 Datové konflikty – Hranice pro hlášení nízkého stavu zboží má být 7 nebo 10?  Zájmové konflikty – Vysoká kvalita nebo rychlé dodání?  Hodnotové konflikty – „Já nehodlám podporovat vývoj SW pro klonování.“  Vztahové konflikty – „Ten už mne jednou pomluvil u šéfky, takže s ním já nic řešit nehodlám“  Strukturální/hierarchické konflikty – Ostych projevit názor před vyšším managementem.
35
Analyza, organizace, dokumentace nasbiranych pozadavku
Hlavni ukoly po prvnim sberu: 1. Dokumentace 2. Kategorizace 3. Definice predpokladu a omezeni 4. Prioritizace Kategorie: 1. Funkcni pozadavek - definuji, co system bude umoznovat uzivatelum 2. Kvalitativni pozadavek - user friendly, safety, vykon, udrzba... obence 3. Pozadavky na zavedeni reseni (malo) - docasne pozadavky, po uspesnem zavedeni reseni ztraci smsyl, treba migrace prvotnich dat, zaskoelni atd... Atributy pozadavku: - ID - nazev - popis - kdo vznesl pozadavek - priorita Zpusoby popisu pozadavku 1. Volny text 2. Strukturovany text - hlavne pouzivanej 3. Tabulka 4. Diagram - vzdy nutno dodrzovat jednotny styl firmy
36
Pravidla a sablona pro strukturovany pozadavek
1. Používejte strukturovaný text! 2. Vždy popisujte pouze jediný požadavek! 3. Vyhněte se souvětím! 4. Používejte terminologii srozumitelnou všem, kteří s požadavkem budou jakkoliv pracovat! 5. Nepoužívejte trpný rod! 6. Nepoužívejte obvyklá podstatná jména bez uvedení kontextu! 7. Ověřujte platnost formulací s univerzálními kvantifikátory (nikdo, všichni, vždy, nikdy, veškeré,…)! 8. Řešte CO a nikoliv JAK! 9. Používejte šablony! Vzdy popis jednoho pozadavku, jakmile dve akce - rozdelit Sablona pro business pozadavek: Jako , potřebuji , protože BR 235 Jako uživatel, potřebuji abych byl při vypínání aplikace upozorněn na případné neuložené záznamy, protože se tím předejde opakovanému a časově náročnému zadávání záznamů. Na to navazujici sablona funkcniho pozadavku: Systém bude umožňovat () () () . FR 2 Upozorneni na neulozene zaznamy – Systém upozorni uzivatele na neulozene zaznamy pokud vypne apliakci... CHYBY Superlativům – Systém umožní nejjednodušší správu faktur.  Subjektivním popisům – Proces řízení nákupu bude efektivní.  Nekonkrétním zájmenům – V příštím roce to ušetří 20% nákladů.  Nejednoznačným přídavným jménům a příslovcím – Proces reklamací bude většinou řešen přes on-line rozhraní  Otevřeným, neověřitelným termínům – Systém poskytne podporu mzdovému oddělení, ale nejen jemu.  (Vágním) porovnáním – Nový systém bude kvalitnější než stávající.  “Zadním dvířkám” – Pokud to bude možné, tak proces reklamací bude o 30% rychlejší.  Nekompletním odkazům a definicím
37