Contacte

Instrumente de cercetare pentru dezvoltarea și software-ul sistemului. Dezvoltarea programului înseamnă instrumentele necesare pentru dezvoltarea instrumentală pentru

Esența și conceptul de software instrumental

Software-ul instrumental (IPO) - Software destinat utilizării în proiectarea, dezvoltarea și întreținerea programelor.

Instrumentul folosit în faza de dezvoltare. Instrumental Software este un set de programe utilizate pentru a ajuta programatorii în activitatea lor, pentru a ajuta managerii de dezvoltare software în dorința lor de a monitoriza procesul de dezvoltare și de a obține produse obținute. Cei mai renumiți reprezentanți ai acestei părți a software-ului sunt programe de programare din limbile de programare care ajută programatorii să scrie comenzi mașinoase. Programele instrumentale sunt traducători din Fortran, Cobol, Joe Flacon, Beysik, APL și Pascal. Ele facilitează procesul de creare de noi programe de lucru. Cu toate acestea, traducătorii cu limbi sunt doar cea mai cunoscută parte a programelor instrumentale; Sunt mulți oameni.

Utilizarea mașinilor de calcul pentru a ajuta la dezvoltarea de noi programe este departe de a evident la persoanele care nu sunt programatori profesioniști. Se întâmplă adesea că profesioniștii sunt informați despre instrumental (faza de dezvoltare) și sistemul (faza de utilizare) prin software pe o singură respirație, presupunând că abilitățile lor care nu sunt dedicate secretului este cunoscut despre rolul software-ului instrumental. La fel ca în faza de utilizare (pentru programele de aplicații), suportul de sistem funcționează în faza de dezvoltare, dar numai cu suportul instrumental. Software-ul instrumental sau sistemul de programare este un sistem de automatizare a dezvoltării de noi programe de programare.

În cel mai general caz, pentru a crea un program în limba de programare selectată (limba de programare a sistemului), trebuie să aveți următoarele componente:

1. Editor de text pentru a crea un fișier cu programul Text sursă.

2. Compilator sau interpret. Textul sursă care utilizează programul Compilator este tradus într-un cod obiect intermediar. Textul sursă al unui mare program constă din mai multe module (fișiere cu texte sursă). Fiecare modul este compilat într-un fișier separat cu codul obiect, care trebuie apoi să fie combinat într-una.

3. Editorul de conexiuni sau colectorul care enumeră legarea modurilor de obiecte și generează o aplicație funcțională la ieșire - executabilă.

Codul executabil este un program complet care poate fi lansat pe orice computer în care este instalat sistemul de operare pentru care a fost creat acest program. De regulă, fișierul final are o prelungire. Lee Or.

Recent, au fost distribuite metode de programare vizuală (folosind limbile de descriere a scenariului) concentrându-se pe crearea de aplicații Windows. Acest proces este automatizat în medii de design rapid. Acest lucru utilizează componente vizuale gata, care sunt configurate folosind editori speciali.

Cele mai populare editori (sisteme de programare software folosind mijloace vizuale) Design vizual:

Borland Delphi - conceput pentru a rezolva aproape orice sarcini de programare a aplicațiilor.

Borland C ++ Builder este un mijloc excelent pentru dezvoltarea aplicațiilor DOS și Windows.

Microsoft Visual Basic este un instrument popular pentru crearea programelor Windows.

Microsoft Visual C ++ - Acest instrument vă permite să dezvoltați orice aplicații care rulează în OS tip Microsoft Windows

Astfel, esența software-ului de instrument este de a crea orice program executabil prin conversia expresiilor logice formale în codul mașinii executabile, precum și controlul și ajustarea.

Sarcini și funcții ale software-ului instrumental

Pentru software-ul instrumental, ambele tipuri speciale de software sunt caracterizate de general și privat

funcții, precum și pentru întregul software ca un întreg. Caracteristicile generale sunt considerate mai sus, iar funcțiile specializate inerente numai la acest tip de programe sunt:

1. Crearea textului programului dezvoltat utilizând cuvinte de cod special instalate (limbaj de programare), precum și un set specific de caractere și locația acestora în sintaxa creată de fișier - program.

2. Traducerea textului programului creat într-un cod orientat pe mașină disponibil pentru recunoașterea calculatorului. În cazul unei cantități semnificative de programare a programului, acesta este împărțit în module separate și fiecare dintre module este tradus separat.

3. Conectarea modulelor individuale într-un singur cod executabil, cu respectarea structurii necesare, asigurând coordonarea interacțiunii părților individuale.

4. Testarea și controlul programului creat, identificarea și eliminarea erorilor formale, logice și sintactice, verificarea programelor pentru coduri interzise, \u200b\u200bprecum și evaluarea performanței și a potențialului programului creat.

Tipuri de software instrumental

Pe baza sarcinilor stabilite înainte de software-ul instrumentului, se poate distinge un număr mare de diferite tipuri de software de scule:

Editori de text

Medii de dezvoltare integrată

Compilatoare

Interpreții

Linkovshchiki.

Generatoare parser și parser (a se vedea Javacc)

Ansambluri

Debuggers

Profilizatoare

Generatoare de documentație

Codul de acoperire a codului

Mijloace de integrare continuă

Instrumente de testare automată

Sisteme de control al versiunii etc.

Trebuie remarcat faptul că cochilii pentru crearea de aplicații sunt, de asemenea, create de programele de instrumente și, prin urmare, pot fi atribuite programelor de aplicare. Luați în considerare numirea pe scurt a unor programe instrumentale.

Editori de text.

Editor de text - un program de calculator conceput pentru a gestiona fișiere text, cum ar fi crearea și efectuarea de modificări.

CAD Compoziție

CAD este un sistem care combină mijloacele tehnice, matematice și software, parametrii și caracteristicile cărora sunt alese cu luarea maximă a caracteristicilor de proiectare a ingineriei și a sarcinilor de proiectare. Dispozitivul CAD asigură utilizarea programelor prin aplicarea instrumentelor de comunicare operațională a unui inginer cu limbi speciale orientate spre probleme și disponibilitatea bazei de informații și de referință.

Componentele structurale ale CAD sunt subsistemele cu toate proprietățile sistemelor și create ca sisteme independente. Acestea sunt împărțite de unele caracteristici ale părții CAD, care asigură implementarea unor sarcini de proiectare completate pentru a obține soluții relevante de proiectare și documente de proiect.

La numirea subsistemului trist, ele sunt împărțite în două tipuri: proiectarea și întreținerea.

Designul include subsisteme care efectuează proceduri și operațiuni de proiect, de exemplu:

· Subsistem de aspect al mașinii;

· Proiectarea asamblării unităților de asamblare;

· Subsistemul de proiectare detaliat;

· Subsistemul de proiectare a schemei de control;

· Subsistem de proiectare tehnologică.

Serviciul include subsisteme destinate să mențină performanța subsistemelor de design, de exemplu:

· Subsistemul de afișare grafică a obiectelor de proiectare;

· Subsistem de documentare;

· Subsistemul de recuperare a informațiilor etc.

În funcție de relația cu obiectul de proiectare, se disting două tipuri de subsisteme de design:

· Obiect orientat (obiect);

· Independent de obiect (invariabil).

Subsistemele de obiecte includ subsisteme care efectuează unul sau mai multe proceduri sau operațiuni de proiect direct dependente de un obiect specific de proiectare, de exemplu:

· Subsistem de proiectare tehnologică;

· Modelarea subsistemului dinamicii, designului proiectat etc.

Subsistemele invariante includ subsistemele care efectuează proceduri și operațiuni unificate de proiect, de exemplu:

· Calculele subsistemului de piese de mașini;

· Calculul subsistemului modurilor de tăiere;

· Subsistem pentru calcularea indicatorilor tehnici și economici etc.

Procesul de proiectare este implementat în subsisteme sub forma unei anumite secvențe de proceduri și operațiuni de proiect. Procedura de proiect corespunde părții subsistemului de proiect, ca urmare a unei soluții de proiectare. Se compune din operațiuni de proiectare elementară, are o procedură ferm stabilită pentru executarea lor și vizează atingerea unui obiectiv local în procesul de proiectare. În cadrul operațiunilor de proiect înțeleg partea selectată condiționat a procedurii de proiect sau a acțiunii elementare efectuate de către designer în timpul procesului de proiectare. Exemple de proceduri de proiect pot servi drept proceduri de elaborare a unei scheme cinematice sau de aspect a mașinii, tehnologiile de prelucrare a produselor etc. și exemple de operațiuni de proiect - calculul cotelor, soluția de orice ecuație etc.

Unitatea structurală a subsistemului tris este asigurată de reglementarea strictă a legăturilor dintre diferitele tipuri de garanții, combinate cu o funcție țintă comună pentru acest subsistem. Distinge următoarele tipuri de garnituri:

· Suport metodic - Documentele reflectate în compoziție, regulile de selecție și funcționare a instrumentelor de automatizare a proiectului;

· Dispoziții lingvistice - limbi de design, terminologie;

· Suport matematic - metode, modele matematice, algoritmi;

· Software - documente cu texte de programe, programe pe mass-media și documente operaționale;

· Suport tehnic - Aparate de calculare și echipamente organizaționale, instrumente de transfer de date, măsurare și alte dispozitive și combinațiile acestora;

· Suport de informare - Documente care conțin o descriere a procedurilor standard de proiectare, soluții tipice de proiectare, elemente tipice, componente, materiale și alte date;

· Suport organizațional - Dispoziții și instrucțiuni, comenzi, personal și alte documente care reglementează structura organizatorică a unităților și interacțiunea acestora cu proiectarea instrumentelor de automatizare a proiectului.

· 64 tehnologia cals.

Cals-Technologies sunt un mijloc de integrare a sistemelor automate industriale într-un singur sistem multifuncțional. Scopul integrării sistemelor de proiectare și management automat este de a îmbunătăți eficiența creării și utilizării echipamentelor complexe.

În condiții moderne, formarea unei societăți informaționale globale, rolul tehnologiilor informației și informaționale în pregătirea viitorului specialist crește semnificativ. În viitorul apropiat, potențialul strategic al societății nu va fi resurse energetice, ci informații și cunoștințe științifice. Informațiile devine principala resursă a dezvoltării științifice și tehnice și socio-economice a societății, afectează în mod semnificativ dezvoltarea accelerată a științei, tehnologiei și a diverselor industrii, joacă un rol semnificativ în procesul de modernizare a educației. Caracteristica valorii-trimiterea educației în liceul și activitățile profesionale ale specialiștilor ar trebui să fie exprimată în formarea unui mediu profesional intelectual, care este cel mai complet implementat de sarcina de cercetare și activități de proiect.

Computerizarea largă a tuturor tipurilor de activități ale omenirii: De la sarcinile intelectuale tradiționale de natură științifică înainte de automatizarea activităților industriale, comerciale, comerciale, bancare și alte activități este utilizată pentru a crește eficiența producției. Într-o economie de piață, lupta competitivă rezistă cu succes numai întreprinderilor care aplică tehnologii moderne de informare în activitățile lor.

Este tehnologiile informaționale, împreună cu tehnologiile progresive de producție materială, fac posibilă creșterea semnificativă a productivității și a calității produselor și, în același timp, reduc în mod semnificativ calendarul producției de produse noi care îndeplinesc cererile și așteptările consumatorilor. Toate cele de mai sus sunt legate în primul rând de produse complexe de înaltă tehnologie, inclusiv produse tehnice.

Experiența dobândită în procesul de introducere a diverselor sisteme informatice autonome a făcut posibilă realizarea necesității de a integra diferite tehnologii informaționale într-un singur complex bazat pe crearea unui mediu informatic integrat sau a unui grup de întreprinderi (întreprindere virtuală) care suportă toate etapele a ciclului de viață al produselor. Mediul profesional dezvăluie cel mai mult oportunități de îmbunătățire profesională, utilizând noi tehnologii informaționale în domeniul științei și în domeniul proceselor de fabricație. Tehnologii inovatoare în domeniul tehnologiei de prelucrare a informațiilor cu implementarea tehnologiei CALS- (Achiziție continuă și a ciclului de viață) - Suport continuu de informare pentru ciclul de viață al obiectului proiectat, traduce automatizarea proceselor de producție la un nou nivel.

Utilizarea tehnologiilor informaționale bazate pe ideologia CALS este unul dintre factorii care contribuie la o implementare mai eficientă a sistemului automatizat de management al întreprinderii.

Cals-Technologies sunt un mijloc de integrare a sistemelor automate industriale într-un singur sistem multifuncțional. Scopul integrării sistemelor de proiectare și management automat este de a îmbunătăți eficiența creării și utilizării echipamentelor complexe.

Esența conceptului de cals este de a aplica principiile și tehnologiile de susținere a informațiilor în toate etapele ciclului de viață al produselor pe baza utilizării unui mediu integrat de informare care oferă metode uniforme pentru gestionarea proceselor și interacționând toți participanții la acest ciclu: clienții de produse (inclusiv agenții și departamente guvernamentale), furnizori (producători) produse, personal operațional și reparații. Aceste principii și tehnologii sunt puse în aplicare în conformitate cu cerințele standardelor internaționale care reglementează regulile de gestionare și interacțiune în principal prin schimb de date electronice.

Atunci când se utilizează tehnologia CALS, calitatea produselor crește datorită contabilității complete a informațiilor disponibile în proiectarea și realizarea deciziilor de gestionare și, de asemenea, scade costurile materiale și temporare pentru proiectarea și fabricarea produselor. În procesul de punere în aplicare a acestei tehnologii, validitatea soluțiilor luate în sistemul automatizat de management al întreprinderii (ASUP) va fi mai mare dacă producătorul de decizie și programele de gestionare corespunzătoare au acces prompt nu numai la baza de date ASUP, ci și la bazele de date din alte sisteme automate și, prin urmare, poate optimiza planurile de lucru, conținutul de aplicații, distribuția interpreților, alocarea de finanțe etc. În același timp, accesul operațional ar trebui să fie înțeles nu doar posibilitatea citirii datelor din baza de date, ci și ușurința interpretării lor adecvate, adică. Coerența în sintaxă și semantică cu protocoale adoptate în ASUP. Subsistemele tehnologice trebuie să perceapă cu o precizie ridicată și să interpreteze corect datele provenite din subsistemele de design automatizate. Acest lucru nu este atât de ușor de realizat, dacă întreprinderea principală și organizațiile de direcție lucrează cu diferite sisteme automatizate. În plus, problema protecției informațiilor pe parcursul perimetrului subsistemelor tehnologice devine relevantă.

Utilizarea tehnologiilor CALS permite reducerea semnificativă a volumului de lucrări de proiectare, deoarece descrierile dezvoltării cu succes a componentelor și dispozitivelor, multe părți componente ale echipamentului, mașinilor și sistemelor care sunt proiectate mai devreme sunt stocate în bazele de date ale serverelor de rețea disponibil pentru orice tehnologie de cals. Disponibilitatea și protecția sunt asigurate din nou de coerența formatelor, metodelor, manualelor în diferite părți ale sistemului integrat general. În plus, există mai multe oportunități pentru specializarea întreprinderilor, până la crearea întreprinderilor virtuale, care contribuie, de asemenea, la reducerea costurilor.

În procesul de implementare a tehnologiei CALS, costurile de funcționare sunt reduse semnificativ, datorită implementării funcțiilor de suport logistic integrat. Soluția la problemele de întreținere, integrarea produselor în diferite tipuri de sisteme și mediu, adaptarea la schimbarea condițiilor de funcționare etc. va fi în mod semnificativ faciliiată. Aceste avantaje ale integrării datelor sunt realizate prin utilizarea tehnologiilor moderne de cals.

Sistemele automate industriale pot funcționa în mod autonom și, în prezent, organizarea procesului de gestionare a producției are loc pe această bază. Cu toate acestea, eficiența de automatizare va fi considerabil mai mare dacă datele generate într-unul din sisteme vor fi disponibile în alte sisteme, deoarece deciziile luate în acestea vor deveni mai fundamentate.

Experiența implementării tehnologiei CALS arată pentru a atinge un nivel adecvat de interacțiune a sistemelor automate industriale, este necesară crearea unui spațiu unic de informare în cadrul întreprinderilor individuale și, mai important, în cadrul întreprinderilor. Spațiul unificat de informare este asigurat de unificarea atât a formei, cât și a conținutului de informații privind produsele specifice în diferite etape ale ciclului lor de viață.

Unificarea formularului este realizată prin utilizarea formatelor standard și a limbajelor de prezentare a limbilor în schimburile interprogramate și când este documentat.

Unificarea conținutului, înțeleasă ca o interpretare necorespunzătoare a datelor privind un anumit produs în toate etapele ciclului său de viață, este asigurată de dezvoltarea aplicațiilor de ontologice (meto-elaborare) consacrate în protocoalele de cerere CAL.

CAD - Ce este?

Deci, care sunt sistemele de design automatizate? Sub Cadr înseamnă sisteme automate care sunt concepute pentru a pune în aplicare una sau altă tehnologie de informare prin proiectare. În practică, Cadr este sisteme tehnice care vă permit să automatizați în acest mod, pentru a asigura funcționarea proceselor care alcătuiesc dezvoltarea proiectelor. Sub CAD, în funcție de context, poate însemna:

