Proces tworzenia oprogramowania

background image

Inżynieria
oprogramowania

Część 2: Proces tworzenia

oprogramowania

Ian Sommerville

Software Engineering 9. wyd.

background image

Zawartość

Modele procesu tworzenia oprogramowania

Czynności procesu tworzenia
oprogramowania

Inżynieria zmian w trakcie procesu
tworzenia oprogramowania

Ulepszanie procesu tworzenia
oprogramowania

background image

Proces tworzenia
oprogramowania

Ustrukturalizowany zbiór czynności prowadzący
do powstania produktu programistycznego

Następujące czynności są wspólne dla wszystkich
procesów:

Specyfikowanie – funkcje systemu i dodatkowe
oczekiwania

Projektowanie i implementacja – zdefiniowanie struktury
systemu i jego implementacja.

Zatwierdzanie systemu – sprawdzenie, że system działa
zgodnie ze specyfikacją i oczekiwaniem klienta

Pielęgnacja (ewolucja) – zmienianie systemu w trakcie
jego użycia.

background image

Model procesu tworzenia
oprogramowania

Stanowi abstrakcyjny opis procesu z pewnego

punktu widzenia, zawiera zatem częściową

informację o procesie.

Opisując proces, mówimy zwykle o czynnościach

w nim występujących i ich kolejności. Opis może

jednak dodatkowo zawierać:

Produkty, które są wynikiem kolejnych kroków.

Role poszczególnych członków zespołu wytwórczego.

Warunki wstępne i końcowe poszczególnych kroków

(np. akceptacja specyfikacji przez klienta przed

projektowaniem architektury, zatwierdzenie diagramów

UML po zakończeniu tego kroku).

background image

Procesy zaplanowane i
procesy zwinne

Procesy zaplanowane (ang. plan driven processes) są to
procesy, w których wszystkie czynności są zaplanowane
z góry i plan ten jest podstawą miary postępu prac.

W procesach zwinnych (ang. agile processes)
planowanie odbywa się w sposób przyrostowy, co
ułatwia zmiany w specyfikacji.

Wiele procesów stosowanych w praktyce łączy obie
powyższe metodologie.

Wybór procesu tworzenia oprogramowania zależy w
dużej mierze od specyfiki zadania. W izolacji o żadnym z
istniejących procesów nie można powiedzieć ani, że jest
dobry, ani, że jest zły.

background image

Modele procesów

Model kaskadowy

Model zaplanowany. Kolejny krok następuje po zakończeniu
poprzedniego.

Model przyrostowy

Fazy specyfikacji, implementacji i zatwierdzania przeplatają
się. Może być zaplanowany lub zwinny.

Model z użyciem wielokrotnym

Oprogramowanie buduje się przy użyciu gotowych
komponentów.

W praktyce większość dużych systemów tworzy się przy
użyciu procesów będących kombinacji powyższych modeli.

background image

Model kaskadowy (ang. waterfall
model)

Definiowanie

wymagań

Projektowanie

systemu

i oprogramowania

Implementacja

i testowanie

jednostek

Integracja

i zatwierdzanie

systemu

Działanie

i pielęgnacja

background image

Fazy modelu kaskadowego

W modelu kaskadowym wyróżniamy pięć rozłącznych faz

Definiowanie wymagań

Projektowanie systemu i oprogramowania

Implementacja i testowanie jednostek

Integracja i zatwierdzanie systemu

Działanie i pielęgnacja

Główną wadą modelu kaskadowego jest wysoki koszt
zmian. Kolejna faza zakłada zakończenie fazy
poprzedniej.

background image

Problemy modelu
kaskadowego

Twardy podział na kolejne fazy utrudnia wszelkie
zmiany w trakcie procesu.

Dlatego model kaskadowy jest właściwy, jeśli
wymagania są dobrze określone i nie oczekuje się wielu
zmian.

Niewiele systemów o charakterze biznesowym spełnia
ten warunek.

