Moduuli (ohjelmisto)

On Software Engineering, moduuli (neutri, moduuli) on komponentti ohjelmisto, joka on luotu aikana modulointi , on toiminnallisesti suljettu yksikkö ja tarjoaa tietyn palvelun.

Moduulit ovat ominaisia ohjelmoinnin mukaisesti ohjelmoinnin paradigma on modulaarinen ohjelmointi . Moduulit voivat sisältää muita moduuleja tai rakenteita, jotka on nimetty muilla nimillä (kuten funktio , menettely , luokka jne.). Tällä tavalla ohjelman toiminnot voidaan jakaa hierarkiaan. Moduulit voivat periä niissä määritellyt tietorakenteet ja menetelmät tai sallia tai kieltää pääsyn ulkoisiin moduuleihin.

Eri ohjelmointikielissä ja kehitysympäristöissä ja niiden kehityksessä ajan myötä moduulien (joskus eri nimillä) toteutusmuotoja on kehitetty lukuisia. Termiä moduuli käytetään usein myös synonyyminä sellaisten termien kanssa kuin aliohjelma, menettely, aliohjelma , ohjelmaosa, ohjelmamoduuli.

Ohjelmakoodin varastointiobjektina "moduuli" on ohjelmakirjaston sisällön tyypin määritys , jolloin moduuli on usein yhteenveto temaattisesti liittyvistä menettelyistä, toiminnoista, luokista, vakioista ja mahdollisesti muista ohjelmointikohteista. Moduuleja on saatavana myös pääohjelmille ; ne voivat vaihtoehtoisesti edustaa erityyppisiä ohjelmakoodeja (kuten lähdekoodia , välikoodia , koneohjelmaa ).

Moduuli on erotettava komponentti , joka on yhden tason hierarkiassa korkeammalla ja yhdistää (perus) toiminnallisuuksia moduulit (kohde-spesifinen) palvelut. Tällaisia ​​komponentteja kutsutaan kuitenkin joskus myös moduuleiksi yleisessä käytössä (esimerkiksi SAP: ssä ).

Syyt ohjelmien jakamiseen moduuleihin

Modulaariseen ohjelmointiin yleensä

  • Assemblyler- ohjelmoinnin alkuperäisestä näkökulmasta jakamisen syy oli saman käskysarjan moninkertainen käyttö ohjelman eri kohdissa, mikä säästää muistitilaa ja välttää koodin toistoja .
  • Nykyaikaisissa ohjelmistotekniikoissa toinen tärkeä syy on ohjelmistosuunnittelun jäsentäminen : ohjelmien lähdekoodi koostuu nykyään lyhyistä ja selkeistä yksittäisistä osista paremman ylläpidettävyyden , ymmärrettävyyden ja vianetsinnän hyväksi (katso modulaarinen ohjelmointi ). Tätä periaatetta noudattaen itsenäiset alatehtävät (esim. Luetut rutiinit, kelpoisuustarkistukset, monimutkaiset laskelmat) ovat rakenteellisesti erillisiä aliohjelmia, jotka on toteutettu (ja joita voidaan mahdollisesti käyttää useissa ohjelmakoodin kohdissa). Tällainen "ulkoistaminen" pitää koodin selkeänä; tietokoneiden sisäisillä puhe- ja aika- ja hallintomenoilla ei ole käytännössä merkitystä nykyaikaisissa laskentakoneissa.

Itsenäisille moduuleille

  • Yksi ohjelmistoarkkitehtuurin osa on aliohjelmien luominen käytettäväksi useissa tietokoneohjelmissa / sovelluksissa. Tiettyjä teknisiä tai operatiivisia toimintoja (esimerkiksi tarkistusnumerolaskenta ) voidaan käyttää yhtenäisesti koko yrityksessä.
  • Moduulit voidaan luoda ja koota erikseen eri ohjelmointikielillä ja asettaa käytettäviksi ohjelmakirjastoissa .
  • Toiminnot voidaan valinnaisesti integroida modulaarisen periaatteen mukaisesti .
  • Yksittäiset komponentit voidaan lisensoida erikseen kaupallisiin sovelluksiin .
  • Useat kehittäjät tai kehittäjäryhmät voivat luoda ja testata sovelluksen osia toisistaan ​​riippumatta .
  • Tarvittaessa riippumattomia moduuleja voidaan yleensä muuttaa riippumatta niiden kutsumisohjelmista (kunhan niiden käyttöliittymä pysyy identtisenä). Tämä koskee erityisesti dynaamisesti ladattavia moduuleja.

Käytä / käytä

Kapselointiperiaatteella varustettujen moduulien käyttö ( kapselointi ); koska:

  • Käyttöliittymä moduulin sisältää / nimet vain dataa (alueet), joka moduuli tarpeet / toimittaa syötteenä ja käsittelyn tulos.
  • Toteutus sisältää varsinaisen ohjelmakoodin.

Moduulin ulkopuolella käsittelymenetelmä ja moduulikohtaiset tiedot pysyvät piilossa ( tietojen piilottamisen periaate ).

Suuret, monimutkaiset ohjelmat voidaan hajottaa ja jäsentää moduulien avulla. Tästä voi olla hyötyä monella tapaa (katso myös modulaarisuus ). Esimerkiksi moduulien koko vaikuttaa virhetiheyteen - se on pienin moduulien koossa 200–400 koodiriviä . Moduulien ja rajapintojen suunnittelu ja määrittely on osa ohjelmistokehityksen suunnitteluvaihetta .

Moduulikonseptin julkaisi ensimmäisen kerran David Parnas .