software utilizat ca element principal al infrastructurii relevante;

O combinație de sisteme tehnice și de personal (inclusiv cele care implică utilizarea CAD sub formă de software) utilizate în întreprindere pentru a automatiza procesul de dezvoltare a proiectului;

Astfel, este posibil să se distingă o interpretare largă și mai îngustă a termenului în cauză. Este greu de spus care dintre aceste interpretări este mai des aplicată în afaceri. Totul depinde de domeniul de aplicare specific al utilizării sistemelor de proiectare automate, precum și de aceste sarcini, pentru a rezolva datele de sistem care sunt asumate. De exemplu, în contextul unui atelier separat în producție, un program specific pentru designul automat este asumat sub CAD. Dacă vorbim despre planificarea strategică a dezvoltării organizației, atunci un astfel de concept ca un CAD va corespunde cel mai probabil o infrastructură la scară largă, care este implicată în îmbunătățirea eficienței dezvoltării diferitelor proiecte. Trebuie remarcat faptul că termenul CAD este o abreviere care poate fi decriptată în moduri diferite. În general, această abreviere corespunde unei combinații a cuvintelor "sistem de design automatizat". Există, de asemenea, alte opțiuni pentru descifrarea acestei abreviere. De exemplu, o variantă "Sistem de automatizare a lucrărilor de proiectare" este destul de comună. Potrivit analogului englez al abrevierii CAD, abrevierea CAD este de asemenea folosită ca CAX. Să luăm în considerare în detaliu următoarea întrebare: în ce fel de sisteme de design automatizate pot fi create în ingineria mecanică și în alte domenii?

CAD: Crearea de obiective

Scopul principal al dezvoltării CADR este creșterea eficienței specialiștilor de muncă, care rezolvă diferite sarcini de producție, inclusiv cele legate de proiectarea ingineriei. În acest caz, creșterea eficienței poate fi efectuată în detrimentul următorilor factori:

Reducerea complexității procesului de proiectare;

Reducerea perioadelor de implementare a proiectului;

Reducerea costului lucrărilor de proiectare și a costurilor legate de costuri;

Asigurarea îmbunătățirii calității infrastructurii de proiectare.

Costuri reduse pentru testare și modelare.

CAD este un instrument care vă permite să obțineți beneficii marcate în detrimentul următorilor factori:

Sprijin eficient de informare pentru specialiști implicați în dezvoltarea proiectelor;

Automatizarea documentației;

Aplicarea conceptelor de proiectare paralelă;

Unificarea diferitelor soluții;

Utilizarea modelării matematice, ca alternativă la testele scumpe;

Optimizarea metodelor de proiectare;

Îmbunătățirea calității proceselor de gestionare a afacerilor.

Acum, să ne uităm la ce structură poate fi prezentată sistemul de proiectare automată.

CAD: Clasificare

Cele mai frecvente criterii de clasificare ale CAPR includ scopul industriei. Următoarele tipuri sunt distinse:

  1. Proiectarea automată a infrastructurii de inginerie;
  2. CAD pentru echipamente electronice;
  3. CAD în domeniul construcției.

Primul tip de sisteme CAD poate fi utilizat într-o gamă largă de industrii: fabricarea aeronavelor, automobilelor, construcțiilor navale, producția de bunuri de consum. De asemenea, infrastructura relevantă poate fi utilizată pentru a dezvolta atât piese separate, cât și diverse mecanisme atunci când se utilizează tot felul de abordări în cadrul modelării și designului.

Sistemele CAD de tip al doilea sunt utilizate pentru a proiecta echipamentul electronic finit și elementele sale individuale, cum ar fi circuitele integrate, procesoarele și alte tipuri de hardware.

Al treilea tip capr poate fi implicat pentru a proiecta diverse structuri, clădiri, elemente de infrastructură.

Un alt criteriu pentru care puteți clasifica sistemele de design automatizat este scopul dorit. Aici vă alocați:

Instrumente de proiectare utilizate pentru automatizarea modelelor geometrice bidimensionale sau tridimensionale pentru formarea documentației de proiectare;

Sisteme utilizate pentru a dezvolta diferite desene;

Sisteme concepute pentru modelarea geometrică;

Sisteme destinate automatizării calculelor în cadrul proiectelor de inginerie și modelare dinamică;

Instrumente de automatizare utilizate pentru optimizarea tehnologică a proiectelor;

Sisteme destinate analizei computerizate a diferitelor parametri de proiect.

Această clasificare este considerată condiționată.

Sistemul automat de proiectare tehnologică poate include o gamă largă de funcții de la cele enumerate mai sus. Lista specifică a capacităților CAD definește în primul rând dezvoltatorul acestui sistem. Să ne uităm la ce sarcini pe care le poate rezolva.

Instrumentul de instrument de dezvoltare software de dezvoltare software

1. Instrumente de dezvoltare software. În procesul de dezvoltare a software-ului într-un fel sau altul, se utilizează suport pentru procesele de dezvoltare a PS. Acest lucru se realizează prin trimiterea cel puțin a unor documente ale programului PS (mai întâi de programe) pe suporturi de date de calculator (de exemplu, discuri) și furnizarea unui dezvoltator special de software PS sau inclus în dispozitivele speciale de calculator create pentru orice prelucrare a acestor documente. Ca un astfel de PS special, puteți specifica compilatorul din orice limbaj de programare.

Compilatorul elimină dezvoltatorul PS din necesitatea de a scrie programe în limba computerului, care este pentru dezvoltator. PS ar fi extrem de incomod - în schimb, acesta face programe la un limbaj convenabil de programare pe care compilatorul corespunzător se traduce automat în limba computerului. Ca un dispozitiv special care susține procesul de dezvoltare a PS, un emulator al oricărei limbi poate servi. Emulatorul vă permite să efectuați (interpretați) un program lingvistic altul decât un computer care acceptă dezvoltarea unui PS, de exemplu într-o limbă de calculator pentru care este destinat acest program. PS, conceput pentru a sprijini dezvoltarea altor PS, va fi numit un instrument software pentru dezvoltarea unui PS, iar dispozitivul de calculator conceput special pentru a sprijini dezvoltarea PS va fi numit un instrument hardware pentru dezvoltarea PS.

Instrumentele de dezvoltare PS pot fi utilizate în timpul întregului ciclu de viață al PS pentru a lucra cu diferite documente software. Deci, editorul de text poate fi folosit pentru a dezvolta aproape orice document de program. Din punctul de vedere al funcțiilor pe care instrumentele sunt efectuate în dezvoltarea PS, ele pot fi împărțite în următoarele patru grupe: · editori, · analizoare, · traductoare, · Instrumente care susțin procesul de execuție a programului.

Editorii sprijină designul (formarea) anumitor documente de program în diferite etape ale ciclului de viață. După cum sa menționat deja, pentru aceasta puteți utiliza un editor de text universal. Cu toate acestea, editorii specializați pot oferi un suport mai puternic: pentru fiecare tip de documente - editorul său. În special, în stadiile incipiente de dezvoltare în documente, mijloacele grafice de descriere (diagrame, scheme etc.) pot fi utilizate pe scară largă. În astfel de cazuri, editorii grafici pot fi foarte utili. La etapa de programare (codificare), în loc de un editor de text, un editor gestionat sintactic orientat spre limba de programare poate fi mai convenabil. Analizorii produc fie o prelucrare statică a documentelor, efectuând diferite tipuri de control, identificând proprietățile lor definite, cât și acumularea de date statistice (de exemplu, verificând conformitatea documentelor la aceste standarde) sau analiza dinamică a programelor (de exemplu, la Identificați distribuția programului de module de program). Convertoarele vă permit să furnizați automat documente într-un formular diferit (de exemplu, formate) sau să traducă un document de o specie la un document de alt tip (de exemplu, convertoare sau compilatoare), sintetizați orice document din părți individuale etc.

Instrumente care suportă procesul de execuție a programului vă permit să efectuați o descriere a proceselor sau a pieselor individuale prezentate în altă formă decât codul mașinii sau codul mașinii cu caracteristici suplimentare ale interpretării sale. Un exemplu de astfel de instrument este un emulator al unui alt cod de calculator. Diferitele debugri ar trebui să fie atribuite acestui grup de instrumente. Fiecare sistem de programare conține un subsistem de programare al perioadei de execuție, care efectuează cele mai tipice fragmente de programare a limbajului de programare și oferă un răspuns standard la situațiile excepționale care apar atunci când se efectuează programe (un astfel de subsistem pe care îl vom solicita de asistență executivă); - poate fi, de asemenea văzută ca un grup de instrumente.

2. Medii instrumentale de dezvoltare a mediului. În prezent, cu fiecare sistem de programare, instrumente separate (de exemplu, compilatorul) sunt asociate cu un set asociat logic de software și instrumente hardware care susțin dezvoltarea și susținerea PS în acest limbaj de programare sau orientat către orice domeniu specific. Un astfel de set va fi numit mediul instrumental pentru dezvoltarea și întreținerea PS. Pentru astfel de medii instrumentale, este caracteristică, în primul rând, utilizarea instrumentelor de software și hardware și, în al doilea rând, o anumită orientare sau la un anumit limbaj de programare sau la o anumită zonă a subiectului. Mediul de scule nu trebuie să funcționeze pe computerul pe care se va aplica PS dezvoltat. Adesea, o astfel de combinație este destul de convenabilă (dacă numai puterea computerului utilizat permite acest lucru): Nu este necesar să se ocupe de computerele de diferite tipuri, componentele mediului de scule pot fi incluse în PS dezvoltate.

Există trei clase principale de dezvoltare instrumentală și întreținere a mediului de programare PS, · Workes Technology Computer, · Programarea sistemelor instrumentale tehnologice. Mediul de programare este destinat în principal pentru a sprijini procesele de programare (codificare), testarea și depanarea PS. Locul de muncă al tehnologiei informatice se axează pe sprijinirea etapelor timpurii ale dezvoltării PS (specificații) și a generării automate de programe pe specificații. Sistemul de instrumente tehnologice de programare este conceput pentru a sprijini toate procesele de dezvoltare și întreținere pe parcursul întregului ciclu de viață al PS și se concentrează pe dezvoltarea colectivă a sistemelor software mari cu un ciclu de viață lung.

3. Mediul instrumentului de programare conține în primul rând un editor de text care vă permite să proiectați programe într-un limbaj de programare specificat, instrumente pentru compilarea sau interpretarea programelor în acest limbaj, precum și testul și depanarea programelor obținute. În plus, pot exista alte instrumente, de exemplu, pentru analiza programelor statice sau dinamice. Aceste instrumente interacționează între ele prin intermediul fișierelor obișnuite utilizând caracteristicile standard ale sistemului de fișiere. Următoarele clase de medii de instrument de programare se disting: · Mediu de destinație generală, · Medii orientate spre limbă.

Instrumentele de programare cu scop general conțin un set de instrumente software care suportă programe de programare în diferite limbi de programare (de exemplu, un editor de text, un editor de link sau un interpret de limbă de calculator țintă) și reprezintă, de obicei, o anumită extindere a capacităților operației Sistemul utilizat. Pentru programarea într-un astfel de mediu, orice limbă de programare va necesita instrumente suplimentare orientate spre această limbă (de exemplu, compilatorul). . . Clasificarea programului Media de instrument

4. Conceptul tehnologiei de dezvoltare a tehnologiilor informatice și a locurilor de muncă. Există unele dificultăți în dezvoltarea definiției stricte a tehnologiei cazurilor (tehnologia informatică pentru dezvoltarea PS). Cazul este o abreficare a ingineriei software-asistate de calculator de calculator (computer, a ajutat ingineria programului). Dar fără ajutor (suport), computerul PS nu a fost dezvoltat pentru o lungă perioadă de timp (cel puțin compilatorul este utilizat). De fapt, în acest concept, este încorporat o semnificație mai îngustă (specială), care este progresivă neclară (așa cum se întâmplă întotdeauna atunci când orice concept nu are o definiție strictă). Inițial, cazul a fost înțeles de ingineria etapelor timpurii ale dezvoltării PS (definirea cerințelor, dezvoltarea unei descrieri externe și a arhitecturii PS) utilizând suportul software (instrumente software). Acum, în cazul în care, ingineria întregului ciclu de viață PS poate fi, de asemenea, înțeleasă (inclusiv sprijinul său), dar numai în cazul în care programele sunt generate parțial sau integral de documentele obținute la stadiile incipiente specificate de dezvoltare. În acest caz, tehnologia de bază a devenit fundamental diferită de tehnologia manuală (tradițională) a dezvoltării PS: nu numai conținutul proceselor tehnologice sa schimbat, dar în întregime.

În prezent, tehnologia de dezvoltare PS poate fi caracterizată prin utilizarea suportului software pentru dezvoltarea cerințelor grafice și specificațiile grafice PS - programarea automată a programelor pe orice limbă de programare sau în codul mașinii (parțial sau complet), - suport de software prototiping.

Sistemul de instrumente tehnologice de programare este un set integrat de instrumente software și hardware care susțin toate procesele de dezvoltare și menținerea PS mare pe tot parcursul ciclului de viață într-o anumită tehnologie. Din această definiție, următoarele caracteristici principale ale acestei clase de suport pentru calculatoare sunt curge: · Comercialitate, · Formalizare pentru dezvoltarea colectivă, · Certitudinea tehnologică, · Integrare.

Având în vedere proprietățile tehnologiei de programare, se pot distinge cele trei componente principale: · Baza de date de dezvoltare (depozit), · Instrumente, · Interfețe.

Depozit - un stoc de stocare central al informațiilor referitoare la proiectul (Dezvoltare) al PS în timpul întregului ciclu de viață. Toolkit este un set de instrumente care definesc capabilitățile oferite de echipa dezvoltatorului. De obicei, acest set este deschis: În plus față de setul minim (instrumente încorporate), acesta conține mijloacele de expansiune (instrumente importate) și structurate, constând dintr-o parte comună a tuturor uneltelor (kernel) și structurale (uneori ierarhic legate de ierarhic ) clase de scule. Interfețele sunt împărțite în 1) personalizate 2) sistemic. Interfața cu utilizatorul oferă acces la dezvoltatori la setul de instrumente (limbajul de comandă etc.) este implementat de carcasa sistemului. Interfețele de sistem oferă interacțiunea între unelte și părțile lor comune. Interfețele de sistem sunt alocate ca componente arhitecturale datorită deschiderii sistemului - sunt obligate să utilizeze instrumente noi (importate) incluse în sistem.

Există două clase de instrumente tehnologice de programare: 1) sisteme de suport pentru proiect și 2) sisteme instrumentale dependente de limbă. Sistemul de asistență pentru proiect este un sistem deschis capabil să susțină dezvoltarea PS în diferite limbi de programare după instrumentele de expansiune adecvate orientate către limba selectată. Un astfel de sistem conține un kernel (furnizând, în special, accesul la depozit), un set de instrumente care sprijină managementul (management) de către PS, independent de instrumentele lingvistice de programare care susțin dezvoltarea PS (editori de text și grafici, Generatoare de rapoarte, etc.), precum și instrumente de expansiune a sistemului. Sistemul instrumental dependent de limbă este un sistem de sprijin pentru dezvoltare PS la orice limbă de programare care utilizează în mod semnificativ specificul acestei limbi în organizarea activității sale. Această specificitate poate afecta, de asemenea, capacitățile kernelului (inclusiv asupra structurii depozitului) și a cerințelor pentru cochilie și instrumente.

Limba de modelare UML unificată Majoritatea metodelor existente de analiză și design orientate pe obiecte (AOOAP) includ atât limba de modelare, cât și o descriere a procesului de simulare. Limba de modelare este notația (cea mai mare parte grafică), care este utilizată de metoda de descriere a proiectelor. Notația este o combinație de obiecte grafice care sunt utilizate în modele; Este sintaxa limbajului de modelare. De exemplu, notația diagramei clase determină cum sunt prezentate astfel de elemente și concepte, ca o clasă, asociere și multipritate. Procesul este o descriere a etapelor care trebuie executate la elaborarea unui proiect. Limba unificată de modelare a limbajului de modelare este succesorul generației de metode AOAP care au apărut la sfârșitul anilor '80 și la începutul anilor '90.

Limba UML este o limbă de modelare comunitară, care este concepută pentru specificarea, vizualizarea, proiectarea și documentarea componentelor software, procesele de afaceri și alte sisteme. Limba UML este simultan simplă și un agent de modelare puternică care poate fi utilizat în mod eficient pentru a construi modele conceptuale, logice și grafice de sisteme complexe de diferite ținte. Utilizarea constructivă a limbajului UML se bazează pe înțelegerea principiilor generale de modelare a sistemelor complexe și caracteristicile procesului de proiectare orientate pe obiecte (OOP) în special. Alegerea instrumentelor expresive pentru modelele de construcție a sistemelor complexe este predeterminată de acele sarcini care pot fi rezolvate utilizând modele de date. În același timp, unul dintre principiile de bază ale construcției de modele de sisteme complexe este principiul abstractizării, care prevede includerea în model numai acele aspecte ale sistemului proiectat, care sunt direct legate de implementarea sistemului funcțiilor lor sau scopul său vizat. În același timp, toate detaliile secundare sunt reduse la excesiv nu complică procesul de analiză și studiere a modelului obținut.

UML conține un set standard de diagrame și notații ale unei mari varietăți de specii. O diagramă în UML este o reprezentare grafică a setului de elemente, care este cel mai adesea descris sub forma unui grafic legat cu vârfuri (entități) și coaste (relații). Graficele se bazează pe vizualizarea sistemului din diferite puncte de vedere. Diagrama - într-un sens, una dintre proiecțiile sistemului. De regulă, cu excepția cazurilor cele mai triviale, diagramele dau o reprezentare laminată a elementelor din care este compusă sistemul. Același element poate fi prezent în toate diagramele sau numai în mai multe (cele mai comune opțiuni) sau nu să fie prezente în niciunul (foarte rar). Diagramele teoretic pot conține orice combinație de entități și relații. Cu toate acestea, în practică, un număr relativ mic de combinații tipice corespunzătoare celor cinci cele mai frecvente tipuri care alcătuiesc arhitectura sistemului software.

UML alocă următoarele tipuri de diagrame: - diagrame de opțiuni de utilizare (diagrame de utilizare) - pentru a modela procesele de afaceri ale organizației (cerințele de sistem); - diagrame de clasă (diagrame de clasă) - pentru a simula structura statică a claselor de clasă și legăturile dintre ele. În aceste diagrame, clase, interfețe, obiecte și cooperări sunt prezentate, precum și relația lor. La modelarea sistemelor orientate spre obiecte, acest tip de diagrame este utilizat cel mai des. Diagramele de clasă corespund tipului static de sistem din punct de vedere al designului; - diagrame de comportament ale sistemului (diagrame de comportament); Diagrame de interacțiune (diagrame de interacțiune) - simularea procesului de mesagerie între obiecte. - Diagrame stadihart - simularea comportamentului obiectelor sistemului la trecerea de la o stare la alta.

- Diagrame de activitate (diagrame de activitate) - simularea comportamentului sistemului în diferite utilizări sau activități de modelare. - diagrame de implementare: diagrame de componente (diagrame componente) - pentru modelarea ierarhiei componentelor (subsistemelor de sistem); Diagrame de plasare (diagrame de implementare) - pentru a simula arhitectura fizică a sistemului.

abstract

Software-ul este un set de sisteme de procesare a informațiilor și documente de program necesare pentru operarea acestor programe (GOST 19781-90). De asemenea - un set de programe, proceduri și reguli, precum și documentația referitoare la funcționarea sistemului de prelucrare a datelor (St ISO 2382 / 1-84).

Software-ul instrumental - software destinat utilizării în proiectarea, dezvoltarea și susținerea programelor. De obicei, acest termen este folosit pentru a sublinia diferențele din această clasă în conformitate cu software-ul aplicat și de sistem.

Compilatorul este un traducător care efectuează conversia programului compilat în limba sursă în modulul obiect.

Interpretul - programul (uneori hardware), analizarea comenzilor sau operatorii de programe și efectuarea imediată a acestora.

Sistemul de operare este un set de manageri și programe de prelucrare care, pe de o parte, acționează ca o interfață între dispozitivele de sistem de calcul și programele de aplicații, iar pe celelalte sunt destinate controlului dispozitivelor, gestionarea proceselor de calcul, distribuția efectivă a Resursele de calcul între procesele de calcul și organizarea computerelor fiabile.

Programul de aplicație - un program conceput pentru a efectua anumite sarcini de utilizator și a fost conceput pentru interacțiunea directă cu utilizatorul.

Visualbasic - Instrumentul de dezvoltare software dezvoltat de Microsoft și include limbaj de programare și mediu de dezvoltare.

VisualBasicForpPlication este o implementare simplificată a limbajului de programare de bază vizual, încorporat în linia de produse Microsoft Office (inclusiv versiunile Mac OS), precum și în multe alte pachete software, cum ar fi AutoCAD, SolidWorks, CorelDraw, WordPerfect și Arcgis Esri.

Scopul lucrării este studiul speciilor, funcțiilor software, în special, instrumentale.

Clasificarea software-ului:

Tipuri de software instrumental:

1) Editori de text

4) compilatoare

5) Interpreții

6) Lynolovers

8) ansambluri

9) Debugger.

10) Profilizatoare

11) Generatoare de documentație

Pentru a crea un program în limba de programare selectată, trebuie să aveți următoarele componente:

2. Compilator sau interpret. Textul sursă care utilizează programul Compilator este tradus într-un cod obiect intermediar.

Rezultatul lucrării: software-ul, funcțiile și tipurile sale, în special, software-ul instrumental, esența sa, sunt luate în considerare sarcini. Cel de-al treilea capitol examinat de Microsoft Visual Basic ca mijloc de dezvoltare a software-ului și dialectul său - forsplicarea de bază Microsoft vizuală. Lucrarea de curs implementează un algoritm pentru rezolvarea unei sarcini financiare și economice folosind limba de programare Pascal.

Introducere

În lumea modernă, nici o persoană care a încercat beneficiile civilizației nu poate să-și prezinte viața fără a folosi echipamente informatice. Utilizarea sa are loc în orice domeniu al vieții umane: producția, comerțul, formarea, divertismentul și comunicarea oamenilor, a activităților lor științifice și culturale. Toate acestea se datorează posibilității de a selecta echipamente informatice pentru a rezolva orice, chiar și cea mai dificilă sarcină.

Cu toate acestea, versatilitatea și specializarea în echipamente informatice sunt asigurate prin utilizarea aproape orice computer folosind un set diferit de software care asigură că orice sarcini setate.

Cu toții vedem o varietate uriașă de programe de calculator și uimitor ratele creșterii și îmbunătățirii lor, iar doar o mică parte din SUA reprezintă partea invizibilă a designului, dezvoltării și creației lor. Cu toate acestea, această sferă a tehnologiei informatice este în opinia noastră cea mai importantă, deoarece tehnologiile computerizate divergente vor depinde de dezvoltarea sa.

Și de la dezvoltarea oricărui program de calculator utilizând software-ul instrumental, atunci în lucrarea noastră de curs aș dori să locuiesc în detaliu, după ce am alocat-o de la întregul software și de discontinuitatea esenței și a caracteristicilor sale.

Pentru claritate, vom analiza software-ul instrumental (obiectul obiect) pe exemplul pachetului software vizualbasicforpplicatic (subiect) utilizat pentru programarea în mediul MicrosoftOffice - cel mai comun și popular pachet de birou.

1. Software.

1.1 Conceptul și esența software-ului

Software-ul (software) este o parte integrantă a sistemului informatic. Este o continuare logică a mijloacelor tehnice ale oricărui computer. Domeniul de aplicare al unui anumit computer este determinat de software-ul creat pentru aceasta. Prin ea însăși, calculatorul nu are cunoștințe în nici un domeniu de aplicare. Toate aceste cunoștințe sunt concentrate pe programele efectuate pe computerele care au un set de funcționalități specifice și sunt destinate să funcționeze, în majoritatea cazurilor, în cele mai multe cazuri, foarte specializate, cum ar fi crearea și prelucrarea imaginilor grafice sau a fișierelor de sunet.

Software-ul reprezintă în prezent sute de mii de programe destinate procesării celor mai diverse informații cu cele mai diferite obiective.

Software-ul (software) include, de asemenea, întreaga zonă de proiectare și dezvoltare de dezvoltare:

1) tehnologia de proiectare a programelor (de exemplu, design descendent, design structural și orientat pe obiecte);

2) metode de testare a programului;

3) metode de evidență a corectitudinii programelor;

4) analiza calității programelor;

5) Documentarea programelor;

6) Dezvoltarea și utilizarea instrumentelor software care facilitează procesul de proiectare a software-ului și multe altele.

Există multe definiții software diferite. În general, software-ul este un set de sisteme de procesare a informațiilor și documente de program necesare pentru operarea acestor programe (GOST 19781-90). De asemenea - un set de programe, proceduri și reguli, precum și documentația referitoare la funcționarea sistemului de prelucrare a datelor (St ISO 2382 / 1-84).

Software-ul este unul dintre tipurile de sisteme de calcul, împreună cu asistența tehnică (hardware), matematică, informație, lingvistică, organizațională și metodologică.

Cuvântul software de la software-ul de cuvânt englez este adesea folosit în argou, care, în acest sens, aplicat în articolul din matematica lunară matematică matematică americană de la Universitatea Princeton John Tuuki (engleză. Johnw. Tukey) în 1958.

Alte definiții:

1) Software-ul este un set de programe care vă permit să implementați procesarea automată a informațiilor pe computer.

2) Software (echipament matematic E-Computing Machine), un set de sisteme de prelucrare a datelor și documente software necesare pentru implementarea programelor pe o mașină electronică de calcul.

3) Software - un set de programe pentru gestionarea procesului de operare a calculatorului, automatizarea programării.

4) Software - un complex de programe de calculator care oferă transmisie de procesare sau de date.

Toate definițiile sunt similare și reflectă esența software-ului - organizarea interacțiunii părții hardware (tehnice), sub formă de diverse noduri și dispozitive periferice, controlul și coordonarea interacțiunii globale a sistemului informatic între ei înșiși și de utilizator.

1.2 Funcții software

Conceptele software menționate mai sus cauzează funcții efectuate de software în procesul de funcționare a echipamentelor informatice. Lista acestor funcții este foarte diversă, dar în mod convențional poate fi împărțită în următoarele cinci tipuri:

1. Hardware-mecanic. Realizați diferitele componente ale computerului, asigurați-vă transferul semnalului hardware de la o componentă la alta.

2. Logicul mașinii. Procesed și interpretați setul de impulsuri de hardware electromagnetice într-un cod de program conștient logic cu o structură și proprietăți specifice.

3. Comandanți de informații. Efectuați codul de program de conformitate cu principiile sistemului și crearea unei structuri de informații logice și executarea executării acestuia.

4. Interfață. Furnizați prelucrarea și interpretarea codului programului la formatul de afișare disponibil pentru percepția utilizatorului. Creează un mediu favorabil pentru interacțiunea unei persoane, a unui computer-calculator.

5. Aplicat. Desfășoară acțiuni matematice, logice, fizice și alte date cu un set de date disponibile, cu alte cuvinte, prelucrarea informațiilor disponibile pentru a rezolva anumite sarcini.

Această listă este departe de a fi cuprinzătoare, ceea ce indică diversitatea și ambiguitatea funcțiilor efectuate de software.

1.3 Tipuri de software

În funcție de funcțiile furnizate de o componentă specifică a computerului, este necesar să se creeze propriul software specializat pentru aceasta, ceea ce este motivul fundamental al creării de software de diferite specii prezentate pe (fig.1):

a) programe de aplicații care asigură în mod direct executarea utilizatorilor de lucru necesari;

b) Programele de sistem sunt destinate să controleze funcționarea sistemului de calcul, să efectueze diferite funcții auxiliare, de exemplu:

1) gestionarea resurselor informatice;

2) creați copii ale informațiilor utilizate;

3) verificarea performanței dispozitivelor de calculator;

4) emiterea de informații de referință despre computer și altele;

c) Sisteme software instrumentale care facilitează procesul de creare a unor programe noi pentru computer.

Software-ul sistemului oferă întreținerea și întreținerea calculatorului, precum și automatizarea procesului de creare a unor noi programe. Software-ul sistemului include: sisteme de operare și interfață de utilizator; Software-ul instrumental; Sisteme de întreținere.

Sistemul de operare este o parte obligatorie a software-ului special, care asigură funcționarea eficientă a unui computer personal în diferite moduri care organizează execuția programului și interacțiunea utilizatorilor și dispozitive externe cu computere.

Interfața cu utilizatorul (programele de servicii) este superstructurile software ale sistemului de operare (carcasă și mediu) concepute pentru a simplifica comunicarea utilizatorului cu sistemul de operare.

Programe care oferă o interfață păstrează formularul de comunicare (dialog) al utilizatorului cu sistemul de operare, dar schimbați limba de comunicare (de obicei limba de comandă este convertită în limba de meniu). Sistemele de servicii pot fi împărțite convențional în sisteme de interfață, coji de sisteme de operare și utilități.

Sistemele de interfață sunt sisteme de service puternice, cel mai adesea tip grafic care îmbunătățește nu numai utilizatorul, ci și interfața de programare a sistemelor de operare, în special implementarea unor proceduri suplimentare pentru separarea resurselor suplimentare.

Cojile sistemelor de operare furnizează utilizatorului un nou în comparație cu interfața implementată de sistemul de operare și să facă o cunoaștere opțională a acestora din urmă.

Utilitățile automatizează executarea unor proceduri separate tipice, utilizate frecvent, implementarea cărora ar cere utilizatorului să dezvolte programe speciale. Multe utilități au o interfață de dialog de utilizator dezvoltat și se apropie de nivelul de comunicare la cochilii.

Software-ul instrumentului (sisteme de programare) - Software obligatoriu, folosind programe. Software-ul instrumental include instrumente de scriere software (editori de text); Instrumente de conversie a programului în vizualizarea potrivită pe un computer (asamblori, compilatoare, interpreți, descărcători și editori de link), controlul programului și instrumentele de depanare.

Editorii de text vă permit să editați, să formați și să combinați în mod convenabil textele programelor, iar unele - și controlați sintaxa programelor create.

Programul scris în limba algoritmică trebuie transformat în modulul de obiect înregistrat în aparat (în coduri binare). O astfel de transformare este efectuată de către traducător (asamblare - de la asamblare și compilatoare cu limbi de nivel înalt). Pentru unele limbi algoritmice, sunt utilizați interpreții care nu creează un modul de obiect și de fiecare dată o altă execuție a programului, care a tradus fiecare șir individual sau operator în limba mașinii. Modulul obiect este procesat de bootloader - editorul legăturilor care îl convertește în programul de mașină executabil.

Instrumentele de depanare vă permit să efectuați urme de program (execuția pas cu pas cu emiterea de informații despre rezultatele de execuție), pentru a verifica sintaxa programului și a rezultatelor intermediare la punctele de oprire, modificați valorile variabilelor la aceste puncte.

Sistemele tehnice și de servicii sunt controale software, diagnosticare și restaurare a computerului, discuri etc.

Software-ul aplicației oferă soluții de sarcini personalizate. Conceptul cheie aici este un pachet de programe de aplicații.

Pachetul de aplicații este un set de programe pentru rezolvarea cercului de sarcini în funcție de un anumit subiect sau subiect. Următoarele tipuri de pachete de aplicații se disting:

1) orientate spre scopuri generale pentru a automatiza o gamă largă de sarcini de utilizator (procesoare de text, editori tabara, sisteme de gestionare a bazelor de date, procesoare grafice, sisteme de publicare, sisteme de automatizare de proiectare etc.);

2) orientat spre metoda - implementarea diferitelor metode economice și matematice de rezolvare a problemelor (programare matematică, planificare și gestionare a rețelei, teoria întreținerii în masă, statisticile matematice etc.);

3) orientate spre probleme - vizând rezolvarea unei anumite sarcini (problemă) într-o anumită zonă (pachete bancare, pachete contabile, gestiune financiară, sisteme de referință juridică etc.).

Software-ul de aplicație include software de servicii care servesc la organizarea unui mediu de utilizator ușor de utilizat, precum și pentru a efectua funcții auxiliare (manageri de informații, traducători etc.).

La construirea unei clasificări, este necesar să se țină seama de faptul că dezvoltarea rapidă a echipamentului de calcul și extinderea domeniului de aplicare a aplicațiilor computerului a accelerat brusc procesul de evoluție software. Dacă mai devreme a fost ușor să enumerați principalele categorii de sisteme de operare, traducători, pachete de aplicații, acum situația sa schimbat radical. Dezvoltarea software-ului a fost ca profundă (noile abordări păreau să construiască sisteme de operare, limbi de programare etc.) și stilul (programele aplicate au încetat să fie aplicate și dobândite o valoare independentă). Raportul dintre software-ul legate de software și piața disponibil se schimbă foarte repede. Chiar și produsele software clasice, cum ar fi sistemele de operare, se dezvoltă continuu și administrate de funcții intelectuale, dintre care multe au fost tratate anterior numai la capacitățile umane intelectuale.

2. Software-ul instrumental

2.1 Esența și conceptul de software instrumental

Software-ul instrumental (IPO) - Software destinat utilizării în proiectarea, dezvoltarea și întreținerea programelor.

Instrumentul folosit în faza de dezvoltare. Instrumental Software este un set de programe utilizate pentru a ajuta programatorii în activitatea lor, pentru a ajuta managerii de dezvoltare software în dorința lor de a monitoriza procesul de dezvoltare și de a obține produse obținute. Cei mai renumiți reprezentanți ai acestei părți a software-ului sunt programe de programare din limbile de programare care ajută programatorii să scrie comenzi mașinoase. Programele instrumentale sunt traducători din Fortran, Cobol, Joe Flacon, Beysik, APL și Pascal. Ele facilitează procesul de creare de noi programe de lucru. Cu toate acestea, traducătorii cu limbi sunt doar cea mai cunoscută parte a programelor instrumentale; Sunt mulți oameni.