Model kaskadowy jest najczęściej używany przy
tworzeniu wielkich systemów, gdy zespół
wytwórczy jest rozproszony w wielu miejscach.

Fakt, że model ten jest modelem zaplanowanym ułatwia
koordynację prac

background image

Model przyrostowy

Ogólny opis

Specyfikowanie

Tworzenie

Zatwierdzanie

Wersja

początkowa

Wersje

pośrednie

Wersja

końcowa

Równoległe czynności

background image

Zalety modelu
przyrostowego

Zredukowany jest koszt zmian zachodzących w

toku procesu

Koszt analizy i dokumentacji, którą trzeba powtórzyć jest

dużo mniejszy.

Współpraca między klientem a zespołem

wytwórczym istnieje w trakcie całego cyklu

budowy systemu

Klient może na bieżąco komentować tworzenie

oprogramowania i widzi postęp prac.

Możliwe jest wczesne dostarczenie „częściowej”

wersji systemu

Klient może stosunkowo wcześnie używać fragmentów

systemu

background image

Wady modelu
przyrostowego

Proces nie jest widoczny

Menedżerowie potrzebują konkretnych wyników, aby
mierzyć postęp prac. Jeśli systemy są tworzone
szybko, n ie opłaca się generować dokumentów
opisujących każdą wersję systemu.

System ma złą strukturę

Nieustające modyfikacje przyczyniają się do psucia
struktury oprogramowania. Wprowadzanie nowych
zmian staje się coraz trudniejsze i bardziej
kosztowne.

background image

Model z użyciem
wielokrotnym

W większości dyscyplin inżynieryjnych proces
tworzenia oparty jest o komponenty
ponownego użycia.

W przypadku inżynierii oprogramowania
możliwe jest podobne podejście.

Problemem jest, że aby dany komponent
można było wielokrotnie użyć, trzeba to
uwzględnić w fazie jego projektowania.

background image

Elementy wielokrotnego
użycia

Użycie wielokrotne systemów

Cały system można ponownie użyć poprzez
włączenie go do innego ststemu (COTS – Commercial
Off The Shelf).

Użycie wielokrotne komponentów

Podsystemy, moduły, pojedyncze obiekty.

Użycie wielokrotne funkcji

Biblioteki funkcji używane od kilkudziesięciu lat.

Użycie wielokrotne idei

Wzorce programowe, wzorce architektoniczne.

background image

Tworzenie z użyciem
wielokrotnym

Specyfikacja

wymagań

Analiza

komponentów

Modyfikacja

wymagań

Projekt systemu

Tworzeni

e

i

integracj

a

Zatwierdzanie

systemu

background image

Zalety i wady modelu z
użyciem wielokrotnym

Mniejszy koszt i mniejsze zagrożenie projektu.

Szybsze dostarczenie oprogramowania.

Nieodzowność pewnych kompromisów, co
może oznaczać, że system nie w pełni będzie
spełniać oczekiwania klienta.

Możliwa strata panowania nad pielęgnacją
systemu, ponieważ firma korzystająca z
gotowych komponentów nie ma wpływu na ich
nowe wersje.

background image

Czynności procesu
tworzenia
oprogramowania

Realne procesy tworzenia oprogramowania to

przeplatające się sekwencje czynności

zarówno o charakterze technicznym, jak i

związanych z pracą zespołową i zarządzaniem.

Cztery podstawowe czynności o charakterze

technicznym, czyli specyfikowanie, tworzenie,

zatwierdzanie i pielęgnacja są różnie

zorganizowane w różnych procesach.

Na przykład w modelu kaskadowym

przebiegają one sekwencyjnie, podczas gdy w

modelu przyrostowym przeplatają się.

background image

Proces specyfikacji
wymagań

Studium

wykonalności

Raport

o wykonalności

Określanie i

analiza wymagań

Modele

systemu

Wymagania

użytkownika

Specyfikowanie

wymagań

Zatwierdzanie

wymagań

Dokumentacja

wymagań

background image

Specyfikowanie wymagań

Określenie wymaganych funkcji systemu

