Podmínky pro vývoj softwaru: standardy a šablony

Společně s programováním se objevily technologie vývoje softwaru (software). Stalo se již tradicí, že kombinuje dva postupy: Jak psát algoritmus, který „psaní program“ k rozvoji projektu, a upozorňuje na cestě prvního algoritmu. Pokud program "spouští" počítač, technologie psaní programů "provádí" osobu. Pro počítač chyba v běhu cyklu má fatální následky. K lidské výkonnosti technologického procesu psaní programů - není algoritmus smyčky a spirální rozvoj znalostí a dovedností formalizovat prostor, formulovat problém a vyřešit jej.

Rozsah a účel v něm

Programování v jakémkoli kontextu - je formalizace znalostí a dovedností vývojář (týmu) v relativně přesného algoritmu zaznamenaný v zadání (TOR) pro vývoj softwaru (software) jednoho nebo mnoho programů.


Rozsah je vždy primární. Úkolem je třeba vyřešit, spíše než sekundární, jak těžké může být instalován je samo o sobě výzvou. Porozumění tomu, co dělat, aby to bylo rychle a přesně, je vždy obtížné. Všechny pokusy, jak formovat proces a vytvořit univerzální příklad specifikace pro vývoj softwaru se vždy točilo spirálový pohyb k cíli.
Úkol vždy rafinované, konkretyzuvalasya cíl a funkčnost vyžaduje čas určen pro let.Stavět kosmickou loď, navrhnout obytný dům nebo napsat TK na jaderné ponorce - roky práce, a to i při zohlednění zkušeností mnoha specialistů. To je jasné všem. Veřejné uvědomění si stěží uvědomilo, že psaní programu (softwarového systému) není méně, ale často je mnohem časově náročnější a složitější proces.

Definujte prostor rozhodování.

Rozsah aplikace vždy "ví", co přesně je třeba udělat pro změnu situace k lepšímu, ale specialisté okamžitě nerozumí, jak správně formulovat a implementovat.


Moderní programování přešlo z lokální varianty do síťového "distribuovaného" kontextu. Podstata toho se nezměnila. Co je třeba vzít za základ pro C #, C /C ++ nebo soubor internetových technologií HTML /CSS + javascript /PHP nezáleží. Můžete vytvořit jedinečný assembler pro libovolnou aplikační oblast, ale je to velmi pracovně náročný proces vysoce kvalifikovaných specialistů na úrovni strojového kódu. Software je ztělesněním duševní činnosti specialisty ve statické, hmatatelné verzi. Požadovaná funkčnost je formalizována v logice dialogu, rozhodovacích algoritmů a rozhraní. Prostor pro řešení je nezbytnou funkcí, která popisuje myšlenku nebo implementaci řady požadavků, které zlepšují uživatelskou (zákaznickou, spotřebitelskou) aplikaci.
Úloha vývoje softwaru je v konečném důsledku logika formalizace domény pro výkaz úkolů, stejně jako postupy pro popis, vývoj, implementaci,doprovázet, aktualizovat a ukončit používání informačních systémů pro akumulaci, ukládání a zpracování dat pomocí počítačového vybavení.
Informační systém - obecné označení samostatného programu, programového komplexu, databáze nebo jedinečného algoritmu. Na vstupu, na výstupu je vždy něco, a to je nutné postavit mezi vstupním a výstupním softwarem: formalizovat a implementovat proces zpracování informací.

Účastníci procesu a základní podmínky

Zákazník je fyzická nebo právnická osoba, která má zájem o vývoj informačního systému. Exekutor je fyzická nebo právnická osoba, která je schopna organizovat proces a vytvářet informační systém. Vývojář (tým) - odborník nebo skupina odborníků najatých k provedení celé práce nebo její části.
Vztahy ve vývoji informačního systému jsou postaveny na úrovni Zákazníka - Exekutor: pouze písemná forma v souladu s platnou legislativou a smlouvou. Vývojář - vývojář: pouze písemná forma v souladu se svými obecnými pokyny nebo GOST pro technickou úlohu při vývoji softwaru. Žádný ústní vztah není povolen (není zakázán, ale nedoporučuje se), žádný účastník procesu se nemůže odvolat na dohodu, která není písemně potvrzena. Zákazník a Exekutor jedná v rámci stávajících právních předpisů a uzavřené smlouvy až do úplného provedení povinností. Vývojář je najat Executorem podle potřeby, aby vykonával specifické funkce,úkoly, etapy. Určení kompetencí a složení vývojového týmu - rozsah zájmů a povinností dodavatele.

Vlastnosti TK pro vývoj FOR

