You are on page 1of 41

Cz 1

IT
>Charakterystyka oprogramowania
> Zarzdzanie jakoci oprogramowania cz. I
w materiaach wykorzystano:
K.Subieta: Budowa i integracja systemw informatycznych
A.Kobieliski: Inynieria Oprogramowania
I.Sommerville: Software Engineering Guides
S.H. Kan: Metryki i modele w inynierii jakoci oprogramowania
G.G. Shulmeyer: Handbook of Software Quality Assurance

Informatyka Techniczna

Oprogramowanie

Czym jest oprogramowanie

Rodzaje programw

Charakterystyka
oprogramowania

Cechy oprogramowania

Informatyka Techniczna

Czym jest oprogramowanie


Oprogramowanie to:
to
kod (program), realizujcy okrelone funkcje
struktury danych umoliwiajce programowi
odpowiednie przetwarzanie danych
dokumentacja
opisujca mechanizmy dziaania programu
przedstawiajca sposoby korzystania z programu

Informatyka Techniczna

Rodzaje programw
Rodzaje programw:
oglne z pki, (off the shelf)
na zamwienie (bespoke)
Problemy i metody stosowane w obu przypadkach s identyczne.
Gwna rnica to rdo specyfikacji programu
dla oglnych tworzona wewntrznie np. przez dzia
marketingu
w systemach na zamwienie okrelana przez klienta
skadajcego zamwienie

Informatyka Techniczna

Systemy COTS

Model poredni to systemy COTS (commercial off-the-shelf)

System posiada typowe funkcje dla danej klasy systemw

Pewna cz jest nadmiarowa

Pewne specyficzne wymagania wymagaj dodatkowej konfiguracji lub


uzupenienia funkcjonalnoci

Brakujca cz jest krytyczna dla powodzenia projektu

Cz nadmiarowa
Cz dopasowana
Brakujca cz

10%

60%-70%

Wymagania klienta

Informatyka Techniczna

20%-30%

Charakterystyka oprogramowania

Oprogramowanie jest tworzone, a nie produkowane w klasycznym


sensie

Oprogramowanie nie zuywa si z biegiem czasu, ale moe si


pogarsza na skutek wprowadzanych zmian

Oprogramowanie w wikszoci budowane jest od podstaw, rzadziej


skadane z gotowych elementw (ta sytuacja ulega stopniowej
zmianie)

Informatyka Techniczna

Ewolucja oprogramowania
Aby oprogramowanie pozostawao uyteczne musi si
zmienia
Wane zagadnienie organizacje s uzalenione od
oprogramowania, z ktrego korzystaj
Przyczyny wystpowania koniecznoci zmian

Zmiana regulacji prawnych


Zmiana zasad dziaania organizacji
Zmiana platformy sprztowej i systemowej
Pojawianie si nowych wymaga

Informatyka Techniczna

Cykl zarzdzania ewolucj

Zgaszanie da

Struktura cyklu zarzdzania ewolucj uwzgldnia


Zgaszanie da
Analiz skutkw
Planowanie
Implementacj
Dystrybucj

Analiza skutkw

Planowanie

Implementacja

Informatyka Techniczna

Dystrybucja

Prawa Lehmana
Mair Lehman et. al. (1996-2001) sformuowali 8 praw
okrelajcych dynamik rozwoju oprogramowania

Prawo cigej zmiany: program pozostajcy w uytku w


okrelonym rodowisku musi si zmienia lub stawa mniej
uytecznym w tym rodowisku

Prawo rosncej zoonoci : rozwijajcy si program zmienia si


i staje si coraz bardziej zoony. Zachowanie jego wyjciowej
zoonoci wymaga angaowania dodatkowych rodkw.

Informatyka Techniczna

Prawa Lehmana

Prawo ewolucji duych programw: ewolucja duych


programw to proces samoregulujcy si. Atrybuty systemu takie
jak rozmiar, czas pomidzy kolejnymi wersjami i liczba
zgaszanych bdw s w przyblieniu stae dla kolejnych jego
dystrybucji.
inaczej: dynamika rozwoju duych programw jest staa
o dynamice decyduje proces tworzenia programu
przyjte tu rozwizania (popenione bdy) wyznaczaj
zasadnicze trendy dotyczce nakadw ponoszonych w fazie
eksploatacji