Utilizarea mașinilor de calcul pentru a ajuta la dezvoltarea de noi programe este departe de a evident la persoanele care nu sunt programatori profesioniști. Se întâmplă adesea că profesioniștii sunt informați despre instrumental (faza de dezvoltare) și sistemul (faza de utilizare) prin software pe o singură respirație, presupunând că abilitățile lor care nu sunt dedicate secretului este cunoscut despre rolul software-ului instrumental. La fel ca în faza de utilizare (pentru programele de aplicații), suportul de sistem funcționează în faza de dezvoltare, dar numai cu suportul instrumental. Software-ul instrumental sau sistemul de programare este un sistem de automatizare a dezvoltării de noi programe de programare.

În cel mai general caz, pentru a crea un program în limba de programare selectată (limba de programare a sistemului), trebuie să aveți următoarele componente:

1. Editor de text pentru a crea un fișier cu programul Text sursă.

2. Compilator sau interpret. Textul sursă care utilizează programul Compilator este tradus într-un cod obiect intermediar. Textul sursă al unui mare program constă din mai multe module (fișiere cu texte sursă). Fiecare modul este compilat într-un fișier separat cu codul obiect, care trebuie apoi să fie combinat într-una.

3. Editorul de conexiuni sau colectorul care enumeră legarea modurilor de obiecte și generează o aplicație funcțională la ieșire - executabilă.

Codul executabil este un program complet care poate fi lansat pe orice computer în care este instalat sistemul de operare pentru care a fost creat acest program. De regulă, fișierul final are o prelungire. Lee Or.

Recent, au fost distribuite metode de programare vizuală (folosind limbile de descriere a scenariului) concentrându-se pe crearea de aplicații Windows. Acest proces este automatizat în medii de design rapid. Acest lucru utilizează componente vizuale gata, care sunt configurate folosind editori speciali.

Cele mai populare editori (sisteme de programare software folosind mijloace vizuale) Design vizual:

1) Borland Delphi - conceput pentru a rezolva aproape orice sarcini de programare a aplicațiilor.

2) Borland C ++ Builder este un instrument excelent pentru dezvoltarea aplicațiilor DOS și Windows.

3) Microsoft Visual Basic este un instrument popular pentru crearea de programe Windows.

4) Microsoft Visual C ++ - Acest instrument vă permite să dezvoltați orice aplicații care rulează în OS Microsoft Windows

Astfel, esența software-ului de instrument este de a crea orice program executabil prin conversia expresiilor logice formale în codul mașinii executabile, precum și controlul și ajustarea.

2.2 Sarcini și funcții ale software-ului instrumental

Pentru software-ul instrumental, ambele tipuri speciale de software sunt caracterizate de general și privat

funcții, precum și pentru întregul software ca un întreg. Caracteristicile generale sunt considerate mai sus, iar funcțiile specializate inerente numai la acest tip de programe sunt:

1. Crearea textului programului dezvoltat utilizând cuvinte de cod special instalate (limbaj de programare), precum și un set specific de caractere și locația acestora în sintaxa creată de fișier - program.

2. Traducerea textului programului creat într-un cod orientat pe mașină disponibil pentru recunoașterea calculatorului. În cazul unei cantități semnificative de programare a programului, acesta este împărțit în module separate și fiecare dintre module este tradus separat.

3. Conectarea modulelor individuale într-un singur cod executabil, cu respectarea structurii necesare, asigurând coordonarea interacțiunii părților individuale.

4. Testarea și controlul programului creat, identificarea și eliminarea erorilor formale, logice și sintactice, verificarea programelor pentru coduri interzise, \u200b\u200bprecum și evaluarea performanței și a potențialului programului creat.

2.3 Instrumente de software instrumental

Pe baza sarcinilor stabilite înainte de software-ul instrumentului, se poate distinge un număr mare de diferite tipuri de software de scule:

1) Editori de text

2) medii de dezvoltare integrate

4) compilatoare

5) Interpreții

6) Lynolovers

7) parsers și generatoare parser (a se vedea javacc)

8) ansambluri

9) Debugger.

10) Profilizatoare

11) Generatoare de documentație

12) Analiza acoperirii codului

13) Instrumente de integrare continuă

14) Instrumente de testare automate

15) Sisteme de control al versiunii etc.

Trebuie remarcat faptul că cochilii pentru crearea de aplicații sunt, de asemenea, create de programele de instrumente și, prin urmare, pot fi atribuite programelor de aplicare. Luați în considerare numirea pe scurt a unor programe instrumentale.

Editori de text.

Editor de text - un program de calculator conceput pentru a gestiona fișiere text, cum ar fi crearea și efectuarea de modificări.

Tipuri de editori de text.

Alocați condiționat două tipuri de editori: editoare de text streaming și interactive.

Editorii de text flux sunt programe de calculator destinate prelucrării automate a datelor de introducere a datelor obținute dintr-un fișier text, în conformitate cu utilizatorii predetermini ai regulilor. Cel mai adesea, regulile sunt expresii regulate, pe o anumită diagradă specificată pentru acest editor de text. Un exemplu de editor de text poate fi editorul SED.

Editorii interactive de text sunt o familie de programe de calculator concepute pentru a modifica fișierul text în modul interactiv. Astfel de programe vă permit să afișați starea actuală a datelor text în fișier și să producați diferite acțiuni asupra lor.

Adesea, editorii de text interactiv conțin funcționalități suplimentare semnificative concepute pentru a automatiza o parte a acțiunilor de editare sau pentru a efectua o modificare a afișajului de date text, în funcție de semantica lor. Un exemplu de funcționalitate a ultimului tip poate servi drept evidențierea sintaxei.

Editorii de text sunt proiectați să creeze și să editeze documente text. MS Word, lexicon sunt cele mai frecvente. Principalele funcții ale editorilor de text sunt:

1) Lucrați cu fragmente ale documentului,

2) Introduceți obiecte create în alte programe

3) Document de text de defalcare pe pagini

4) Introduceți și editați tabele

5) Introduceți și editați formule

6) Formatarea paragrafului

7) Liste automate

8) Crearea automată a conținutului tabelului.

Sunt cunoscute zeci de editori de text. Cele mai accesibile sunt Notepad (Notepad), WordPad, Word. Editorul de text specific este, de obicei, determinat de funcții, dintre care scopul este reflectat în elementele de meniu și în sistemul de ajutor.

Mediu de dezvoltare integrat

Mediu de dezvoltare integrat, sistem software, utilizat de programatori pentru dezvoltarea de software (software). De obicei, mediul de dezvoltare include:

1) Editor de text

2) compilator și / sau interpret

3) Instrumente de automatizare a asamblării

4) Debugger.

Uneori conține, de asemenea, instrumente pentru integrarea cu sistemele de control al versiunii și o varietate de instrumente pentru a simplifica designul interfeței grafice de utilizator. Multe medii moderne de dezvoltare includ, de asemenea, browserul de clasă, inspectorul de obiecte și diagrama de ierarhie a clasei - pentru utilizarea în dezvoltarea de software orientate pe obiecte. Deși există medii de dezvoltare destinate mai multor limbi de programare - cum ar fi Eclipse, NetBeans, embarcadero Rad Studio, Creator Qt sau Microsoft Visual Studio, de obicei mediul de dezvoltare este destinat pentru un limbaj de programare definit - cum ar fi Visual Basic, Delphi, Dev -C ++.

Cazul privat al mediului de dezvoltare vizuală, care include posibilitatea editării vizuale a interfeței programului.

SDK..

SDK (de la softwaredEvevelmentkitkit) sau "Devkit" - un set de instrumente de dezvoltare care permite specialiștilor software pentru a crea aplicații pentru un pachet software specific, software pentru dezvoltare de bază, platformă hardware, sisteme informatice, console de jocuri video, sisteme de operare și alte platforme .

Un programator primește de obicei SDK direct de la dezvoltatorul tehnologiei sau sistemului țintă. Adesea, SDK se aplică prin Internet. Multe SDK-uri sunt distribuite gratuit pentru a încuraja dezvoltatorii să utilizeze această tehnologie sau platformă.

Furnizorii SDK înlocuiesc uneori termenul de software în setul de dezvoltare software de frază pentru un cuvânt mai precis. De exemplu, "Microsoft" și "Apple" oferă kituri de dezvoltare a driverului (DDK) pentru a dezvolta drivere de dispozitive, iar "palmsource" își numește setul de instrumente pentru dezvoltarea "Kit de dezvoltare Palmos (PDK)".

Exemple de SDK. :

5) Kit de dezvoltare Java

6) Dispozitive de operă SDK

Compilatoare.

Compilator -

1) un program sau un mijloc tehnic care efectuează compilarea.

2) Programul de mașină utilizat pentru compilare.

3) un traducător care efectuează programul convertit pe limba sursă în modulul obiect.

4) un program care traduce textul unui program la nivel înalt într-un program echivalent în limba mașinii.

5) Un program menit să difuzeze limba la nivel înalt în codul absolut sau, uneori, în limba de asamblare. Informațiile de intrare pentru compilator (codul sursă) sunt o descriere a unui algoritm sau a unui program pe o limbă orientată spre probleme și la ieșirea compilatorului - o descriere echivalentă a algoritmului pe un limbaj orientat spre mașină (cod obiect).

Compilare -

1) Transmiterea unui program apropiat de mașină.

2) Au difuzat un program compilat în limba sursă în modulul obiect. Efectuate de compilator.

Compilați - efectuați difuzarea programului de mașină dintr-o limbă orientată spre probleme la limbajul orientat spre mașină.

Vizualizări ale compilatoarelor :

1) vectorizarea. Transferă codul sursă în codul mașinii de computere echipat cu un procesor vectorial.

2) flexibil. Compilate în conformitate cu principiul modular, gestionat de tabele și este programat într-un limbaj de nivel înalt sau implementat folosind compilatoare compilatoare.

3) dialog.

4) incremental. Difuzează în mod repetat fragmentele programului și completările la acesta fără a recompila întregul program.

5) Interpretarea (pas cu pas). Efectuează în mod constant o compilație independentă a fiecărui operator (comandă) individuală a programului sursă.

6) Compilator compilator. Un traducător care percepe o descriere formală a limbajului de programare și a compilatorului generativ pentru această limbă.

7) Debugging. Elimină tipurile individuale de erori sintactice.

8) rezident. În mod constant se află în memoria principală și este disponibilă pentru reutilizare prin multe sarcini.

9) auto-compilate. Scrise în aceeași limbă din care se desfășoară difuzarea.

10) Universal. Pe baza descrierii formale a sintaxei și a semanticii limbajului de intrare. Părțile compozite ale acestui compilator sunt: \u200b\u200bîncărcătoare de kernel, sintactică și semantică.

Tipuri de compilare :

1) lot. Compilați mai multe module sursă într-un singur element de activitate.

2) linia.

3) condiționată. Compilarea la care textul tradus depinde de condițiile specificate în programul original. Deci, în funcție de valoarea unei anumite constante, puteți activa sau dezactiva difuzarea textului programului.

Structura compilatorului.

Procesul de compilare constă în următorii pași:

1) Analiza lexicală. În acest stadiu, secvența simbolurilor fișierului sursă este convertită într-o secvență LEX.

2) Analiza sintactică (gramaticală). Secvența Lex este convertită în arborele de parsare.

3) Analiza semantică. Arborele de parsare este prelucrat în scopul stabilirii semanticii sale (adică) - de exemplu, identificatorii de legare la declarațiile, tipurile, verificarea compatibilității lor, definirea tipurilor de expresii etc. Rezultatul este numit în mod obișnuit "Reprezentare / cod intermediar", și poate fi un copac de concediere actualizat, un copac nou, un set abstract de echipe sau altceva, convenabil pentru prelucrarea ulterioară.

4) Optimizare. Eliminarea structurilor excesive și simplificarea conservării de cod a sensului său. Optimizarea poate fi la diferite niveluri și etape - de exemplu, pe codul intermediar sau peste codul final al mașinii.

5) generarea de coduri. Din vizualizarea intermediară, codul este generat în limba țintă.

În implementările specifice compilatoarelor, aceste etape pot fi împărțite sau combinate într-o formă sau altul.

Transmisie și layout..

O caracteristică istorică importantă a compilatorului, reflectată în numele său (Eng. Compilează - să se colecteze împreună, să se compună), a fost aceea că ar putea produce și aranja (adică, conține două părți - un traducător și linker). Acest lucru se datorează faptului că compilarea și structura separată ca o etapă separată de asamblare au fost menționate mult mai târziu decât apariția compilatoarelor. În acest sens, în loc de termenul "compilator", utilizează uneori termenul "traducător", deoarece este sinonim: fie în literatura veche, fie atunci când doresc să sublinieze capacitatea sa de a traduce programul în codul mașinii (și dimpotrivă , utilizați termenul "compilator" pentru a sublinia capacitatea de a colecta de la mai multe fișiere).

Interpreți.

Interpretul (limba de programare) -

1) un program sau un mijloc tehnic care efectuează interpretări.

2) Vederea traducătorului care efectuează prelucrarea și execuția playerului (morți) a programului sau a cererii sursei (spre deosebire de compilatorul care difuzează întregul program fără execuție).

3) Programul (uneori hardware), analizarea comenzilor sau operatorii de programe și efectuarea imediată a acestora.

4) Procesor de limbă, care implică programul original și, în același timp, efectuează acțiuni prescrise și nu formează un program compilat în mașină, care este ulterior efectuat.

Tipuri de interpreți.

Un simplu analizează interpretar și efectuează imediat (în mod inevitabil interpretare) programul de la Pomandandno (sau Line), deoarece codul său sursă ajunge la intrarea interpretului. Avantajul acestei abordări este o reacție instantanee. Dezavantajul - un astfel de interpret detectează erorile din textul programului numai atunci când încercați să executați o comandă (sau șir) cu o eroare.

Interpretul de tip compilare este un sistem de compilator care traduce codul sursă al programului într-o reprezentare intermediară, de exemplu, la codul de octet sau codul P și interpret real care efectuează codul intermediar rezultat (așa-numita mașină virtuală) . Avantajul unor astfel de sisteme este o performanță mai mare a implementării programelor (datorită eliminării analizei codului sursă într-un pasaj separat, unic și minimizarea acestei analize în interpret). Dezavantaje - mai multă cerere de resurse și cerință pentru corectitudinea codului sursă. Se utilizează în limbi precum Java, PHP, Python, Perl (cod de byte), REXX (menține rezultatul parsului codului sursă), precum și în diverse DBMS (Codul P).

În cazul unui interpret de tip compilat, componentele sunt obținute printr-un compilator de limbă și un simplu interpret cu analiza minimizată a codului sursă. Mai mult decât atât, codul sursă pentru un astfel de interpret nu trebuie să aibă un format de text sau să fie cod octet că numai acest interpret înțelege, acesta poate fi un cod de mașină al unei platforme hardware existente. De exemplu, mașinile virtuale precum Qemu, Bochs, VMware includ interpreți ai codului mașinii din familia de procesoare X86.

Unii interpreți (de exemplu, pentru Lisp, Schemă, Python, Beysik și Altele Limbi) pot lucra într-un mod de dialog sau așa-numitul ciclu de citire-computing (eng. Citire-evalu-imprimarloop, REPL). În acest mod, interpretul citește proiectul de limbă completat (de exemplu, S-Expression în limba LISP), o execută, imprimă rezultatele, după care se deplasează la așteptările contribuției utilizatorului următorului design.

Unic este, capabil să lucreze atât în \u200b\u200binterpretarea, cât și în compilarea datelor de intrare, permițându-vă să comutați între aceste moduri într-un moment arbitrar, atât în \u200b\u200btimpul transmiterii codului sursă, cât și în timpul funcționării programelor.

De asemenea, trebuie remarcat faptul că modurile de interpretare pot fi găsite nu numai în software, ci și hardware. Astfel, multe microprocesoare interpretează codul mașinii utilizând firmware-ul încorporat, iar procesoarele familiale X86 începând cu Pentium (de exemplu, pe arhitectura Intel P6), în timpul codului mașinii, acesta este preîncărcat în formatul intern (în micro - secvență -operator).

Algoritmul unui simplu interpret :

2. Analizați instrucțiunile și determinarea acțiunilor corespunzătoare;

3. Efectuați acțiunile corespunzătoare;

4. Dacă programul nu este atins, citiți următoarele instrucțiuni și mergeți la pasul 2.

Avantaje și dezavantaje ale interpreților.

1) Portabilitatea mare a programelor interpretabile - Programul va funcționa pe orice platformă pe care există un interpret adecvat.

2) În mod obișnuit, mijloace mai avansate și vizuale de diagnosticare a erorilor din codurile sursă.

3) Simplificați codul codului sursă de depanare.

4) Dimensiuni mai mici de cod comparativ cu codul mașinii obținute după compilatoarele convenționale.

