====== Requirements analysis, basic design of data, processes models, technology set-up ====== ===== Analýza požadavků ===== ==== Funkční požadavky ==== * Systém řeší správu úkolů ve firmě. * Zaměstnancům jsou manažerem přidělovány úkoly. * Úkoly lze vytvářet a rušit. * Úkoly mají název, prioritu a termín splnění. * Pod úkoly lze diskutovat a přikládat soubory. * Úkoly lze zaměstnancem prohlásit za splněné. * Úkoly lze manažerem uzavřít jako splněné či vrátit k přepracování. * Úkoly je možné navíc mít: * periodické (vytvářejí se opakovaně); pak je při jejich vytvoření doplněn název o datum a pořadové číslo pro jednodušší orientaci * hromadné (jsou vytvořeny pro několik uživatelů) * U úkolu si zaměstnanec píše odpracované hodiny. * Zaměstnanec je v případě potřeby o přidělení úkolu informován e-mailem. * Lze vypsat seznam úkolů a jejich přidělení a stav. * Splněné a nesplněné úkoly jsou barevně odlišeny. * Seznam úkolů lze filtrovat a řadit podle přidělení, stavu, data zadání, termínu, názvu a priority. * Manažer spravuje zaměstnance. * Může si zobrazit jejich seznam. * Může je přidávat, upravovat a rušit. * Může si zjistit počet odpracovaných hodin (za předpokladu, že je zaměstnanci poctivě vyplňují) * Může si zobrazit celkové i jednotlivé prodlevy z neplněných úkolů a případně je anulovat (v případě nemoci zaměstnance apod.). * Zaměstnanec si může zadávat svou dostupnost v práci (v kanceláři atd.). * Každý uživatel si může upravovat své kontaktní údaje a prohlížet si je. * Každý uživatel má přihlašovací jméno a heslo. * Administrátor spravuje uživatele. * Může si zobrazit jejich seznam. * Může je vytvářet a mazat, může jim nastavit heslo. * Administrátor má přístup ke statistikám zátěže serveru a logům systému. ==== Nefunkční požadavky ==== * Využije se technologie .NET Framework. * Server musí být schopen zvládnout zátěž 1000 stránek za sekundu. * Je prováděna každodenní záloha systému. ==== Popis systému a procesů ==== * V systému jsou manažeři a jejich zaměstnanci. * Manažer zadává úkoly, zaměstnanci je plní. * Každý uživatel má jméno a kontaktní údaje (email, umístění kanceláře, pracovní doba). * Každý úkol: * má název, datum vytvoření, termín splnění, prioritu, zadání * je přidělen jednomu nebo více zaměstnancům * může být periodicky opakován se zadanou periodou * je zadaný (otevřený), splněný, nebo uzavřený * Náš systém poskytuje: * Správu zaměstnanců. * Organizaci práce zaměstnanců a dohled. * Podklady pro hodnocení zaměstnanců. ===== Actors ===== * Administrátor * přidává, upravuje a maže uživatele * Manažer * zadává úkoly, kontroluje jejich plnění * schvaluje odpracované hodiny * odměňuje/trestá zaměstnance * Zaměstnanec * plní úkoly * vyplňuje odpracované hodiny * upravuje si dostupnost ==== Hierarchie uživatelů ==== {{usecase_akteri_hierarchie.gif|}} ===== Use cases ===== ^ Správa úkolů ^ Odměny ^ |{{usecase_ukoly.gif?370x391|}}|{{usecase_odmeny.gif?332x336|}}| ^ Uživatel ^ Uživatelé ^ |{{usecase_uzivatel.gif?299x375|}}|{{usecase_uzivatele.gif?315x337|}}| ^ Manager ^ Správce ^ |{{usecase_manager.gif?364x389|}}|{{usecase_spravce.gif?293x310|}}| ===== Data model ===== ==== Analytic model ==== {{analyticmodel_taskmamanger.gif|}} ^ Úkoly ^ Uživatelé ^ | {{analyticmodel_class_ukoly.gif?196x178|}} | {{analyticmodel_class_uzivatele.gif?285x175|}} | ^ Odpovědi ^ Mzdy ^ |{{analyticmodel_class_odpovedi.gif?365x165|}} | {{analyticmodel_class_mzdy.gif?378x295|}} | ==== Class diagram ==== ^ Úkoly ^ Uživatelé ^ | {{classdiagram_ukoly.gif?233x200|}} |{{classdiagram_uzivatele.gif?395x203|}}| ^ Odpovědi ^ Mzdy ^ |{{classdiagram_odpovedi.gif?411x175|}}| {{classdiagram_mzdy.gif?348x274|}} | ===== Process model ===== ==== Activity a state diagramy ==== ^ **Activity diagram - Schválení odměny** ^ **State diagram - Úkol** ^ | {{analyticmodel_activitydiagram_schaleniodmeny.gif?227x375 |}} | {{analyticmodel_statediagram_ukol.gif?246x417 |}} | ==== Sequence diagramy ==== ^ **Úkoly** ^ **Přidání uživatele** ^ **Odstranění uživatele** ^ |{{analyticmodel_sequencediagram_ukoly.gif?366x269|}}|{{analyticmodel_sequencediagram_pridatuzivatele.gif?320x243|}}|{{analyticmodel_sequencediagram_odstranit_uzivatele.gif?333x296|}}|