Zakres uprawnień dla rozwoju oprogramowania: standardy i szablony

Pojawiły się technologie programistyczne (oprogramowanie) wraz z programowaniem. Stało się już tradycją połączenie dwóch procedur: Jak napisać algorytm, że „pisanie programu” rozwijania projektu, zauważając po drodze pierwszego algorytmu. Jeśli program "wykonuje" komputer, technologia pisania programów "wykonuje" osobę. W przypadku komputera błąd w cyklu uruchamiania ma fatalne konsekwencje. Dla ludzkiego procesu technologicznego wydajność programów pisanie - to nie algorytm pętlę i spirala rozwoju wiedzy i umiejętności, aby sformalizować zakres, formułuje problem i go rozwiązać.

Zakres i cel w nim

Programowanie w dowolnym kontekście - to formalizacja wiedzy i umiejętności dewelopera (zespół) w stosunkowo precyzyjnego algorytmu zapisanego w specyfikacji istotnych warunków zamówienia (SIWZ) dla rozwoju oprogramowania (software) jeden lub wiele programów.


Zakres zastosowania jest zawsze najważniejszy. Zadanie do rozwiązania nie jest tak bardzo drugorzędne, jak trudno jest je ustawić, a samo w sobie jest zadaniem. Zrozumienie, co zrobić, aby zrobić to szybko i dokładnie, jest zawsze trudne. Wszelkie próby sformalizowania procesu i stworzenia uniwersalnego przykładu technicznego zadania dla rozwoju oprogramowania zawsze zamieniły się w spiralę do celu.
Zadanie zawsze rafinowane, celem konkretyzuvalasya i funkcjonalność wymagany czas określony dla lat.Aby zbudować statek kosmiczny, zaprojektować dom mieszkalny lub napisać TK na atomowej łodzi podwodnej - lata pracy, nawet biorąc pod uwagę doświadczenie wielu specjalistów. Jest to jasne dla wszystkich. Świadomość publiczna nie zdawała sobie sprawy, że pisanie programu (systemu oprogramowania) nie jest mniejszym, ale często znacznie bardziej czasochłonnym i złożonym procesem.

Zdefiniuj przestrzeń decyzji

Zakres aplikacji zawsze "wie", co dokładnie należy zrobić, aby zmienić sytuację na lepsze, ale specjalista nie od razu wie, jak poprawnie ją sformułować i wdrożyć.


Nowoczesne programowanie przeszło z wersji lokalnej do sieciowej "rozproszonej". Istota tego się nie zmieniła. Co wziąć za podstawę C #, C /C ++ lub zestaw technologii internetowych HTML /CSS + javascript /PHP nie ma znaczenia. Możesz stworzyć unikalny asembler dla dowolnego obszaru aplikacji, ale jest to bardzo pracochłonny proces wysoko wykwalifikowanych specjalistów na poziomie kodu maszynowego. Oprogramowanie jest ucieleśnieniem umysłowej aktywności specjalisty w statycznej, dotykalnej wersji. Wymagana funkcjonalność jest sformalizowana w logice dialogu, algorytmów decyzyjnych i interfejsu. Przestrzeń rozwiązania jest niezbędną funkcją opisującą pomysł lub implementację szeregu wymagań, które poprawiają aplikację użytkownika (klienta, konsumenta).
Zadaniem tworzenia oprogramowania jest ostatecznie logika formalizacji domeny dla zadania, a także procedury opisywania, rozwijania, wdrażania,towarzyszyć, aktualizować i kończyć korzystanie z systemów informatycznych do gromadzenia, przechowywania i przetwarzania danych za pośrednictwem sprzętu komputerowego.
System informacyjny - uogólnione oznaczenie odrębnego programu, kompleksu programu, bazy danych lub unikalnego algorytmu. Zawsze jest coś na wejściu, na wyjściu, i konieczne jest skonstruowanie tego, co jest pomiędzy wejściem a wyjściem - oprogramowanie: sformalizować i zaimplementować procedurę przetwarzania informacji.

Uczestnicy procesu i warunki podstawowe