(wymagania funkcjonalne) i ograniczeń

nakładanych na system.

Proces inżynierii wymagań

Studium wykonalności

Ocenia się, czy potrzeby klienta mogą być spełnione.

Określanie i analiza wymagań

Określenie wymagań stawianych systemowi. Może

obejmować opracowanie kilku modeli systemu,

pozwalających zrozumieć system.

Specyfikowanie wymagań

Szczegółowa definicja wymagań.

Zatwierdzenie wymagań

Sprawdzenie spójności i kompletności wymagań

background image

Ogólny model procesu
projektowania

Informacje wejściowe

Czynności projektowe

Projekt

Platforma

Specyfikacja

wymagań

Dane

Projektowanie

architektury

Projektowanie

interfejsu

Projektowanie
komponentów

Projektowanie

struktur danych

Architektura

systemu

Specyfikacja

struktur danych

Specyfikacja

interfejsu

Specyfikacja

komponentów

background image

Czynności projektowe

Projektowanie architektury

Definiowanie ogólnej struktury systemu, głównych

komponentów (podsystemów, modułów), relacji

między nimi i ich rozmieszczenie.

Projektowanie interfejsu

Definiowanie interfejsu między komponentami.

Projektowanie struktur danych

Definiowanie struktur danych (być może bazy

danych)

Projektowanie komponentów

Przypisanie usług do komponentów. Ewentualnie

poszukiwanie komponentów wielokrotnego użycia.

background image

Implementacja systemu

Implementacja polega albo na programowaniu
komponentów albo konfigurowaniu gotowego systemu.

W większości przypadków implementacja i
projektowanie przeplatają się.

Programowanie jest czynnością indywidualną i nie
istnieje żaden ogólny proces postępowania. Niektórzy
programiści zaczynają od komponentów, które najlepiej
rozumieją, inni postępują odwrotnie. Niektórzy
programiści lubią jak najszybciej definiować struktury
danych, inni pozostawiają dane bez specyfikacji tak
długo, jak to jest możliwe.

Programiści wykonują pewne testy kodu i usuwają błędy.

background image

Zatwierdzanie systemu

Zatwierdzanie systemu, lub ogólniej weryfikacja i
zatwierdzanie (W & Z) mają wykazać, że system jest zgodny
ze swoją specyfikacją (W) i spełnia oczekiwania klienta (Z).

Istnieją dwie metody, z których można skorzystać w trakcie
procesu W & Z: kontrole oprogramowania i testowanie.

Kontrole oprogramowania polegają na analizie treści
programu. Jest to metoda statyczna.

Testowanie polega na uruchamianiu implementacji
oprogramowania na danych testowych. Jest to metoda
dynamiczna.

Kontrole oprogramowania i testowanie nie wykluczają się.

background image

Fazy testowania

Testowanie

jednostek

Testowanie

modułów

Testowanie

podsystemów

Testowanie

systemu

Testowanie

odbiorcze

background image

Fazy testowania

Testowanie jednostek

Testowanie poszczególnych komponentów. Każdy z nich jest

testowany oddzielnie.

Testowanie modułów

Moduł jest kolekcją niezależnych komponentow. Mogą to być

klasy obiektów lub zbiorem procedur i funkcji.

Testowanie podsystemów

Testujemy kolekcje modułów. Głównym problemem są interfejsy.

Testowanie systemu

Ma wykryć błędy wynikające z nieprzewidzianych interakcji

między podsystemami.

Testowanie odbiorcze

Testowanie przy użyciu danych dostarczonych przez klienta.

background image

Dwie zasady

Poza testowaniem jednostek, procesu
testowania nie powinni wykonywać
twórcy oprogramowania.

Testowanie jest procesem destrukcyjnym!

Testowanie powinno odbywać się na
prawdziwych danych.

To nie zawsze jest możliwe.

background image

Fazy testowania w zaplanowanym
procesie tworzenia oprogramowania

Plan testów

integracji

systemu

Plan testów

integracji

podsystemów

Plan

testów

odbiorczy

