Pogoji za razvoj programske opreme: standardi in predloge

Tehnologije razvoja programske opreme (programske opreme) so se pojavile skupaj s programiranjem. Postala je tradicija kombiniranja dveh postopkov: kako napisati algoritem o tem, kako "napisati program", da bi razvili ta projekt, pri čemer smo določili v okviru prvega algoritma. Če program "izvrši" računalnik, tehnologija pisanja programov "opravi" osebo. Pri računalniku ima napaka v ciklu delovanja usodne posledice. Za osebo proces pisanja tehnologije ni cikel in ne algoritem, temveč spirala razvoja znanja in zmožnost formalizirati področje uporabe, oblikovati naloge in jo rešiti.

Obseg in namen v njem

Programiranje v katerem koli kontekstu je formaliziranje znanja in spretnosti razvijalca (ekipe) v relativno natančnem algoritmu, zapisanega v obliki tehnične naloge (TOR) za razvoj programske opreme (programske opreme) ene ali veliko programov.


Področje uporabe je vedno primarno. Naloga, ki jo je treba rešiti, ni toliko sekundarna, kako težko jo je mogoče postaviti in sama po sebi je naloga. Vedno je težko razumeti, kaj storiti, da bi to storili hitro in natančno. Vsi poskusi formaliziranja procesa in ustvarjanje univerzalnega primera tehnične naloge za razvoj programske opreme so se vedno obrnili na cilj.
Besedilo naloge je bilo vedno pojasnjeno, namen je bil določen in zahtevana funkcionalnost je bila včasih določena po letih.Graditi vesoljsko plovilo, oblikovati stanovanjsko hišo ali napisati TK na jedrski podmornici - leta dela, tudi ob upoštevanju izkušenj številnih strokovnjakov. To je vsem jasno. Javna zavest se skoraj ni zavedla, da pisanje programa (programski sistem) ni manj, ampak pogosto veliko bolj zamuden in zapleten proces.

Določite prostor odločitev

Področje uporabe vedno "ve", kaj natančno je treba storiti, da bi spremenili stanje na bolje, vendar specialist ne razume takoj, kako ga pravilno oblikovati in izvajati.


Sodobno programiranje je iz lokalne različice prešlo v mrežni "porazdeljeni" kontekst. Bistvo tega se ni spremenilo. Kaj naj vzamemo kot podlago za C #, C /C ++ ali niz internetnih tehnologij HTML /CSS + javascript /PHP ni pomembno. Ustvarite lahko edinstven asembler za vsako področje uporabe, vendar je to zelo delovno intenziven proces visoko usposobljenih strokovnjakov na ravni strojne kode. Programska oprema je utelešenje duševne dejavnosti strokovnjaka v statični, otipljivi različici. Zahtevana funkcionalnost je formalizirana v logiki dialoga, algoritmov odločanja in vmesnika. Prostor rešitve je nujna funkcija, ki opisuje idejo ali izvajanje vrste zahtev, ki izboljšujejo uporabniško (stranko, potrošnika) aplikacijo.
Naloga razvoja programske opreme je na koncu logika formalizacije domene za izjavo o nalogi, pa tudi postopki za opisovanje, razvoj, izvajanje,spremljanje, posodabljanje in prekinitev uporabe informacijskih sistemov za zbiranje, shranjevanje in obdelavo podatkov prek računalniške opreme.
Informacijski sistem - splošna oznaka ločenega programa, programskega sklopa, baze podatkov ali enotnega algoritma. Vedno obstaja nekaj na vhodu, na izhodu in potrebno je konstruirati, kaj je med vhodnimi in izhodnimi - programska oprema: formalizirati in izvajati postopek obdelave informacij.

Udeleženci postopka in bistveni pogoji

Stranka je fizična ali pravna oseba, ki se zanima za razvoj informacijskega sistema. Izvršitelj je fizična ali pravna oseba, ki je sposobna organizirati proces in izdelati informacijski sistem. Razvijalec (ekipa) - strokovnjak ali skupina strokovnjakov, ki so zaposleni za opravljanje dela ali dela.
Odnosi pri razvoju informacijskega sistema so zgrajeni na ravni naročnika - izvajalca: le pisna oblika v skladu z veljavno zakonodajo in pogodbo. Razvijalec - razvijalec: samo pisna oblika v skladu s svojimi splošnimi smernicami ali GOST za tehnično nalogo za razvoj programske opreme. Ustni odnos ni dovoljen (ni prepovedano, vendar ni priporočljivo), noben udeleženec v postopku se ne more sklicevati na sporazum, ki ni pisno potrjen. Naročnik in Izvajalec delujeta v okviru veljavne zakonodaje in sklenjenega sporazuma do popolne izpolnitve obveznosti. Izvajalec je najel izvajalca, če je to potrebno za opravljanje določenih funkcij,naloge, faze. Določitev pristojnosti in sestave razvojne skupine - obseg interesov in odgovornosti izvajalca.

Značilnosti TK za razvoj ZA

Jasnost meje! TK je strog dokument, ki jasno opredeljuje, kaj in na kakšni osnovi je bil formaliziran:
  • začetni podatki;
  • zahtevani rezultati in izhodni podatki;
  • utemeljitev in seznam vseh algoritmov, ki jih je treba izvesti.
  • TK je samostojen dokument: če naredite vse, kar je napisano v njem, se bo izvedla potrebna funkcionalnost in naloga bo rešena. Nič neprimernega, nič spornega. Vse točke specifikacije za razvoj programske opreme so med seboj povezane, sistematizirane in natančno formulirane.
    Vsak TK za razvoj (tudi najbolj nezahteven program) - dinamičen dokument. Ne moreš ga popraviti kot nekaj nespremenljivega. Pri programiranju je inteligenca prikazana kot ogledalo. TK - je proces spiralnega razvoja idej o področju uporabe in rešljivega problema. Inženirska naloga za razvoj programske opreme ni svinčnik in list papirja, temveč kemični svinčnik (črnilo) in paket razvajenega papirja. S spoštovanjem, razvijalci, ki pri pisanju TK vodijo ohranjanje zgodovine svojih idej o obsegu uporabe in rešitvi naloge.

    Konceptualna predstavitev informacijskih sistemov

    Pogoji za razvoj programske opreme kot primer konceptualnih predstavitev o algoritmu, programu, informacijskem sistemu, bazi podatkov, spletnem viru aliDrug izdelek, ki deluje na digitalnem računalniku, se osredotoča na programski jezik, vendar specifikacija in izbira jezika nista bistvena.

    Vse, kar se razvija (programira) za krmiljenje digitalne računalniške naprave, je informacijski sistem (algoritem, program ali baza podatkov). Informacijski sistem je:
  • rezultat formalizacije področja uporabe;
  • navedba problema za razvoj algoritma (sistem algoritmov);
  • programiranje (razvoj);
  • testiranje (preverjanje funkcionalnosti in prisotnost napak);
  • izvajanje (prilagoditev področju uporabe in revizije);
  • vzdrževanje (vzdrževanje brez spremembe kode);
  • posodobitev (nadgradnja, izdelava nove različice);
  • prenehanje delovanja (pravno, tehnično, načrtovanje).
  • Informacijski sistem je zaporedje transformacije človeške miselne dejavnosti:
  • splošna sistemska reprezentacija;
  • formalni opis;
  • poseben razvoj;
  • sistem za preverjanje delovanja;
  • izvedbeni sistem;
  • sistem spremstva;
  • sistem posodabljanja (nadgradnje);
  • Razlogi in razlogi za prenehanje uporabe.
  • Razvoj informacijskega sistema izvaja izvajalec s strani lastnih ali vključenih strokovnjakov. Avtorska pravica in lastništvo v procesu dela na rezultatih etap sta v skladu z zakonom in v dogovoru s stranko.

    Razvoj TK z razvojem programske opreme

    Uporaba skupine strokovnjakov, nadomestitevstrokovnjaki, čas in logiko delovanja določi izvajalec. Funkcije stranke se končajo v fazi postavitve naloge, pred uvedbo informacijskega sistema in se znova začnejo po implementaciji. Razvoj poteka ciklično, toda v spirali:
  • po testiranju (pobuda umetnika);
  • ​​
  • po izvedbi (pobuda stranke);
  • z objektivno potrebo po posodobitvi.
  • Razvoj informacijskega sistema vodi rezultat človekove miselne dejavnosti, ki se preoblikuje iz konceptualnega opisa področja uporabe v določenem izdelku.
    Vsaka stopnja preoblikovanja je zgrajena tako, da se čim bolj izogne ​​togosti končnih struktur, da zagotovi dinamično izpopolnitev vsakega elementa tega, objektov, funkcij in drugih. končnega izdelka v procesu razvoja. Razvoj tehnične naloge za izdelavo programske opreme in ustvarjen informacijski sistem sta statična predstavitev o rezultatih opravljenega dela, zaznanega kot obstoječe, nastalih netočnosti, napak in napak pri načrtovanju ne morejo biti osnova za utemeljitev ali predstavitev kakršnekoli škode.

    Razvoj na podlagi že uveljavljenih rešitev

    Programska oprema se v mnogih primerih uporablja za različne aplikacije aplikacij že dolgo časa in nabira ogromne izkušnje. Finance, borze, računovodske odločitve, elektronsko upravljanje dokumentov, stroji za numerično krmiljenje in druga področja. Napisati tehnično nalogo za razvoj programske opreme С1 - primer dela, ki je formaliziran na osnoviže obstoječe. Zelo je značilno, da je računovodstvo 1C, ki so ga napovedali razvijalci kot prvo in edino izvajanje integriranega računovodstva, ustvarili drugi timi razvijalcev v popolnoma drugih programskih izdelkih. Očitno je, da obstoječa računovodska programska oprema ni idealna, razviti pa bodo obstoječe in nove. Aktualnost in resnična potreba po avtomatizaciji proizvodnje in obdelave informacij sta tehnični nalogi za razvoj programske opreme AIS neodvisnega produkta strokovnjaka za duševno dejavnost.
    Za razliko od 1C, delo na oblikovanju TOR za AIS in najbolj avtomatiziranih informacijskih sistemih sega v osemdeseta leta prejšnjega stoletja, problemi pa se niso zmanjšali, vendar so ideje postale veliko bolj.

    Razvoj in dinamika proti klasiki in statiki

    Vsak program zajema znanje in spretnosti razvijalcev (avtorjev). Stranke in vodje projektnih projektov lahko prispevajo k TK in posledični BAT, vendar so specifični programerji že predali svoje misli (znanje in spretnosti) statični kodi. Tudi kadar se program lahko dinamično prilagaja spremembam v aplikaciji, sodobne tehnologije programiranja ne dovoljujejo, da bi presegel zaznavo programerjev, ki presegajo obseg izvajanja (rešitve) naloge.
    Če je omejitev sodobne informacijske tehnologije določena kot temeljni dejavnik, potem bo proces ustvarjanja tradicionalnih lastnih sredstev in iz tega izhajajočega OP-ja videti kot postopno povečanje funkcionalnosti. Programiranje nieno samo dejstvo: napisano v tradicionalnih lastnih sredstvih, ki jih je ustvaril pristojni organ in je postopek končan. Druga možnost: napisano, opravljeno in vse začelo najprej. Idealno - ne toliko za pisanje programa in določanje, kako to storiti, ampak za oblikovanje skupine razvijalcev programov in izboljšanje njihovega znanja in spretnosti.

    Sorodne publikacije