Hva er egentlig en modul innen programvareteknikk? [lukket]

Stengt . Dette spørsmålet må være mer fokusert . Det aksepteres for øyeblikket ikke svar.

Svar

En modul,

  • innkapsler kode og data for å implementere en bestemt funksjonalitet.
  • har et grensesnitt som lar klienter få tilgang til funksjonaliteten på en enhetlig måte.
  • kan enkelt kobles til med en annen modul som forventer grensesnittet.
  • er vanligvis pakket i en enkelt enhet slik at den enkelt kan distribueres.

For eksempel innkapsler dapper.net databasetilgang. Den har et API for å få tilgang til funksjonaliteten. Det er en enkelt fil som kan plugges i et kildetre som skal bygges.

Modulkonseptet kommer fra modulært programmeringsparadigme som anbefaler at programvare skal være sammensatt av separate, utskiftbare komponenter kalt moduler ved å bryte ned programmet fungerer i moduler, som hver utfører en funksjon og inneholder alt som er nødvendig for å oppnå dette.

Kommentarer

  • hvis vi har en rekke krav så hver krav kan betraktes som en modul? F.eks .: kravet " Å legge til ansatt " kan være en modul?
  • Nei eller det avhenger. Programfunksjoner bør deles inn i sammenhengende enheter. Hvis kravene kan brytes ned på en slik måte, kan det være ja. Men jeg har ikke ' ikke sett noe lignende ennå. Også " Legge til ansatt " bør ikke være en kandidat for modul. Vanligvis er moduler strukturer på høyere nivå som nedbryter programmer til logisk sammenhengende enheter.

Svar

Modulen kan være en overbelastet begrep, så mye at Wikipedia beskriver det under begrepet Modular Programming når det diskuteres bruken i forhold til programvare. De diskuterer det i form av strukturert programmering som var basert på en top-down designtilnærming. Nøkkelegenskaper ved modularitet knyttet til bruk av lav kobling og høy kohesjon .

Min bruk har vært at i et språk som C eller til og med C ++, er en modul relatert til å definere en separat kompilert enhet fra en kildefil (.c eller .cpp) og vanligvis en tilknyttet headerfil (.h). Andre språk bruker modulen som beskrivelse, og språket Modula-2 setter strukturering rundt moduler foran og i sentrum i navnet og tilnærmingen.

Historisk sett har modulen noen andre implikasjoner som ble beskrevet i D.L. Parnas papir «Om kriteriene som skal brukes i nedbrytning av programvare til moduler» . Han er først og fremst opptatt av å diskutere fordelene ved å erstatte funksjonell nedbrytning med dataorientert nedbrytning, som var et stort skritt mot vår nåværende teknikk som er objektorientert nedbrytning.

Objektorienterte språk er organisert rundt klasser, så kanskje begrepet modul er mindre viktig og mindre presis i den sammenhengen.

Svar

Det er ikke en formell definisjon av en modul, og hva en modul er (eller ikke er) i sammenheng med prosjektet, avhenger i stor grad av prosjektets art og utforming.

Generelt sett er en modul en frittstående kode som gir spesifikk og tett sammenkoblet funksjonalitet, moduler definerer og håndhever logiske grenser i koden din.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *