Svar
En modul,
- kapslar in kod och data för att implementera en viss funktion.
- har ett gränssnitt som låter klienter få åtkomst till dess funktionalitet på ett enhetligt sätt.
- kan enkelt kopplas in med en annan modul som förväntar sig dess gränssnitt.
- är vanligtvis förpackad i en enda enhet så att den enkelt kan distribueras.
Till exempel inkapslar dapper.net databasåtkomst. Den har ett API för att få åtkomst till dess funktionalitet. Det är en enda fil som kan anslutas till ett källträd som ska byggas.
Begreppet modul kommer från modulärt programmeringsparadigm som förespråkar att programvara ska bestå av separata, utbytbara komponenter som kallas moduler genom att bryta ner programmet fungerar i moduler, var och en utför en funktion och innehåller allt som behövs för att uppnå detta.
Kommentarer
- om vi har en massa krav så var och en krav kan betraktas som en modul? Exempel: kravet " Att lägga till anställd " kan vara en modul?
- Nej eller det beror på det. Programfunktioner bör delas upp i sammanhängande enheter. Om kraven kan brytas ner på ett sådant sätt kan det vara ja. Men jag har ' inte sett något liknande än. Dessutom bör " Att lägga till anställd " inte vara en kandidat för modul. Vanligtvis är moduler strukturer på högre nivå som sönderdelar program i logiskt sammanhängande enheter.
Svar
Modulen kan vara en överbelastad term, så mycket att Wikipedia beskriver det under termen Modular Programming när man diskuterar dess användning i förhållande till programvara. De diskuterar det i termer av strukturerad programmering som baserades på en design-uppifrån och ner. Viktiga egenskaper hos modularitet relaterade till användningen av låg koppling och hög sammanhållning .
Min användning har varit att i ett språk som C eller till och med C ++ är en modul relaterad till att definiera en separat kompilerad enhet från en källfil (.c eller .cpp) och vanligtvis en associerad rubrikfil (.h). Andra språk använder modulen som en beskrivning, och språket Modula-2 sätter struktureringen runt modulerna fram och i centrum i sitt namn och sin inställning.
Historiskt har modulen några andra konsekvenser som beskrivs i D.L. Parnas papper ”Om de kriterier som ska användas vid nedbrytning av programvara till moduler” . Han är främst intresserad av att diskutera fördelarna med att ersätta funktionell sönderdelning med dataorienterad sönderdelning vilket var ett stort steg mot vårt nuvarande tekniska tillstånd som är objektorienterad sönderdelning.
Objektorienterade språk är organiserade runt klasser, så kanske termmodulen är mindre viktig och mindre exakt i det sammanhanget.
Svar
Det finns ingen formell definition av en modul, och vad en modul är (eller är det inte) i projektets sammanhang beror till stor del på projektets art och utformning.
Generellt sett är en modul en fristående kod som ger specifik och tätt kopplad funktionalitet, moduler definierar och verkställer logiska gränser i din kod.