1) Programul interpretabil nu poate fi efectuat separat fără un interpret de program. Interpretul în sine poate fi foarte compact.

2) Programul interpretabil este mai lent, deoarece analiza intermediară a codului sursă și planificarea executării acestuia necesită timp suplimentar în comparație cu versiunile directe ale codului mașinii, pe care codul sursă ar putea fi compilat.

3) Nu există practic optimizarea codului, ceea ce duce la pierderi suplimentare la viteza programelor interpretabile.

Linker..

Linker (de asemenea, editor conectat, linker) - un program care produce un aspect - ia pe unul de intrare sau mai multe module de obiecte și colectează modulul executabil în funcție de acestea.

Pentru a lega modulele, linkerul utilizează numele numelor create de compilator în fiecare dintre module de obiecte. Asemenea nume pot fi de două tipuri:

1) Nume anumite sau exportate - funcții și variabile definite în acest modul și furnizate pentru a utiliza alte module.

2) Nume incerte sau importate - funcții și variabilele menționate de modul, dar nu le determină în sine.

Lucrarea Linker este de a permite legăturile cu numele incert în fiecare modul. Pentru fiecare nume importat, definiția sa este definită în alte module, menționarea numelui se înlocuiește cu adresa sa.

Linkerul de obicei nu verifică tipurile și numărul de parametri ai procedurilor și funcțiilor. Dacă aveți nevoie să combinați modulele obiectului obiect scris în limbi stricte de tastare, atunci cecurile necesare trebuie completate cu un utilitar suplimentar înainte de lansarea editorului de link.

Asamblare.

Asamblam (de la limba engleză. Assembler - un colector) - un program de calculator, compilatorul de text sursă al programului scris în limba de asamblare în limba mașinii.

Ca și limbajul însuși (asamblator), asamblorii sunt de obicei specifice unei arhitecturi specifice, un sistem de operare și o opțiune de sintaxă lingvistică. În același timp, există multiplatform sau universal (mai precis, universal, deoarece în limbajul de nivel scăzut nu puteți scrie programe independente de hardware) care pot lucra pe diferite platforme și sisteme de operare. Printre acestea din urmă, puteți evidenția, de asemenea, un grup de asamblare încrucișată capabil să colecteze codul mașinii și module executabile (fișiere) pentru alte arhitecturi și OS.

Adunarea nu poate fi primul și nu ultimul pas pe calea de obținere a modulului de program executabil. Astfel, multe compilatoare din limbile de programare la nivel înalt dau rezultatul sub forma unui program în limba de asamblare, pe care procesul de asamblare procesează în viitor. De asemenea, rezultatul ansamblului nu poate fi executat și modulul de obiect care conține părți împrăștiate și inutile ale codului mașinii și datele programului, din care (sau din mai multe module de obiecte), în viitor folosind programul Linker ("Linker ") Poate fi aranjat fișierul executabil.

Debugger sau debugger este un modul de mediu de dezvoltare sau o aplicație separată concepută pentru a căuta erori în program. Debuggerul vă permite să efectuați trasarea, urmăriți, instalați sau modificați valorile variabilelor în timpul executării programului, instalarea și ștergerea punctelor de control sau a condițiilor de oprire etc.

Lista depanatorului.

1) Aqtime - un depanator comercial pentru aplicații create pentru .NET Framework Versiunea 1.0, 1.1, 2.0, 3.0, 3.5 (inclusiv aplicațiile ASP.NET), precum și pentru aplicațiile Windows 32 și 64 de biți.

2) DTRACE - Cadrul Trace dinamic pentru Solaris, OpenSolaris, FreeBSD, Mac OS X și QNX.

3) Gard electric - Debugger de memorie.

4) GNU Debugger (GDB) - Programe de depanare din proiectul GNU.

5) IDA este un dezasamblare puternic și un depanator la nivel scăzut pentru sistemele de operare Windows și Linux Familie și Linux.

6) Microsoft Visual Studio - Mediu de dezvoltare software care include un depanare către Microsoft Corporation.

7) Ollydbg este un debugger gratuit de nivel scăzut pentru sistemele de operare Windows.

8) Softice - Debugger la nivel scăzut pentru sistemele de operare Windows.

9) Sun Studio - Mediu de dezvoltare de software, inclusiv Debugger DBX pentru Solaris și Linux, de la Sun Microsystems.

10) Dr. Watson este un debugger standard Windows, vă permite să creați haldele de memorie.

11) Totalview este unul dintre depanatorii comerciali pentru Unix.

12) WindBG este un debugger gratuit de la Microsoft Corporation.

Generatorul de documentație este un pachet de programe sau software care vă permite să primiți documentația destinată programatorilor (documentației API) și / sau pentru utilizatorii finali ai sistemului, în conformitate cu un cod sursă comentat special și, în unele cazuri, în funcție de modulele executabile (obținută la ieșirea compilatorului).

De obicei, generatorul analizează codul sursă al programului, evidențiind construcțiile de sintaxă care corespund obiectelor semnificative de program (tipuri, clase și membrilor / metodelor, procedurilor / funcțiilor etc.). Analiza utilizează, de asemenea, meta-informații despre obiectele programului, prezentate sub formă de observații de documentare. Pe baza tuturor informațiilor colectate, se formează o documentație gata făcută, de regulă, într-una din formatele general acceptate - HTML, HTMLHELP, PDF, RTF și altele.

Comentarii documentare.

Documentarea unui comentariu este un comentariu special decorat la obiectul programului, destinat utilizării de către un anumit generator de documentație. Din ce fel de generator de documentație se aplică, depinde sintaxa structurilor utilizate în documentarea comentariilor.

Comentariile de documentare pot conține informații despre autorul codului, pentru a descrie scopul obiectului programului, semnificația parametrilor de intrare și ieșire - pentru funcții / proceduri, exemple de utilizare, posibile situații excepționale, caracteristicile implementării.

Documentarea comentariilor sunt de obicei întocmite ca comentarii multi-line în stilul Si. În fiecare caz, comentariul trebuie să fie în fața elementului documentat. Primul simbol din comentariile (și la început un comentarii) ar trebui să fie *. Blocurile sunt separate prin șiruri goale.

3. Visual Basic pentru aplicații

software Software System Software

3.1 Esența Visualbasic și a istoriei sale scurte

Instrumentul Microsoft Visual Basic (VB) - instrument de dezvoltare software dezvoltat de Microsoft și include un mediu de programare și mediu de dezvoltare. Limba de bază vizuală a moștenit spiritul, stilul și parțial sintaxa strămoșului său - un limbaj rău, care are o mulțime de dialecte. În același timp, vizual Basic combină procedurile și elementele limbajelor de programare orientate spre obiecte și orientate spre componente. Mediul de dezvoltare VB include instrumente pentru interfața utilizator de design vizual. (Vezi tabelul.).

Visual Basic (caracteristici cheie)

Visual Basic este considerat un instrument bun pentru a dezvolta prototipurile programului, pentru a dezvolta aplicații de bază de date și, în general, pentru metoda componentă pentru crearea de programe care rulează sisteme de operare Microsoft Windows.

În procesul de evoluție, Visual Basic a trecut o serie de etape consecutive, ceea ce ia permis să devină una dintre cele mai populare limbi de programare de astăzi. Deci, evoluția Visualbasic a mers după cum urmează:

1. May1991 - Lansat Visual Basic 1.0 Formicrosoft Windows. Sintaxa QBASIC a fost luată ca bază a limbii, iar inovația care a fost adusă de limbă de mare popularitate a fost principiul comunicării limbii și a interfeței grafice.

2. Septembrie 1992 - Lansat Visual Basic 1.0 sub DOS. Nu a fost pe deplin compatibil cu versiunea Windows a VB, deoarece a fost următoarea versiune a QuickBasic și a lucrat în modul Textual pe ecran.

3. Noiembrie 1992 - Lansat Visual Basic 2.0. Mediul de dezvoltare a devenit mai ușor de utilizat și a lucrat mai repede.

4. În vara anului 1993 - Visual Basic 3.0 a fost publicată în versiuni standard și profesionale. Totul altceva, motorul de livrare a fost adăugat la locul de muncă cu baze de date de acces.

5. August 1995 - Visual Basic 4.0 - versiunea care ar putea crea ambele programe Windows de 32 și 16 biți.

6. Februarie 1997 - Visual Basic 5.0 - Începând cu această versiune, a devenit posibil, împreună cu aplicațiile obișnuite, dezvoltă componente COM.

7. La mijlocul anului 1998 - Visual Basic 6.0 a ieșit. După aceasta, Microsoft a schimbat dramatic politicile privind limbile familiei de bază. În loc să dezvolte Visual Basic, este creată o limbă absolut nouă a Visual Basic.

8. În 2005, a fost lansată o nouă versiune a Visual Basic, a inclus Visual Studio. Ea mulțumită de o nouă interfață și capabilități. Limba se bazează pe Visual Basic.Net.

9. La sfârșitul anului 2007, Microsoft a lansat o nouă versiune a Visual Basic - Visual Basic 2008, bazată și pe Visual Basic.net.

Pe baza funcționalității și specificului aplicației, se pot distinge următoarele soiuri ale programului specificat:

1. Clasic Visual Basic (versiunea 5-6) Această limbă este foarte strâns legată de mediul său de dezvoltare și de sistemul de operare Windows, fiind exclusiv instrumentul de scriere pentru aplicațiile Windows.

2. VisualBasicForapPlicări (VBA) Acesta este un instrument de programare, practic diferit de clasic vizual Basic, care este destinat scrierii de macrocomenzi și alte programe de aplicații pentru aplicații specifice. Am primit cea mai mare popularitate datorită utilizării dvs. în pachetul Microsoft Office. Diseminarea pe scară largă a vizuală a aplicațiilor în combinație cu o atenție inițială insuficientă asupra problemelor de securitate a condus la macrocomenzile pe scară largă.

3. Limba de scripturi (VBScript) (VBScript), care este o versiune ușor trunchiată a vizualului obișnuit. Este folosit în principal pentru a automatiza administrarea sistemelor Windows, precum și pentru a crea pagini ASP și scripturi pentru Internet Explorer.

3.2 Interfață VisualBasicForpPlication, funcții de bază și caracteristici

Prin crearea VisualbasicForapPlication, Microsoft și-a ridicat sarcina principală de a crea un suport pentru utilizatori care nu sunt programatori profesioniști, dar în același timp sunt suficient de calificați să dezvolte și să proiecteze programe și aplicații de aplicații bazate pe MicrosoftOffice. Sa rezolvat sarcina specificată pe care dezvoltatorii au creat VBA, după ce a înzestrat-o o serie de caracteristici unice. Una dintre cele mai valoroase pentru utilizator este capacitatea de a crea și utiliza casete de dialog non-standard (personalizabile) în programe, adăugând un obiect de utilizator la proiect, precum și o interfață de utilizator ușor de utilizat.

Interfața programului VisualbasicForapplicare completează de la complexul de ferestre și file utilizate în proiectarea aplicației create, dintre care sunt:

1) Fereastra proiectului (figura 2), care afișează structura proiectului creat.

2) Fereastra de cod al programului (fig.3), care afișează codul programului proiectului creat și capacitatea de a scrie programul la metoda clasică utilizând editorul de cuvinte încorporat, care în VBA mai mult de 16 mii. De asemenea, această fereastră vă permite să editați codul și să îl verificați pentru erori.

3) fila Proprietăți (fig.4) Afișează parametrii setați la obiectul specificat și capacitatea de a modifica setările specificate.

Mutarea între ferestre și marcaje, utilizatorul poate personaliza cu ușurință proiectul creat.

Folosind formularul VBA generat de utilizator, puteți crea casete de dialog non-standard pentru afișarea datelor sau pentru a primi valori de la utilizatorul utilizatorului, deoarece cele mai multe respectă nevoile programului. De exemplu, puteți crea un test, puteți afișa o casetă de dialog pentru a afișa întrebări cu opțiunile de răspuns și furnizați utilizatorului posibilitatea de a alege unul dintre opțiunile de răspuns pe care le consideră credincios.

Dulapurile de dialog non-standard permit programului să interacționeze cu utilizatorul în modul cel mai dificil și să furnizeze o varietate de introducere și ieșire de date.

Caseta de dialog non-standard este creată în VBA prin adăugarea obiectului de utilizator la proiect. Acest obiect este o casetă de dialog goală; Are un șir de anchetă și un buton de închidere, dar nu există alte controale în ea. Caseta de dialog Non-Standard este creată prin adăugarea de comenzi la obiectul de utilizator și de obicei se numește pur și simplu (figura 5).

Fiecare obiect de utilizator are proprietăți, metode și evenimente moștenite din clasa obiectelor de utilizator.

Fiecare obiect de utilizator conține, de asemenea, un modul de clasă la care utilizatorul își adaugă propriile metode și proprietăți sau intră în procedurile de procesare pentru acest formular.

Abilitatea de a crea o interfață creativă, independentă de mediul de aplicare a programului, cum ar fi Excel, cu ajutorul formularelor de ecran este una dintre cele mai valoroase caracteristici din VBA.

Formularele de ecran sunt ferestrele diferitelor scopuri și tipul creat de utilizator pentru aplicația dvs. Acestea conțin controale care permit utilizatorului să împărtășească informații cu aplicația.

VBA utilizează designul grafic creat - cu setările proprietăților și comenzilor formularului - pentru a obține toate informațiile necesare pentru a afișa caseta de dialog: Dimensiunile casetei de dialog, elementele de control în ea etc. Ca rezultat, VBA vă permite să afișați formularul casetei de dialog utilizând o singură instrucțiune.

Pentru a afișa o casetă de dialog non-standard, utilizați metoda de afișare a utilizatorului. Dacă în momentul în care formularul nu este încărcat în memorie, metoda de afișare se încarcă și o afișează. Dacă formularul este deja încărcat, metoda de show o afișează pur și simplu.

Afișarea unei casete de dialog pentru a efectua sarcina nu este de obicei suficientă. Este aproape întotdeauna necesar să se determine starea comenzilor casetei de dialog pentru a afla ce date sau opțiuni au ales utilizatorul. De exemplu, dacă caseta de dialog este utilizată pentru a obține informații de la utilizator cu privire la modul în care coloanele și rândurile ar trebui să fie aranjate prin foaia de lucru, este necesar să aveți posibilitatea de a afla valorile utilizatorului introduse după închiderea casetei de dialog și la începutul actual al operațiunii de comandă.

În alte cazuri, poate fi necesar să se modifice dinamic antetele butoanelor (sau alte comenzi) din caseta de dialog, actualizarea dinamică a inscripției sau a câmpului asociat cu contorul sau confirmarea dinamică a casetei de dialog Data.

Abilitatea de a extinde semnificativ setul de funcții încorporate în aplicația standard, cum ar fi Microsoftexcel, precum și crearea funcțiilor ale căror valori depind de anumite condiții și evenimente.

VBA vă permite să programați funcțiile tabulare. Pentru a crea o fișă de lucru separată pentru un modul software, un modul Insert este furnizat din meniul Visual, comanda MODULUL din meniul Inserare Macro. După aceea, va apărea o nouă foaie de lucru "Modele1". În modulul software trebuie să descrieți funcția din limba VBA. În fereastra Module program, puteți lucra ca în fereastra unui mic editor de text.

Caracteristicile de încorporare sunt efectuate de comanda Browser Object din meniul Vizualizare. Funcțiile definite de utilizator sunt luate în considerare în program ca obiecte independente. VBA are un set semnificativ de funcții încorporate, separarea lor la tipuri.

Visual Basic vă permite să rezervați variabile, indicând ambele fără ea, lucrați cu diferite tipuri de date, utilizați constanți, lucrați cu operatori și funcții matematice, utilizați operatori suplimentari. Utilizarea operatorilor de cicluri pentru următoarele obiecte de tip TIMER (cronometru invizibil în program). Precizia setării timpului în program este de 1 milisecundă sau 1/1000 de secunde. Timerul lansat este în mod constant de lucru - adică Procedura corespunzătoare de procesare a întreruperii se efectuează la un anumit interval de timp - până când utilizatorul oprește temporizatorul sau dezactivează programul.

În VBA, puteți specifica orice proprietate pentru formular, inclusiv titlul, dimensiunea, tipul cadrului, culoarea de fundal și simbolurile, fontul textului și modelul de fundal.

Dacă rezumați toate funcțiile programului, atunci forsplicarea vizuală de bază vă permite să:

1) Lucrați cu controale

Demnitate :

1. Aplicații de mare viteză cu o interfață grafică pentru MS Windows.

2. O sintaxă simplă care vă permite să stăpâniți rapid limba.

3. Abilitatea de a compila atât în \u200b\u200bcodul mașinii, cât și în codul P (prin selectarea unui programator). În modul de depanare, programul este întotdeauna compilat în codul P, care vă permite să suspendați execuția programului, pentru a face modificări semnificative ale codului sursă și apoi continuați execuția: Recompunerea completă și repornirea programului nu este necesară.

