Caracteristici modulare de programare, exemple, avantaje, aplicații

1608
Alexander Pearson
Caracteristici modulare de programare, exemple, avantaje, aplicații

programare modulară este o tehnică utilizată pentru dezvoltarea de software, unde programul este împărțit în mai multe componente sau blocuri autonome mici numite module, care sunt ușor de gestionat, logice și funcționale.

Modulul este un bloc de instrucțiuni care rezolvă o anumită problemă. Fiecare modul conține tot ceea ce este necesar pentru a-și îndeplini propria funcționalitate și poate fi editat sau modificat fără a afecta restul proiectului..

Exemplu de rezolvare a unei probleme folosind module. Sursa: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)

Acest mod de programare se realizează prin menținerea unei interfețe permanente a modulului care este utilizată de celelalte componente ale software-ului pentru a accesa funcțiile fiecărui modul..

Modulele impun limite logice între componente, îmbunătățind mentenabilitatea. Ele sunt încorporate prin interfețe, care sunt proiectate în așa fel încât dependența dintre diferitele module este redusă la minimum.

Indice articol

  • 1 Module principale și auxiliare
  • 2 Caracteristicile programării modulare
    • 2.1 Modularitate
    • 2.2 Definiția funcției
    • 2.3 Domeniul variabilelor
    • 2.4 Este procedural
  • 3 Exemple de programare modulară
    • 3.1 Modularitatea în viața reală
    • 3.2 Funcții în Java
  • 4 Avantaje
    • 4.1 Programare independentă a proiectului
    • 4.2 Dezvoltarea eficientă a programului
    • 4.3 Utilizarea multiplă a modulelor
    • 4.4 Ușurința de depanare și modificare
  • 5 Dezavantaje
    • 5.1 Structură orientată prea mult asupra obiectelor
    • 5.2 Module prea mici
    • 5.3 Descompuneți fără motiv
  • 6 Aplicații
    • Limbajul C 6.1
  • 7 Referințe

Module principale și auxiliare

Un modul principal și mai multe module secundare sunt cele care alcătuiesc programarea modulară. Apelurile către funcțiile modulelor auxiliare se fac din modulul principal.

Aceste plug-in-uri există ca fișiere executabile separate, care sunt încărcate când rulează modulul principal. Fiecare modul are un nume unic atribuit în instrucțiunea PROGRAM.

Echipele de lucru pot dezvolta diferite module separat, fără a fi nevoie să cunoască toate modulele sistemului. Fiecare dintre aplicațiile modulare este asociată cu un număr de versiune pentru a oferi flexibilitate dezvoltatorilor în întreținerea modulului..

Caracteristici modulare de programare

Modularitate

Un computer nu are nevoie de o versiune defalcată a codului pentru a-l rula. Limitările cognitive umane te obligă să scrii cod în bucăți mai mici.

Un program poate conține alte funcții și se poate referi și la funcții care se află în alte fișiere. Aceste funcții sau module sunt seturi de instrucțiuni care sunt utilizate pentru a efectua o operație sau pentru a calcula o valoare.

Pentru a menține simplitatea și lizibilitatea în programe mari și complexe, o funcție principală scurtă este utilizată împreună cu alte funcții, mai degrabă decât o funcție principală lungă.

Prin separarea unui program în grupuri de module, fiecare modul va fi mai ușor de înțeles, respectând astfel orientările de bază ale programării structurate..

Definirea funcției

O funcție constă într-o declarație a definiției sale urmată de comenzi și instrucțiuni. Forma generală a unei funcții este:

Numele funcției (declarația parametrilor)

propoziții;

comenzi;

expresie de întoarcere;

- Declarația parametrilor reprezintă informațiile care sunt transmise funcției.

- Variabile suplimentare utilizate în mod specific de funcție sunt definite în instrucțiuni.

- Toate funcțiile trebuie să includă o declarație return.

Domeniul de aplicare al variabilelor