Informatyka Techniczna

Prawa Lehmana

Prawo stabilnoci organizacji : tempo rozwoju


oprogramowania na przestrzeni cyklu yciowego jest w
przyblieniu stae i niezalene od iloci zasobw zaangaowanych
w jego powstanie.

Prawo zachowania zmiennoci : przyrostowa zmiana w


obrbie kadej dystrybucji programu jest w przyblieniu staa.

Prawo cigego wzrostu : aby utrzyma wysoki poziom


zadowolenia uytkownikw funkcjonalno systemu musi cigle
wzrasta.

Informatyka Techniczna

Prawa Lehmana

Prawo spadajcej jakoci : jako systemu postrzegana jest


coraz gorzej, jeli nie jest on stale dostosowywany do zmian
zachodzcych w rodowisku dziaania

Prawo sprzenia zwrotnego : znaczcy rozwj systemu


moliwy jest tylko w przypadku stosowania iteracyjnych metod
zarzdzania uwzgldniajcych zwrotne informacje od
uytkownikw.

Informatyka Techniczna

Utrzymanie oprogramowania

Utrzymanie oprogramowania proces zmian oprogramowania


zachodzcy po wdroeniu (dostarczeniu).

Rodzaje dziaa zwizanych z utrzymaniem oprogramowania


Naprawa bdw
Dostosowanie do zmian zachodzcych w rodowisku
dziaania oprogramowania
Rozbudowa funkcjonalnoci

Nakady zasobw na poszczeglne dziaania

rdo: Nosek J. T., Plavia P., Software Maintenance: Research and Practice 1990

Informatyka Techniczna

Atrybuty oprogramowania
Podstawowe atrybuty dobrego oprogramowania
uniwersalno - moliwo dostosowania oprogramowania do
zmieniajcych si potrzeb
pewno - niezawodno i bezpieczestwo, czyli
zabezpieczenie przed oddziaywaniem otoczenia (security)
oraz pewno pracy (safety) - awaria oprogramowanie nie
powinna powodowa fizycznych i ekonomicznych szkd
wydajno - oprogramowanie nie powinno marnowa
zasobw systemowych
wygoda w uyciu - oprogramowanie powinno mie waciwy
interfejs uytkownika i dokumentacj

Informatyka Techniczna

Kompromisy

Jeli wymagany jest wysoki poziom jednego z


atrybutw (np. wydajnoci) koszty
wytworzenia oprogramowania rosn
wykadniczo

Kosz
t

Wydajno
Informatyka Techniczna

Inne atrybuty oprogramowania


Poprawno okrela, czy oprogramowanie wypenia postawione przed
nim zadania i czy jest wolne od bdw.
Czytelno pozwala na okrelenie wysiku niezbdnego do
zrozumienia oprogramowania.
Ponowne uycie charakteryzuje przydatno oprogramowania, caego
lub tylko pewnych fragmentw, do wykorzystania w innych
produktach programistycznych.
Stopie strukturalizacji (modularno) okrela, jak atwo
oprogramowanie daje si podzieli na czci o dobrze wyraonej
semantyce i dobrze wyspecyfikowanej wzajemnej interakcji.

Informatyka Techniczna

Inne atrybuty oprogramowania


Efektywno opisuje stopie wykorzystania zasobw sprztowych i
programowych stanowicych podstaw dziaania oprogramowania.
Przenaszalno mwi o atwoci przenoszenia oprogramowania na
inne platformy sprztowe czy programowe.
Skalowalno opisuje zachowanie si oprogramowania przy rozrocie
liczby uytkownikw, objtoci przetwarzanych danych, doczaniu
nowych skadnikw, itp.
Wspdziaanie charakteryzuje zdolno oprogramowania do
niezawodnej wsppracy z innym niezalenie skonstruowanym
oprogramowaniem.

Informatyka Techniczna

Zarzdzanie jakoci oprogramowania

Zrby systemu zarzdzania jakoci


Kolejny wykad:
Model dojrzaoci procesu
Proces przetwarzania skarg
Podstawowe narzdzia jakoci

Informatyka Techniczna

Zrby systemu
Zrby systemu podstawa, fundament, struktura
Okrelenie angielskojzyczne QMF (quality management
framework)
Koncepcja opracowana w 1982 w kontekcie jakoci
rnych produktw, w tym oprogramowania
Zostaa rozwinita w rnych pniejszych standardach w
tym w DOD (US Department of Defense), CMMI (Capability
Maturity Model Integration), SW-CMM (Software adopted
CMMI)

Informatyka Techniczna

QMF podstawowe pojcia


Definiuje podstawowe pojcia
Obiekt pojcie uoglnione
Proces
Wymaganie
Uytkownik
Ewaluacja
Miara i pomiary
Jako

Informatyka Techniczna

QMF obiekty
Obiektem moe by
Produkt
Proces
Usuga
Zasb
Artefakt
Dziaanie
Miara i pomiary
rodowisko
Kolekcja obiektw

Informatyka Techniczna

QMF definicje
Produkt namacalne, znaczce wyjcie lub usuga bdce
wynikiem procesu
Produktem moe by
sprzt
oprogramowanie
dokumentacja
dowolna kombinacja powyszych

Informatyka Techniczna

QMF definicje
Proces zbir dziaa podejmowanych w okrelonym celu
Jako produktu zaley od jakoci procesu towarzyszcego
jego powstawaniu
Wymaganie podana moliwo, cecha, warunek, ktr
musi posiada obiekt aby speni zaoenia kontraktu,
standardu, specyfikacji lub innej formalnie narzuconej
normie
Dla produktu, jakim jest oprogramowanie obowizuje
okrelona kategoryzacja wymaga

Informatyka Techniczna

QMF definicje
Uytkownik klient lub uytkownik kocowy
Wyrnia si trzy przypadki
Dla uproszczenia termin uytkownik odnosi si do
wszystkich trzech sytuacji

Klient to uytkownik kocowy

Klient

Uytkownik kocowy

Klient

Uytkownik kocowy
Informatyka Techniczna

QMF definicje
Ewaluacja proces wyznaczania stopnia speniania
wymaga
Inna definicja proces wyznaczania jakoci produktw i
zwizanych z nimi elementw dokumentacji, procesw i
dziaa majcych wpywa na jako produktu.
Ewaluacja moe obejmowa
Wszelkie analizy
Inspekcje
Przegldy
Testy

Informatyka Techniczna

QMF definicje
Miara i pomiary zdolno do pomiaru jakoci procesw i
produktw i moliwo przypisywania jej okrelonych
wartoci wyraonych liczbami
Miara okrela wielko odnoszc si do zgodnoci procesu i
produktu ze standardami
Pomiar definiuje proces wyznaczania wartoci
reprezentujcej miar stosowany w organizacji
Uwaga terminologiczna: pojcie miara bywa stosowane
zamiennie z pojciem metryki taka zamiana jest
poprawna, ale w niektrych opracowaniach (standardach)
pojcia te posiadaj odmienne definicje

Informatyka Techniczna

QMF definicje
Jako stopie w jakim obiekt (proces, produkt, usuga)
spenia zestaw wymaganych atrybutw oraz wymaga
Istniej dwie zasadnicze kategorie rozumienia i
postrzegania jakoci
Jako rozumiana jako zgodno z wymaganiami.
Kade odstpstwo od wymaga traktowane jest jako
defekt. Inaczej: mwi si o ocenie atrybutw
oprogramowania (produktu)
Jako rozumiana jako przydatno do uytku. W
tym przypadku bierze si pod uwag wymagania i
oczekiwania uytkownikw.
Specyfik oprogramowania jest due znaczenie drugiego z
wymienionych aspektw.

Informatyka Techniczna

QMF elementy programu jakoci

Program zarzdzania jakoci obejmuje trzy elementy wymagane do:


Ustalenia wymaga i zarzdzania zmianami

Ustalenia i wdroenia metod

Okrelenia jakoci produktu i procesu

W pierwszej kolejnoci
okrela si podane atrybuty produktu,

nastpnie opracowuje si metody wytwrcze i wdraa je, ostatecznie