4. Protecția împotriva erorilor asociate cu utilizarea indicatorilor și a accesului la memorie. Acest aspect face ca aplicațiile vizuale de bază să fie mai stabile, dar și un obiect de critică.

5. Abilitatea de a utiliza cele mai multe caracteristici Winapi pentru a extinde funcționalitatea aplicației. Această întrebare este cea mai completă explorată de Dan Apploman, care a scris cartea "Ghidul programatorului de bază vizual al API-ului Win32".

Critică :

1. Aspectele de bază vizuale sunt adesea criticate, deoarece abilitatea de a dezactiva mijloacele de urmărire pentru variabilele declarate, capacitatea de a implica conversia variabilă, prezența tipului de date "varianta". Potrivit criticii, aceasta face posibilă scrierea unui cod extrem de rău. Pe de altă parte, acest lucru poate fi vizualizat ca un plus, deoarece VB nu impune un "stil bun", dar oferă mai multă libertate de către programator.

2. Lipsa indicatorilor, accesul la memorie la nivel scăzut, inserțiile ASM. În ciuda faptului că paradigma de bază vizuală permite un programator mediu VB să facă fără toate acestea, lucrurile enumerate devin adesea obiecte de critică. Și totuși, folosind capabilități nedocumentate și anumite trucuri, toate acestea pot fi implementate pe VB (de exemplu, folosind funcții pentru a obține Varptr (), STRPTR () și OBJPTR ()); Este mult mai complicat să folosiți aceste trucuri decât, de exemplu, în C ++.

Cu toate acestea, merită remarcat faptul că toate deficiențele limbii apar din avantajul său principal - simplitatea dezvoltării unei interfețe grafice. Prin urmare, mulți programatori folosesc Visual Basic pentru a dezvolta o interfață de utilizator, iar funcționalitatea programului este implementată ca biblioteci dinamic conectate (DLL) scrisă într-o altă limbă (cel mai adesea C ++).

4. Partea practică

4.1 Declarația problemei

Faceți o diagramă bloc și scrieți un program în Pascal. Calculați costul intern al valorilor mobiliare. Valoarea internă a activului este determinată de viitorul flux de venit din acest activ.

pV - valoarea internă curentă a acțiunii

c - sosirea preconizată din activul în cauză

r - rata de randament așteptată de un investitor de venit cu nivelul de risc corespunzător

n este factorul de timp (în luni).

Efectuați analiza pieței și eficientizarea rezultatului în ascensiunea datelor obținute.

4.2 Textul programului în Pascal

pV: Gama reală;

writeln ("Introduceți intrarea așteptată de la", i, "- Go Asset C: ');

scrie ("Introduceți rata de rentabilitate așteptată de către investitor R:");

pV: \u003d c / exp (LN (1 + R) * I);

writeln ("valoarea internă actuală a activului este", PV [I]: 1: 3);

writeln (valoarea activului intern este egală cu ", s);

pentru J: \u003d 1 până la 4 face

dacă PV [J]\u003e PV atunci

writeln ("Costul activelor sortate prin creșterea");

pentru i: \u003d 1 până la 5 fac

writeln (PV [I]: 1: 3);

4.3 Exemplul de control

4.4 Rezultatul executării programului în exemplul de control

Concluzie

Deci, însumând toate cele de mai sus, trebuie remarcat faptul că software-ul instrumental este unul dintre tipurile de software, care posedă sarcinile și funcțiile sale comune.

Cu toate acestea, fiind un tip de software foarte specializat, are un anumit set de proprietăți și funcții unice care asigură soluționarea sarcinilor inerente.

Este necesar să menționăm tendința emergentă de a simplifica procesul de programare și de a crea o subclasă specifică - programare semi-profesională în scopuri aplicate.

Acest lucru va permite utilizatorului experimentat al utilizatorului, dar nu un programator profesionist, să creeze unele aplicații și fișiere executabile mici MicrosoftFice utilizate în principal în scopuri de contabilitate și gestionare a documentelor în companiile mici.

În acest scop, Microsoft a fost dezvoltat de pachetul software Visualbasicforpplication, ceea ce facilitează facilitarea procesului de programare și a oferit posibilitatea de a face față programării aplicațiilor și nu programatorilor. Această caracteristică a fost implementată în primul rând prin crearea unei partiții de program - "Editor de script" și capacitatea de a înregistra și executa "macrocomenzi", ca un tip separat de module grafice programabile. Implementarea capacității de a crea aplicații cu o interfață grafică pentru MS Windows. De asemenea, avantajul acestui tip de software de scule este o simplă sintaxă care vă permite să stăpâniți rapid limba și să o aplicați la programare în toate aplicațiile MicrosoftOffice standard.

Prin urmare, este dificil să se supraestimeze importanța sprijinului instrumental în general și vizualBasicforplicarea, în special, deși deficiențele și au fost menționate mai sus, au loc, de asemenea. Dar este mai degrabă nici măcar aspecte negative ale produsului, ci orientări pentru îmbunătățirea în continuare a sprijinului instrumental în persoana de vizualeBasicforpplicație.

1. Limbi algoritmice de timp real / ed. Yang S. / 2004

2. Magazine PC Magazine Ediția rusă №2 2008. Computerul astăzi.

3. Informatică. / Ed. Mogilev A.V., Pak N.I., Henner EK / - M.: Academia, 2000.

4. Informatică și tehnologia informației: Manual / Ed. ROMANOVA D.YU. / LLC "Editor" Eksmo ", 2007.

5. Cea mai nouă enciclopedie a unui computer personal / ed. Leontonv V. / Moscova, 1999. - 271 p.

6. Noi limbi de programare și tendințe în dezvoltarea / ed. USHKOVA V. / 2001

7. Pedagogie / Ed. PIDCISTE P.I. / - M.: Societatea pedagogică, Rusia, 2000.

8. Programarea pentru Microsoft Excel 2000 timp de 21 de zile. / Ed. Harisa M. / - M.: Williams, 2000.

9. SIMONOVICH S. Informatică: cursul de bază. Studii. Pentru universități. Sf. Petersburg, Peter, 2002

10. Cu Excel 2000 fără probleme. / Ed. Kovalski / - M.: Binin, 2000.

11. "Lucrări eficiente în Windows 98" / Ed. Stinson k. / 2000. - 247 p.

12. Limbi de programare. kn.5 / ed. Vauina A.S. / 2003

13. Limbi de programare: Dezvoltare și implementare / Ed. Terrens P. / 2001

14. Material electronic de informatică. Alekseev de ex. http: //www.stf.mrsu.ru/economic/lib/informatics/text/progr.html \\

Secțiunea tehnologică

Tehnologia de dezvoltare a software-ului

3.1.1 Definirea proceselor din zona subiectului

În prezent, tehnologiile informației sunt introduse pe scară largă în toate sferele activității umane. Acest lucru duce la dezvoltarea unui software imens pentru software (PS) de diferite scopuri funcționale. În același timp, volumul și complexitatea PS utilizate sunt în continuă creștere. În acest sens, multe abordări ale dezvoltării PS, utilizate la etapele inițiale ale dezvoltării echipamentelor de calcul, își pierd pozițiile, deoarece acestea nu obțin pe deplin PS-ul nivelului necesar de calitate pentru perioada de timp cu limitată resurse financiare, umane și tehnice.. Acest lucru este legat de o serie de motive. În primul rând, o campanie intuitivă pentru dezvoltarea PS, bazată pe cunoștințele, abilitățile și talentele programatorilor individuali, nu permite dezvoltarea complexului PS și contrazice principiile dezvoltării lor colective. În al doilea rând, utilizarea metodelor de dezvoltare colectivă necesită o abordare structurată a conceptelor de ciclu de viață (LCC) și a modelelor de ciclism de viață software (LCC PS). În caz contrar, există riscuri semnificative de a nu aduce proiectul până la capăt sau nu obțineți un produs cu proprietăți specificate. În al treilea rând, metodologiile de dezvoltare a PS cu creșterea complexității și criticalei din urmă încetează să îndeplinească obiectivele și obiectivele care se confruntă cu dezvoltatorii lor. În al patrulea rând, creșterea complexității și a volumului PS dezvoltat conduce automat la apariția unor metodologii suficient de complexe pentru analiză, proiectare și etape de dezvoltare ulterioare. Utilizarea unor astfel de metodologii devine imposibilă fără utilizarea instrumentelor instrumentale pentru sprijinul lor. Motivele menționate mai sus conduc adesea la rezultate nesatisfăcătoare ale proiectelor.

3.1.2 Procese de gestionare a proiectelor

Designul modular este una dintre primele abordări ale dezvoltării structurii PS și își păstrează poziția ca o abordare clasică și ca bază pentru tehnologiile moderne de dezvoltare PS. Când se dezvoltă PS modular, pot fi utilizate metode de proiectare structurală sau metode de design orientat pe obiecte. Scopul lor este de a forma structura programului creat - separarea acestuia conform unor reguli stabilite privind componentele structurale (modularizare) cu organizarea ierarhică ulterioară a acestor componente. Pentru diferite limbi de programare, componentele pot fi subrutine, module externe, obiecte etc. Prezentare generală a analizelor orientate pe obiecte și a metodelor de proiectare este dată în secțiune. 6. Această secțiune acoperă metodele structurale ale proiectului. Astfel de metode se concentrează pe formarea unui cadru pentru o bază funcțională. Definiția clasică a programului modular ideal este după cum urmează. Programul modular este un program în care orice parte a unei structuri logice poate fi modificată fără a provoca schimbări în celelalte părți ale acesteia.

Figura 3.1 - Impunerea de grupuri de procese în fază

Figura 3.2 - Relația proceselor de gestionare a proiectelor în fază

În proiectul real, fazele nu se pot precede numai reciproc, ci și se suprapun. Repetarea inițierii la diferite faze ale proiectului ajută la controlul relevanței proiectului. Dacă nevoia de implementare a acesteia a dispărut, următoarea inițiere vă permite să îl instalați la timp și să evitați costurile inutile.

3.1.3 Tehnologie rapidă de dezvoltare a aplicațiilor

Dezvoltarea Delphi miercuri selectată pentru a crea un proiect absolvent utilizează tehnologia (dezvoltarea rapidă a aplicațiilor - dezvoltarea rapidă a aplicațiilor). Aceasta înseamnă dezvoltarea de software într-un mediu instrumental special și se bazează pe vizualizarea procesului de creare a unui cod de program. Instrumentele de dezvoltare rapidă a aplicațiilor se bazează pe arhitectura componentelor. În acest caz, componentele sunt obiecte care combină datele, proprietățile și metodele. Componentele pot fi atât vizuale, cât și inconsecse; atomic și container (care conțin alte componente); Nivel scăzut (sistem) și nivel înalt.

Cu designul vizual, utilizatorul oferă posibilitatea de a selecta componentele necesare de la unele seturi (palete) cu sarcina ulterioară a proprietăților acestora. Pentru a se referi la instrumentele de design vizuale, utilizați o gamă largă de termeni, inclusiv: Designer de layout, Designer de Forme, Editor vizual, Designer de ecran, Designer de forme, designer de interfață de utilizator grafic, etc. Procedura de dezvoltare a unei interfețe cu instrumentele RAD este redusă la un set de operațiuni secvențiale, inclusiv:

Plasarea componentelor interfeței în locul potrivit;

Setați momentele din momentul apariției lor pe ecran;

Stabilind atributele asociate cu acestea și evenimentele.

Eficacitatea programării vizuale este determinată nu atât de prezența componentelor vizuale, câte interconectarea și interacțiunea mijloacelor tradiționale. Chiar dacă mediul de programare nu conține un număr suficient de componente necesare, acesta va fi în continuare în cerere dacă vă permite să dezvoltați independent componentele necesare sau să utilizați producătorii de terți existenți, alternativă la cei absenți în el.

Cu alte cuvinte, tehnologia de dezvoltare a software-ului rapid se bazează pe un mediu de programare integrat, cu care se efectuează procesele de proiectare, depanarea și testarea produselor software aplicate.

3.1.4 Ciclul de viață al programului de formare a pachetelor de documente

Modelul ciclului de viață este o structură care determină secvența proceselor, acțiunilor și sarcinilor efectuate pe tot parcursul ciclului de viață al software-ului de aplicare, precum și relația dintre aceste procese, acțiuni și sarcini. Modelul cascadei a fost folosit pentru a dezvolta programul. Acest model demonstrează o abordare clasică a dezvoltării diferitelor sisteme în toate zonele aplicate. Oferă o organizație consecventă de muncă. Caracteristica principală este de a împărți întreaga dezvoltare la pași, iar tranziția de la un pas la următoarea apare numai după finalizarea completă a tuturor lucrărilor din stadiul anterior.

Dezvoltarea programului a fost efectuată în mai multe etape:

Analiza cerințelor clienților: În acest stadiu, problemele apărute în timpul funcționării software-ului similar și au formulat sarcina tehnică prezentată în secțiunea de cercetare a proiectului de diplomă;

Design: Soluții de proiectare care îndeplinesc toate cerințele formulate în sarcina tehnică sunt elaborate. Se creează o bază de date, o diagramă structurală și algoritmi ai modurilor de program prezentate într-o secțiune specială a proiectului de absolvire;

Dezvoltarea software-ului: Dezvoltarea software-ului a fost efectuată în conformitate cu soluțiile de proiectare ale etapei anterioare. În acest stadiu, se creează modulele de program necesare. Unele dintre module dezvoltate sunt prezentate în Figura 3.3. Rezultatul executării acestei etape este un produs software gata preparat;

Testarea și funcționarea cu experiență: se efectuează o verificare a software-ului primit pentru respectarea cerințelor declarate în sarcina tehnică;

Livrarea produsului finit.

Figura 3.3 - Module ale programului care se dezvoltă

Semne de modularitate software: 1) Programul constă din module. Această caracteristică pentru un program modular este evidentă; 2) Modulele sunt independente. Aceasta înseamnă că modulul poate fi modificat sau modificat fără consecințe în alte module; 3) Condiția "One de intrare este o ieșire". Programul modular constă din module având un punct de intrare și un punct de ieșire. În general, poate fi mai mare de o intrare, dar este important ca punctele de intrare care să fie determinate și alte module nu au putut intra în acest modul la un punct arbitrar. Avantajele designului modular: 1) simplificarea dezvoltării PS; 2) eliminarea prelucrării excesive a datelor; 3) simplificarea sprijinului PS; 4) facilitarea citirii și înțelegerii programelor; 5) Relieful care lucrează cu datele având o structură complexă. Dezavantaje ale modularității: 1) Abordarea modulară necesită un timp mai mare al procesorului central (în medie cu 5-10%) datorită timpului de manipulare a modulelor; 2) Modularitatea programului duce la o creștere a volumului său (în medie cu 5-10%); 97 3) modularitatea necesită o funcționare suplimentară a programatorului și abilitățile definitive de proiectare PS. Metodele clasice de proiectare structurală a PS modulare sunt împărțite în trei grupări principale: 1) Metode design descendente; 2) metode de expansiune de bază; 3) Metode ascendente. În practică, se aplică de obicei diferite combinații ale acestor metode. Rezumat În programul modular ideal, orice parte a structurii logice poate fi modificată fără a provoca schimbări în celelalte părți ale acesteia. Programul ideal al modulului constă din module independente având o intrare și o ieșire. Programele modulare au avantaje și dezavantaje. Există trei grupe de metode clasice pentru proiectarea PS modulare.

3.1.5 Metodologie, tehnologie și instrumente Dezvoltarea software-ului de aplicare

Metodologia, tehnologia și mijloacele instrumentale (caz) se bazează pe proiectarea oricărui program, tehnică, informație - sisteme. În ceea ce privește software-ul, metodologia este implementată prin tehnologii specifice și sprijinirea standardelor, tehnicilor și instrumentelor care asigură procesele din ciclul de viață al produselor software.

Metodologia de creare a programelor de aplicare este de a organiza procesul de construire a software-ului și de a asigura gestionarea acestui proces pentru a asigura îndeplinirea cerințelor atât pentru sistemul însuși, cât și pentru caracteristicile procesului de dezvoltare.

Fiecare operațiune tehnologică trebuie să fie prevăzută cu datele obținute pe operațiunea anterioară (sau datele sursă); Materiale metodologice, instrucțiuni, standarde, standarde; mijloace de software și tehnice. Rezultatele operațiunii ar trebui să fie prezentate într-un anumit formular standard, oferind percepția lor adecvată atunci când efectuează operațiuni tehnologice ulterioare.

Instrumente automate de dezvoltare aplicate Instrumente de caz (software asistat de calculator / sistemEmengineering). În prezent, sensul acestui termen a extins și a dobândit un nou înțeles, acoperind procesul de elaborare a sistemelor complexe de informare în ansamblu. Acum termenul de caz este înțeles de instrumentele software care susțin procesele de creare și întreținere a sistemelor informatice, inclusiv analiza și formularea cerințelor, proiectarea software-ului și bazelor de date, generarea de coduri, testarea, documentația, asigurarea calității, managementul configurației și managementul de către calitatea , și alte procese.

