Design în jos și ascendent. Salut un student cu privire la ceea ce se bazează designul descendent

Design în jos și ascendent. Salut un student cu privire la ceea ce se bazează designul descendent

Subrogram.

Programare structurală

În secțiunea anterioară, au fost luate în considerare principalii operatori și tipuri de date necesare pentru compilarea programelor. Sa presupus că textul programului este o secvență de linații de operatori de cesiune, cicluri și operatori condiționali. În acest fel, puteți rezolva sarcini foarte complexe și puteți face programe care conțin câteva sute de linii de cod. După aceasta, înțelegerea textului sursă scade brusc datorită faptului că structura globală a algoritmului se pierde în spatele operatorilor de limbi specifici care efectuează acțiuni prea detaliate, elementare. Numeroase operatori condiționați și operatori de cicluri au apărut, logica devine asociată, atunci când încearcă să corecteze un operator eronat, se fac mai multe erori noi asociate cu caracteristicile executării acestui operator, ale căror rezultate sunt adesea luate în considerare într-un o mare varietate de programe. Din acest motiv, să formați și să depanați o secvență lungă de linații de operatori este aproape imposibilă.

Când creați aplicații de dimensiuni medii (câteva mii de rânduri ale codului sursă) utilizate programare structuralăideea căreia este, în esență, că structura programului ar trebui să reflecte structura problemei care este rezolvată astfel încât algoritmul de soluție să fie clar vizibil din textul sursă. Pentru a face acest lucru, trebuie să aveți un mijloc de a crea un program nu numai cu ajutorul a trei operatori simpli, ci și cu ajutorul fondurilor care reflectă mai precis structura specifică a algoritmului. În acest scop, a fost introdusă programarea subrutine -set de operatori care efectuează acțiunea necesară și independentă de alte părți ale codului sursă. Programul este împărțit în multe subprogramuri mici (ocupând până la 50 de operatori - un prag critic pentru o înțelegere rapidă a scopului subprogramului), fiecare realizează una dintre acțiunile prevăzute de sarcina inițială. Combinând aceste subprograme, este posibil să se formeze un algoritm final de la operatori simpli, ci de la blocurile finalizate de cod care au o anumită încărcătură semantică și vă puteți referi la astfel de blocuri după nume. Se pare că subrotinele sunt noi operatori sau operațiuni lingvistice definite de programator.

Posibilitatea aplicării subrotinelor se referă la limba de programare la clasă procedurallimbile.

Prezența subprogramelor vă permite să proiectați și să dezvoltați o cerere de sus în jos -această abordare se numește numită design descendent.În primul rând, mai multe subrutine sunt alocate care decisive sarcinile globale (de exemplu, inițializarea datelor, partea principală și finalizarea), fiecare dintre aceste module este detaliată la un nivel inferior, ruperea la rândul său la un număr mic de alte subrutine și acest lucru se întâmplă până când întreaga sarcină nu este implementată.

Această abordare este convenabilă deoarece permite unei persoane să se gândească în mod constant la nivelul subiectului, fără a renunța la operatori și variabile specifice. În același timp, unele subprograme par să nu implementeze imediat, ci să amâne temporar până când alte părți sunt finalizate. De exemplu, dacă există un calcul extrem de important al unei funcții matematice complexe, atunci se distinge un subprogram separat al unui astfel de calcul, dar este implementat temporar de un operator, ceea ce atribuie pur și simplu o valoare predeterminată (de exemplu, 5). Când aplicația este scrisă și depanată, atunci puteți continua să implementați această funcție.

Este important ca subprogramele mici să fie mult mai ușor de depanat, ceea ce îmbunătățește în mod semnificativ fiabilitatea generală a programului.

Foarte importantă caracteristică a subrutinelor este posibilitatea lor reutilizați.Bibliotecile mari de subrutine standard sunt furnizate cu sisteme de programare integrate care vă permit să creșteți în mod semnificativ productivitatea muncii prin utilizarea lucrărilor altcuiva despre crearea de subrutine utilizate frecvent.

Luați în considerare un exemplu care demonstrează tehnicile descendente descendente. Există o matrice de oceki constând din n (n\u003e 2) a estimărilor judiciare (fiecare evaluare este pozitivă). În unele sporturi, este obișnuit să renunțați la cea mai mare și cea mai mică evaluare pentru a evita influența arbitrului părtinitor, iar cheltuielile sportive sunt la cheltuielile evaluărilor rămase. Voi rezolva această problemă, detaliind treptat algoritmul (fără a se lega la un limbaj specific de programare).

1. Procesul de soluționare este cel mai simplu descris de subprograme:

Enter_oncenction_v_massive;

Delete_same_big_avota;

Delete_same_male_aztion;

Ieșire;

Acum puteți continua să detaliați fiecare dintre aceste subrutine.

2. DELETE_SAME__NAME_AZTION;

Cum să eliminați cea mai mare evaluare din masivul static? În schimb, puteți scrie pur și simplu o valoare de 0 și atunci când se calculează valorile medii aritmetice zero să nu ia în considerare.

I \u003d numere_name_bolly_elesensh_v_massive;

3. DELETE_SAME_MALNO_AZTION;

I \u003d _name_male_element_v_massive;

La punerea în aplicare a subprogramei numere_male_element_b_massive, este necesar să se ia în considerare ce să caute cel mai mic pozitivvalori (zero mari).

Acest lucru va necesita un operator de ciclism, calculând valoarea elementelor de matrice Oceki.

Pentru i \u003d 1 atunci n

Sum \u003d suma + oceki (i)

Sum \u003d suma / (n - 2)

În ultimul operator există un calcul al estimărilor medii aritmetice. Cantitatea de elemente de matrice este împărțită în numărul de elemente reduse cu 2, deoarece două estimări, cele mai mari și mai mici, care nu trebuie luate în considerare.

În cazul în care această sarcină a fost rezolvată în serie, atunci în stadiul de îndepărtare a estimărilor, ar putea apărea anumite probleme.

Implementarea subrutinelor numere_name__Massive_element_b_massive și număr__Male_element_b_massive este independent.


  • - Subiect 3.2 Design descendent

    Metoda design descendentă implică separarea secvențială a funcției totale de procesare a datelor la elemente funcționale simple ("de sus în jos / în jos"). Ca rezultat, se construiește o schemă ierarhică, reflectând compoziția și interacțiunea - sinticulitatea individului ... [Citește mai mult]


  • - design descendent

    Lecția 12-2 ore Metoda design descendentă implică o descompunere secvențială a funcției generale de procesare a datelor la elemente funcționale simple ("de sus în jos"). Ca rezultat, este construită o schemă ierarhică, reflectând compoziția și interconectarea ... [Citește mai mult]


  • - Căile de design pot începe cu niveluri ierarhice inferioare ale descrierilor (design ascendent) sau din partea superioară (design descendent).

    Între toate etapele de proiectare există o relație profundă. Astfel, definiția proiectului final și dezvoltarea tuturor documentelor tehnice nu pot fi îndeplinite până la sfârșitul dezvoltării tehnologiei. În procesul de proiectare și dezvoltare ...

  • Întrebarea 4. Designul ascendent și descendent.

    Numele parametrului Valoare
    Tema articolului: Întrebarea 4. Designul ascendent și descendent.
    Rubrica (categorie tematică) Producție

    Es aparține sistemelor complexe, iar designul acestora se caracterizează printr-o mare varietate de sarcini de proiectare, prezența unui număr mare de opțiuni de soluție este extrem de importantă pentru a reprezenta un număr mai mare de factori.

    În plus față de procedurile de detaliere a nivelurilor ierarhice, o abordare bloc-ierarhică a designului ES aplică dezmembrarea ideilor despre produs la o serie de aspecte prin natura proprietăților afișate.

    Aspectele de bază includ funcțional, design și topologic.

    Funcţional Este obișnuit să apelați aspectul asociat cu descrierea acțiunilor proiectate și a proceselor funcționalității .

    ÎN aspect funcțional Sistemul sau nivelurile structurale, funcționale și logice, circuite și componente ale abstractizării sunt alocate.

    La nivelul sistemuluicomplexele apar ca sisteme, iar blocurile de echipamente sunt descrise ca elemente.

    Pe logica funcțională Aceste blocuri sunt considerate ca sisteme constând din elemente, care sunt noduri funcționale.

    În nivelul schemelor tehnice Aceste blocuri sunt tratate ca sisteme constând din componente schematice.

    La nivelul componentelor Componentele în sine sunt considerate sisteme și iau în considerare procesele care curg în componente schematice.

    Aspect de proiectare Ierarhia constructelor corespunde nivelurilor de descriere a componentelor produsului, a elementelor discrete și a chipsurilor și a fragmentelor topologice.

    Într-un aspect tehnologic Nivelurile ierarhice ale descrierii proceselor tehnologice sub formă de rute de design, sunt luate în considerare un set de operațiuni și tranziții.

    Având în vedere dependența de datorată în care se efectuează procedurile de proiect distinse două modalități de proiectare:

    Design ascendent - ϶ᴛᴏ Design în care executarea procedurilor de nivel scăzut precede implementarea procedurilor de proiect legate de nivelurile ierarhice mai mari (ᴛ.ᴇ. - partea de jos în sus).

    Design descendent - ϶ᴛᴏ Proiectarea de sus în jos și se caracterizează prin secvența opusă a procedurilor.

    Secvența tipică a procedurilor descendente de proiectare include:

    - sistem și proiectare tehnică - analiza cerințelor tactice și tehnice privind proiectarea unui set de elemente de bază definite ale principiilor de funcționare, dezvoltarea schemelor structurale.

    - proiectare sistemică - Dezvoltarea diagramelor funcționale și schematice.

    - design Design. - ϶ᴛᴏ Selectați forma, aspectul și plasarea construcțiilor, trasarea inter-constituției și dezvoltarea documentației de proiectare.

    - design tehnologic - ϶ᴛᴏ Dezvoltarea rutelor și a bazei tehnologice, alegând o clipă.

    Design descendent (Fig.3).

    Smochin. 3 secvența pașilor designului descendent al ES

    Secvența tipică a procedurilor ascendente include (figura 4).:

    Instrument și design tehnologic - ϶ᴛᴏ Selectarea tehnologiei de bază, calculul difuziei profilului, alegerea topologiei componentelor.

    Proiectare sistemică - ϶ᴛᴏ Sinteza conceptului de circuit electric, optimizarea parametrilor elementelor.

    Design funcțional și logic - ϶ᴛᴏ Sinteza schemelor logice, implementarea memoriei, sinteza testelor de control și testare.

    Design și design tehnologic - Plasarea elementelor, trasarea inter-terminală, verificarea conformității circuitelor topologice și electrice, desenarea topologiei stratului de strat.

    Smochin. 4 secvența etapelor de proiectare în creștere, care sunt caracteristice designului circuitelor integrate (IP)

    În același timp, atât în \u200b\u200bscădere, cât și în designul ridicat al secvenței de etape de proiectare, se caracterizează o natură iterativă, în care armonizarea la rezultatele finale se efectuează prin efectuarea în mod repetat a aceleiași proceduri cu corectarea sursei date.

    Algoritmul pentru obținerea unei soluții de proiectare este prezentat în Figura 5

    Smochin. 5 algoritmul de execuție a procedurii de proiect

    Analiza - Procedura de dezmembrare mentală sau reală a proprietății obiectului sau a relației dintre obiecte (fenomene sau procese) din partea și identificarea relației dintre aceste părți.

    Procedurile analitice sunt una dintre principalele tehnici de obținere a noilor rezultate creative.

    Sinteza -procedura, analiza inversă, care determină combinația diferitelor componente, părți la un singur întreg, care se desfășoară în ambele activități practice, cât și în procesul de cunoaștere mentală a realității.

    Evaluare -stabilirea calității calității subiectului (dezvoltarea produsului) la cerințe.

    Întrebarea 4. Designul ascendent și descendent. - concept și specii. Clasificarea și caracteristicile categoriei "Întrebare 4. Design ascendent și descendent." 2017, 2018.

    Metode de proiectare a software-ului

    Până la sfârșitul secolului al XX-lea, complexitatea obiectelor proiectate a crescut semnificativ a crescut semnificativ, dar impactul lor asupra societății și asupra mediului, gravitatea consecințelor accidentelor datorate erorilor de dezvoltare și funcționare, cerințe ridicate privind calitatea și prețul , reducerea calendarului produselor noi. Necesitatea de a ține seama de aceste circumstanțe a forțat modificările legate de natura și metodologia tradițională a activităților proiectului.

    La crearea obiectelor, acestea au trebuit deja să fie considerate ca sistemeAdică un complex de elemente interdependente cu o structură specifică, o gamă largă de proprietăți și o varietate de conexiuni interne și externe. A fost formată o nouă ideologie de proiect, numită proiectarea sistemului.

    Proiectarea sistemului Rezolvează în mod cuprinzător sarcinile, ia în considerare interacțiunea și interrelația obiectelor individuale și a părților acestora, atât între ele, cât și cu mediul extern, ia în considerare consecințele socio-economice și de mediu ale funcționării lor. Designul sistemic se bazează pe o examinare completă a obiectului de proiectare și a procesului de proiectare, care la rândul său include o serie de părți importante

    Principiile designului sistemic

    Proiectarea sistemului ar trebui să se bazeze pe o abordare sistematică. În prezent, nu este încă argumentat că compoziția și conținutul lor completă în legătură cu activitățile proiectului sunt cunoscute, cu toate acestea, este posibilă formularea celor mai importante dintre ele:

    · Utilitate practică:

    o Activitățile ar trebui să fie orientateconform instrucțiunilor de satisfacție a nevoilor reale ale consumatorului real sau a unor grupuri sociale, de vârstă sau alte grupuri de oameni;

    o Activitățile ar trebui să fie expedient.. Este important să se dezvăluie motivele pentru a împiedica utilizarea instalațiilor existente pentru a răspunde noilor nevoi, pentru a identifica contradicțiile cheie și a concentra eforturile lor asupra soluționării principalelor sarcini;

    o Activitățile ar trebui să fie rezonabil și eficient. Va fi rezonabil să nu utilizați nici o soluție la problemă, ci o căutare optiune optimă;

    · Unitatea componentelor:

    o Este recomandabil orice obiect, indiferent dacă este dificil sau ușor de luat în considerare cum sistemîn interiorul căruia puteți selecta componente mai simple legate de logic - subsisteme, unitatea proprietăților private ale căror proprietăți calitative ale obiectului obiect;

    o Obiectele de lucru sunt concepute pentru oameni, sunt create și operate. Prin urmare, o persoană este, de asemenea, obligată să fie considerată unul dintre sistemele de interacțiune. Ar trebui să ia în considerare nu numai interacțiunea fizică, ci și impactul spiritual și estetic;

    o externă sau așa cum se numește și - mediu de viațătrebuie, de asemenea, considerat ca un sistem interconectat cu obiectul proiectat;

    · Schimbabilitate în timp:

    o Contabilitatea etapelor ciclului de viață al obiectului;

    o Contabilitatea istoriei și perspectivelor de dezvoltare și aplicare a obiectului care se dezvoltă, precum și domeniile de știință și tehnologie, pe realizările cărora se bazează evoluțiile relevante.

    Design descendent și ascendent

    Menținerea dezvoltării unui obiect în mod consecvent de la caracteristicile generale la una detaliată design descendent. Rezultatul său va necesita cerințe pentru părțile și nodurile individuale. Este posibil să se dezvolte de la privat la comun, care formează procesul design ascendent.. Un astfel de design se găsește dacă una sau mai multe părți sunt deja pregătite (achiziționate sau dezvoltate) produse.

    Designul descendent și ascendent posedă avantajele și dezavantajele lor. Astfel, cu un design descendent, pot apărea cerințele, ulterior, întorcându-se de nerealizate în funcție de considerente tehnologice, de mediu sau de altă natură. Cu design ascendent, este posibil să se obțină un obiect care nu corespunde cerințelor specificate. În viața reală, datorită naturii iterative a designului, ambele tipuri sunt interconectate.

    De exemplu, lucrul cu un design descendent al mașinii (de la schema generală la părțile sale, de exemplu, la motor), este necesar să se conecteze la aspectul general cu mărimea și puterea motoarelor deja produse. În caz contrar, va trebui să dezvoltați un nou motor în legătură cu acest aspect sau să modificați opțiunile inițiale pentru localizarea sau schema de aspect a întregii mașini.

    munca lui Master

    1.1.2 Design secvențial (descendent și ascendent)

    Procesul de proiectare a produselor care utilizează CAD, de regulă, poate fi implementat sub formă de două opțiuni posibile:

    este descendent (de sus în jos);

    Un design ascendent (de jos în sus).

    Cu designul descendent al sarcinii de niveluri ierarhice ridicate, acestea sunt rezolvate înainte de sarcinile nivelurilor ierarhice inferioare. Cu design ascendent, secvența este contrară. Designul funcțional al sistemelor complexe este cel mai adesea descendent, design design - ascendent. Diferența fundamentală a acestor opțiuni este prezentată în Figura 1.3.

    Figura 1.3 - Diferența fundamentală dintre opțiunile de proiectare în creștere și descendente

    Metodologia design descendentă prevede crearea unei structuri de control multi-nivel care conține toate geometria de bază și parametrii de bază ai produsului proiectat. Baza structurii de control (structura arborelui blocurilor individuale, care conține o listă de participanți la proiect, sub formă de departamente, compoziția fiecărui ansamblu de control (setul de IHL și modelul de distribuție a spațiului (MRP)), desemnarea , numele și numele fișierului model pentru fiecare element, fixare, la care nivelul, în ce formă și modul în care sunt formate modelele de calcul) sunt modelul geometriei master (componente de asamblare, în care dimensiunile componentelor și părților a produsului sunt determinate, dimensiunile geometrice caracteristice ale componentelor, localizării și amplasării de așezare între elemente, interfețe externe ale produsului viitor, conexiuni mobile și mecanisme, analiza mișcării schemelor cinematice ale produsului, ia în considerare Caracteristica datelor calculate sau externe a produsului viitor sunt efectuate pentru a optimiza proiectarea produsului). La rândul său, MRP este un aspect virtual al produsului proiectat. Astfel, datele de la maestrul de geometrie de nivel superior sunt transmise la nivelul inferior și sunt completate de geometria rafinării, astfel încât să formeze o schemă conceptuală a produsului proiectat.

    Diagrama ramificată a structurii de control face posibilă organizarea de funcționări paralele a diferitelor diviziuni de proiectoare și designeri. Etapa finală este crearea unor modele reale de design de piese și noduri cu referire la IHL și eliberarea documentației de proiectare.

    Cu design ascendent, dezvoltarea merge în sus. În prima etapă, sunt dezvoltate produsele de cel mai scăzut nivel (geometria anumitor părți și agregate). Cele mai înalte niveluri sunt conectate la acestea (crearea de componente ale pieselor - noduri) și performanța acestora este verificată. În etapa de proiectare finală, se dezvoltă ansamblul de control, care este responsabil pentru logica întregului produs.

    Metodologia designului descendentă este utilizată pentru produsele nou create în timpul lucrărilor de proiectare, pentru a controla eficient gestionarea modificărilor de date și de proiectare.

    Metodologia ascendentă este utilizată pentru a modifica produsele deja dezvoltate.

    Proiectarea unui motor cu rachete solide de combustibil din a treia etapă a unei rachete balistice în trei trepte

    Duză este un element foarte important al oricărui motor cu rachete. Aceasta determină în mare măsură toate caracteristicile rachetei, deoarece este în ea că energia potențială a gazelor fierbinți se transformă în energia cinetică a jetului de expirare a gazelor ...

    Dezvoltarea unui motor cu rachete lichide din prima etapă a transportatorului de rachete

    Figura 9 prezintă schema pneumohidraulică pentru etapa a 1-a a celei de-a doua etape care funcționează pe kerosen și oxigen. Pe liniile diagramei descrise conducte, linii duble - conexiuni mecanice. Schema este atașată la lista agregatelor (tabelul 1) ...

    Dezvoltarea microsatelitului de comunicare

    Sarcinile designului balistic includ: 1) Construcția traseului, 2) Determinarea caracteristicilor zonei de revizuire cu echipament special, 3) Definiția zonelor de vizibilitate ...

    rocket Space Inginerie Automatizată - Procesul de creare a proiectului, prototip, previzualizarea obiectului primar sau posibil, starea. În tehnica - dezvoltarea proiectului ...

    Gestionarea datelor de inginerie în stadiul de proiectare conceptuală a rachetei purtătorilor

    Designul paralel tradițional în dezvoltarea de noi produse include, de obicei, o listă de lucrări privind proiectarea, asamblarea, testarea, analiza, analiza repetiției iterative a ciclului până când rezultatul dorit este obținut ...

    Dacă soluționarea sarcinilor de niveluri ierarhice sunt precedate prin rezolvarea problemelor de niveluri ierarhice inferioare, atunci designul este numit descendentă(Detalii pas cu pas). Dacă se efectuează etapele anterioare legate de nivelurile ierarhice inferioare, se numește designul ascendent.

    Fiecare dintre aceste două tipuri de design are avantaje și dezavantaje. Cu un design descendent, sistemul este dezvoltat în condiții atunci când elementele sale nu sunt încă definite și, în consecință, sunt presupuse informații despre capacitățile și proprietățile acestora. Cu design ascendent, dimpotrivă, elementele sunt proiectate mai devreme decât sistemul și, prin urmare, natura prezumtivă are cerințele pentru elemente. În ambele cazuri, din cauza lipsei de informații sursă cuprinzătoare, există o abatere de la rezultatele tehnice optime potențial posibile. Cu toate acestea, trebuie amintit că astfel de abateri sunt inevitabile cu o abordare bloc-ierarhică a designului și că nu există o alternativă acceptabilă la abordarea bloc-ierarhică în proiectarea obiectelor complexe. Prin urmare, optimitatea rezultatelor designului bloc-ierarhic ar trebui luată în considerare din punctul de vedere al indicatorilor tehnici și economici, inclusiv, în special, costurile materiale și temporare de proiectare.

    Din moment ce ipotezele nu pot fi justificate, este adesea necesară reexaminarea procedurilor de proiect ale pașilor anteriori după procedurile de proiectare a etapelor ulterioare. Astfel de repetări oferă o aproximare secvențială a rezultatelor optime și determină natura iterativă a designului. În consecință, iterațiile ar trebui să fie considerate principii importante pentru proiectarea obiectelor complexe.

    În practică, designul ascendent și descendent se combină de obicei. De exemplu, designul ascendent are loc pe toate acele niveluri ierarhice pe care sunt utilizate elemente unificate. Evident, elementele unificate axate pe aplicarea într-un număr de sisteme diferite ale unei anumite clase sunt dezvoltate mai devreme decât sistemul specific al acestei clase.

    Avantajul designului descendent este că permite dezvoltatorilor să se concentreze asupra problemelor de bază și să amâne adoptarea tuturor soluțiilor care nu ar trebui acceptate în această etapă de proiectare. Designul descendent necesită de la început să pună și să rezolve cele mai fundamentale sarcini, amânând aspecte private pentru examinare ulterioară.

    Programare descendentă.

    Descendentă programarea este o metodă destul de comună de dezvoltare a programelor modulare. Avantajele programării descendente sunt după cum urmează:

    În stadiile incipiente de proiectare, pot fi obținute textele originale ale modulelor superioare, care, în multe cazuri, este importantă, deoarece acuratețea și caracterul complet al prezentării programului în limba reală de programare este semnificativ mai mare decât atunci când se utilizează pseudo-forma sau algoritmi;

    În procesul de programare, contradicțiile și dificultățile sunt dezvăluite, care pot fi neobservate de mult timp;

    Designul descendent poate fi combinat cu programul de depanare prin metoda descendentă.