definiuje si sposb opomiarowania jakoci procesu wytwrczego i samego


produktu.

Program jakoci
Ustal
wymagania i
zarzdzaj
zmianami
Ustal i
wdraaj
metody

Informatyka Techniczna

Ewaluuj
proces i
jako
produktu

QMF Ustalenie wymaga i zarzdzanie


zmianami
Ustalenie wymaga, a raczej stworzenie metody ustalania
wymaga pierwszy element programu jakoci
Wymagania musz odzwierciedla aktualne potrzeby
spoecznoci uytkownikw
Wymagania musz odzwierciedla potrzeby inwestorw i
respektowa wyznaczone przez nich ograniczenia
Wymagania naley gromadzi w sposb sformalizowany

Informatyka Techniczna

QMF Ustalenie wymaga i zarzdzanie


zmianami
Nie mniej jednak poczucie jakoci jest przewanie
subiektywne (uytkownik postrzega produkt z wasnej
perspektywy)
Proces formuowania wymaga jako proces formalny
powinien rwnie podlega ocenie
Wspdziaa zatem z pozostaymi dwoma elementami QMF
(metody i ewaluacja jakoci)
Cel : wyspecyfikowanie wymaga, ktrych wypenienie
zaowocuje wysokim stopniem jakoci i satysfakcji klienta

Informatyka Techniczna

QMF Ustalenie wymaga i zarzdzanie


zmianami
Proces akwizycji wymaga wymaga wprowadzenia
mechanizmu zarzdzania konfiguracj, ktry umoliwi:
Ustalenie momentu, w ktrym mona rozpocz dalsze
dziaania zwizane z rozwojem projektu (ustalenie
faktu, e specyfikacja wymaga osigna ju
odpowiedni poziom stabilnoci)
Zapobiega niekontrolowanym zmianom w zasadniczej
specyfikacji produktu
Sprawi, e rozwj produktu i kolejne fazy procesu
wytwrczego nie bd miay negatywnego wpywu na
jego jako

Informatyka Techniczna

QMF Ustalenie wymaga i zarzdzanie


zmianami
Kontrolowaniu zjawiska ewolucji wymaga suy proces
zarzdzania zmianami
Proces powinien by wsparty narzdziami (programy
komputerowe w postaci repozytoriw wymaga)
Zarzdzanie zmianami pozwala na osignicie
nastpujcych celw:
Wprowadzenie sformalizowane cieki zgaszania da
zmiany
Wprowadzenie mechanizmw oceny da
Wprowadzenie jasnych regu akceptacji/odrzucania
zmian
Wprowadzenie mechanizmw rozlicze klienta z
wykonawc
Wytworzenie poczucia satysfakcji klienta (kto zajmuje
si moim problemem)
Wytworzenie poczucia bezpieczestwa wykonawcy (nie
boj si eskalacji da)
Informatyka Techniczna

QMF Ustalenie i wdroenie metod


Drugi element QMF polega na wyborze, wdroeniu
okrelonych procesw metod i praktyk i ma na celu
wbudowanie jakoci w produkt.
Jako nie jest postrzegana jako byt zewntrzny w
stosunku do produktu jest jego elementem.
Produkt

Klient
System zarzdzania
jakoci

Informatyka Techniczna

QMF Ustalenie i wdroenie metod


Wdraane metody mog wynika z globalnych lub
korporacyjnych standardw i mog by powielane w
kolejnych projektach
Czasami zachodzi potrzeba wdroenia wyspecjalizowanych
rozwiza odnoszcych si do konkretnego projektu
I w jednym i w drugim przypadku mamy do czynienia z
organizacj dziaa firmy (wdraanie istniejcych,
wzgldnie opracowywanie nowych standardw)
Istnieje silna zaleno pomidzy jakoci procesu a
jakoci samego produktu
Jeli przykadowo firma jest w wysokim stopniu
niezorganizowana (dziaa chaotycznie) naley spodziewa
si, e jej produkty bd posiaday niska jako

Informatyka Techniczna

QMF Ustalenie i wdroenie metod