Rad este un set de instrumente speciale de instrumente pentru a dezvolta sisteme software de aplicație care funcționează cu un set specific de obiecte grafice care afișează funcțional componente individuale de informații. Când utilizați această metodologie, experiența și profesionalismul dezvoltatorilor au o mare importanță.

Principiile de bază ale metodologiei RAD pot fi reduse la următoarele:

Modelul de dezvoltare iterativă este utilizat și nu este necesară finalizarea completă a lucrărilor pe fiecare dintre etapele ciclului de viață;

În procesul de dezvoltare, este necesară o strânsă cooperare cu clienții și utilizatorii viitori;

Este necesar să se aplice fonduri de caz și mijloace de dezvoltare rapidă a aplicațiilor;

Este necesar să se aplice instrumentele de gestionare a configurației care facilitează introducerea modificărilor proiectului și întreținerea sistemului finit;

Testarea și dezvoltarea proiectelor se efectuează simultan cu dezvoltarea;

Dezvoltarea se efectuează o echipă de profesioniști și bine gestionată, în timp ce este necesară gestionarea competentă a dezvoltării sistemului, planificarea clară și controlul performanței muncii.

Instrumentele RAD au o interfață grafică convenabilă și vă permit să formați aplicații simple bazate pe obiecte standard, cu aproape nici un cod de program de scriere. Acest lucru reduce în mare măsură lucrările de rutină cu privire la dezvoltarea părții interfeței a aplicațiilor, deoarece Atunci când se utilizează medii convenționale, dezvoltarea interfețelor este o sarcină destul de laborioasă, care necesită mult timp. Astfel, instrumentele RAD permit dezvoltatorilor să se concentreze asupra eforturilor asupra esenței proceselor reale ale domeniului obiectului de programare, care, în cele din urmă, duce la o calitate îmbunătățită a sistemului dezvoltat.

Instrumentele de dezvoltare vizuală sunt operate în primul rând cu obiecte și comenzi de interfață standard - ferestre, liste, texte, butoane, comutatoare, casete de selectare, meniuri etc., care facilitează convertirea informațiilor, afișați-l pe ecranul monitorului, gestionați date afișate. Toate aceste obiecte pot fi descrise standard de instrumentele lingvistice, iar descrierile în sine sunt salvate pentru reutilizare ulterioară.

Logica aplicației construită cu RAD este o orientată spre evenimente, adică. Gestionarea obiectelor se efectuează utilizând evenimente. Aceasta înseamnă următoarele: Fiecare obiect inclus în aplicație poate genera evenimente și poate răspunde la evenimentele generate de alte obiecte. Exemple de evenimente pot fi: deschiderea și închiderea ferestrelor, apăsând butonul sau cheia tastaturii, mișcarea mouse-ului, schimbarea datelor în baza de date etc. Dezvoltatorul implementează logica aplicației prin definirea procesorului evenimentului - procedura efectuată de obiect atunci când Evenimentul corespunzător are loc. De exemplu, manipulator de evenimente "apăsare buton" poate deschide o casetă de dialog.

În ciuda tuturor avantajelor sale, metodologia RAD nu poate solicita universalitate. Utilizarea sa este cea mai eficientă atunci când se dezvoltă software relativ mic. Atunci când se dezvoltă sisteme tipice care nu sunt completate, dar sunt un set de elemente tipice (de exemplu, instrumente de automatizare de proiectare), astfel de indicatori ai proiectului, cum ar fi manipularea și calitatea, care pot include contradicția cu simplitatea și viteza de dezvoltare. Acest lucru se datorează faptului că sistemele tipice sunt de obicei însoțite central și pot fi adaptate la diferite platforme de software și hardware, sisteme de gestionare a bazelor de date, facilități de comunicare și integrate cu evoluțiile existente. Prin urmare, pentru astfel de proiecte, este necesar un nivel ridicat de planificare și o disciplină rigidă de design, strict după protocoale și interfețe dezvoltate în avans, ceea ce reduce viteza de dezvoltare.

Aplicarea metodologiei RAD se limitează la construirea de programe complexe de decontare, sisteme de operare sau programe de management pentru inginerie complexă și obiecte tehnice - programe care necesită scrierea unei cantități mari de cod unic. Metodologia RAD este puțin eficientă pentru dezvoltarea aplicațiilor în care interfața cu utilizatorul este secundară, adică nu există o definiție vizuală a logicii software-ului. Exemple pot servi ca aplicații, drivere sau utilități în timp real.

Metodologia RAD este complet inacceptabilă pentru dezvoltarea sistemelor, pe care depinde siguranța persoanelor, cum ar fi sistemele de control al transporturilor sau centralele nucleare. Acest lucru se datorează faptului că o abordare iterativă care este una dintre fundațiile lui Rad sugerează că primele versiuni ale sistemului nu vor fi pe deplin funcționale, ceea ce în acest caz poate duce la catastrofe grave.

3.2 Tehnologia software-ului

Industria software-ului încearcă în mod constant să rezolve problema calității, dar cât de importantă sunt succesele sale, în prezent este destul de greu de spus. Proiectul Diplomă vorbește despre o nouă generație de instrumente de testare care sunt concepute pentru a îmbunătăți calitatea programelor. Cu toate acestea, instrumentele, chiar automate, nu sunt capabile să ajute dacă sunt utilizate incorect. Prin urmare, discuția despre instrumente precede prezentarea prevederilor generale ale testului "corect".

Calitatea programului care este dezvoltată poate fi îmbunătățită în felul următor: pentru a face o echipă de programatori buni cu experiență în proiecte similare, le oferă o sarcină bine setată, unelte bune, să creeze condiții bune de lucru. Cu o probabilitate mare, vă puteți aștepta ca să fie posibilă dezvoltarea unui sistem software cu o calitate bună.

Cele mai scumpe greșeli sunt efectuate pe primele faze ale ciclului de viață - acestea sunt greșeli în determinarea cerințelor, alegerea arhitecturii, designul la nivel înalt. Prin urmare, este necesar să se concentreze asupra căutării erorilor în toate fazele, inclusiv cele mai vechi, fără a le aștepta, în timp ce acestea sunt detectate atunci când testează vânzările deja finalizate.

Modulele mici (proceduri, clase etc.) sunt supuse testelor modulare. La testarea unui modul relativ mic, 100 - 1000 de linii sunt abilitatea de a verifica dacă nu toate, cel puțin multe sucursale logice din implementare, căi diferite în coloana dependenței de date, valorile parametrilor limită. În conformitate cu aceasta, criteriile de acoperire a testului sunt construite (acoperite de toți operatorii, toate ramurile logice, toate punctele limită etc.).

Un produs software complet implementat este supus testelor sistemice. În acest stadiu, testerul este interesat de corectitudinea implementării procedurilor și metodelor individuale, dar întregul program în ansamblu, după cum o vede utilizatorul final. Baza de teste servește cerințe generale pentru program, inclusiv nu numai corectitudinea punerii în aplicare a funcțiilor, ci și performanța, timpul de răspuns, rezistența la eșecuri, erorile utilizatorilor etc. Pentru testarea sistemică și componentă, se utilizează anumite tipuri de criterii de acoperire a testului (de exemplu, dacă toate tipurile de scenarii de lucru sunt acoperite, toate scenariile cu situații de urgență, perechi de scenarii etc.).

Deci, calitatea PS este un set de indicatori calitativi cei mai importanți (factori) care caracterizează suficient PS. Factorii totale includ:

Funcționalitate - ca un set de funcții care implementează nevoile stabilite sau presupuse de utilizatori;

Corectitudinea - respectarea punerii în aplicare a sistemului de specificație și consecvență;

Interfață - ca mijloc de comunicare cu utilizatorii de sistem;

Deschidere - caracterizarea modificatorului de sistem;

Confort - caracterizarea confortului de utilizare a PS;

Modernitate - caracterizarea gradului de utilizare a tehnologiilor moderne de informare pentru prezentarea sistemelor de informare și comunicare la ora actuală.

De asemenea, trebuie remarcat faptul că verificarea preciziei PS este procesul de realizare a unui complex de măsuri care explorează caracterul adecvat al programului pentru funcționarea sa de succes (aplicație și acompaniament) în conformitate cu cerințele clientului.

Pe baza informațiilor obținute în timpul încercărilor programului, trebuie să se stabilească că îndeplinește funcțiile declarate și trebuie, de asemenea, să fie stabilite în ce măsură a declarat primitive și criterii de calitate. Astfel, evaluarea calității programului este conținutul principal al procesului de certificare.

Nevoia și importanța testelor software este dificil de supraestimat. În același timp, trebuie remarcat faptul că testarea este activități complexe și consumatoare de timp. Următoarele sunt caracteristicile de testare a software-ului orientat spre obiecte.

Dezvoltarea software-ului orientat spre obiect începe cu crearea de modele vizuale care reflectă caracteristicile statice și dinamice ale viitorului sistem. La început, aceste modele înregistrează cerințele sursă ale clientului, apoi formalizează implementarea acestor cerințe prin selectarea obiectelor care interacționează între ele prin transmiterea mesajelor. Proiectarea modelelor reprezintă cea mai mare parte a costului unui proces de dezvoltare orientată pe obiect. Dacă acest lucru se adaugă acest lucru, rata de eliminare a erorii crește rapid cu fiecare iterație de dezvoltare, atunci este complet logică pentru a testa modelele de analiză și design orientate pe obiecte.

Criterii de testare a modelelor: corectitudinea, completitudinea, consistența. Corectitudinea sintactică este judecată prin corectitudinea utilizării limbajului de modelare. Corectitudinea semantică este judecată de către modelul respectării problemelor reale. Pentru a determina dacă modelul reflectă lumea reală, este estimată de experții care au cunoștințe și experiență într-o anumită zonă problema.

Coerența este judecată prin luarea în considerare a contradicțiilor dintre elementele din model. Modelul inconsistent are într-o parte din prezentare, ceea ce contravine ideilor în alte părți ale modelului.

Când luați în considerare testarea orientată pe obiecte, cel mai mic element testat este obiectul (clasa). În acest caz, este imposibil să se testeze o operațiune separată în izolare, așa cum este obișnuită în abordarea standard a modulelor de testare. Orice operațiune trebuie considerată ca parte a clasei. Software-ul orientat pe obiecte nu are o structură de control ierarhic, prin urmare, metodele de testare ascendentă și descendentă nu se aplică aici.

Sunt oferite două tehnici de testare a sistemelor orientate pe obiecte:

Testarea bazată pe flux;

Testarea bazată pe utilizare.

În prima metodă, obiectul de testare este un set de clase care servește o singură intrare de date în sistem. Cu alte cuvinte, mijloacele de întreținere ale fiecărui flux sunt integrate și sunt testate separat. În cea de-a doua metodă, clasele independente sunt testate mai întâi. Apoi, lucrați cu primul strat de clase dependente, cu al doilea strat etc.

La verificarea corectitudinii, detaliile relației de clasă dispar. Ca și confirmarea tradițională a corectitudinii, confirmarea corectitudinii software-ului orientat pe obiecte se concentrează asupra acțiunilor vizibile ale utilizatorilor și concluziile recunoscute de utilizator.


Informații similare.


Pasul 1: Înainte de mijlocul anilor '50.

Costurile principale sunt asociate cu codarea (în codurile mașinii). Avtocodes apar (limbi care utilizează simboluri mnemonice de comenzi) și traducători de la ei (asamblori).

Sunt implementate posibilitățile de compilare și de deplasare separată a programelor. Există bootloadere și linkers de programe.

Pasul 2: mijlocul anilor 50 - mijlocul anilor 60.

Dimensiunea programelor crește, este detectată decalajul dintre conceptele de domenii problematice și limbile orientate spre mașină. Există diferite limbi de nivel înalt (algoritmice, universale):

FORTRAN (1954-1957);

Algol-60 (1958-1960);

COBOL (1959-1961);

și traducătorii cu ei (compilatoare). Alternativ, aproape toate tipurile de date importante, operațiunile pe ele, structurile de control și metodele de imagine în programe, sunt inventate diverse opțiuni pentru parametrizarea subrutinelor.

Etapa 3: mijlocul anilor 60 - începutul anilor 70.

Dimensiunea software-ului crește brusc, trecerea la natura colectivă a lucrărilor. Cerințe pentru software datorită tranziției la creșterea producției de mărfuri.

Raportul dintre costurile de dezvoltare a software-ului (40% este mai mult cheltuit pentru depanare, design și documentare), codarea este una dintre cele mai simple tipuri de muncă. Limbi de programare "mari" - PL / 1, Algol-68, Simula-67, generalizarea și integrarea soluțiilor găsite anterior sunt utilizate.

Sisteme de programare dezvoltate cu traducători de optimizare și depanare, macrobilități, biblioteci de programe standard, editori de text specializați, abateri de analiză și dialog în termenii limbajului de introducere. Sisteme de operare dezvoltate, se dezvoltă primele DBMS, numeroase sisteme de automatizare a documentației, sisteme de management de software (modificări de urmărire și asamblare a versiunilor software).

Etapa 4 ("Etapa crizei în dezvoltarea PO"): Începutul anilor '70-Mid-70s.

În ciuda dezvoltării instrumentelor instrumentale, productivitatea programatorilor nu crește. Mai mult, datorită creșterii cerințelor privind software-ul și creșterea neliniară a complexității sale, productivitatea muncii scade. Durata dezvoltării software-ului este întreruptă, costul său este în creștere, calitatea sa este imprevizibilă, metodele tradiționale nu sunt declanșate (furnizarea de resurse umane și materiale suplimentare), care se caracterizează ca "criză a software-ului".

Se obține recunoașterea metodologiei de programare structurală (Dyacstra, 1968), se formează elementele de bază ale tehnologiei de programare (limba Pascal (N.Virt), 1971).

Etapa 5: 1976. - Timpul nostru. Pasul dezvoltării post-criză a uneltelor.

1976. - Publicarea lucrării de BOAM, unde este introdus conceptul de ciclu de viață și indică faptul că principalele costuri nu se referă la dezvoltare, ci pe programe de sprijin.

Limbaje de programare:

C (începutul anilor 1970, pentru prima dată este pe deplin descris în 1978);

Modula-2 (1978, Dezvoltare este Oberon (1988));

Prolog (1972, primit din 1980);

Smalltalk (1970, în 1980 a fost reprezentat ca Smalltalk-80);

C ++ (Începând cu anii 1980, numele - 1983, în forma obișnuită astăzi a existat din 1990);

Java (versiunea Java 1.0 - 1996, Java 2.0 - 1998, Java 5 - 2004 ...);

C # (1998-2001, versiunea 1.0 - 2000-2002, versiunea 2.0 - 2003-2005, versiunea 3.0 - 2004-2008, versiunea 4.0 - 2008-2010).

Instrumentele integrate de dezvoltare a programelor se dezvoltă. Recunoașterea este recunoscută ca o abordare orientată spre obiect pentru proiectare și programare. Programele care sprijină crearea de software în fiecare etapă sunt dezvoltate.

Întrebări de control:

1. Ce acțiuni includ dezvoltarea de software?

2. Ce etape în dezvoltarea programelor sunt alocate în cadrul procesului rațional unificat (RUP)?

3. Ce face utilizarea instrumentelor?

4. Ce componente sunt incluse în program? Scopul fiecăruia dintre părți.

5. Definiții și software-ul programului.

6. Ce proprietăți ar trebui postate software-ul?

7. Ce limbi de programare sunt utilizate la elaborarea programelor?

8. Definirea software-ului instrumental.

9. Care sunt cele patru grupuri pentru a împărți software-ul instrumental? Exemple de software pentru fiecare grup.

10. Ce criterii pot compara programele din aceeași clasă?

11. Ce etape sunt alocate în dezvoltarea instrumentelor instrumentale pentru dezvoltarea de software?

12. Numirea și caracteristicile principale ale compilatoarelor (asambloare) și editorii de legătură.

13. Numirea și caracteristicile principale ale textelor.

14. Numirea și caracteristicile principale.

15. Scopul și caracteristicile principale ale creării instalatorilor.

16. Numirea și caracteristicile principale ale actorilor de resurse.

17. Numirea și caracteristicile principaleProfiller.

18. Numirea și caracteristicile principale ale programelor de sprijin versiunilor.

19. Caracteristicile principale ale programelor Crearea fișierelor de ajutor (documentație).

20. Numirea și caracteristicile principale ale generatoarelor de documentare.

21. Numirea și caracteristicile principaleDeasamble și decompilatatoare.

22. Scopul și caracteristicile principale ale urmăririi sistemului de urmărire și modificările care apar în sistem.

23. Numirea și caracteristicile principale ale verificărilor și containerelor.

24. Caracteristicile principale ale programelor de protejare a software-ului dezvoltat (protectori).

25. Numirea și caracteristica principalăSdk.

26. Numirea și caracteristicile principale ale parărilor.

27. Numirea standardelor tehnologice.


SUBIECT:Metodologia dezvoltării software-ului.

Literatură: 1. Zelkovitz M., Arată A., Gannon J. Principiile dezvoltării de software.

2. Getssi K., Jazairei M., Mandrioli D. Bazele ingineriei software.

3. Kemeam V. A., Kosterin V. V. Programarea tehnologiei.