Klient jest osobą fizyczną lub prawną zainteresowaną opracowaniem systemu informacyjnego. Wykonawca jest osobą fizyczną lub prawną, która jest w stanie zorganizować proces i stworzyć system informacyjny. Deweloper (zespół) - ekspert lub grupa specjalistów zatrudnionych do wykonywania całości lub części pracy.
Relacje w rozwoju systemu informacyjnego budowane są na poziomie Zamawiającego - Wykonawcy: tylko w formie pisemnej zgodnie z obowiązującym prawem i umową. Deweloper - programista: tylko pisemna forma zgodnie z własnymi ogólnymi wytycznymi lub GOST dla zadania technicznego dla rozwoju oprogramowania. Żadne ustne relacje nie są dozwolone (nie zabronione, ale niezalecane), żaden uczestnik procesu nie może odnieść się do umowy, nie potwierdzonej na piśmie. Klient i Wykonawca będą działać w ramach obowiązującego ustawodawstwa i zawartej umowy do czasu pełnej realizacji zobowiązań. Programista jest wynajęty przez Executora jako niezbędny do wykonywania określonych funkcji,zadania, etapy. Określenie kompetencji i składu zespołu developerskiego - zakres zainteresowań i odpowiedzialności Wykonawcy.

Cechy TK dla rozwoju FOR