ch

Specyfikacja

wymagań

Specyfikacja

systemu

Projekt

szczegółowy

Projekt

systemu

Kod jednostek

i modułów oraz

ich test

Test integracji

podsystemu

Test integracji

systemu

Test

odbiorczy

Działanie

background image

Pielęgnacja
oprogramowania

Pielęgnacja (ewolucja) oprogramowania dotyczy jego
modyfikacji po oddaniu do użycia.

Dwa rodzaje modyfikacji:

Poprawa błędów.

Zmieniające się wymagania stawiane systemowi.

Chociaż istnieje rozgraniczenie pomiędzy procesem
tworzenia oprogramowania a procesem jego ewolucji,
warto oba procesy traktować łącznie.

Budżet przeznaczony na oprogramowanie w dużych
firmach na pielęgnację istniejących programów jest dużo
większy niż budżet przeznaczony na nowe systemy
informatyczne.

background image

Pielęgnacja systemu

Zdefiniuj

wymagania

stawiane

systemowi

Zbadaj istniejące

systemy

Istniejące

systemy

Zaproponuj zmiany

Zmodyfikuj

system

Nowy system

background image

Inżynieria zmian

Zmiany w oprogramowaniu są nieuniknione.

Użytkowanie oprogramowania może wymuszać nowe
wymagania.

Następują zmiany w firmie używającej oprogramowanie.

Istnieje potrzeba poprawy błędów.

Może nastąpić zmiana sprzętu.

Może istnieć potrzeba poprawy efektywności.

Zmiany mogą wymagać przerobienia istniejących
fragmentów systemu, jak i zaimplementowanie
nowych funkcjonalności.

background image

Redukowanie kosztu zmian

Przewidywanie możliwości zmian w

procesie tworzenia oprogramowania

Na przykład konstruowanie prototypów

(makiet) pokazujących klientowi kluczowe

własności systemu.

Tolerowanie zmian polegające na

wyborze procesu, w którym zmiany są

stosunkowo tanie.

To podejście realizowane jest przez procesy

przyrostowe. Kolejnym zmianom

odpowiadają kolejne wersje systemu.

background image

Prototypowanie

Prototyp jest początkową wersją oprogramowania,
która służy do prezentacji założeń oraz
wypróbowania różnych wariantów projektu, a
bardziej ogólnie do coraz lepszego poznawania
problemu i jego możliwych rozwiązań.

Bardzo ważne jest szybkie stworzenie prototypu,
ponieważ umożliwia użytkownikom eksperymenty z
systemem we wczesnej fazie jego budowy.

Prototyp jest przydatny w procesie specyfikacji
wymagań, w projektowaniu interfejsu użytkownika
oraz w procesie testowania (testowanie różnicowe –
ang. back-to-back testing).

background image

Korzyści z prototypowania

Zwiększona użyteczność systemu

Lepsze dostosowanie systemu do
potrzeb użytkowników.

Zwiększona jakość projektu.

Większa zdatność do pielęgnacji.

Zmniejszony wysiłek twórczy.

background image

Prototypowanie

Prototypowanie nie musi oznaczać zwiększenia
kosztów systemu.

Prototypowanie zwiększa zwykle koszty we
wczesnej fazie budowy oprogramowania, ale za to
zmniejsza je w późniejszym okresie. Przyczyną tego
faktu jest uniknięcie powtarzania prac wytwórczych,
ponieważ klienci zgłaszają mniej zmian.

Negatywną konsekwencją prototypowania może być
mniejsza efektywność, jeśli przy tworzeniu
ponownie wykorzysta się nieefektywny rdzeń
prototypu.

background image

Proces budowy prototypu

Plan

prototypowania

Zdefiniuj

funkcjonalność

prototypu

Określ cele

prototypu

Zbuduj prototyp

Oceń prototyp

Ogólna

definicja

Wykonywalny

prototyp

Raport o ocenie

prototypu

background image

Proces budowy prototypu

Określanie celów prototypu

