Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
090416_STATNICE_Zaklady_softwaroveho_inzenyrstv...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.51 Mб
Скачать
  1. Co to je softwarové inženýrství a proč vzniklo?

  • na přelomu 60. a 70. let první náznaky snah ve vznik softwarového inženýrství, na konci 70. let softwarové inženýrství vzniká – začínají se vytvářet první interaktivní či víceuživatelské aplikace, první databáze a knihovny, v roce 1997 uznáno jako obor s certifikátem v USA

  • vznik na základě používání nesystematických postupů vývoje softwaru

  • řeší problémy které nikdo řešit neuměl

  • aby byl dobře SW navržený a dělal to co má

  • zabývá problematikou tvorby softwaru, který mál být vytvořen včas, v požadované kvalitě a při dodržení rozpočtu

  • důraz je kladen jak na software tak na inženýrství

  • snaží o zavedení inženýrských metod do návrhu softwaru

  • je systematický, disciplinovaný a kvalifikovaný přístup k vývoji, provádění a údržbě softwaru (definice IEEE 1993)

  • je zavedení a používání řádných inženýrských principů tak, abychom dosáhli ekonomické tvorby software, který je spolehlivý a pracuje účinně na dostupných výpočetních prostředcích

Návrh SW je specifický složitostí, komplexností a změnami

Nejčastější problémy SW - nedělá co má - je to důvod vzniku analýzy v poslední době se přidala business analýza.

První představy o systematickém přístupu k tvorbě softwaru přišly se strukturovaným programováním koncem šedesátých let.

Softwarové inženýrství řeší problémy, hledá modely, sbírá znalosti a hledá racionální řešení.

Každá z těchto aktivit je však ovlivňována lidmi, časem a rozpočtem, který má k disposici.

Mimo to se v každém okamžiku mohou objevit požadavky na změny.

Softwarové inženýrství je:

  • Modelování – tvorba modelu, kdy se během jeho tvorby soustředíme jen na

nejnutnější detaily a ostatní zanedbáváme. V průběhu tvorby softwaru je potřeba

vytvořit řadu různých modelů, které odpovídají jednotlivým pohledům na řešený úkol.

  • Řešení problémů – modely jsou použity k hledání akceptovatelného řešení.

  • Získávání znalostí – softwarové inženýrství sbírá data z modelů řešených problémů,

ukládá je jako informace a znalosti pro řešení dalších úloh. Tento proces je nelineární

a jeden špatný údaj v datech může příslušný model znehodnotit.

  • Racionálně vedená aktivita – při získávání znalostí je nutné postupovat logicky,

rozumově, aby získané informace byly přínosné, aby získané modely byly použitelné,

umožňovaly změny a pomohly při nových řešeních.

  1. Co to je softwarový projekt a jaké jsou jeho charakteristické rysy?

Projekt znamená plánování a řízení rozsáhlých operací vedoucích ke konkrétnímu cíli, se stanovenými termíny zahájení a ukončení, s omezenými zdroji a náklady. Není to periodicky se opakující rutinní činnost, ale jedinečná, systémová činnost s nejistotou a rizikem. Čím složitější projekt tím více vyžaduje plánování.

Softwarový projekt je projekt, jehož cílem je vytvoření nebo využití programového díla.

Důležitá je dokumentace – projektová, uživatelská

Fáze tvorby SW projektu:

  • Úvodní studie - feasibility study

  • Analýza

  • Návrh (design)

  • Implementace

Charakteristiky: Požadavky na SW se často mění – řízení změnou

Řízení změnou – přechod z vodopádového do iteračního modelu, zavedeme metriku, dodáváme kousky systému, čím dříve dodáme zákazníkovi, tím dříve víme co se nepovedlo. Od zákazníka očekáváme ANO ale…časem to co bude za ale bude menší a menší. Ne hlubší analýzou ale opakováním.

Iterace – posloupnost činností, aktivit, kroků, které vedou ke zhotovení systému, který je přeložitelný a částečně funkční a bude to co bylo implementováno otestováno a bude to možné spustit a používat. Na konci každé iterace je dodán systém, který je otestován není zcela funkční je funkční jen z hlediska iterací, které jsme si vytyčili.

Řízení softwarových projektů – 3P

  • Projekt je dočasné úsilí vynaložené s cílem vytvořit jedinečný produkt.

  • Proces je ucelený sled činností, který má na výstupu měřitelný výsledný produkt.

  • Produkt může být hmotný (výrobek) nebo nehmotný (informace) nebo to může být služba.

Proces plánování projektu - je popis (nikoli toho, co se stane, ale) toho, co chceme, aby se stalo

  • stanovení cílů a definování strategie vedoucí k jejích dosažení

  • zpracování strukturované dekompozice (rozložení) činností projektu

  • vytvoření projektové organizační struktury a sestavení projektových týmů

  • zpracování implementačních plánů projektu, tj. časových plánů, plánů nákladů, alokace zdrojů

  • specifikace nástrojů a technik pro řízení projektu

  • identifikace možných omezení, rizikových oblastí a návrh způsobů eliminace těchto vlivů

Proces řízení realizace projektu - je proces, kterým chceme dosáhnout toho, aby se plánované události skutečně staly, aby nedocházelo k neplánovaným událostem

  • realizace implementačních plánů projektu a koordinace subjektů podílejících se na jeho realizaci

  • identifikace a analýza aktuálních dat

  • řízení, kontrola a průběžné vyhodnocování, analýza a korekce průběhu projektu - kontrola stanovených cílů, termínů a čerpání zdrojů a nákladů

  • řešení konfliktních a nestandardních situací

  • technická a administrativní podpora projektu

  • změnová řízení

  • koordinace postupné integrace sytému

  • vyhodnocení dílčích etap projektu a návrh úprav

Podstatný vliv na management softwarových projektů mají 3P:

  • Pracovníci musí být organizování do efektivních týmů, motivováni k vysoce kvalitní práci, koordinováni tak, aby dosáhli efektivní komunikace.

  • Problém musí být definován v komunikaci zákazníka s realizátorem, rozdělen (dekomponován) na části a přidělen softwarovým týmům. Problém -Špatným pochopením problému může vzniknout sice elegantní řešení ale pro jiný problém.

  • Proces musí být přizpůsoben lidem a problému, vybrán vhodný model - Připravit, naplánovat, kontrolovat a řídit