Co je vlastně modul v softwarovém inženýrství? [uzavřeno]

Zavřeno . Tato otázka musí být více zaměřena . Momentálně nepřijímá odpovědi.

Odpověď

Modul

  • zapouzdřuje kód a data pro implementaci konkrétní funkce.
  • má rozhraní, které klientům umožňuje jednotný přístup k jeho funkcím.
  • lze snadno připojit k jinému modulu, který očekává jeho rozhraní.
  • je obvykle zabalen v jedné jednotce, aby bylo možné ji snadno nasadit.

Například dapper.net zapouzdřuje přístup k databázi. Má API pro přístup k jeho funkcím. Jedná se o jediný soubor, který lze zapojit do zdrojového stromu, který má být vytvořen.

Koncept modulu vychází z paradigmatu modulárního programování, který obhajuje, že software by měl být složen ze samostatných, vyměnitelných komponent zvaných moduly tím, že rozbije program funkce do modulů, z nichž každý splňuje jednu funkci a obsahuje vše potřebné k dosažení tohoto cíle.

Komentáře

  • pokud máme spoustu požadavků, takže každý požadavek lze považovat za modul? Např .: požadavek " Přidání zaměstnance " může být modul?
  • Ne, nebo záleží. Funkce programu by měly být rozděleny do soudržných jednotek. Pokud lze požadavky rozdělit tímto způsobem, může to být ano. Ale ještě jsem ' nic takového neviděl. " Přidání zaměstnance " by také nemělo být kandidátem na modul. Moduly jsou obvykle struktury vyšší úrovně, které rozkládají programy na logicky koherentní jednotky.

Odpověď

Modul může být přetížený výraz, natolik, že ho Wikipedia popisuje pod pojmem Modulární programování , když hovoříme o jeho použití ve vztahu k softwaru. Diskutují o tom z hlediska strukturovaného programování, které bylo založeno na konstrukčním přístupu shora dolů. Klíčové charakteristiky modularity související s použitím nízké vazby a vysoké soudržnosti .

Mým využitím je, že v jazyce jako C nebo dokonce C ++ souvisí modul s definováním samostatně kompilované jednotky ze zdrojového souboru (.c nebo .cpp) a obvykle jednoho přidruženého souboru záhlaví (.h). Jiné jazyky používají modul jako popis a jazyk Modula-2 staví strukturování kolem modulů dopředu a do středu ve svém názvu a přístupu.

Historicky má modul některé další implikace, jak byly popsány v D.L. Parnas paper „Kritéria, která se mají použít při rozkladu softwaru na moduly“ . Primárně se zabývá diskusí o výhodách nahrazení funkčního rozkladu datově orientovaným rozkladem, což byl velký krok směrem k našemu současnému stavu techniky, kterým je objektově orientovaný rozklad.

Objektově orientované jazyky jsou uspořádány kolem tříd, takže možná je termínový modul v tomto kontextu méně důležitý a méně přesný.

Odpovědět

Formální definice modulu neexistuje a to, co je modul (nebo není) v kontextu vašeho projektu, do značné míry závisí na povaze a designu projektu.

Obecně lze říci, že modul je samostatný kus kódu, který poskytuje specifické a úzce spojené funkce, moduly definují a vynucují logické hranice ve vašem kódu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *