Metodologia structurală de dezvoltare de software

Titlul lucrării: Metodologia structurală de dezvoltare de software

Specializarea: Informatică, Cibernetică și Programare

Descriere: Introducere la începutul '70 ai secolului XX, când dezvoltarea de limbaje de programare a atins un nivel suficient de ridicat și sisteme software create au ajuns la o dimensiune destul de impresionant (de sute de mii - milioane de instrucțiuni), a devenit evident că.

Mărime fișier: 436.5 KB

Lucru Descarcate: 117 persoane.

La începutul anilor '70 ai secolului XX, când dezvoltarea de limbaje de programare a atins un nivel suficient de ridicat și sisteme software create au ajuns destul de o dimensiune impresionanta (sute de mii # 150; milioane de instrucțiuni), a devenit evident că proiectele software au devenit prea complexe pentru succes de proiectare, codificare și depanare într-un termen rezonabil. Programatorii care rezolvă probleme complexe cu care se confruntă cu problema creșterii numărului și dimensiunii programelor într-o asemenea măsură încât dezvoltarea în continuare a procesului a devenit aproape imposibil de gestionat, și nici unul dintre dezvoltatorii nu au putut spune cu certitudine că a creat software-ul face întotdeauna ceea ce este necesar, și că el Ea nu funcționează nimic care nu este necesară. Astfel, există o problemă o schimbare radicală în abordarea la crearea de sisteme software de mari dimensiuni.

O etapă importantă în dezvoltarea acestei abordări au devenit conferințe internaționale de programare a avut loc în 1968-1969. Pe doua dintre aceste Edsger Dijkstra pentru prima dată când am folosit termenul de „programare structurată“ și a propus un nou mod fundamental de a crea programe. El a privit programul ca un set de straturi de abstractizare ierarhice, care permit:

  1. program care a îmbunătățit înțelegerea sa de programatori structurate în mod clar;
  2. transporta dovada corectitudinii sale și, prin urmare, crește fiabilitatea de funcționare a programului;
  3. reduce timpul de programare.

Scopul instruirii practice este de a studia principiile abordării programării structurate, dobândirea de abilități practice de dezvoltare sarcini algoritmi de rafinament în trepte.

programare structurată # 151; metodologia de dezvoltare de software, care se bazează pe reprezentarea programului într-o structură ierarhică a blocurilor. Acesta a propus în '70 ai secolului XX. E.Deykstroy, dezvoltat și completat N.Virtom (Fig. 1).

Metodologia structurală de dezvoltare de software

Metodologia structurală de dezvoltare de software

Niklaus Wirth (1934) # 151; om de știință elvețian, expert în domeniul informaticii, este una dintre cele mai renumite teoreticienii în dezvoltarea de limbaje de programare, profesor de informatică, câștigător al premiului Turing în 1984, lider dezvoltator de limbaje de programare Pascal, Modula-2, Oberon.

Fig. 1. Pionierii programării structurate # 150; E.Deykstra și N.Virt.

Metodologia de programare structurată a apărut ca urmare a creșterii complexității sarcinilor pe calculatoare și complexitatea software-ului respectiv: în 70-e ale secolului XX. volumul și complexitatea programelor au atins un nivel care (nestructurate), programul „intuitiv“ de dezvoltare, care a fost norma in timp mai devreme, nu mai satisface nevoile de practică. Programul a devenit prea complicat, astfel încât acestea să poată fi însoțite în mod corespunzător, astfel încât a fost nevoie de o anumită sistematizare a dezvoltării și structura programelor.

Critica cea mai severă de la dezvoltatorii de abordare structurală a programării a fost supus declarația GOTO (operatorul de transfer necondiționat). Utilizarea necorespunzătoare a tranzițiilor arbitrare și pripite în program au rezultat, programe slab structurate (așa-numitul cod de spaghete) confuz, textul care a fost aproape imposibil de a înțelege ordinea fragmentelor de execuție și interdependență.

Baza de principii de programare structurate sunt descompunerea consecventă a problemei și sa concentrat pe structurarea componentelor sale individuale. Tehnici de programare structurate reprezintă un set de principii tehnice și organizatorice ale software-ului de proiectare a sistemului.

Metodele tipice de programare structurate sunt:

  • proiecție descendentă (proiecție în jos);
  • Modulare de programare (procedurală);
  • structurale de codificare.

În conformitate cu metodologia de programare structurată:

1. Orice program este o structură construită din trei tipuri de modele de bază:

  • executarea constantă # 151; execuție unică a operațiunilor în ordinea în care acestea sunt scrise în program;
  • ramificare # 151; executare unică a uneia dintre cele două sau mai multe etape, în funcție de punerea în aplicare a unei condiții predeterminate;
  • ciclu # 151; execuție multiplă a acelorași operații, atâta timp cât îndeplinesc o condiție predeterminată (condiție pentru continuarea ciclului).

Structura programului de bază poate fi cuibări una în alta într-un mod arbitrar, dar nici o altă secvență controlează operațiunile care nu sunt furnizate.

2. Repetarea părți ale programului (sau nu se duplica, dar este o logică de unități de calcul holistice), pot lua forma de rutine (proceduri sau funcții). În acest caz, în textul programului principal, mai degrabă decât plasat în rutina fragment, instrucțiuni de apel subrutina introdus. Atunci când se efectuează o astfel de instrucțiune este executat numit subprogramului, apoi continuă execuția programului cu instrucțiunea după comanda de apel subrutina.

3. Elaborarea programului se realizează pas cu pas, cu „de sus în jos“.

În primul rând, scrie textul programului principal, în care, în loc de fiecare fragment de text logic conectat este inserat într-un apel subrutina care va efectua această piesă. În loc de acest lucru, rutine de lucru în program sunt inserate „cioturi“, care nu fac nimic. Programul rezultat este testat și depanat. Odată programator este mulțumit de faptul că subrutina numit în secvența corectă (adică, structura generală a programului este valabil), ciot subrutina succesiv înlocuit cu rularea efectivă, odată cu dezvoltarea fiecărui subrutină este realizată prin aceeași metodă ca și cea a programului principal. Dezvoltarea se termină când nu va fi nici un „capac“, care nu ar fi eliminate. Această secvență se asigură că în fiecare etapă de dezvoltare, în același timp, programatorul trebuie să se ocupe de gestionat și ușor de înțeles pentru el o mulțime de piese, și pot fi siguri că structura generală a nivelurilor ridicate ale programului este corect. Dacă urmăriți și de a face modificări la programul devine clar în ce fel de procedură este necesară pentru a face o schimbare, iar acestea sunt făcute, fără a afecta programul care nu sunt asociate în mod direct cu ei. Acest lucru asigură că, atunci când face modificări și corectarea erorilor nu reușesc oricare dintre programele care sunt în prezent în afara atenției programatorului.

Metodologia de software de proiectare structurală a fost recunoscută ca fiind „cel mai puternic formalizarea a anilor '70.“ După aceea, cuvântul „structură“ a devenit la modă în industrie, și a început să fie folosit ori de câte ori este necesar și în cazul în care nu este necesar. Apărut pe "design structural" de lucru "testarea structurală", "design structural", etc.

Avantajele programării structurate includ următoarele:

1. Programarea structurată face posibilă reducerea semnificativă a numărului de opțiuni pentru construirea de programe pe aceeași specificație, ceea ce reduce semnificativ complexitatea programului și să faciliteze înțelegerea altor dezvoltatori.

2. În programe structurate logic declarații aferente sunt vizual mai aproape, dar slab asociat # 151; în plus, care elimină nevoia de diagrame de flux și alte forme grafice de algoritmi de imagine (de fapt, programul în sine este propria diagrama de bloc).

3. simplifică foarte mult programele de testare și depanare, proces structurat.

Să ne gândim mai detaliat tehnicile de bază ale programării structurate.

1.1. Obiectivele și principiile programării structurate

Obiectivele programării structurate sunt:

Asigurarea disciplinei de programare în procesul de creare a sistemelor software *.

Îmbunătățirea lizibilitatea programului. Diviziune este îmbunătățită dacă următoarele reguli:

să evite utilizarea structurilor lingvistice cu semantica neevidente;

încearcă să localizeze structurile de control de acțiune și utilizarea structurilor de date;

Îmbunătățirea eficienței programelor. Acest lucru poate fi realizat dacă faci structurarea programului, de rupere in module, astfel încât să puteți găsi cu ușurință și să corecteze erorile, precum și textul oricărui modul în scopul de a crește eficiența ar putea modifica în mod independent.

Creșterea programelor de fiabilitate. Acest lucru poate fi realizat în cazul în care programul este ușor să cedeze prin testarea și nu va crea probleme de organizare a procesului de depanare. Acest lucru este asigurat de program bine structurat, cu rupt-o jos în module și punerea în aplicare a regulilor de scriere a programelor care pot fi citite.

Reducerea timpului și a costurilor de dezvoltare de software. Acest lucru se întâmplă atunci când fiecare echipă de dezvoltare programator este capabil să scrie și să depanați o cantitate mai mare de cod decât oricând înainte.

Principiile de bază ale programării structurate sunt prezentate pe scurt în Tabelul. 1.

Tabelul 1. Principiile programării structurate

Astfel, se realizează o sarcină destul de simplă, la fiecare pas, ceea ce facilitează foarte mult dezvoltarea algoritmului și este principalul avantaj al metodei pas cu pas detaliu.

In dezvoltarea metodei algoritmului de rafinare în trepte, am folosit pseudo-cod, dar poate fi utilizat și schema algoritmului, în care o soluție de fiecare sarcină indicată prin blocul „proces predeterminat“.

  1. programare structurată # 151; metodologia de dezvoltare de software, care se bazează pe reprezentarea programului într-o structură ierarhică a blocurilor. Acesta a propus în '70 ai secolului XX. E.Deykstroy, dezvoltat și completat N.Virtom. Metodele tipice de programare structurate sunt de proiecție descendentă (proeminentă în jos); Modulare de programare (procedurală); structurale de codificare.
  2. Obiectivele programării structurate sunt: ​​pentru a oferi programe de programare disciplina, eficienta si fiabilitate, reducând timpul și costurile de dezvoltare a software-ului. Principiile de bază ale programării structurate: abstractizare, formalitatea, „divide și cucerește“, o ordonare ierarhică.
  3. sus în jos metodă de proiectare implică o descompunere secvențială funcție de procesare a datelor generale pentru elementele funcționale simple (de tip „top-down“). Mijloacele de realizare a obiectivelor privind nivelul anterior sunt transformate în obiective de pe teren.
  4. codificare structurată # 151; Această metodă de scriere a programelor având o structură specifică. Ea se bazează pe un set mic de situații structurale, precizia care este ușor de a analiza și de a instala. În timp ce unii operatori sunt compuse din alte investit în ele.
  5. Fundamentul programare structurat este o teoremă despre modul de structurare formulată de matematicieni italieni și K.Bomom Dzh.Yakopini în 1966, stabilește teorema că, indiferent cât de dificilă sarcina, algoritmul schemei pentru soluția (și, în consecință, programul) poate fi întotdeauna reprezentat ca o compoziție trei tipuri de blocuri imbricate: repetiție (begin-end # 150; top-end), ramura (în cazul în care-apoi-altceva # 150; if-then-else), cicluri cu o condiție prealabilă (în timp ce # 150; încă).

întrebări de testare

  1. Care sunt metodele de programare structurate?
  2. Care sunt obiectivele de programare structurate?
  3. Care sunt obiectivele de programare structurate?
  4. Pe ce principii este pus în aplicare de programare structurată?
  5. Care este ideea de design de sus în jos a algoritmului?
  6. Ce este programarea modulară și ce proprietăți trebuie să aibă modulele?
  7. Care este sensul de codificare structurale? Care sunt structurile de bază formează sistem complet funcțional? Cum funcționează?
  8. Ce suplimentare structurile elementare sunt folosite în codificarea structurală? Cum funcționează?
  1. Prelegeri pentru a afla materialul prezentat în format electronic.
  2. Răspundeți la întrebările de testare.
  3. Elaborarea algoritm de program care determină primul 10 șirul lui Fibonacci, care este generat după cum urmează:

F 1 = F 2 = 1, F n = F n # 150; 1 + F n # 150; 2. unde n> 2.

Algoritmul prezent sub formă de circuit și scrie pseudocod.

* E.Deykstra a dat următoarea definiție: „Programare structurată # 150; o disciplină care impune un programator mine ".