N-AP04

Zadání

Objektově-orientovaná analýza požadavků, vlastnosti objektů, principy abstrakce a dekompozice. Vývoj OO metod, historie a kritika.

Vypracování

Objektově-orientovaná analýza požadavků

http://labe.felk.cvut.cz/vyuka/X33PTE/PTE-10.pdf Objekty a třídy

Analýza je založena na principech objektového programování. Jak už název napovídá vystupují v něm objekty, což jsou instance tříd objektů. Např. já jsem instancí třídy osoba. Třídy jsou obecnou kategorií objektů, které mají stejné vlastnosti a mohou provádět stejné operace. Objekty mají strukturu, která se skládá z:

  • Vlastností (atributů) – (váha osoby, výška osoby)
  • Chování – operací, metod, které objekt může provádět (osoba může jíst, číst, psát, …)

Asociace tříd Asociace označuje stav, kdy nějaká třída má vztah s jinou třídou.

Asociace - Agregace

  • Speciální případ pro vztah celek-část.
  • Součásti agregace mohou fungovat nezávisle na sobě.
  • Symbol prázdného diamantu
  • Tranzitivní - pokud je pist součástí motoru a motor součástí auta, pak je i pist součástí auta
  • Asymetrická - pokud je motor součástí auta, pak auto není součástí motoru
  • Sémantika: totéž co asociace, pouze zdůrazňuje vztah celek-část, součásti mohou existovat nezávisle na celku, součást může být sdílena více celky

Asociace - Kompozice

  • Silnější forma agregace.
  • Opět je tranzitivní a asymetrická.
  • Části nemají mimo celek smysl.
  • symbol plného diamantu
  • Sémantika: na úrovni instancí (objektů) části neexistují vně celku. Každá část patří pouze do jednoho celku, části nelze sdílet. Je-li celek zničen, musí zničit i svoje součásti.

Z objektového programování se přenáší následující principy:

Abstrakce

  • Znamená filtrování reálných objektů tak, že zbudou jen ty vlastnosti z reálného světa, které jsou pro budování informačního systému potřeba.

Dědičnost

  • Objekty dědí atributy a operace po své třídě nebo třída dědí po jiné třídě.

Polymorfismus

  • Operace může mít v různých třídách objektů stejné jméno, ale každá třída objektů bude operaci provádět jinak.

Zapouzdření

  • Objekty skrývají provádění svých operací před ostatními objekty a před okolním světem. Objekt má pro komunikaci s okolním světem rozhraní, pomocí kterého je okolní svět může přimět k vyvolání nějaké činnosti a zbytek operací ukrývá.

Komunikace mezi objekty (předávání zpráv)

  • Objekty mezi sebou komunikují – zasílají si zprávy. Zasílání zpráv je v podstatě vždy žádost o provedení operací.

Vlastnosti objektů

Objekty kombinují data a funkce do podoby uzavřené, soudržné jednotky. Objekty ukrývají data za vrstvou funkcí (operací) - data jsou přístupná pouze skrze operace.

Každý objekt má:

  • Jednoznačnou identitu - odlišení objektů od ostatních (stejných) objektů. Každý objekt má unikátní výskyt v prostoru a v čase. Každý objekt je jednoznačně identifikovatelný. Identita je určena: hodnotami atributů, adresou v paměti, …
  • Stav - hodnoty atributů uchovávají data objektů. Data objektů definují jeho stav. Stav je určen hodnotami atributů a vazbami/vztahy na ostatní objekty v daném časovém okamžiku.
  • Chování - operace, které je možné s objektem provádět. Operace často mění stav a často závisí na aktuálním stavu (na aktuálních datech). Chování vyjadřuje jak objekt koná a reaguje. Chování je specifikováno operacemi. Každá operace tedy definuje část chování objektu. Chování se může měnit v závislosti na stavu (např chováni tiskárny při stavu DošlaNáplň). Vyvolání operace může vést ke změně stavu. Implementace operace se nazývá metoda.

Principy abstrakce a dekompozice

Dekompozice

  • Dekompozice pomáhá systémovému analytikovi a dalším členům řešitelského týmu rozložit systém na menší, lépe zvládnutelné a srozumitelnější subsystémy.
  • Zajišťuje soustředění pozornosti na jednu oblast (subsystém) v daném čase bez interference od ostatních částí.
  • Umožňuje, aby se pozornost soustředila na tu část systému, která je zajímavá pro určité publikum, aniž by byli posluchači mateni pro ně nepodstatnými detaily.
  • Umožňuje postavit různé části systému v nezávislých časech a různými lidmi.

Abstrakce

Abstrakce spočívá v zjednodušení objektu z reálného světa tak, aby vyhovoval potřebám modelu informačního systému. Během procesu abstarkce se objektu ponechají pouze ty metody a atributy, které jsou pro informační systém podstatné.

Vývoj OO metod, historie a kritika

  • UML patří mezi modelovací techniky, která se snaží kombinovat různé přístupy z různých oblastí např. ERD ze strukturované analýzy, toky práce z procesního řízení atd. UML poskytuje sadu nástrojů pro vytváření modelů, ale nedefinuje jak tyto modely použít (metodika např. RUP – Rational Unified Process).
  • UML se vyvíjí od druhé poloviny 90. let (Booch, Jacobson, Rumbaugh, Gamma) hlavně z use-case, ale také nejrůznějších dalších technik.
  • UML je pro začátečníka příliš komplexní a rozsáhlý, pokud se snaží používat všechny diagramy.
  • UML také neřeší mapování objektového modelu na relační.
  • UML také nemá syntax pro návrhové vzory.
mgr-szz/ap-ap/4-obr.txt · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0