Celem może być opracowanie prototypu interfejsu użytkownika,
budowa prototypu w celu zatwierdzenia wymagań
funkcjonalnych lub wykazania kierownictwu, że system jest
wykonalny.

Definiowanie funkcjonalności prototypu

Co uwzględnić i, co ważniejsze, czego nie uwzględniać w
prototypowym systemie.

Warto skupić się na najmniej zrozumiałych elementach
budowanego oprogramowania. Można pominąć większość
wymagań niefunkcjonalnych.

Ocena prototypu

Negatywna ocena będzie wymagać powtórzenia pewnych prac
nad systemem, na przykład specyfikacji wymagań.

background image

Porzucanie prototypów

Po wypełnieniu swej funkcji, prototyp powinien
być porzucony, ponieważ nie jest dobrą bazą dla
budowanego oprogramowania:

Konstrukcja prototypu może uniemożliwiać jego
rozbudowę tak, aby spełnić wszystkie wymagania
niefunkcjonalne.

Prototypy zwykle są słabo udokumentowane.

Prototypy mają często zdegradowaną strukturę
ponieważ są szybko budowane i przez to narażone na
liczne zmiany w trakcie budowy.

Proces budowy prototypu na ogół nie spełnia
standardów wymaganych w firmie wytwórczej.

background image

Przyrostowe dostarczanie
oprogramowania

Polega na dostarczaniu użytkownikowi
kolejnych wersji systemu. Nowa wersja
rozszerza funkcjonalność wersji poprzedniej.

Wymaganiom użytkownika
przyporządkowuje się priorytety. Wymagania
o wysokich priorytetach realizowane są przez
wczesne wersje.

Rozpoczęcie budowy kolejnej wersji
powoduje „zamrożenie” dalszych wymagań.

background image

Przyrostowe tworzenie vs.
przyrostowe dostarczanie
oprogramowania

Przyrostowe tworzenie oprogramowania

Oprogramowanie tworzone jest etapami. Kolejny

przyrost realizowany jest po ocenie poprzedniej wersji.

Metodologia stosowana w programowaniu zwinnym.

Ocenę przeprowadzają reprezentanci klienta i firmy

wytwórczej.

Przyrostowe dostarczanie oprogramowania

Wersja uzyskana poprzez realizacji kolejnego przyrostu

dostarczana jest użytkownikom do eksploatacji.

Ułatwia definiowanie nie zrealizowanych jeszcze

wymagań.

Pozwala rozpocząć pracę bez konieczności dokładnej

specyfikacji wymagań.

background image

Przyrostowe dostarczanie
oprogramowania

Zdefiniuj zarys

wymagań

Przypisz

wymagania

do przyrostów

Zaprojektuj

architekturę

systemu

Wytwórz przyrost

systemu

Zatwierdź

przyrost

Zintegruj

przyrost

Zatwierdź

system

Dostarcz

system

System

ukończony

System

nieukończony

System

background image

Zalety przyrostowego
dostarczania
oprogramowania

Klienci nie muszą czekać na dostarczenie całego
systemu. Pierwszy przyrost spełnia najbardziej
istotne wymagania, oprogramowanie może więc
być natychmiast uzywane.

Wstępne przyrosty mogą być używane jako
prototyp służący do redefiniowania dalszych
przyrostów.

Zmniejsza się ryzyko całkowitej porażki
przedsięwzięcia.

Najważniejsze usługi będą dostarczane jako
pierwsze, a wię będą najlepiej przetestowane.

background image

Wady

przyrostowego

dostarczania
oprogramowania

Większość systemów wymaga podstawowych
funkcjonalności, używanych przez różne części
systemu.

Skoro wymagania nie są szczegółowo zdefiniowane
przed implementacją przyrosty, trudno jest
zidentyfikować funkcjonalności potrzebne wszystkim
przyrostom.

Esencją procesów przyrostowych jest równoległe
wytwarzanie oprogramowania i jego specyfikacji.

W wielu przypadkach jest to nieakceptowalne, ponieważ
specyfikacja wymagań jest częścią kontraktu.

