Wat is eigenlijk een module in software engineering? [gesloten]

Gesloten . Deze vraag moet meer gefocust zijn. Het accepteert momenteel geen antwoorden.

Answer

Een module,

  • kapselt code en gegevens in om een bepaalde functionaliteit te implementeren.
  • heeft een interface waarmee klanten op een uniforme manier toegang kunnen krijgen tot de functionaliteit.
  • kan gemakkelijk worden aangesloten op een andere module die zijn interface verwacht.
  • wordt meestal verpakt in een enkele eenheid, zodat deze gemakkelijk kan worden ingezet.

Dapper.net omvat bijvoorbeeld databasetoegang. Het heeft een API om toegang te krijgen tot zijn functionaliteit. Het is een enkel bestand dat kan worden ingeplugd in een te bouwen source tree.

Het concept van module komt van een modulair programmeerparadigma dat bepleit dat software moet worden samengesteld uit afzonderlijke, uitwisselbare componenten, modules genaamd, door het programma op te splitsen. functies in modules, die elk één functie vervullen en alles bevatten wat nodig is om dit te bereiken.

Opmerkingen

  • als we een heleboel vereisten hebben, moet elke eis kan worden beschouwd als een module? Bijv .: de vereiste " Werknemer toevoegen " kan een module zijn?
  • Nee of het hangt ervan af. Programmafuncties moeten worden onderverdeeld in samenhangende eenheden. Als de vereisten op een dergelijke manier kunnen worden opgesplitst, is misschien ja. Maar ik heb ' nog niet zoiets gezien. " Werknemer toevoegen " mag ook geen kandidaat zijn voor module. Gewoonlijk zijn modules structuren van een hoger niveau die programmas opsplitsen in logisch samenhangende eenheden.

Answer

Module is mogelijk overbelast term, zo vaak dat Wikipedia het beschrijft onder de term Modulair programmeren wanneer het gebruik ervan in relatie tot software wordt besproken. Ze bespreken het in termen van gestructureerde programmering die was gebaseerd op een top-down ontwerpbenadering. De belangrijkste kenmerken van modulariteit hebben betrekking op het gebruik van een lage koppeling en een hoge cohesie .

Mijn gebruik is geweest dat in een taal als C of zelfs C ++, een module gerelateerd is aan het definiëren van een afzonderlijk gecompileerde eenheid uit een bronbestand (.c of .cpp) en typisch een bijbehorend header-bestand (.h). Andere talen gebruiken module als een beschrijving, en de taal Modula-2 plaatst structuur rondom modules centraal in zijn naam en benadering.

Historisch gezien heeft de module enkele andere implicaties zoals beschreven in de D.L. Parnas paper “Over de criteria die moeten worden gebruikt bij het ontleden van software in modules” . Hij houdt zich voornamelijk bezig met het bespreken van de voordelen van het vervangen van functionele decompositie door gegevensgeoriënteerde decompositie, wat een grote stap was in de richting van onze huidige stand van de techniek, namelijk objectgeoriënteerde decompositie.

Objectgeoriënteerde talen zijn georganiseerd rond klassen, dus misschien is de term module minder belangrijk en minder nauwkeurig in die context.

Antwoord

Er is geen formele definitie van een module, en wat een module is (of niet) in de context van uw project hangt grotendeels af van de aard en het ontwerp van het project.

Over het algemeen is een module een op zichzelf staand stuk code dat specifieke en nauw gekoppelde functionaliteit biedt, modules definiëren en dwingen logische grenzen in uw code.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *