Știință de programare

Alexey V. Pastukhov

Programarea o știință sau o artă? Această întrebare-limită de vârstă, care a fost întrebat atât de multe ori, și încă nu are nici un răspuns clar. Și totuși, vom încerca să răspundă la această întrebare mai convingător mene.

ciclului de viață al software-ului

Să începem cu un aspect clar toate punctele de vedere cu ciclul de viață software și cu o întrebare destul de filozofică - de ce avem nevoie de program și că există o măsură a corectitudinii activității lor.

Scrierea orice program începe cu necesitatea de a rezolva problema. În acest caz, vor fi abordate orice probleme, chiar și cele care în prezent nu pot fi rezolvate prin software-ul. În baza necesității de rezolvare a problemei problema este formulată. Măsura corectitudinea programului este o soluție completă pentru problema care a generat necesitatea de a scrie un program. Mai mult decât atât, în acest caz, ceea ce înseamnă că este o soluție completă a problemei, ceea ce înseamnă că utilizatorii care nu sunt o soluție la această problemă. Ciclul de viață total, oarecum avansat în raport cu specificațiile standard, va fi după cum urmează:
Nevoia de rezolvare a problemei Declarația a problemei de proiectare Testare Software Operațiunea de lansare Suport Soluția completă

Sistem de dezvoltare de software

Să considerăm un lanț în ceea ce privește nașterea vieții și a morții, programarea în sine și că există programare în lanțul selectat. Ce este în acest lanț va exista pentru totdeauna, și care dispare cu timpul. Pentru a face acest lucru, vom introduce conceptul de un design abstract al sistemului, care constă în prezent dintr-o echipă de dezvoltatori.

Categoric cea mai lungă de viață în acest lanț va avea un utilizator cu nevoile lor în rezolvarea oricărei probleme. În cazul interacțiunii cu utilizatorul perfectă de design de sistem doar vag formulat problema (și în mod ideal, nu-l formulează). După aceea, dezvoltarea sistemului creează automat o soluție completă. fără apeluri suplimentare pentru utilizator. Mai mult decât atât, sistemul ideal, creează o soluție completă pentru minim, aproape de momentul zero. Desigur, acest tip de soluție implică absența persoanelor în procesul de rezolvare a problemei, și anume lipsa de programatori în sine. Acest lucru poate fi considerat ca o moarte disciplină de inginerie software-ul (și triumful sistemelor de inteligență artificială).

Soluție de inginerie, o soluție științifică, art. Ce este ceea ce.

disciplina Inginerie presupune aplicarea unor metode cunoscute pentru soluția de subactivități. Inginerie sugerează că fiecare ciclu în dezvoltarea programului este executat pe o procedură specifică conform căreia performanța lucrărilor site-ului se face pentru timpul prezis cu rezultatul prezis este în funcție de sarcina.

Programarea științifică reduce timpul tuturor fazelor de inginerie pentru a satisface nevoile utilizatorului, îmbunătățirea calității muncii prestate. Idealul de programare științifică este tocmai crearea de metode pentru a satisface nevoile utilizatorului, care reduce intervenția umană la minimum în fazele individuale ale procesului de programare (și pe parcursul întregului proces), și în mod ideal elimină toate persoanele implicate în procesul de rezolvare a problemei. Acesta este programul de știință este generatorul de abordare a disciplinei de inginerie software. Punctul culminant al programării științei este o revărsare de discipline de la știință la programarea artelor. Și acest lucru se întâmplă într-un moment în care însăși existența nevoii de programare știință va dispărea complet, deoarece utilizarea automată a unor proceduri complexe vor fi pe deplin rezolva problemele utilizatorilor, fără participarea oamenilor (inclusiv procesul de stabilire a procedurilor în sine). Iar arta in sine va implica o combinație de tehnici existente pentru a produce creații unice. Poate că acest proces va fi asociat cu formarea sistemelor automate (de exemplu, mai mult ca oamenii proces de educație decât de programare în acest sens).

Acum vom încerca să determine conceptul cel mai abstract în programare - care este arta de programare. Cu siguranță acest lucru este ceva care nu poate fi automatizat, adică aplicarea deduce orice tehnică. Conceptul de artă este strâns legată de personalitatea umană, care dă un element unic în lucrările oamenilor. Dacă luăm în considerare tehnicile moderne de programare, reglarea totul, veți observa că acestea vizează în principal îndepărtarea elementelor de imprevizibilitate și originalitate a procesului de programare (un exemplu bun - specificații pentru software-ul de formatare a textului). În principiu, conceptul de artă există mai multe dintre programatori ei înșiși în termeni de soluție elegantă a oricărei probleme. Utilizatorul vede același sistem doar vârful aisbergului - interfața cu utilizatorul, iar utilizatorul este interesat în rezolvarea plinătatea misiunii sale. Și asta lasă loc pentru programare arte.

Printre programatori ca arta ar trebui să fie văzut diferențe în metodele utilizate și combinarea acestora. Adică, trebuie să fie alocată ca arta de programare.

Toate cele de mai sus pot fi reprezentate grafic:

Și aceeași reducere a costurilor?

Costul deciziei finale depinde în primul rând de complexitatea intensitate * cercetare.

concluzie

Potrivit Sugestia ar trebui considerată ca rezultat științific al tehnologiei sau tehnici care pot reduce timpul petrecut procesul de rezolvare a problemelor in orice faza de inginerie a procesului de programare, de la infinit (problemă rezolvată anterior) a propus, determină suma (soluții de automatizare completă) la zero.

Ingineria este procesul de aplicare a tehnicilor existente în contextul unei anumite sarcini, care este linia de jos. dovada directă a corectitudinii rezultatelor științifice în programarea este aplicarea sa de inginerie, în care a reușit să reducă la minimum timpul pentru rezolvarea problemei. În plus, pot exista alte dovezi de rezultate științifice care simulează o soluție de inginerie (dovada matematică sau model), în cazul în care rezultatele practice este imposibilă din cauza limitărilor obiective.

Puterea Ant este un software de control prin portul RS-232 14 și mai multe dispozitive externe cu un calculator. În aer liber, text, protocol bine documentat. electrice de control potrebyaemoy putere de până la 200W. Vrei să gestioneze lumea reală, chiar și de la MS Excel.

articole similare