Metody vývoje softwaru ve vývoji pokročilých algoritmů rozhodování

Vedoucí

Ing. Václav Šmídl, Ph.D.

Pracoviště/Tel.

UTIA, Pod vodárenskou věží 4, Praha 8

Klíčová slova

softwarové inženýrství, rozhodování za neurčitosti

Motivace

Metody vývoje softwarového projektu byly vyvinuty na základě dlouhodobých zkušeností s vývojem softwarových nástrojů. Každá z metodologií (extreme programming, agile software development nebo waterfall method) má určité výhody a nevýhody a proto se hodí pro určitý typ projektů. 

Vývoj algoritmů rozhodování za neurčitosti je specifickým případem softwarového projektu. Jendotlivé metody se obvykle vyvíjejí pro specifické zadání či specifický problém, mají však obecný charakter a je možné jejich další využití. K tomu je nezbytné vytvoření struktury, (například toolboxu nebo knihovny), do které tyto algoritmy začlenit. Výsledná struktura (knihovna) by měla být jednodušše použitelná jak pro potencionální uživatele tak pro vývojáře nových algoritmů.

Příkladem takového projektuje knihovna BDM. Tato knihovna je vyvíjena jako open source projekt, který má za cíl poskytovat nejnovější algoritmy pro široké možnosti využití. Knihovna je psána v jazyce C++ a její funkce jsou dostupné ve vyšších programovacích jazycích jako  je Matlab či Octave.

Cílem práce je zvolit vhodnou metodiku vývoje softwaru, a rozpracovat důsledky jejího použití v dané oblasti.

Úkoly

1. Seznamte se s nejnovějšími metodami vývoje softwarového projektu.

2. Seznamte se se specifickými požadavky vývoje algoritmů rozhodování za neurčitosti, knihovnou BDM a konkurenčními knihovnami.

3. Navrhněte vhodnou metodiku řízení vývoje knihovny a rozpracujet důsledky použití této metodiky.

Literatura

  • Elektronické články o softwarových metodách, viz např: http://agilealliance.org/articles
  • Domovská stránka projektu BDM: http://mys.utia.cas.cz:1800/trac/bdm/

Poznámka

Související práce je možné honorovat z grantu.