background image

Ulepszanie procesu
wytwarzania
oprogramowania

W wielu firmach programistycznych pojawiło
się w ostatnich znaczne zainteresowanie
ulepszaniem procesu wytwórczego.

Ulepszanie procesu polega na analizie dotąd
stosowanych procesów i ich modyfikacji w
taki sposób, aby poprawić jakość produktu
lub zmniejszyć koszt lub czas tworzenia.

background image

Podejścia do ulepszania
procesu

Podejście klasyczne (ang. process maturity

approach), które opiera się na ciągłym

wprowadzaniu dobrych praktyk do klasycznych

metod wytwarzania oprogramowania i

przestrzegania, że te praktyki są stosowane w

firmie. Podejście to nastawione jest przede

wszystkim na zwiększenie niezawodności produktu,

często kosztem pewnych dodatkowych narzutów.

Podejście zwinne, które opiera się na iteracyjnym

wytwarzaniu oprogramowania i redukowaniu

pewnych elementów w procesie wytwórstwa.

Podejście to nastawione jest przede wszystkim na

przyspieszenie budowy produktu.

background image

Cykl ulepszania procesu

Miernictwo

procesu

Analiza

Zmiany

background image

Czynności ulepszania
procesu

Miernictwo procesu

Mierzymy jeden lub kilka atrybutów procesu. Miary
mają pomóc w ocenie, czy dotychczasowe zmiany
procesu są efektywne.

Analiza

Próba identyfikacji słabości procesu.

Zmiany

Propozycja przedefiniowania procesu wytwarzania
oprogramowania, aby wyeliminować słabości
procesu. Następnie cykl ulepszania procesu powtarza
się.

background image

Miernictwo procesu

Miernictwo procesu daje ilościowe dane o
procesie tworzenia oprogramowania.

Miernictwo procesu zakłada, precyzyjną definicję
samego procesu. W przeciwnym przypadku nie
bardzo wiadomo co powinno być mierzone.

Miary związane z procesem stanowią jedynie
wskazówkę o potrzebnych zmianach. Kluczową
rolę odgrywają tu potrzeby i cele firmy tworzącej
oprogramowanie.

background image

Klasy miar procesowych

Czas potrzebny na ukończenie procesu lub

jego etapów.

Może to być czas całkowity, czas kalendarzowy, czas

spędzony przez konkretnych inżynierów.

Zasoby niezbędne w konkretnym procesie.

Mogą to być osobo-dni, koszty podróży, zasoby

komputerowe, zasoby w postaci narzędzi

pomocniczych.

Liczba wystąpień konkretnego zdarzenia.

Na przykład liczba defektów odkrytych w trakcie

kontroli kodu, liczba żądanych zmian wymagań,

średnia liczba wierszy kodu zmodyfikowanego w

odpowiedzi na zmianę wymagań.

background image

SEI CMMI

Software Engineering Institute (SEI) w Cornegie-Mellon

University jest instytutem utworzonym przez

Departament Obrony Stanów Zjednoczonych.

Instytut został stworzony, aby zwiększyć zdolności

przemysłu informatycznego w Stanach Zjednoczonych, a

w szczególności tych przedsiębiorstw, które otrzymują od

Departamentu Obrony fundusze na wielkie

przedsięwzięcia wojskowe.

Jednym z wczesnych przedsięwzięć SEI był SEI CMM

(Capability Maturity Model – model dojrzewania

zdolności). Model ten wywarł ogromny wpływ na

przekonanie społeczności inżynierów oprogramowania do

poważnego traktowania ulepszania procesu. Prace nad

modelem rozpoczęły się w połowie lat 90. W 2001

powstała uaktualniona wersja modelu, znana jako CMMI

(Capability Maturity Model Integration). W 2013 w SEI

został wyodrębniony instytut zajmujący się wyłącznie tym

modelem.

background image

Model dojrzewania zdolności
CMM

Firmy wytwórcze podzielono na pięć różnych

poziomów