Variabilele declarate în funcția principală sau în funcțiile definite de utilizator se numesc variabile locale. Acestea au o valoare când funcția se execută, dar valoarea lor nu este reținută când funcția se finalizează.

Variabilele care sunt declarate externe programului principal sau funcțiile definite de utilizator se numesc variabile globale. Aceste variabile pot fi preluate din orice funcție găsită în cadrul programului.

Este procedural

Programarea modulară este destul de procedurală, deoarece este complet orientată spre scrierea codului pentru funcții, fără a lua în considerare datele.

Exemple de programare modulară

Modularitate în viața reală

Să presupunem că o casă are electricitate, cu mai multe prize electrice pe pereți. Acest sistem vă permite să conectați diverse dispozitive electrice, de exemplu, cuptor cu microunde, mașină de spălat, uscător etc..

Aceste dispozitive sunt concepute pentru a-și îndeplini sarcina specifică atunci când sunt conectate și pornite, indiferent de locul în care sunt amplasate..

Modulele unei aplicații trebuie să urmeze aceeași filosofie. Aceasta înseamnă că trebuie să își îndeplinească sarcina specifică, indiferent de ce parte a aplicației se află sau chiar la ce aplicație sunt conectați..

De asemenea, la fel cum un dispozitiv electric poate fi deconectat cu ușurință de la priză, un modul trebuie proiectat în așa fel încât să poată fi îndepărtat cu ușurință dintr-o aplicație..

La fel cum eliminarea unui dispozitiv electric nu are impact asupra funcționalității celorlalte dispozitive conectate, eliminarea modulelor dintr-o aplicație nu ar trebui să aibă impact asupra funcționalității celorlalte module ale acelei aplicații..

Funcții în Java

În Java, modulele sunt scrise ca funcții independente. De exemplu, puteți avea o funcție sau un bloc de cod pentru a calcula GPA-ul unui elev pe baza notelor sale la toate cursurile pe care le-au urmat..

Funcția trebuie să obțină lista notelor ca intrare și apoi să returneze media notei calculate:

Această funcție se numește CalculateAverageNote. Primește ca intrare o listă de note, utilizând o serie de tipuri de date duble, și returnează media calculată.

În funcție, suma variabilă locală este inițializată la zero și apoi, folosind o buclă for, toate calificările sunt adăugate la sumă. În cele din urmă, suma obținută este împărțită la numărul de note, returnând valoarea rezultată.

Dacă matricea de intrare ar avea notele 3.5, 3.0 și 4.0, după adăugarea lor, ar avea suma valorii de 10.5 și apoi ar fi împărțită la 3, deoarece există trei note. Funcția ar returna valoarea 3.5.

Avantaj

Programare independentă a proiectului

Mai mulți programatori pot lucra la același proiect dacă este împărțit în module. Diferiti programatori pot proiecta independent diferite module ale programului, ceea ce este necesar pentru un program mare si complex.

Dezvoltarea eficientă a programului

Programele pot fi dezvoltate mai rapid, deoarece modulele mici, de sine stătătoare, sunt mai ușor de înțeles, proiectat și testat decât programele mari.

Programatorul poate furniza intrarea necesară și poate verifica dacă modulul este corect examinând ieșirea acestuia..

Utilizarea multiplă a modulelor

Codul scris pentru un program este adesea util în altele. Programarea modulară permite salvarea acestor secțiuni pentru utilizare ulterioară. Deoarece codul este relocabil, modulele salvate pot fi legate de orice alt program care îndeplinește cerințele de intrare și ieșire..

Cu programarea monolitică, astfel de secțiuni de cod sunt încorporate în program și nu sunt disponibile pentru a fi utilizate de alte programe..

Ușurința de depanare și modificare

Un modul este mai mic decât un program complet, facilitând testarea. Fiecare modul poate fi scris și testat separat de restul programului. După ce un modul a fost testat, acesta poate fi utilizat într-un nou program fără a fi nevoie să-l testeze din nou.

