Podmienky pre vývoj softvéru: štandardy a šablóny

Programy na vývoj softvéru (softvér) sa objavili spolu s programovaním. Stalo sa už tradíciou, že kombinuje dva postupy: Ako písať algoritmus, ktorý "písanie program" k rozvoju projektu, a upozorňuje na ceste prvej algoritmu. Ak program "spúšťa" počítač, technológia písania programov "vykonáva" osobu. Pre počítač chyba v spustenom cykle má fatálne dôsledky. K ľudskej výkonnosti technologického procesu písania programov - nie je algoritmus slučky a špirálové rozvoj vedomostí a zručností formalizovať priestorov, formulovať problémy a vyriešiť ho.

Rozsah a účel v ňom

Programovanie v akomkoľvek kontexte - je formalizácia znalostí a zručností vývojár (tímu) v relatívne presného algoritmu zaznamenaný v zadaní (TOR) pre vývoj softvéru (software) jedného alebo veľa programov.


Rozsah použitia je vždy primárny. Úloha, ktorá sa má vyriešiť, nie je tak ďalšia, aká ťažká sa dá nastaviť a je sama o sebe úlohou. Pochopenie toho, čo robiť, aby ste to urobili rýchlo a presne, je vždy ťažké. Všetky pokusy, ako formovať proces a vytvoriť univerzálny príklad špecifikácie pre vývoj softvéru sa vždy točilo špirálový pohyb k cieľu.
Úloha vždy rafinované, konkretyzuvalasya cieľ a funkčnosť vyžaduje čas určený pre rokov.Vyrobiť kozmickú loď, navrhnúť obytný dom alebo napísať TK na jadrovú ponorku - roky práce, a to aj so zreteľom na skúsenosti mnohých špecialistov. To je pre všetkých jasné. Verejné vedomie sa sotva uvedomilo, že písanie programu (softvérového systému) nie je menšie, ale často je to oveľa časovo náročnejší a zložitý proces.

Definujte priestor rozhodovania.

Rozsah aplikácie vždy "vie", čo presne je potrebné urobiť, aby sa zmenila situácia k lepšiemu, ale špecialista okamžite nerozumie tomu, ako správne formulovať a implementovať.


Moderné programovanie prešlo z lokálneho variantu do sieťového "distribuovaného" kontextu. Podstata toho sa nezmenila. Čo treba brať ako základ pre C #, C /C ++ alebo súbor internetových technológií HTML /CSS + javascript /PHP nezáleží. Môžete vytvoriť jedinečný assembler pre každú aplikačnú oblasť, ale je to veľmi pracovne náročný proces vysoko kvalifikovaných špecialistov na úrovni strojového kódu. Softvér je stelesnením duševnej činnosti špecialistu v statickej, hmatateľnej verzii. Požadovaná funkčnosť je formalizovaná v logike dialógu, rozhodovacích algoritmov a rozhrania. Priestor riešenia je nevyhnutnou funkciou, ktorá opisuje myšlienku alebo implementáciu celého radu požiadaviek, ktoré zlepšujú užívateľskú (zákaznícku, spotrebiteľskú) aplikáciu.
Úloha vývoja softvéru je v konečnom dôsledku logika formalizácie domény pre vyhlásenie o úlohe, ako aj postupy popisovania, vývoja, implementácie,sprievod, aktualizáciu a ukončenie používania informačných systémov na zhromažďovanie, uchovávanie a spracovanie údajov prostredníctvom počítačového vybavenia.
Informačný systém - všeobecné označenie samostatného programu, programového komplexu, databázy alebo jedinečného algoritmu. Na vstupe, na produkte je vždy niečo, čo je potrebné na vytvorenie toho, čo je medzi vstupom a výstupom - softvér: formalizovať a implementovať proces spracovania informácií.

Účastníci procesu a základné podmienky