Poziom początkowy.

Firma na tym poziomie nie ma skutecznych procedur

zarządzania. Wytworzone oprogramowanie jest

nieprzewidywalne.

Poziom powtarzalny.

Firma na tym poziomie wdrożyła już formalne

zarządzanie, zapewnienie jakości i zarządzanie

konfiguracjami. Firma może z powodzeniem powtarzać

przedsięwzięcia tego samego rodzaju. Brakuje jednak

formalnego modelu procesu. Powodzenie

przedsięwzięcia zależy od tego jak menedżerowie

umotywowali zespół i od firmowego folkloru, który

stanowi intuicyjny opis procesu.

background image

Model dojrzewania zdolności
CMM

Poziom zdefiniowany.

Firma na tym poziomie zdefiniowała już swój proces, ma

więc podstawy do ilościowego ulepszania procesu.

Wdrożono formalne procedury zapewniania, że ten

zdefiniowany proces jest przestrzegany we wszystkich

przedsięwzięciach realizowanych w firmie.

Poziom zarządzany.

Firma na tym poziomie zdefiniowała już swój proces i

formalny program zbierania danych ilościowych.

Gromadzi się pomiary procesu i produktów, które są

podstawą ulepszania procesu.

Poziom optymalizowany.

Firma na tym poziomie jest zaangażowana w ustawiczne

ulepszanie procesu. Ulepszanie ma swój budżet oraz

plan i jest integralną częścią procesu przedsiębiorstwa.

background image

Podsumowanie

Procesy tworzenia oprogramowania to czynności

zmierzające do wyprodukowania systemu. Modele

procesów tworzenia oprogramowania to abstrakcyjne

reprezentacje tych procesów.

Inżynieria wymagań to proces opracowywania specyfikacji

oprogramowania.

Proces projektowania i implementowania polega na

przekształceniu specyfikacji wymagań w działający system.

Zatwierdzanie oprogramowania to proces sprawdzaia, czy

system jest zgodny ze swoją specyfikacją oraz czy spełnia

rzeczywiste potrzeby użyrkowników.

Pielęgnacja oprogramownia polega na modyfikowaniu

istniejącego systemu, tak aby usunąć błędy lub

dodać/zmodyfikować wymagania.

background image

Podsumowanie

Prototypowanie oraz przyrostowe dostarczanie
oprogramowania to podstawowe techniki
redukujące koszt zmian w trakcie budowy
oprogramowania.

Model dojrzewania zdolności CMM pozwala
podzielić firmy programistyczne na pięć
kategorii względem jakości ich procesów
wytwórczych.


Document Outline


Wyszukiwarka

Podobne podstrony:
14(45) Proces Tworzenia oprogramowaniaid 15602 ppt
03 Proces tworzenia oprogramowaniaid 4616 ppt
@PSI W10a Proces strukturalnego tworzenia oprogramowania
W4 Proces wytwórczy oprogramowania
Tworzenie oprogramowania, Semestr 5, Inżynieria oprogramowania
Wskazówki pomocne w procesie tworzenia systemów świadczeń pozapłacowych w małych firmachx
proces tworzenia unii gospodarczej i walutowej NHBCQWGQKVRAWOLP3DMJXZNM3MOAYYXURMD4ISQ
fijewski,instalcje wodno kanalizacyjne,DWUTEOWY PROCES TWORZENIA KOMPUTEROWEGO MODELU NUMERYCZNEGOx
Inżynieria str2a, Metodologie tworzenia oprogramowania:
Tworzenie oprogramowania na sprzedaż, Gazeta Podatkowa
Proces tworzenia programu promocji marketingu
Logika w procesie tworzenia i stosowania prawa, Wydziały, Administracja
Szacowanie Koszt%F3w Tworzenia Oprogramowania
Ekonomia - Podstawy prawne oraz proces tworzenia jednostek gospodarczych, Spółki osobowe: (tylko oso
Proces tworzenia prawa w UE
Proces tworzenia pracy dyplomowej(2)

więcej podobnych podstron