(standardy rozwoju procesu)
CMMI (Capability Maturity Model Integration) 1995 rok
Standard rozwinity przez SEI (Software Engineering
Institute) przy Carnegie Mellon University
Wymienione: model procesu i metodyk jego oceny stosuje
si charakteryzujc dojrzao procesu wytwrczego i
towarzyszcej mu metodyki.

Informatyka Techniczna

QMF Ustalenie i wdroenie metod


(standardy rozwoju procesu)
Model CMMI zakada sze poziomw organizacji:
Wstpny
Zarzdzany
Zdefiniowany
Mierzalny
Optymalizowany

Informatyka Techniczna

QMF Ustalenie i wdroenie metod


(standardy rozwoju procesu)
Poziom wstpny proces jest nieprzewidywalny, le
kontrolowany i czuy
Poziom zarzdzany wdraa si standardy i procesy;
zarzdzanie ma miejsce na poziomie pojedynczego
projektu; zarzdzanie jest wraliwe na bodce zewntrzne
Poziom zdefiniowany Standardy s wdroone na poziomie
caej organizacji
Poziom mierzalny Proces jest opomiarowany i
sterowany przez zastosowanie metryk statystycznych i
liczbowych
Poziom optymalizowany na tym poziomie kadzie si
nacisk na cige doskonalenie procesu

Informatyka Techniczna

QMF Pomiar jakoci produktu i procesu


Trzeci element QMF zwizany jest z ocen procesu i
powstajcego w jego efekcie produktu
Ocena dotyczy:
Jakoci produktu
Odpowiednioci procesw i dziaa odpowiedzialnych za
jako produktu
Zgodnoci dziaa z ustalonym w firmie procesem
wytwrczym (rozumianym szeroko, jako metodyka)

Informatyka Techniczna

QMF Pomiar jakoci produktu i procesu


Ocena produktu polega na ustaleniu jego zgodnoci z
wymaganiami w ramach zaoonych kosztw i ustalonego
harmonogramu
Koszty wytworzenia i harmonogram naley wczy do
oceny produktu
Przykadowo: przy nieograniczonych kosztach i bez zaoe
co do harmonogramu, przynajmniej teoretycznie mona by
wytworzy produkt o bardzo wysokiej jakoci
Moliwe jest dokonywanie oceny i pomiaru
Ocena obejmuje analizy, audyty, wywiady, itp., nie
dostarcza twardej wiedzy ilociowej
Pomiar dostarcza ilociowej wiedzy, moe przyjmowa
form rnego rodzaju testw, uruchomie, metryk, list
kontrolnych, itp.

Informatyka Techniczna

QMF Pomiar jakoci produktu i procesu


Ocena procesu sprowadza si gwnie do ustalenia tego,
czy produkt wytwarzany jest zgodnie z ustalonymi
standardami
Zgodno ze standardami rozumiemy jako zgodno ze
zdefiniowanym i wdroonym w firmie procesem
wytwrczym i wszystkimi jego elementami, takimi jak
standardy dokumentacji, metodyki, zasady bezpieczestwa,
itp.
W dojrzaych organizacjach, wnioski z oceny procesu
(negatywne) powoduj wdraanie dziaa naprawczych
W ten sposb proces w miar upywu czasu jest stale
doskonalony (Continuous Process Improvement) poziom
szsty CMMI.
W organizacjach mniej dojrzaych w ramach pomiaru
jakoci procesu rozwijane np. kolejne narzdzia kontrolne
poziom pity CMMI.

Informatyka Techniczna

QMF Podstawowe problemy


Przekonanie, e kwestie jakoci s tylko i wycznie spraw
dziau jakoci (osb odpowiedzialnych za jako)
Zaoenie: rbmy swoje, bdy wychwyc testerzy jest
sprzeczne z przytoczonym trzyelementowym zrbem
systemy jakoci
Oddzielanie zagadnie jakoci od produktu jako takiego
Koncentrowanie si na jakoci produktu, z pominiciem
jakoci procesu
Wniosek: kady pracownik zaangaowany w wytwarzanie
produktu powinien realizowa jaki fragment oglnego
systemu zarzdzania jakoci
W dalszej czci wykadu:
Zarzdzanie skargami
Narzdzia jakoci w wytwarzaniu oprogramowania

Informatyka Techniczna

You might also like