Lukuisat ohjelmointikielet tukevat moduulin konseptin integroitu äänellä keinoin kuten Ada , COBOL , D , F, Fortran , Haskell , Java , ML , Modula-2 , Oberon , Komponentti Pascal ja PL / I . Skriptikielet, kuten Perl , Python , PHP ja Ruby, on myös mainittava.

Esimerkkejä moduulimuunnelmista

Seuraavat esimerkit osoittavat, että moduuleilla voi olla erilaisia ​​teknisiä ominaisuuksia:

Moduulit strukturointivälineinä lähdekoodissa

Modulaarisen ohjelmoinnin periaatteiden mukaan moduulit ovat "loogisia alilohkoja", joihin tietokoneohjelman tehtävä on jaoteltu. Moduuli määritellään usein vain lähdekoodin yksittäisenä koodiosiona , OOP: n kanssa tämä voi olla luokka . Tämä koodiosa / moduuli voi sisältää muita moduuleja tai sitä voidaan kutsua itsenäiseksi, erikseen käännetyksi aliohjelmaksi .

Luokat kohteen suunnassa

Erityinen muoto moduulin / modularisaatiodokumentaatioiden ovat luokkia on olio-ohjelmistojen kehittämiseen :

  • Luokkien kopioita voidaan luoda ( instantisoida ) objektien muodossa ,
  • Luokat voivat periä ominaisuuksia muille luokille,
  • Polymorfismi sallii luokkien muuttaa ominaisuuksia ajon aikana - muiden moduulien väliset suhteet ovat yleensä staattisia.

Objektimoduuli (IBM-keskusyksikkö)

Kääntäjä tai kokoajan luo ns esine moduuli lähteestä teksti , ohjeita , jotka on tallennettu on ohjelma kirjasto muodossa koneen koodi . Ohjelman suorittamiseksi sen objektikoodi kaikkien kutsuttujen aliohjelmien kohdekoodilla 'linkitetään' ns. Linkkerillä , jolloin u. a. käytetään alirutiinien syöttöosoitteita. Tuloksena on latausmoduuli .

Ladataan moduuli (IBM: n keskusyksikkö)

Vaihtoehto A: Pääohjelmat ja niihin (= staattiset) lisätyt sidotut alaohjelmat ovat yleinen suoritettava ohjelma yhteisenä, ladattavana moduulina <Pääohjelma> ' ohjelmakirjastossa . Sieltä heitä voidaan kutsua esimerkiksi JCL-puheluilla (EXEC <Pgm>).
Vaihtoehto B: Jos aliohjelmat ladataan vain ohjelman ajon aikana (= dynaaminen), niiden objektikoodista luodaan yksi 'latausmoduuli <UPRO>', joka ladataan kutsu- (pää) ohjelmassa olevalla latauskomennolla käyttöjärjestelmän kautta ja sitten - kuten staattisesti sidotut moduulit - kutsutaan käsittelyyn.
Kutsu- ja kutsutun ohjelman (osan) vuorovaikutus yksityiskohtaisesti: Katso aliohjelma .

MS Accessin ja VBA: n moduulit

Kehitysympäristö MS Access ymmärtää ”moduuli”, kuten yhteenvedon kaikista menettelyistä tai toiminnot, jotka on luotu kohteen, esimerkiksi muodossa tai raportin VBA . Tällaisissa moduuleissa voidaan luoda ja suorittaa muita alisteisia alitoimintoja, esimerkiksi "tapahtumaproseduurit", joilla yksittäinen tarkistus on suoritettava, kun tiettyä tietokenttää muutetaan muodossa. Lisäksi voidaan luoda moduuleja maailmanlaajuisesti päteville tiedoille (esim. 'GLOBAL DATA') tai globaalisti osoitettaville toiminnoille (esim. 'GLOBAL CODE').

Termi moduuli SAP: ssä

SAP- ohjelmistossa yksittäisiä sovelluksia kutsutaan moduuleiksi. Tämä vastaa kuitenkin ohjelmistoteknisen moduulin termiä vain laajimmassa merkityksessä ja on yhteenveto toiminnallisuudesta liiketoiminnan tasolla, jonka käyttäjä voi valinnaisesti hankkia ja käyttää.

Katso myös

nettilinkit

Wikisanakirja: Moduuli  - selitykset merkityksille, sanan alkuperälle, synonyymeille, käännöksille

Yksittäiset todisteet

  1. ^ Duden, Volume 5, Foreign Dictionary, 7. uudistettu ja laajennettu painos, Mannheim 2001
  2. ^ Gabler [1] -määritysmoduuli
  3. psion-käyttäjäklubin OPL-kurssin osa 4 [2], koska joitain moduuleista ("synonyymi: menettelyt, ...") käytetään uudelleen
  4. econstor.eu [3] sivu 19: ... missä määrin ohjelma on jaettu alaohjelmiin (moduuleihin), ...
  5. tse.de [4] SAP R3 -moduulit
  6. Y. Malayia, J. Denton, moduulien koon jakauma ja vikatiheys . (pdf) Julkaisussa: 11. kansainvälinen Symposium on Software Reliability Engineering (ISSRE'00). Lokakuu 2000, luettu 1.8.2018 .
  7. Microsoft luo VBA-menettelytoiminnot vakio- tai luokan moduuleissa ( Memento 8. huhtikuuta 2014 Internet-arkistossa )
  8. SAP ERP Mikä on ERP? [5] "Jokainen sovellus, eli jokainen ERP-moduuli, on suunnattu liiketoiminta-alueelle."