Luați în considerare conceptele de metodologie, metodă și mijloace.

Definiția 1: Metodă (din limba greacă. Metodos - o metodă de cercetare sau cunoștințe, teorie sau predare) - primirea sau sistemul de tehnici de implementare practică a ceva în orice domeniu, un set de tehnici sau operațiuni de dezvoltare practică sau teoretică a realității, subordonate la rezolvare sarcini specifice.

Metoda include fonduri- cu ajutorul căruia se desfășoară acțiunea și metode- Cum este acțiunea.

Definiția 2: Metodologie- Acesta este un sistem de principii, precum și o totalitate de idei, concepte, metode, metode și mijloace definire a stilului de dezvoltare software.

Metodologia este implementarea standardului. Standardele însele vorbesc doar despre ceea ce ar trebui să fie, lăsând libertatea de alegere și adaptare.

Lucrurile specifice sunt implementate prin metodologia aleasă. Ea determină modul în care va fi efectuată dezvoltarea. Există multe metodologii de creare de software de succes. Alegerea unei metodologii specifice depinde de mărimea echipei, de la specificul și complexitatea proiectului, de la stabilitatea și maturitatea proceselor din cadrul companiei și de calitățile personale ale angajaților.

Metodologiile sunt nucleul teoriei managementului dezvoltării software-ului.

În funcție de modelul modelului ciclului de viață, metodologiile sunt împărțite în:

Cascadă (cascadă);

Iterative (spirală).

Există, de asemenea, o clasificare mai generală asupra:

Prezis;

Adaptabil.

Metodologii prezise Concentrați-vă pe planificarea detaliată a viitorului. Sunt cunoscute sarcini și resurse programate pentru întregul proiect. Echipa cu dificultate răspunde la posibile schimbări. Planul este optimizat pe baza activității și a cerințelor existente. Cerințele în schimbare pot duce la o schimbare semnificativă a planului, precum și la proiectarea proiectului. Un comitet special pentru "managementul schimbării" este adesea creat astfel încât numai cele mai importante cerințe să fie luate în considerare în cadrul proiectului.

Metodologii adaptive Menite să depășească neplata preconizată a cerințelor și schimbarea constantă. Când cerințele sunt modificate, echipa dezvoltatorului se schimbă, de asemenea. Echipa implicată în dezvoltarea adaptivă poate prezice cu greu viitorul proiectului. Există un plan exact numai pentru viitorul apropiat. Mai multe planuri șterse în timp există doar ca o declarație a obiectivelor proiectului, a costurilor și rezultatelor așteptate.

Cascadă de dezvoltare sau un model de cascadă (modelul de cascadă) - un model de proces de dezvoltare a software-ului în care procesul de dezvoltare arată ca un flux, care trec în mod constant faza de analiză a cerințelor, proiectarea, implementarea, testarea, integrarea și sprijinul.

Principala caracteristică a unei abordări cascadă este: tranziția la etapa următoare se efectuează numai după finalizarea pe deplin la stadiul actual, iar returnările la etapele completate nu sunt furnizate. . Fiecare etapă se termină cu obținerea unor rezultate care servesc drept datele sursă pentru următoarea etapă (figura 1).

Smochin. 1. Modelul ciclului de viață cascadă.

Fiecare etapă este completată de lansarea documentației stabilite, suficientă pentru a se asigura că dezvoltarea poate fi continuată de o altă echipă de dezvoltatori. Criteriul pentru calitatea dezvoltării cu această abordare este acuratețea punerii în aplicare a specificațiilor sarcinii tehnice.

Avantajele aplicării unei metode cascadă:

La fiecare etapă se formează un set complet de documentație de proiect, îndeplinind cerințele de exhaustivitate și consecvență;

Etapa de lucru efectuată în secvența logică vă permite să planificați calendarul finalizării tuturor lucrărilor și costurile corespunzătoare.

Abordarea cascadă sa dovedit în construcția sistemelor informatice electronice, pentru care la începutul dezvoltării, este posibil să formuleze cu siguranță și pe deplin toate cerințele pentru a oferi dezvoltatorilor libertatea de a le realiza din punct de vedere tehnic cât mai bine posibil.

În același timp, această abordare are o serie de deficiențe cauzate, în primul rând faptul că procesul real de creare a software-ului nu este niciodată complet stivuit într-o astfel de schemă rigidă. Procesul de creare a software-ului este de obicei iterativ în natură: rezultatele etapei următoare provoacă adesea modificări ale soluțiilor de proiectare dezvoltate în etapele anterioare. Astfel, are nevoie de revenirea la etapele anterioare și clarificarea sau revizuirea deciziilor acceptate anterior (figura 2). Diagrama descrisă poate fi atribuită unui model separat - model cu control intermediar, în care ajustările de interdass oferă o mai mare fiabilitate comparativ cu modelul cascadă, deși cresc întreaga perioadă de dezvoltare.

Principalul dezavantaj al modelului cascade este întârzierea esențială cu obținerea de rezultate și, ca rezultat, riscul ridicat de creare a unui sistem care nu satisface nevoile modificate ale utilizatorilor. Acest lucru va fi explicat din două motive:

Utilizatorii nu sunt capabili să precizeze imediat toate cerințele și nu pot prevedea cum se schimbă în timpul dezvoltării;

În timpul dezvoltării, modificările pot apărea într-un mediu extern care va afecta cerințele sistemului.

Smochin. 2. Modelul cascadei ZHC în practică.

Ca parte a unei abordări în cascadă, cerințele pentru produsul dezvoltat sunt înregistrate sub forma unei sarcini tehnice pentru întreaga perioadă a creării sale, iar aprobarea rezultatelor obținute cu utilizatorii se face numai la punctele planificate după finalizarea Fiecare etapă (este posibilă ajustarea rezultatelor în funcție de comentariile utilizatorilor dacă nu afectează cerințele stabilite în sarcina tehnică). Astfel, utilizatorii pot face comentarii semnificative numai după terminarea lucrărilor din sistem. Utilizatorii pot obține un sistem care nu satisface nevoile lor. Ca rezultat, trebuie să începeți un nou proiect care să înțeleagă aceeași soartă.

Pentru a depăși problemele enumerate la mijlocul anilor '80, a fost propus un model spiralat al ciclului de viață (figura 3).

Smochin. 3. Modelul spiral (iterativ) LCC.

Fundamentalitatea sa este următoarea: software-ul aplicat nu este creat imediat, ca în cazul unei abordări cascadă, dar în părți utilizând metoda prototipului .

Sub prototip Se înțelege că componenta actuală a programului care implementează funcții individuale și interfețe externe ale software-ului dezvoltat. Crearea de prototipuri se desfășoară în mai multe iterații sau se transformă în spirală. Fiecare iterație corespunde creării unui fragment sau versiune de software, specifică obiectivele și caracteristicile proiectului, calitatea rezultatelor obținute este estimată și este planificată activitatea următoarelor iterație. Fiecare iterație este o evaluare aprofundată a riscului de depășire a calendarului și costul proiectului de a determina necesitatea de a efectua o altă iterație, gradul de exhaustivitate și acuratețea înțelegerii cerințelor pentru sistem, precum și oportunitatea rezilierii a proiectului.

Modelul spiralat elimină utilizatorii și dezvoltatorii de la necesitatea formulării exacte și complete a cerințelor sistemului la etapa inițială, deoarece acestea sunt specificate la fiecare iterație. Astfel, detaliile proiectului sunt aprofundate și specificate în mod constant specific, iar ca rezultat, este selectată opțiunea rezonabilă, care este adusă la implementare.

Modelul spiral este un exemplu clasic de aplicare a unei strategii de proiectare evolutivă. Modelul spiral (autor Barry Boem, 1988) se bazează pe cele mai bune proprietăți ale ciclului de viață clasic și la macreatul, la care se adaugă un nou element - analiza riscului lipsește mai devreme.

Modelul spiralului determină cele patru pași prezentate de sectoarele spirală:

1. Planificarea - definirea obiectivelor, opțiunilor și restricțiilor.

2. Analiza riscurilor - Analiza opțiunilor și selecției de recunoaștere / risc.

3. Proiectarea - dezvoltarea produsului următor.

4. Evaluare - Evaluare de către client a rezultatelor actuale de proiectare.

Aspectul integrat al modelului spiralat este evident atunci când ia în considerare măsurarea radială a helixului. Cu fiecare iterație pe spirală (promovarea de la centru la periferie), sunt construite mai multe versiuni complete de software.

La prima schimbare a spirală, sunt determinate obiectivele inițiale, opțiunile și limitările, riscul este recunoscut și analizat. În cazul în care analiza riscului arată incertitudinea cerințelor, va fi selectată dezvoltarea dezvoltatorului și a clientului (utilizată în cvadrantul de proiectare). Pentru a defini în continuare problema și cerințele actualizate, poate fi utilizată modelarea. Clientul evaluează munca de inginerie (design) și face propuneri de modificare. Următoarea fază de planificare și analiză a riscurilor se bazează pe ofertele clienților. În fiecare ciclu pe spirală, rezultatele analizei de risc sunt formate de forma "Continuați, nu continuați". Dacă riscul este prea mare, proiectul poate fi oprit.

În majoritatea cazurilor, mișcarea de pe helix continuă, fiecare pas care promovează dezvoltatorii la un model mai general al sistemului.

Cu un mod iterativ, partea lipsă a lucrării poate fi efectuată în următoarea iterație. Sarcina principală este de a arăta utilizatorilor un produs care să funcționeze cât mai repede posibil, activând astfel procesul de rafinament și completările.

Modelul spiralat nu exclude o abordare cascadă în etapele finale ale proiectului în cazurile în care cerințele sistemului sunt pe deplin definite.

Principala problemă a ciclului spiralat este de a determina timpul de tranziție la următoarea etapă. Pentru ao rezolva, este necesar să se introducă restricții temporare pentru fiecare dintre etapele LCC. Tranziția este efectuată în conformitate cu planul, chiar dacă nu este finalizată toate lucrările planificate. Planul este întocmit pe baza datelor statistice obținute în proiectele anterioare și experiența personală a dezvoltatorilor.

Avantajele unui model spiralat:

Cea mai realistă (sub formă de evoluție) afișează dezvoltarea software-ului;

Vă permite să luați în considerare în mod clar riscul la fiecare întoarcere a evoluției dezvoltării;

Include o etapă a unei abordări sistematice a unei structuri de dezvoltare iterativă;

Utilizează modelare pentru a reduce riscul și îmbunătățirea produsului software.

Dezavantaje ale modelului spiralat:

Noutate (nu există statistici suficiente pentru eficiența modelului);

Cerințe sporite pentru client;

Dificultăți de control și gestionare a timpului de dezvoltare.

Până în prezent, se pot distinge următoarele metodologii de dezvoltare a software-ului iterativ:

Procesul rațional unificat (RUP)

Metodologii de dezvoltare flexibilă (Scrum, Kanban, DSDM, MSF, Alm, XP)

Metodologie de dezvoltare flexibilă (Dezvoltarea software-ului agili).

Metodelele cele mai flexibile vizează minimizarea riscurilor, modalități de a dezvolta o serie de cicluri scurte numite iterațiicare de obicei durează una sau două săptămâni. Fiecare iterație în sine arată ca un proiect de software miniatural și include toate sarcinile necesare pentru emiterea unei mini-creștere a funcționalității: planificarea, analiza cerințelor, proiectarea, codificarea, testarea și documentația. Deși o iterație separată este de obicei insuficientă pentru a elibera o nouă versiune a produsului, se înțelege că proiectul software flexibil este gata de eliberare la sfârșitul fiecărei iterații. La sfârșitul fiecărei iterații, comanda efectuează reevaluarea priorităților de dezvoltare.

Metodele agile se concentrează pe comunicarea directă în față. Cele mai multe comenzi agile sunt situate în același birou. Cel puțin, acesta include atât "clienți" (clienți care determină produsul, pot fi, de asemenea, manageri de produse, analiști de afaceri sau clienți). Oficiul poate include, de asemenea, titularii de testare, designeri de interfață, scriitori tehnici și manageri.

Una dintre cele mai faimoase și avansate tehnici flexibile este metodologia Scrum.

Scrum.- Metodologia destinată echipelor mici (până la 10 persoane). Întregul proiect este împărțit în iterații (sprint) timp de 30 de zile fiecare. Se selectează o listă de funcții de sistem, care sunt planificate să fie implementate în următorul sprint. Cele mai importante condiții sunt invarianța funcțiilor selectate în timpul executării unei iterații și a unei respectări stricte la calendarul versiunii următoare, chiar dacă nu va putea implementa întreaga funcționalitate planificată. Managerul de dezvoltare efectuează zilnic 20 de întâlniri numite scrum, rezultatul căruia este rezultatul funcției sistemului implementat pentru ziua precedentă, dificultățile și planul în ziua următoare. Astfel de întâlniri vă permit să urmăriți în mod constant cursul proiectului, să identificați rapid problemele care au apărut și să le răspundă rapid.

Kanban. - Metodologia flexibilă de dezvoltare a software-ului, orientată spre sarcini.

Reguli fundamentale:

Vizualizare de dezvoltare:

o separarea lucrărilor asupra sarcinilor;

o Folosirea marcajului despre poziția sarcinii în dezvoltare;

Restricționarea lucrărilor efectuate simultan în fiecare etapă de dezvoltare;

Măsurarea timpului ciclului (timpul mediu pentru efectuarea unei sarcini) și optimizarea procesului.

Avantajele Kanbanului:

Reducerea numărului de sarcini paralele efectuate reduce semnificativ timpul de execuție al fiecărei sarcini individuale;

Detectarea rapidă a sarcinilor problematice;

Calculul timpului pentru a efectua o sarcină atenționată.

Metoda de dezvoltare a sistemului dinamic (DSDM) a apărut ca urmare a unui consorțiu de 17 companii englezești. Întreaga organizație este angajată în dezvoltarea de beneficii pentru această metodologie, organizarea de cursuri de formare, programe de acreditare etc. În plus, valoarea DSDM are un echivalent în numerar.

Totul începe cu studierea fezabilității programului și a zonei aplicației sale. În primul caz, încercați să înțelegeți dacă DSDM este potrivit pentru acest proiect. Studierea domeniului de aplicare al programului este asumat pe o serie scurtă de seminarii, în care programatorii aflați despre sfera de afaceri pentru care trebuie să lucreze. De asemenea, aceasta discută principalele dispoziții referitoare la arhitectura viitorului sistem și planul de proiect.

Apoi, procesul este împărțit în trei cicluri interdependente: ciclul modelului funcțional este responsabil pentru crearea documentației analitice și a prototipurilor, a ciclului de proiectare și a designului - pentru a aduce sistemul la starea de lucru și, în final, ultimul ciclu este ciclul de implementare - Oferă implementarea sistemului software.

Principiile de bază pe care se construiește DSDM:

Interacțiunea activă cu utilizatorii;

Probleme frecvente ale versiunilor;

Independența dezvoltatorilor în luarea deciziilor;

Testarea în timpul întregului ciclu de lucru.

Ca majoritatea altor metodologii flexibile, DSDM folosește iterații scurte, durată de la două la șase săptămâni fiecare. Accentul special este pus pe o calitate înaltă a muncii și adaptabilității la modificările cerințelor.

Cadrul Microsoft Solutions. (MSF) - Metodologia de dezvoltare a software-ului propusă de Microsoft. MSF se bazează pe experiența practică a Microsoft și descrie procedurile umane și de muncă în procesul de luare a deciziilor.

Concepte de bază și principii ale proceselor MSF:

O singură viziune a proiectului este toate persoanele interesate și pur și simplu participanții la proiect ar trebui să reprezinte în mod clar rezultatul final, scopul proiectului ar trebui să fie clar pentru toată lumea;

Conducerea compromisurilor - căutați compromisuri între resursele proiectului, programul calendaristic și capacitățile realizabile;

Flexibilitate - disponibilitatea pentru schimbarea condițiilor proiectului;

Concentrarea priorităților de afaceri - se concentrează asupra acestei întoarceri și a beneficia de faptul că este de așteptat ca consumatorul să primească;

Promovarea comunicării gratuite în cadrul proiectului;

Crearea de versiuni de bază - Fixarea stării oricărui artefact de proiect, inclusiv cod software, plan de proiect, manual de utilizare, setări de server și modificări ulterioare în mod eficient, analize de proiect.

MSF oferă tehnici dovedite de planificare, proiectare, dezvoltare și implementare a soluțiilor IT de succes. Datorită flexibilității, scalabilității și absenței instrucțiunilor grele, MSF este capabil să satisfacă nevoile unei organizații sau unui grup de proiectare de orice dimensiune. Metodologia MSF este formată din principii, modele și discipline pentru gestionarea personalului, procesele, elementele tehnologice și problemele conexe legate de majoritatea acestor proiecte.

Managementul ciclului de viață al aplicației (ALM) - Dezvoltat și susținut de Borland.

Programare extremă (XP) -Exstrem Programare susținută de comunitatea deschisă a dezvoltatorilor independenți.



Ți-a plăcut articolul? Împărtășește-l