Zákazník je fyzická alebo právnická osoba, ktorá má záujem o rozvoj informačného systému. Exekútor je fyzická alebo právnická osoba, ktorá je schopná organizovať proces a vytvoriť informačný systém. Vývojár (tím) - odborník alebo skupina odborníkov, ktorí sa najali na vykonávanie celej práce alebo jej časti.
Vzťahy pri vývoji informačného systému sú postavené na úrovni Zákazníka - Exekútora: iba písomná forma v súlade s platnou legislatívou a zmluvou. Vývojár - vývojár: iba písomná forma v súlade so svojimi vlastnými všeobecnými pokynmi alebo GOST pre technickú úlohu pre vývoj softvéru. Žiadny ústny vzťah nie je povolený (nie je zakázané, ale neodporúča sa), žiadny účastník procesu nemôže odkázať na dohodu, ktorá nie je písomne ​​potvrdená. Objednávateľ a Exekútor konajú v rámci platných právnych predpisov a uzatvorenej dohody až do úplného plnenia záväzkov. Vývojár je najatý Exekútorom podľa potreby na vykonávanie špecifických funkcií,úlohy, etapy. Určenie spôsobilosti a zloženia vývojového tímu - rozsah záujmov a zodpovedností dodávateľa.

Vlastnosti TK pre vývoj FOR