Granica jasności! TK jest rygorystycznym dokumentem, który wyraźnie określa, co i na jakiej podstawie zostało sformalizowane:
  • dane początkowe;
  • wymagane wyniki i dane wyjściowe;
  • uzasadnienie i lista wszystkich algorytmów, które należy wdrożyć.
  • TK jest samodzielnym dokumentem: jeśli zrobisz wszystko, co jest w nim napisane, niezbędna funkcjonalność zostanie zaimplementowana, a zadanie zostanie rozwiązane. Nic nie na miejscu, nic kontrowersyjnego. Wszystkie punkty specyfikacji oprogramowania są wzajemnie połączone, usystematyzowane i precyzyjnie sformułowane.
    Dowolna TK dla rozwoju (nawet najbardziej bezpretensjonalny program) - dokument dynamiczny. Nie możesz tego naprawić jako niezmiennego. W programowaniu inteligencja jest wyświetlana jako lustro. TK - to proces spiralnego kształtowania pomysłów dotyczących dziedziny zastosowania i rozwiązywanego problemu. Zadaniem inżynierskim przy tworzeniu oprogramowania nie jest ołówek i kartka papieru, ale długopis (tusz) i paczka zepsutego papieru. Z poważaniem twórcy, którzy pisząc TK, kierują się zachowaniem historii swoich pomysłów na temat zakresu aplikacji i rozwiązywanego zadania.

    Konceptualna reprezentacja systemów informacyjnych

    Kompetencje w zakresie tworzenia oprogramowania jako przykład pojęciowych reprezentacji dotyczących algorytmu, programu, systemu informacyjnego, bazy danych, zasobu sieciowego lubInny produkt, pracujący na komputerze cyfrowym, koncentruje się na języku programowania, ale specyfikacja i wybór języka nie są fundamentalne.

    Wszystkie rozwinięte (zaprogramowane) do zarządzania cyfrową urządzeń komputerowych - system informacyjny (program algorytm lub bazy danych). System informacyjny to:
  • wynik formalizacji obszaru zastosowania;
  • stwierdzenie problemu dotyczącego opracowania algorytmu (system algorytmów);
  • programowanie (rozwój);
  • testowanie (sprawdzanie funkcjonalności i obecność błędów);
  • wdrożenie (dostosowanie do zakresu stosowania i zmiany);
  • konserwacja (konserwacja bez zmiany kodu);
  • aktualizacja (aktualizacja, stworzenie nowej wersji);
  • zaprzestanie działalności (prawne, techniczne, planowanie).
  • System informacyjny jest sekwencją przekształcania ludzkiej aktywności umysłowej:
  • ogólną reprezentację systemu;
  • formalny opis;
  • rozwój specyficzny;
  • system weryfikacji funkcji;
  • system wdrażania;
  • system towarzyszący;
  • system aktualizacji (aktualizacja);
  • Przyczyny i przyczyny zakończenia użytkowania.
  • Rozwój systemu informacji przeprowadza Wykonawca przez własne lub otrzymanych specjalistów. Prawo autorskie i prawa własności w procesie wyników etapów realizowanych zgodnie z prawem iw porozumieniu z klientem.

    Rozwój TK w rozwoju oprogramowania

    Korzystanie z zespołem wymiany specjalistówspecjalistów, czas i logikę wykonania określa Wykonawca. Funkcje końcowych klienta w trakcie formułowania problemu, do wdrażania systemów informatycznych oraz ponownym uruchomieniem po wdrożeniu. Rozwój odbywa się cyklicznie, ale spirala:
  • po testach (Performer inicjatywę);
  • ​​
  • po wdrożeniu (inicjatywa klienta);
  • z obiektywną potrzebą aktualizacji.
  • Opracowanie systemu informacyjnego koncentruje się na skutek psychicznego działalności człowieka, który przekształca się z koncepcyjnego opisem zastosowania konkretnego produktu.
    Każdy etap transformacji jest skonstruowany w taki sposób, aby uniknąć maksymalnej sztywności konstrukcje końcowe zapewniają dynamiczną określenie każdego elementu obiektów, funkcji i innych. końcowy produkt w procesie rozwoju. Szczegółowy projekt tworzenia oprogramowania i system informatyczny są statyczne reprezentacje wyników wykonanej pracy, jak widać, niedokładności, błędy i wady budowy, nie mogą być podstawą do usprawiedliwienia lub prezentacji wszelkich uszkodzeń.

    Opracowanie na podstawie już istniejących rozwiązań

    W wielu przypadkach wykorzystywane w różnych obszarach zastosowań mają długą i dużego doświadczenia. Finanse, giełdy, decyzje księgowe, elektroniczne zarządzanie dokumentami, maszyny sterujące numerycznie i inne dziedziny. Aby napisać zadanie techniczne do opracowania oprogramowania С1 - przykład pracy, która jest sformalizowana na podstawiejuż istniejące. Charakterystyczne jest to, że księgowość 1C, ogłoszona przez deweloperów jako pierwsza i jedyna implementacja zintegrowanej księgowości, została stworzona przez inne zespoły programistów w absolutnie innych produktach oprogramowania. Jest oczywiste, że istniejące oprogramowanie księgowe nie jest idealne i istniejące, a nowe zostaną opracowane. Aktualność i rzeczywiste zapotrzebowanie na automatyzację produkcji i przetwarzania informacji sprawiły, że opracowanie techniczne oprogramowania AIS jest niezależnym produktem specjalisty od aktywności umysłowej.
    W przeciwieństwie do 1C, prace nad zaprojektowaniem TOR dla AIS i najbardziej zautomatyzowanymi systemami informacyjnymi sięgają lat 80-tych ubiegłego wieku, ale problemy nie uległy zmniejszeniu, ale pomysły stały się znacznie większe.

    Rozwój i dynamika w stosunku do klasyki i statyki

    Każdy program oddaje wiedzę i umiejętności programistów (autorów). Klienci i menedżerowie projektów mogą wnieść swój wkład w TK i wynikające z tego BAT, ale specyficzni programiści przekazali wcześniej swój myśl (wiedzę i umiejętności) statyczny kod. Nawet jeśli program może dynamicznie dostosowywać się do zmian w aplikacji, nowoczesne technologie programowania nie pozwalają mu wyjść poza percepcję programistów wykraczającą poza zakres implementacji (rozwiązania) zadania.
    Jeśli ograniczenie nowoczesnej technologii informacyjnej zostanie określone jako podstawowy czynnik, wówczas proces tworzenia TOR i powstałego PO będzie wyglądał jak stopniowe budowanie funkcjonalności. Programowanie nie jestjeden fakt: napisany przez TOR stworzony przez CA i proces jest zakończony. Inna opcja: napisana, wykonana i wszystko zaczęło się od początku. Idealny - nie tyle napisać program i określić, jak to zrobić, ale stworzyć zespół programistów i poprawić ich wiedzę i umiejętności.

    Powiązane publikacje