Hranice jasnosti! TK je přísný dokument, který jasně definuje, na čem a na jakém základě byl formalizován:
  • počáteční údaje;
  • požadované výsledky a výstupní údaje;
  • zdůvodnění a seznam všech algoritmů, které mají být implementovány.
  • TK je samostatný dokument: pokud uděláte vše, co je v něm zapsáno, pak budou implementovány potřebné funkce a úkol bude vyřešen. Nic mimo místo, nic kontroverzního. Všechny body specifikace pro vývoj softwaru jsou propojeny, systematizovány a přesně formulovány.
    Každá TK pro vývoj (dokonce i nejvíce nenáročný program) - dynamický dokument. Nemůžete to opravit jako něco neměnného. Při programování se inteligence zobrazuje jako zrcadlo. TK - je proces spirálovitého vývoje myšlenek o oblasti aplikace a řešení problémů. Inženýrským úkolem při vývoji softwaru není tužka a list papíru, ale kuličkové pero (inkoust) a balíček rozbitého papíru. S pozdravem vývojáři, kteří se při psaní TK řídí zachováním historie svých myšlenek o rozsahu aplikace a úkolu, který je třeba vyřešit.

    Koncepční reprezentace informačních systémů

    Podmínky pro vývoj softwaru jako příklad koncepčních reprezentací algoritmu, programu, informačního systému, databáze, webového zdroje neboJiný produkt pracující na digitálním počítači se zaměřuje na programovací jazyk, ale specifikace a výběr jazyka nejsou zásadní.

    Vše, co je vyvíjeno (naprogramováno) pro řízení digitálního výpočetního zařízení, je informační systém (algoritmus, program nebo databáze). Informační systém je:
  • výsledek formalizace oblasti aplikace;
  • vyjádření problému pro vývoj algoritmu (systém algoritmů);
  • programování (vývoj);
  • testování (kontrola funkčnosti a přítomnost chyb);
  • provádění (přizpůsobení oblasti použití a revize);
  • údržba (údržba bez změny kódu);
  • aktualizace (upgrade, vytvoření nové verze);
  • ukončení provozu (právní, technické, plánovací).
  • Informační systém je posloupností transformace lidské duševní činnosti:
  • obecné reprezentace systému;
  • formální popis;
  • konkrétní vývoj;
  • systém ověřování funkcí;
  • implementační systém;
  • eskortní systém;
  • systém aktualizace (modernizace);
  • Důvody a důvody ukončení užívání.
  • Vývoj informačního systému provádí dodavatel silami jeho vlastních nebo zapojených odborníků. Autorská práva a vlastnictví v procesu práce na výsledcích etap se provádí v souladu se zákonem a po dohodě se zákazníkem.

    Vývoj TK s vývojem softwaru

    Použití týmu specialistů, nahrazeníodborníci, čas a logiku výkonu určuje Executor. Koncový zákazník funkce při formulaci problému, na implementaci informačních systémů a znovu začíná po realizaci. Zpracování se provádí cyklicky, ale spirála:
  • po testování (účinkující iniciativy);
  • ​​
  • po provedení (z iniciativy zákazníka);
  • s objektivní potřebou aktualizace.
  • Rozvoj informační systém, zaměřený na duševní důsledek lidské činnosti, která je transformována z koncepčního popis aplikace konkrétního produktu.
    Každý stupeň transformace je konstruována tak, aby se zabránilo maximální tuhost konečné provedení poskytují dynamický specifikaci každého bodu, objektů, funkcí, a další. konečného produktu v procesu vývoje. popis konstrukce pro vytváření software a informační systém, jsou statické znázornění výsledků vykonané práce, jak je vidět, nepřesnosti, chyby a poruchy konstrukce nemohou být důvodem pro zdůvodnění nebo prezentaci poškození.

    Vývoj na základě již existujících řešení

    V mnoha případech se používají v různých aplikačních oblastech, mají dlouhou a mnoho zkušeností. Finance, burzy, účetní rozhodnutí, správa elektronických dokumentů, stroje pro numerické řízení a další oblasti. Napsat technickou úlohu pro vývoj softwaru С1 - příklad práce, která je formalizována na základějiž existuje. Je velmi charakteristické, že účetnictví 1C, které vývojáři oznámila jako první a jedinou implementaci integrovaného účetnictví, byly vytvořeny jinými týmy vývojářů v naprosto ostatních softwarových produktech. Je zcela zřejmé, že stávající účetní software není ideální a existující a nové budou vyvinuty. Aktuálnost a skutečná potřeba automatizace výroby a zpracování informací byly technickou úlohou pro vývoj softwarového AIS nezávislého produktu specialisty v oblasti duševní činnosti.
    Na rozdíl od 1C se práce na návrhu TOR pro AIS a nejvíce automatizovaných informačních systémů sami datují do 80. let minulého století, ale problémy se nezmenšily, ale myšlenky se staly mnohem více.

    Vývoj a dynamika klasiky a statiky

    Každý program zachycuje znalosti a dovednosti vývojářů (autorů). Zákazníci a programoví projektoví manažeři mohou přispět k TK a výslednému BAT, ale konkrétní programátoři již dříve předali svůj statický kód myšlenky (znalosti a dovednosti). Dokonce i když se program může dynamicky přizpůsobovat změnám v aplikaci, moderní programovací technologie mu neumožňují překročit vnímání programátorů mimo rozsah implementace (řešení) úkolu.
    Je-li omezování moderních informačních technologií určeno jako základní faktor, pak proces vytváření TOR a výsledného PO bude vypadat jako postupné budování funkčního. Programování neníjediný fakt: napsaný TOR vytvořeným certifikačním úřadem a proces je dokončen. Další možnost: zapsáno, hotovo a vše začalo jako první. Ideální - není tolik psát program a specifikovat, jak to udělat, ale vytvořit tým vývojářů programů a zlepšit jejich znalosti a dovednosti.

    Související publikace