Technický úkol (TZ) pro vývoj softwaru (Software) je základním dokumentem, který určuje všechny požadavky a cíle projektu. Jedná se o jakousi smlouvu mezi zákazníkem a vývojářem, která určuje výsledky práce a očekávání zákazníka. Je důležité vytvořit TZ správně, aby se předešlo nedorozuměním a konfliktům v průběhu projektu.
Jedním z důležitých bodů v TZ je popis funkčních požadavků. V této části by měl zákazník podrobně popsat, jaké funkce a možnosti by měly být v programu implementovány. Pokud je například vyvinuta webová aplikace, musí TZ obsahovat popis stránek, tvarů, tlačítek a dalších prvků rozhraní a jejich funkčnosti. Stojí také za zmínku, jaká data by měl uživatel zadávat a jak by měla být zpracovávána.
Důležitým bodem TZ je popis nefunkčních požadavků. To jsou požadavky, které nesouvisí s funkcemi programu, ale například s jeho výkonem, spolehlivostí, bezpečností atd. Zákazník musí určit, jak dlouho může trvat provádění určitých operací, jaká omezení musí být dodržena při práci s daty, jaké algoritmy musí být zabezpečeny. Je důležité, aby tyto požadavky byly specifické a měřitelné, aby bylo možné v budoucnu zkontrolovat, zda byl daný bod TZ splněn nebo ne.
Význam skládání TZ
Vytvoření TZ umožňuje snížit pravděpodobnost možných nedorozumění a sporů mezi zákazníkem a exekutorem. TZ slouží jako podklad pro uzavření smlouvy a stanovení termínů a nákladů práce. Nedostatek nebo neúplný TZ může vést k nepředvídatelným situacím, jako je přestavba a změna požadavků v procesu vývoje.
| Výhody skládání TZ: |
|---|
| 1. Upřesnění a upřesnění požadavků na Softwarový produkt. |
| 2. Definice funkčnosti a základních charakteristik. |
| 3. Efektivní plánování a řízení vývoje. |
| 4. Zvýšení transparentnosti a porozumění mezi zákazníkem a vývojovým týmem. |
| 5. Snížení nákladů na změny již realizovaných funkcí. |
Je důležité vzít v úvahu, že TZ je dokument, který vyžaduje pečlivou analýzu, diskusi a schválení ze strany všech zúčastněných stran. Čím komplexnější a jasnější bude TZ, tím úspěšnější bude proces vývoje softwaru a uspokojení potřeb zákazníka.
Stanovení cíle a cílů projektu
Cíl projektu musí být jasný, měřitelný a realistický. Například: "vyvinout webovou aplikaci pro evidenci zboží na skladě".
Úkoly projektu by měly být rozděleny do dílčích částí a popsány co nejpodrobněji. Například:
- Analýza požadavků zákazníka;
- Návrh architektury aplikace;
- Vývoj uživatelského rozhraní;
- Psaní serverové části aplikace;
- Testování a ladění Softwarového produktu.
Důležité je také určit prioritu úkolů – které je třeba nejprve splnit a které lze provést později.
Jasná definice cíle a úkolů projektu pomáhá všem členům týmu pochopit, co od nich vyžaduje, a také slouží jako základ pro plánování a kontrolu provádění projektu.
Popis účelu projektu
Popis účelu projektu musí obsahovat následující informace:
- Stručný popis úkolu nebo potřeby, kterou musí software vyřešit.
- Základní funkční požadavky a možnosti, které by měly být v projektu realizovány.
- Očekávané přínosy a výsledky, kterých bude dosaženo po realizaci projektu.
Popis cíle projektu je klíčovým prvkem TZ pro vývoj softwaru, protože určuje celkové zaměření projektu a umožňuje vývojovému týmu konkrétněji porozumět požadavkům a očekáváním zákazníka. Jasně formulovaný a srozumitelný cíl projektu usnadňuje celý proces vývoje a zajišťuje úspěšnou realizaci projektu.
Stanovení cílů projektu
V části "stanovení cílů projektu" je nutné uvést základní požadavky a cíle vyvíjeného softwaru. V této části by měly být jasně formulovány všechny úkoly a problémy, které je třeba vyřešit při vývoji softwaru.
Jedním z nejdůležitějších úkolů je stanovení funkčních požadavků na projekt. Funkčními požadavky se rozumí všechny činnosti, které musí být uživatel schopen provést pomocí softwaru. Je také nutné určit, jaká data budou zpracovávána a jaké výsledky programu uživatel obdrží.
Dalším důležitým aspektem úlohy je stanovení požadavků na výkon a spolehlivost vyvíjeného softwaru. Tato část by měla určit, jaký počet souběžných uživatelů by měl být podporován programem, jaké množství dat bude zpracováno a jaká spolehlivost a spolehlivost by měla být zajištěna.
Je také důležité analyzovat možná rizika a omezení spojená s vývojem projektu. Tato část by měla specifikovat, jaká technická omezení mohou nastat při implementaci programu a jaká rizika mohou při vývoji nastat a jak jim předcházet.
V důsledku toho musí stanovení cílů projektu obsahovat všechny potřebné požadavky a cíle, kterých je třeba při vývoji softwaru dosáhnout. Přehlednost a úplnost zadání úkolů vám umožní vyhnout se nejednoznačnostem a nedorozuměním v procesu vývoje a výrazně zvýšit šance na úspěšnou realizaci projektu.
Stanovení požadavků na funkčnost
Níže uvedená tabulka uvádí základní požadavky na funkčnost, které by měly být uvedeny v této části TZ:
| Název funkce | Popis | Priorita |
|---|---|---|
| Přihlášení do systému | Uživatel by měl být schopen autentizovat systém pomocí přihlašovacího jména a hesla. | Vysoký |
| Registrace nového uživatele | Uživatel by měl mít možnost vytvořit si v systému nový účet s uvedením přihlašovacího jména, hesla a osobních údajů. | Vysoký |
| Vytvoření nového dokumentu | Uživatel by měl mít možnost vytvořit nový dokument s uvedením názvu a obsahu. | Vysoký |
| Úprava dokumentu | Uživatel by měl být schopen upravit existující dokument změnou jeho obsahu a uložením změn. | Střední |
| Odstranění dokumentu | Uživatel by měl být schopen odstranit existující dokument ze systému. | Střední |
Kromě základních funkčních požadavků lze v této části TZ specifikovat také požadavky na interakci s jinými systémy, možná omezení používání funkcí a další funkce, které lze implementovat na přání zákazníka.
Definice základních funkcí
Při určování základních funkcí je třeba vzít v úvahu požadavky a potřeby koncového uživatele. Uživatelské požadavky mohou zahrnovat potřebu interakce s programem, provádění určitých akcí, zpracování a zobrazování dat atd.
| Funkce | Popis |
|---|---|
| Registrace uživatele | Umožňuje uživatelům vytvářet účty v programu |
| Přihlášení do systému | Umožňuje uživatelům přihlásit se do programu pomocí účtu |
| Přidání dat | Umožňuje uživatelům přidávat nová data do programu |
| Úprava údajů | Umožňuje uživatelům měnit stávající data v programu |
| Vymazání dat | Umožňuje uživatelům odstranit nepotřebná data z programu |
| Vyhledávání dat | Umožňuje rychlé vyhledání požadovaných dat v programu |
| Generování zpráv | Umožňuje uživatelům vytvářet zprávy na základě dostupných dat v programu |
To jsou pouze příklady funkcí, které lze definovat v technickém úkolu. Konkrétní funkce musí být definovány podle požadavků a cílů vyvíjeného softwaru.
Definice doplňkových funkcí
Pro stanovení dalších funkcí je třeba vzít v úvahu následující body:
- Analýza potřeb uživatelů. Je třeba provést podrobný průzkum potřeb koncových uživatelů a zjistit, které funkce a možnosti mohou projektu poskytnout větší hodnotu.
- Stanovení priorit. V případě, že je čas a rozpočet omezený, je nutné určit nejdůležitější a nejkritičtější doplňkové funkce. To pomůže zaměřit se na klíčové aspekty vývoje.
- Vývojová strategie. K implementaci dalších funkcí lze použít různé přístupy, jako je postupný vývoj nebo aplikace flexibilních vývojových metodik.
- Technické možnosti. Je třeba vzít v úvahu technické možnosti softwarové platformy a programovacího jazyka, ve kterém bude software vyvinut. To pomůže vyhnout se nerealizovatelným doplňkovým funkcím.
- Úroveň obtížnosti. Při určování dalších funkcí je třeba vzít v úvahu jejich složitost a vyhodnotit požadované zdroje pro jejich implementaci.
Všechny informace o určitých doplňkových funkcích musí být jasně popsány a zdokumentovány v TZ. To umožní zákazníkovi a vývojářům mít jednoznačné pochopení očekávaných výsledků vývoje softwaru.
Stanovení požadavků na rozhraní
Stanovení požadavků na rozhraní zahrnuje zohlednění následujících aspektů:
- Ergonomie rozhraní. Rozhraní by mělo být uživatelsky přívětivé a intuitivní. Všechny ovládací prvky musí být umístěny v logickém pořadí a musí mít srozumitelné názvy. K dosažení tohoto cíle lze provést testování prototypu rozhraní za účasti zástupců cílové skupiny.
- Vzhled rozhraní. Rozhraní by mělo být příjemným okem uživatele a odpovídat stylu značky nebo celkovému konceptu vyvíjeného softwaru. To může zahrnovat výběr barevného schématu, písem, grafických prvků atd.
- Adaptabilita rozhraní. V dnešním světě stále více uživatelů přistupuje k softwaru z různých zařízení, jako jsou počítače, chytré telefony a tablety. Rozhraní by proto mělo být adaptivní a správně se zobrazovat na různých obrazovkách s různým rozlišením.
- Interaktivita rozhraní. Rozhraní by mělo uživateli umožnit interakci s programem. To může zahrnovat prvky pro zadávání dat, tlačítka, odkazy, animace atd. je důležité určit, které funkce softwaru budou uživateli dostupné prostřednictvím rozhraní a jak budou implementovány.
- Zabezpečení rozhraní. Rozhraní musí být chráněno před neoprávněným přístupem a zásahem. Toho lze dosáhnout implementací mechanismů ověřování, autorizace a šifrování dat.
Stanovení požadavků na rozhraní je důležitou součástí vytváření TZ pro vývoj softwaru. Jasná definice požadavků pomůže vývojářům správně implementovat rozhraní a vytvořit produkt, který bude vyhovovat potřebám uživatelů.