Hranica jasnosti! TK je prísny dokument, ktorý jasne definuje, čo a na akom základe bol formalizovaný:
  • počiatočné údaje;
  • požadované výsledky a výstupné údaje;
  • zdôvodnenie a zoznam všetkých algoritmov, ktoré sa majú implementovať.
  • TK je samostatný dokument: ak urobíte všetko, čo je v ňom napísané, potom sa vykonajú potrebné funkcie a úloha sa vyrieši. Nič mimo miesta, nič kontroverzné. Všetky body špecifikácie vývoja softvéru sú prepojené, systematizované a presne formulované.
    Každá TK pre vývoj (aj ten najneprestížnejší program) - dynamický dokument. Nemôžete to opraviť ako niečo nezmeniteľné. Pri programovaní sa inteligencia zobrazuje ako zrkadlo. TK - je proces špirálovitého vývoja myšlienok týkajúcich sa oblasti aplikácie a riešiteľného problému. Inžinierska úloha pre vývoj softvéru nie je ceruzkou a listom papiera, ale guličkovým perom (atramentom) a balíkom rozmaznaného papiera. S pozdravom tých vývojárov, ktorí sa pri písaní TK riadia uchovaním histórie svojich myšlienok o rozsahu aplikácie a úlohe, ktorú treba vyriešiť.

    Koncepčné zastúpenie informačných systémov

    Podmienky pre vývoj softvéru ako príklad koncepčných reprezentácií o algoritme, programe, informačnom systéme, databáze, webovom zdroji aleboĎalší produkt, pracujúci na digitálnom počítači, sa zameriava na programovací jazyk, ale špecifikácia a výber jazyka nie je podstatný.

    Všetko, čo sa vyvíja (naprogramuje) na riadenie digitálneho počítačového zariadenia, je informačný systém (algoritmus, program alebo databáza). Informačný systém je:
  • výsledok formalizácie aplikačnej oblasti;
  • vyjadrenie problému vývoja algoritmu (systém algoritmov);
  • programovanie (vývoj);
  • testovanie (kontrola funkčnosti a prítomnosť chýb);
  • vykonávanie (prispôsobenie oblasti použitia a revízie);
  • údržba (údržba bez zmeny kódu);
  • aktualizácia (inovácia, vytvorenie novej verzie);
  • ukončenie činnosti (právne, technické, plánovanie).
  • Informačný systém je sledom transformácie duševnej činnosti človeka:
  • všeobecné systémové zastúpenie;
  • formálny popis;
  • špecifický vývoj;
  • systém overovania funkcií;
  • implementačný systém;
  • eskortný systém;
  • systém aktualizácie (modernizácia);
  • Dôvody a dôvody ukončenia používania.
  • Vývoj informačného systému vykonáva dodávateľ silami jeho vlastných alebo zainteresovaných odborníkov. Autorské práva a vlastníctvo v procese práce na výsledkoch fázy sa robia v súlade so zákonom a po dohode so zákazníkom.

    Vývoj TK s vývojom softvéru

    Použitie tímu špecialistov, náhradaodborníkov, čas a logiku výkonu určuje Exekútor. Funkcie zákazníka končia vo fáze nastavenia úlohy pred zavedením informačného systému a opäť sa začnú po implementácii. Vývoj sa uskutočňuje cyklicky, ale vo špirále:
  • po testovaní (iniciatíva umelca);
  • ​​
  • po implementácii (iniciatíva zákazníka);
  • s objektívnou potrebou aktualizácie.
  • Vývoj informačného systému sa riadi výsledkom duševnej činnosti človeka, ktorý sa transformuje z koncepčného opisu oblasti použitia v konkrétnom výrobku.
    Každý stupeň transformácie je konštruovaná tak, aby sa zabránilo maximálnu tuhosť konečné prevedenie poskytujú dynamický špecifikáciu každého bodu, objektov, funkcií, a ďalšie. konečný produkt v procese vývoja. opis konštrukcie pre vytváranie softvér a informačný systém, sú statické znázornenie výsledkov vykonanej práce, ako je vidieť, nepresnosti, chyby a poruchy konštrukcie nemôžu byť dôvodom pre zdôvodnenie alebo prezentáciu poškodenia.

    Vývoj na základe už zavedených riešení

    Softvér sa v mnohých prípadoch používa v rôznych aplikáciách aplikácií dlhú dobu a má bohaté skúsenosti. Financie, burzy, účtovné rozhodnutia, správa elektronických dokumentov, stroje na numerické riadenie a iné oblasti. Napísať technickú úlohu pre vývoj softvéru С1 - príklad práce, ktorá je formalizovaná na základeuž existuje. Je veľmi charakteristické, že účtovníctvo 1C, ktoré vývojári oznámili ako prvú a jedinú implementáciu integrovaného účtovníctva, vytvorili ďalšie tímy vývojárov v úplne ostatných softvérových produktoch. Je dosť zrejmé, že existujúci účtovný softvér nie je ideálny a existujúci a nový sa bude rozvíjať. Aktuálnosť a skutočná potreba automatizácie výroby a spracovania informácií boli technickou úlohou pre vývoj softwarového AIS nezávislého produktu špecialistu na duševné aktivity.
    Na rozdiel od 1C konštrukcie TOR pre AIS a vlastne väčšina automatizované informačné systémy siahajú až do začiatku 80. rokov minulého storočia, avšak problémy z nezmenšila, a nápady oveľa viac.

    Vývoj a dynamika klasiky a statiky

    Každý program zachycuje vedomosti a zručnosti vývojárov (autorov). Zákazníci a manažéri softvérové ​​projekty môžu prispieť k výslednému vozidlá a pre, ale programátori stále nesú určité myšlienky (vedomosti a zručnosti) statické kódu. Iv prípade, že program môže dynamicky prispôsobovať zmenám v používaní moderných programovacích techník nedávajú mu možnosť ísť nad rámec softvéru galantérny vykonané mimo implementačnej (rozhodnutie) úloha.
    V prípade, že obmedzenie moderných informačných technológií definovaných ako zásadný faktor, proces tvorby a výsledného vozidlo vyzerá postupné zvýšenie funkčnosti. Programovanie nie jejediný fakt: napísaný TOR vytvorený CA a proces je dokončený. Ďalšia možnosť: písomné, hotové a začali všetko najskôr. Ideálne - nie je toľko napísať program a špecifikovať, ako to urobiť, ale vytvoriť tím vývojárov programov a zlepšiť ich vedomosti a zručnosti.

    Súvisiace publikácie