Când un program trebuie modificat, programarea modulară simplifică lucrarea. Modulele noi sau depanate pot fi legate de un program existent fără ca restul programului să se schimbe.

Dezavantaje

Structură prea orientată spre obiecte

Această programare folosește interfețe, ceea ce este o idee destul de eficientă. Pentru a profita de acest lucru, unele cadre vin cu un set complet de clase interschimbabile. De exemplu, pentru a gestiona persistența, ar putea exista mai multe clase care implementează o interfață de persistență.

Cu toate acestea, mediile de dezvoltare integrată (IDE) se confundă în acest sens. De exemplu, ați putea încerca să găsiți sursa unei metode, iar IDE nu va ști ce metodă doriți să vedeți, afișând astfel o listă lungă de fișiere în care există o metodă cu acel nume..

Module prea mici

Există o mulțime de module care conțin doar o funcție foarte mică. Fiecare modul necesită timp suplimentar de analiză și procesare, în plus față de antetul său în cod.

Prin urmare, folosirea multor module mici va adăuga o cheltuială la sistemul de construcție, mărind dimensiunea pachetului.

Descompuneți fără motiv

Unele coduri nu se schimbă aproape niciodată. În aceste cazuri, este posibil să nu aibă prea mult sens să încercăm să-l facem să pară mai curat sau cu o logică abstractă, dacă doar utilizarea acestuia funcționează deja bine.

Există coduri care nu arată prea drăguț și totuși nu s-au schimbat prea mult în ultimii ani. Nu există niciun motiv pentru a descompune un cod care nu s-a schimbat niciodată și care funcționează deja bine..

Aplicații

Programarea modulară este doar un concept. Practica sa poate fi aplicată în orice limbaj de programare, în special în cele de natură procedurală, care au un program compilat separat.

Bibliotecile de componente construite din module compilate separat pot fi combinate într-un set folosind un instrument de programare numit linker.

Numele funcțiilor din diferitele module trebuie să fie unice pentru a facilita accesul acestora în cazul în care funcțiile utilizate de modulul principal trebuie exportate..

Printre limbajele de programare care acceptă conceptul de programare modular se numără C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk , Morpho, Java (pachetele sunt considerate module), Perl etc..

Limbaj C

Programarea modulară poate fi aplicată în limbajul C, deoarece permite remedierea unei dificultăți de mare amploare prin separarea acesteia în mai multe module.

Fiecare dintre aceste module rezolvă o anumită problemă, în timp ce programul principal, care este setul de astfel de proceduri, rezolvă problema în ansamblu..

Fiecare funcție definită în C este implicită accesibilă la nivel global. Acest lucru se poate face prin includerea unui fișier antet, unde este definită implementarea funcției.

De exemplu, dorim să declarăm un tip de date stivă și, de asemenea, că implementarea și structura datelor sunt ascunse utilizatorilor.

Acest lucru se poate face prin definirea mai întâi a unui fișier public numit stack.h, care va conține datele generice cu tipul de date stack și funcțiile acceptate de tipul de date stack..

stack.h:

extern stack_var1;

extern int stack_do_something (void);

Acum puteți crea un fișier numit stack.c care conține implementarea tipului de date stack:

Referințe

  1. CIO Wiki (2019). Programare modulară. Luat de pe: cio-wiki.org.
  2. Definiții IT (2020). Programare modulară. Luat de pe: defit.org.
  3. New Mexico Tech (2020). Programare modulară cu funcții. Luat de la: ee.nmt.edu.
  4. Christian Maioli (2020). 3 tehnici creative pentru scrierea codului modular. Tech Beacon. Preluat de pe: techbeacon.com.
  5. Geeks for Geeks (2020). Abordare modulară în programare. Luat de pe: geeksforgeeks.org.
  6. Studiu (2020). Programare modulară: definiție și aplicație în Java. Preluat de la: study.com.

Nimeni nu a comentat acest articol încă.