cz 1b wybrane problemy programomerii tryb zgodnosci

background image

Wybrane problemy
programometrii

Dr hab. Bożena Śmiałkowska
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
Wydział Informatyki

background image

Plan wykładu:

1

2

3

4

Wprowadzenie – podstawowe definicje

Podstawy programometrii

Przegląd i analiza miar i metryk
oprogramowania

Rola systemów komputerowego
wspomagania procesów pomiaru
oprogramowania

Kierunki dalszego rozwoju i
podsumowanie

5

background image

Wprowadzenie

1

Czym zajmuje się programometria?
pomiar, miara, metryka, system pomiarowy
Niepewność pomiarów
Zadania systemu pomiarowego
co określa strategie pomiarowe
Kalibracja, certyfikacja, akredytacja, standaryzacja i walidacja pomiarów
Różnice między pomiarami w metrologii i programometrii/

background image

Co to jest programometria i jaki jest jej
związek z pomiarami?

Programometria

to dział inżynierii

oprogramowania zajmujący się pomiarami parametrów
oprogramowania i wielkości z nim związanych.

Dziedziną, która zajmuje się

pomiarami

jest

metrologia

Metrologia

to dziedzina wiedzy, obejmująca

wszystkie zagadnienia teoretyczne i praktyczne
związane z pomiarami

(nazwa pochodzi od słów greckich

metron – mierzyć, logos – nauka)

Istnieje analogia między metrologią a programometrią

background image

Pomiar, metryka, miara – definicje ogólne

1

Pod pojęciem

pomiaru

rozumie się proces, w którym

atrybutom obiektów świata rzeczywistego przypisuje
się liczby lub symbole, tak by charakteryzowały one te
obiekty w jasno określony sposób.

Przypisanie atrybutom

obiektów liczb, symboli

Wynik pomiaru –

miara

wyrażona najczęściej w
jednostkach zgodnych z
tzw. metryką

background image

Pomiar oprogramowania w programometrii

1

Pomiar oprogramowania

- to sekwencja

elementarnych operacji, które polegają na przetwarzaniu
takich własności oprogramowania jak fizyczna natura,
funkcjonalność, zbiór własności oprogramowania itd. a
ich wynik to

miara oprogramowania

Przypisanie własnościom

oprogramowania ich miar

(Wynik pomiaru)

miara

background image

Miary a metryki

Metryka oprogramowania

– miara pewnej własności

oprogramowania lub jego specyfikacji.

Standard IEEE 1061-1998 określa

metrykę jako funkcję

odwzorowującą jednostkę oprogramowania w
wartość liczbową.

Tak wyliczona wartość jest interpretowalna jako

stopień

spełnienia pewnej własności jakości

jednostki

oprogramowania.

Metryka

to proponowana (uznana, postulatywna) miara

background image

Przykład

1

Przypisanie wyników pomiaru

oprogramowaniu

Ilość linii

kodu

Metryka

Długość kodu

źródłowego

OPROGRAMOWANIE

Metryka

Złożoność

oprogramowani

a

background image

Niepewność pomiaru

Z pomiarem związana jest

niepewność

pomiaru.

Wynik pomiaru składa się z wartość miary oraz
niepewności pomiaru.

Wynik pomiaru =wartość miary + niepewność pomiaru

Pomiar

można szacować miarą oraz

przedziałem ufności miary.

background image

Szacowanie niepewności pomiaru

Niepewność można szacować za pomocą:

określenia zasady pomiarowej

, wielkości

mierzonej i wielkości wpływających na pomiar,

identyfikacji źródeł

niepewności,

przyjęcie

rozkładów gęstości

prawdopodobieństwa

estymacji

odchyleń standardowych,

wyznaczenia

współczynników wrażliwości

,

zestawienia

budżetu

niepewności,

obliczenia wartości

niepewności złożonej

.

A dla tych pomiarów, które są mierzalne,

background image

System pomiarowy

to odpowiednio

zorganizowany zestaw elementów stanowiących
całość organizacyjną i takich, które objęte są
wspólnym sterowaniem ukierunkowanym na
wydobycie informacji pomiarowej z obiektu
badanego i przekazania jej obserwatorowi w
użytecznej formie.

Podstawowym

narzędziem realizacji

technicznej pomiarów

jest system pomiarowy

Pomiar

realizowany

w systemie pomiarowym

jest również źródłem naukowej interpretacji świata
zewnętrznego. Pozwala przypisać oceny cechom
obiektów, które nas interesują.

background image

Podstawowe zadania ogólnego systemu
pomiarowego

Proces

lub

obiekt

pomiaru

Akwizycja

danych

Analiza
danych

Prezentacja

danych

Akwizycja

danych

to

zbieranie

miar

z

czujników,

przetworników,

urządzeń

pomiarowych

w

celu

ich

dalszego przetworzenia.

Zebrane dane stanowią źródło analizy i prezentacji
wyników pomiaru.

background image

Strategia pomiaru określa

szczegóły
przebiegu

pomiaru i

sposobu

opracowania

wyników

pomiaru

dobór

konfiguracji

środowiska

pomiarowego

sposób dostępu

do obiektu

pomiaru na

stanowisku

pomiarowym i

plan pomiaru

background image

Kalibracja pomiaru

(wzorcowanie)

czynność

przeprowadzana na

obiekcie wzorcowym o

znanych wartościach

pomiaru gdy pomiar w

warunkach rzeczywistego

użytkowania obiektu nie

jest możliwy lub jest

utrudniony

Standaryzacja

pomiarów

Kalibracja, certyfikacja, standaryzacja
pomiarów

Akredytacja

postępowanie, w którym
upoważniona jednostka
wydaje formalne
oświadczenie, że
organizacja lub osoba są
kompetentne do
wykonywania
określonych zadań. Wiąże
się to z inspekcją
dotyczącą jakości
wykonywanych

usług

przez akredytowaną
jednostkę

Proces
wprowadzania
jednakowych norm
pomiarowych

background image

Certyfikacja

Wydawanie dokumentu
stwierdzającego zgodność
wyrobu z deklarowanymi przez
wytwórcę lub określonymi w
przepisach i normach
właściwościami. Dokument
zawiera wyniki wzorcowania i
poświadcza, że spełnione są
wymagania metrologiczne i jest
zwykle wydawany przez
akredytowane laboratorium
pomiarowe

Udokumentowanie pomiarów

Działanie mające na celu
potwierdzenie w sposób
udokumentowany i zgodny z
założeniami, że procedury,
procesy, urządzenia, materiały,
czynności i systemy
rzeczywiście prowadzą do
zaplanowanych wyników.

Walidacja

background image

Podstawową różnicę między „dobrze rozwiniętymi"
naukami, jakimi jak fizyka a nieco „słabiej dobrze
rozwiniętymi" naukami, takimi jak psychologia i
socjologia, stanowi

stopień, w jakim

wykorzystywane są pomiary

(Roberts, 1979)

Miara w wielu dziedzinach techniki wyrażona
jest

liczbowo

w odpowiednich do tej miary

jednostkach.

Miary w programometrii wyrażane są również w

kategoriach klasyfikacyjnych

Różnice między pomiarami w metrologii i
programometrii

background image

Podstawy programometrii

2

Dylemat – w jakich miarach dokonywać pomiaru oprogramowania ?
Obszary badań i pomiarów w programometrii
Klasyfikacja systemów pomiarowych w programometrii

Skale, formy i typy pomiaru oprogramowania

Kategorie miar oprogramowania

background image

Dylemat – w jakich miarach dokonywać
pomiaru oprogramowania ?

Nie ma ogólnej zgody

co do tego, w jaki sposób

pomierzone cechy oprogramowania składają się na
syntetyczny wskaźnik jego oceny.

Istnieje wiele miar

oprogramowania.

Mimo to, często oceny produktów programistycznych są

oparte na metodach spekulacyjnych i

uproszczeniach

oraz dodatkowych założeniach,

algorytmach, wzorach i heurystykach.

Wg twórcy wielu koncepcji to

klient stanowi o

rentowności procesu produkcji oprogramowania

i

należy tak sterować wszystkimi fazami tego procesu, aby
klient był zadowolony z wytworzonego oprogramowania
– z tą ideą

zgadza się ogół

.

background image

Jakość produktu na podstawie procesu
jego wytwarzania (koncepcja TQM)

Ulepsz proces

Utwórz produkt

Zdefiniuj proces

Zdefiniuj proces

Oceń jakość

produktu

Opracuj standard

Opracuj standard

procesu

Odpowiedni
a

jakość ?

Nie Tak

background image

Kategorie miar oprogramowania

1

Ze względu na

wysokie koszty wytwarzania i

cenę gotowego produktu

oprogramowania a także

na koncepcję

TQM

pomiaru produktów pomiar

oprogramowania powinien obejmować nie tylko sam
produkt ale również proces jego wytwarzania w oparciu
o

metryki produktu i procesu wytwarzania

oprogramowania

Pomiar

Wyniki pomiaru

Miary

i

metryki

OPROGRAMOWANIE

jako gotowy produkt

Procesy wytwarzania

oprogramowania wraz z zasobami

niezbędnymi do tworzenia oprogramowania

background image

Kategorie miar oprogramowania

1

Proces wytwarzania oprogramowania można mierzyć
na poziomie:

pojedynczego projektu – przedsięwzięcia
programistycznego,

firmy świadczącej usługi programistyczne

Pomiar

Wyniki pomiaru

Miary

i

metryki

OPROGRAMOWANIE

jako gotowy produkt

Przedsięwzięcie

programistyczne

Procesy wytwórcze firmy

background image

Obszary badań i pomiarów w programometrii

1

Bada procesy i

systemy pomiarowe

Pogramometria

dziedzinę inżynierii

oprogramowania

Oprogramowania

(gotowego produktu)

Cyklu wytwarzania
oprogramowania

Określa

metryki pomiarowe

Oprogramowania

(gotowego produktu)

Procesów wytwarzania
oprogramowania

Przedsięwzięć
informatycznych
(pojedynczego projektu)

Prowadzenia
przedsięwzięć
informatycznych

background image

Klasyfikacja systemów pomiarowych w
programometrii

Badawczo-
rozwojowe

stosowane w
pomiarach
naukowych, w
obszarze metodologii i
inżynierii
oprogramowania,
poszerzają praktykę
stosowalności metod
inżynierii
oprogramowania

Pomiarowo-

kontrolne

stanowią integralna
cześć każdego
procesu wytwarzania
oprogramowania – tu
narzędzia
komputerowego
wspomagania
wytwarzania
oprogramowania
przyczyniają się do
automatyzacji
pomiarów

Pomiarowo-

diagnostyczne

służą detekcji, lokalizacji,
identyfikacji usterek
programowych, defektów i
uszkodzeń, identyfikacji
odchyłek od miar jakości
oprogramowania

background image

Skale i formy pomiaru w programometrii

Skale pomiarowe w klasyfikacji

Skala

nominalna

Skala

porządkowa

Skala

interwałowa

Skala

stosunkowa

Np. podział
modeli na
kaskadowy,
spiralny, itp,

porównuje i szereguje elementy
(Np. zgodny, częściowo zgodny,
niezgodny z modelem, itp..)

Np. ocenia się trzy produkty A, B,C napisane Np. w
języku C++ i dokonuje pomiaru częstości defektów –
mówimy wówczas, że A ma 2 razy wyższą częstość
defektów niż B i 1,5 razy niższą niż C

Np. Skala

Celsjusza i

Fahrenheita

background image

Formy (poziomy) pomiaru

Pomiar w skali stosunkowej i interwałowej

można wyrazić w jednostkach liczbowych

Pomiary mogą być wielopoziomowe

Kolejne poziomy pomiarów tworzą
hierarchiczny system i są tworzone z
zachowaniem zasady, że im wyższy poziom
pomiaru tym bardziej można przeprowadzić
zaawansowaną analizę

Każdy

wyższy poziom

skali pomiarowej

można

zredukować do skali niższego

poziomu ale nie odwrotnie

background image

Typy miar używane w programometrii

Liczba

Kategoria,

Stosunek,

Proporcja,

Odsetek,

Tempo,

Sześć Sigma – pomiar stosowany w standardach
jakości – ma on z góry określoną częstość defektów
(3,4 części na milion)

Korelacja

background image

Korelację należy stosować ostrożnie

Brak korelacji liniowej

między dwoma

zmiennymi (niewielki współczynnik korelacji) nie
oznacza, że między zmiennymi nie ma jakiejkolwiek
zależności

Korelacja

nie określa zależności

przyczynowo-skutkowej

Dla zbadania zależności przyczynowo-skutkowych
muszą być spełnione trzy warunki:

1)

Przyczyna poprzedza efekt

2)

Istnieje silna korelacja między przyczyną i
skutkiem

3)

Obserwowana zależność nie może być
zależnością pozorną

Ponieważ:

background image

Przegląd i analiza miar i metryk

oprogramowania

3

Ogólny podział miar oprogramowania
Przykładowe miary procesu (organizacji)
Wybrane miary przedsięwzięć informatycznych (projektu)
Miary produktu
Analiza miar oprogramowania i wnioski

background image

Co mierzy programometria?

Proces

programowy

ogół czynności

związanych z

wytwarzaniem

oprogramowania, w

celu uwiarygodnienia

przed klientem

dojrzałości

kompetencyjnej

Miary

organizacji

(procesu)

Przedsięwzięcie

informatyczne

w celu lepszej

estymacji czasu i

kosztu, kontroli jakości

realizowanych zadań,

oceny produktywności

i, ogólnie, poddawane

są kontroli

przedsięwzięcia

Miary

przedsięwzięcia

(projektu)

Produkt

programowy

zarówno jego jakość,

jak również inne,

niejakościowe cechy

produktu

Miary

programów

jako

produktów

background image

Miary produktu

Opisują cechy produktu

Miary

procesu

programowego

Mogą być użyte
do poprawy
produkcji i serwisu
oprogramowania

Miary projektu

Opisują cechy

charakterystyczne i

działanie projektu

Miary oprogramowania

Niektóre

miary można

zaliczyć do

kilku

kategorii

jednocześnie

background image

Wybrane miary procesów programowych

Proces

programowy

ogół czynności

związanych z

wytwarzaniem

oprogramowania, w

celu uwiarygodnienia

przed klientem

dojrzałości

kompetencyjnej

Miary

organizacji

Przedsięwzięcie

informatyczne

ogół czynności

kontrolnych w celu

lepszej estymacji

czasu i kosztu,

jakości realizowanych

zadań, oceny

produktywności

Miary

przedsięwzięć

Produkt

programowy

ogół czynności

związanych z

jakością produktu, i

inne niejakościowe

jego cechy

Miary

programów

jako

produktów

background image

Wpływ różnych czynników na proces
wytwarzania oprogramowania

Celowość, zakres

przedsięwzięcia

Zgodność

rozwiązań z

warunkami

procesu

wytwarzania

oprogramowania

Integralność

rozwiązań

Bezpieczeństwo

rozwiązań

Niezawodność

oprogramowania

Inne metryki

oprogramowania

czynniki techniczne

czynniki funkcjonalne

Czynniki
ekonomiczne,
organizacyjne,
prawne, społeczne, itp

M

e

try

k

i

p

ro

c

e

s

u

w

y

tw

a

rza

n

ia

o

p

ro

gra

mow

a

n

ia

background image

2

pozwala ocenić sposób realizacji (dojrzałość) procesu

programowego (jako całości)

pozwala na wyróżnienie tych procesów głównych, które

realizowane są poprawnie, i tych które nie są

miary procesu powinny być zbierane z wielu

przedsięwzięć i uśrednione z dłuższego okresu czasu

wysoka ocena dojrzałości ułatwia przekonanie klienta,

że organizacja jest w stanie dostarczyć
oprogramowanie na czas, w ramach budżetu, o dobrej
jakości

Pomiar procesów programowych

background image

Monitorowanie odbywa się przez:

porównanie planów z realnymi dokonaniami (ocena postępu prac)

identyfikowanie odchyleń od planu

podejmowanie działań korygujących

modyfikacje

modyfikacje

rezultaty planu

efekty działań

organizacja

przedsięwzięcia

organizacja działań

CO OSIĄGNĄĆ
plan punktów kontrolnych
plan odpowiedzialności

CO OSIĄGNĄĆ
plan działań
zakres odpowiedzialności działania

poziom operacyjny

poziom taktyczny

Monitorowanie procesów programowych

background image

Normy jakości dla procesu programowego

ISO 9001

ISO 9002

ISO 9003

Modele systemu

jakości

ISO 9004

Elementy systemu

jakości

ISO 9000

Wytyczne wyboru

modelu

ISO 8402

Terminologia

ISO/IEC 1508

Bezpieczeństwo

oprogramowania

systemów

krytycznych

IEC/TC 56

Niezawodność

oprogramowania

systemów

krytycznych

Oprogramowanie jest

rozumiane jako jeden

z rodzajów wyrobów

background image

Jakość jako metryka procesu programowego

przedsięwzięcia 3

Plan jakości

przedsięwzięcia 3

Plan jakości

przedsięwzięcia 1

przedsięwzięcia 2

Plan jakości

przedsięwzięcia 2

Firmowy podręcznik

jakości

Model jakości

ISO 9000

Firmowy proces

jakości

Zarządzanie

jakością

przedsięwzięć

Wspomaga

jego egzemplarzem jest

jest używany przy

opracowaniu

dokumentuje

jego egzemplarzem
jest

background image

Polityka jakości

to ogólne intencje i zamierzenia danej organizacji w

odniesieniu do jakości [ISO8402] wyrażana w sposób formalny przez zarząd firmy.

Polityka i system jakości

• Musi być zdefiniowana i udokumentowana;
• Muszą być określone cele i zaangażowanie w jakość;
• Musi być zgodna z działaniami przedsiębiorstwa i oczekiwaniami klienta;
• Musi być zakomunikowana i rozumiana na wszystkich szczeblach zarządzania.

System jakości

to struktura organizacyjna, przydział odpowiedzialności,

procedury postępowania, zasoby użyte do implementacji polityki jakości w danej
organizacji [ISO8402]

pełnomocnik lub zespół do spraw jakości;

księga jakości: udokumentowane procedury systemu jakości.

background image

Miara procesów wytwarzania
oprogramowania to zgodność z zasadami
zarządzania jakością

Ukierunkowanie na klienta (również klient wewnętrzny)

Przywództwo (budowa wizji, identyfikacja wartości)

Zaangażowanie ludzi (satysfakcja, motywacja, szkolenia)

Podejście procesowe i pomiary

Podejście systemowe

Ciągłe doskonalenie

Rzetelna informacja (zbieranie i zabezpieczanie danych do

podejmowania obiektywnych decyzji)

Partnerstwo dla jakości (bliskie związki producentów z klientami)

background image

Inne ekonomiczne miary procesu
procesów programowych

Reklama i promocja produktu

Renoma producenta

Rodzaj i zakres gwarancji oraz innych usług dla klientów

Przyzwyczajenia klientów

Sposób wyceny rozmaitych wersji produktu

Inwestycje niezbędne wewnątrz firmy

Koszty reorganizacji firmy

Koszty szkoleń

Koszty zakupu narzędzi CASE

Nakłady na dokładne testowanie oprogramowania

Zwrot nakładów następuje zwykle po pewnym czasie i często nie
może być traktowany jako pewny.

Jakość produktu jest tylko jednym z czynników
wpływających na wynik ekonomiczny firmy. Inne aspekty to:

background image

Obiekty pomiaru procesu programowego

Obiekty

Atrybuty bezpośrednio mierzalne

Wskaźniki
syntetyczne

Specyfikacje rozmiar, ponowne użycie, modularność,

nadmiarowość, funkcjonalność,
poprawność składniową, ...

zrozumiałość,
pielęgnacyjność, ...

Projekty

rozmiar, ponowne użycie, modularność,
spójność, funkcjonalność,...

jakość, złożoność,
pielęgnacyjność, ...

Kod

rozmiar, ponowne użycie, modularność,
spójność, złożoność, strukturalność, ...

niezawodność,
używalność,
pielęgnacyjność, ...

Dane
testowe

rozmiar, poziom pokrycia,...

jakość,...

....

....

....

2

background image

Obiekty pomiaru oprogramowania

2

Obiekty

Atrybuty bezpośrednio mierzalne

Wskaźniki
syntetyczne

Specyfikacja
architektury

czas, nakład pracy, liczba zmian
wymagań, ...

jakość, koszt,
stabilność, ...

Projekt
szczegółowy

czas, nakład pracy, liczba znalezionych
usterek specyfikacji,...

koszt, opłacalność,
...

Testowanie

czas, nakład pracy, liczba znalezionych
błędów kodu, ...

koszt, opłacalność,
stabilność, ...

....

....

....

background image

Obiekty pomiaru oprogramowania

2

Obiekty

Atrybuty bezpośrednio mierzalne

Wskaźniki
syntetyczne

Personel

wiek, cena, ...

wydajność,
doświadczenie,
inteligencja, ...

Zespoły

wielkość, poziom komunikacji,
struktura,...

wydajność, jakość,
...

Oprogramo
wanie

cena, wielkość, ...

używalność,
niezawodność, ...

Sprzęt

cena, szybkość, wielkość pamięci

niezawodność, ...

Biura

wielkość, temperatura, oświetlenie,...

wygoda, jakość,...

....

....

....

background image

Wydajność

Wartość

Koszt

Jakość

Ilość

Personel

Zasoby

Złożoność

Niezawodność

Defekty

Wielkość

Funkcjonalność

Czas

Pieniądze

Sprzęt

Oprogramowanie

Ograniczenia
środowiskowe

Trudność
problemu

Przykładowe miary wydajności zasobów

Czynniki
wpływając
e
na ogólną
Wydajność
Zasobów

background image

CMM: Capability Maturity Model

1.

Początkowy

2.

Zarządzany (powtarzalny)

3.

Zdefiniowany

4.

Zarządzany ilościowo

5.

Optymalizujący

Poziom dojrzałości organizacyjnej firmy

wytwarzającej oprogramowanie

SEI, Pittsburg, USA

1989-1993

background image

Niedojrzałość i dojrzałość procesów
programowych

Improwizacja podczas
procesu wytwórczego

Proces jest wyspecyfikowany,
ale specyfikacja nie jest
stosowana

Doraźne reagowanie w
sytuacji kryzysów

Harmonogram i budżet są
przekraczane

Funkcjonalność jest
stopniowo okrajana

Jakość produktu jest niska

Brak obiektywnych kryteriów
oceny

Zdolność do budowy
oprogramowania jest cechą
organizacji a nie personelu

Proces jest zdefiniowany,
znany i wykorzystywany

Proces jest obserwowany i
ulepszany

Prace są planowane i
monitorowane

Role i odpowiedzialności są
zdefiniowane

Obiektywna, ilościowa ocena

Niedojrzałość

Dojrzałość

background image

Problemy z dojrzałością procesu
wytwarzania oprogramowania

Czy dojrzały, realizowany na wysokim
poziomie kompetencji proces wytwarzania
oprogramowania musi skutkować
osiągnięciem sukcesu (realizacją
oprogramowania na czas, w ramach
zaplanowanego budżetu, dobrej jakości)?

?

background image

Pomiary przedsięwzięć informatycznych
(projektów)

Proces

programowy

ogół czynności

związanych z

wytwarzaniem

oprogramowania, w

celu uwiarygodnienia

przed klientem

dojrzałości

kompetencyjnej

Miary

organizacji

Przedsięwzięcie

informatyczne

ogół czynności

kontrolnych w celu

lepszej estymacji czasu

i kosztu, jakości

realizowanych zadań,

oceny produktywności

Miary

przedsięwzięć

Produkt

programowy

ogół czynności

związanych z

jakością produktu, i

inne niejakościowe

jego cechy

Miary

programów

jako

produktów

background image

Wykład 30.05.2012

background image

Pomiary przedsięwzięcia informatycznego

3

Pomiary procesu programowego, analizowane

nie

na poziomie całej organizacji, lecz na

pojedynczo

realizowanych przedsięwzięciach

Pomiary przedsięwzięcia pozwalają na:

– ocenę stanu realizacji przedsięwzięcia
– śledzenie potencjalnych zagrożeń
– wyodrębnienie obszarów krytycznych
– przydzielanie pracownikom zadań w projekcie
– bieżącą ocenę jakości powstającego produktu
– kontrolę czynników kosztowych przedsięwzięcia i

kontrolę harmonogramu realizacji projektu

background image

Pomiary przedsięwzięcia informatycznego

3

Obowiązują tu zwykle takie miary jakie wynikają z

nadrzędnego procesu programowego

(organizacji) ale są i inne

Pomiar przedsięwzięcia programistycznego jest

zależy od przyjętej

w przedsięwzięciu metod

prowadzenia projektu –

metodyki

Miary przedsięwzięcia zależą również

od

techniki prowadzenia przedsięwzięcia

od paradygmatów programowych

Miary przedsięwzięcia informatycznego

zależą

również od miar oceny produktu

oprogramowania

background image

Oczekiwania względem oprogramowania to
miara przedsięwzięcia informatycznego
(projektu)

Wymagania

Software

A jaka jest rzeczywistość?

Wymagania

OPÓŹNIENIE

OPÓŹNIENIE

Software

k

background image

Cztery wymiary bieżącej oceny przedsięwzięcia
informatycznego

oprogramowanie

koszt

zakres

czas

jako

ś

ć

background image

krótki termin

wysoka jakość

niski koszt

wysoka

akceptacja

użytkownika

(ZAKRES)

przebieg typowy

przebieg

zalecany

przebieg

maksymalny

Realizacja oprogramowania jako kompromis

background image

Miary w produktu programowego

Proces

programowy

ogół czynności

związanych z

wytwarzaniem

oprogramowania, w

celu uwiarygodnienia

przed klientem

dojrzałości

kompetencyjnej

Miary

organizacji

Przedsięwzięcie

informatyczne

ogół czynności

kontrolnych w celu

lepszej estymacji

czasu i kosztu,

jakości realizowanych

zadań, oceny

produktywności

Miary

przedsięwzięć

Produkt

programowy

ogół czynności

związanych z

jakością produktu, i

inne niejakościowe

jego cechy

Miary

programów

jako

produktów

background image

Podział miar produktu programowego

Pomiar produktu

oprogramowania

Miary statyczne

Miary dynamiczne

pomiary
wykonującego się
programu.

pomiary
reprezentacji
systemu, takich
jak projekt,
program,
dokumentacja

background image

Różnorodne metryki uwzględniają m.in. następujące
aspekty

wrażliwość na błędy,

możliwości testowania,

częstotliwość występowania awarii,

dostępność systemu,

propagacja błędów,

ilość linii kodu, złożoność kodu,

złożoność programu,

złożoność obliczeniowa,

funkcjonalną, modułową,

łatwość implementacji,

rozmiar dokumentacji,

ilość zadań wykonanych

terminowo i po terminie,

współzależność zadań,

wielkość i koszt projektu,

czas trwania projektu,

zagrożenia projektu (ryzyko),

czas gotowości produktu,

kompletność wymagań,

kompletność planowania,

stabilność wymagań,

odpowiedniość posiadanych

zasobów sprzętowych,

materiałowych i ludzkich,

efektywność zespołu, efektywność

poszczególnych osób.

Miary produktu - oprogramowania

background image

Miary produktu - oprogramowania

4

Koszt

Produktywność

Jakość

Niezawodność

Złożoność

Złożoność obliczeniowa

(algorytmiczna)

Zgodność ze standardami

Otwartość

Przenaszalność

Rozwijalność

Użyteczność

Efektywność

Podatność na modyfikacji

Satysfakcja użytkownika

Wielkość funkcjonalna (FP)

Długość (np. LOC, software

science)

Sterowalność (np. V(G) )

Ergonomiczność

Sposób użycia danych

Pielęgnowalność

Miary wielokryterialne

tzw. efekt skali

Zrównoważony System Miar i

tzw. Strategiczna Karta Wyników

Dojrzałość realizacyjna

oprogramowania

Różne metryki hybrydowe

Istnieją ich setki i wiele wiele

innych

Które miary

wybrać do oceny

produktu?

background image

Podstawowa metryka
oprogramowania to jego jakość

Zapewnienie jakości to

zespół działań

zmierzających do wytworzenia

u wszystkich

zainteresowanych

przekonania

,

że dostarczony

produkt właściwie realizuje

swoje funkcje

i odpowiada aktualnym

wymaganiom i standardom

.

Jakość oprogramowania można wyrazić technicznymi

czynnikami

mierzalnymi

oraz

niemierzalnymi

obiektywnie czynnikami psychologicznymi.

Podstawą obiektywnych wniosków co do jakości

oprogramowania są

pomiary parametrów

użytkowych

(niezawodności, szybkości działania, itp..

background image

Jakość oprogramowania – metryką
oprogramowania jako produktu

Jakość gotowych produktów programistycznych jest

bardzo trudna do zmierzenia

ze względu na:

eksplozję danych testowych,

złożoność oprogramowania,

wieloaspektowość,

identyczność wszystkich kopii produktu,

niską przewidywalność wszystkich aspektów

zastosowań oprogramowania w długim czasie.

Gotowe oprogramowanie może mieć zastosowanie

w

różnej skali

a przy zmianie skali

pomiary jakości mogą

okazać się nieadekwatne

,

Pomiary mogą być

bardzo kosztowne, czasochłonne

lub niewykonalne

(z powodu niemożliwości stworzenia

środowiska pomiarowego przed wdrożeniem);

background image

4

ISO/IEC 9126 Software engineering - Product

quality

Miary jakości produktu programowego

Part 1: Quality model (2001)

Part 2: External metrics (2003)

Part 3: Internal metrics (2003)

Part 4: Quality in use metrics (2004)

background image

ISO/IEC 9126:2001

Jakość produktu programowego

funkcjonalność

niezawodność

użyteczność

efektywność

konserwowalność

przenośność

dopasowanie

dokładność

łatwość

współdziałania

bezpieczeństwo

dojrzałość

odporność na

błędy

odzyskiwalność

zrozumiałość
wyuczalność
operacyjność
atrakcyjność

efektywność

czasowa

zużycie

zasobów

analizowalność

zmienialność

stabilność

testowalność

adaptowalność

instalowalność

zgodność

zastępowalność

Jakość użytkowa

efektywność

produktywność

bezpieczeństwo

satysfakcja

background image

4

Związki między miarami jakości produktu
programowego i procesu jego wytwarzania

wpływa na

wpływa na

wpływa na

zależy od

zależy od

zależy od

jakość

procesu

atrybuty

jakości

wewnętrznej

atrybuty

jakości

zewnętrznej

atrybuty

jakości

użytkowej

Kontekst użycia

Miara

procesu

Miara

wewnętrzna

Miara

zewnętrzna

Miara

jakości

użytkowej

Proces

Produkt programowy

Wynik działania produktu

background image

Związki między atrybutami zewnętrznymi i
wewnętrznymi jakości oprogramowania

Wygoda

użytkownika

Przenośność

Niezawodność

Zdatność do

pielęgnacji

Liczba parametrów

procedur

Złożoność

cykliczna

Wielkość programu

w wierszach kodu

Liczba komunikatów

o błędach

Wielkość podręcznika

użytkownika

background image

Związek miar kontrolnych i predykcyjnych
oprogramowania

Pomiary

kontrolne

Pomiary

predykcyjne

Produkt

programowy

Proces tworzenia

oprogramowania

Decyzje

menedżerskie

background image

europejskie

amerykańskie

japońskie

Zgodność ze

specyfikacją

Satysfakcja

użytkownika

Wszystko co

można poprawić

Niezgodność ze

specyfikacją

Niespełnienie

oczekiwań

użytkownika

Wszystko co

można poprawić

(każdy

mankament)

Obiektywne

mierzalne kryteria

techniczne

Subiektywne
niemierzalne

oceny

użytkownika

Subiektywne i

obiektywne oceny

i kryteria

specyfikacje i

badania kontrolne,

testowanie,

nadzorowanie

procesu,

standaryzacja

analiza wymagań,

badania

konkurencji,

ocena satysfakcji

klienta

system

kompleksowy,

ciągłe

doskonalenie

producent

producent

każdy

producent, ekspert

klient, użytkownik,

laik

każdy

Różne podejścia do problemu jakości

Podejście:

Co podlega ocenie
jakości

Kiedy jest zła jakość

Jak się mierzy jakość?

Rodzaj systemu
pomiarowego

Kto odpowiada za
jakość ?

Kto weryfikuje jakość?

background image

Norma IEEE-730

Norma IEEE-730 podaje

ogólne ramy planu zapewniania

jakości.

Powinien on obejmować następujące zagadnienia:

• analiza punktów widzenia
• referencje wykonawcy
• zarządzanie przedsięwzięciem informatycznym
• dokumentacja
• standaryzacja działań
• przeglądy i audyty
• zarządzanie konfiguracją oprogramowania
• raport napotykanych trudności i podjętych działań prewencyjnych
• wykorzystywane metody i narzędzia
• kontrola kodu, mediów, dostawców
• zarządzanie hurtowniami danych
• pielęgnacja

Norma IEEE-730 uzupełniono i uszczegółowiono normą IEEE-983.

background image

Rola systemów komputerowego

wspomagania procesów

pomiaru oprogramowania

5

background image

Komputerowe

wspomaganie

przedsięwzięć

informatycznych

( np.. CASE, program do

zarządzania projektami,

zarządzania wersjami,

PRINCE2, Mind Manager,

CMTJava - narzędzie do

wyznaczania metryk w

programach w języku Java

itp., )

Pakiety wspomagające
diagnostykę
programów

(programy testujące)

Pakiety
wspomagające
organizację

(np.. Hudson w firmie Tieto)

Rodzaje systemów komputerowego
wspomagania procesów pomiaru
oprogramowania

Pakiety
gromadzące dane i
historię pomiarów

background image

Ze względu na kompleksowość można podzielić na:

• Cząstkowe
• Pośrednie
• Zintegrowane
• Dedykowane
• Otwarte
• Doradcze
• Wspomagające zarządzanie zasobami
• Elastyczne

Typy narzędzi wspomagających

background image

Podsumownaie i kierunki dalszego

rozwoju programometrii

6

Rozległy i interdyscyplinarny obszar badań w programometrii
Różnorodność miar

background image

Rozległy i interdyscyplinarny obszar badań w

programometrii

Obszar

zagadnień

technicznych

Aspekty

ekonomiczne

prawne

społeczno-

polityczne

analiza systemowa

metody optymalizacji i

symulacji

Metodyki, techniki wytwarzania
Teoria pomiaru,
Paradygmaty programowania

Monitorowanie i diagnostyka

Analiza ekonometryczna
(ryzyko, koszty, czas, efekty,
Produktywność)
Działanie w zespole
Kompetencje-role

regulacje prawne

rynek zbytu

Komputerowe
wspomaganie
procesów
wytwarzania,

Pakiety
wspomagające
diagnostykę

Pakiety
wspomagające
procesy

background image

Różne kategorie pomiarów w programometrii

Metryki techniczne

Metryki jakości

Metryki produktywności

Metryki zorientowane

na rozmiar

Metryki zorientowane

na funkcje

Metryki zorientowane

na ludzi

Miary
projektu

Miary produktu

Miary

procesu

programowego

background image

Inne uwagi ogólne o metrykach… programów

Metryki

są tworzone i stosowane na bazie

doświadczenia i zdrowego rozsądku,

co obniża ich

wartość dla tzw. „teoretyków informatyki”.

Metryki powinny być wykorzystywane jako metody
wspomagania ekspertów. Metryki stosowane

formalistycznie mogą być groźne.

Najlepiej jest stosować zestawy metryk

, co pozwala

zmniejszyć błędy pomiarowe.

Przede wszystkim zdrowy rozsądek i doświadczenie.

Pomimo pochodzenia empirycznego, metryki skutecznie
pomagają w szybkiej i mniej subiektywnej ocenie
oprogramowania.

Specjalizacja metryk w kierunku konkretnej klasy
oprogramowania powinna dawać lepsze i bardziej
adekwatne oceny niż metryki uniwersalne.

Wskazane jest wspomaganie metod opartych na
metrykach narzędziami programistycznymi.

background image

Inne wnioski…

5

Porównanie miar oprogramowania

jest

utrudnione

ze względu na indywidualny charakter

przedsięwzięć informatycznych, programów, procesów
programowych, miar, braku jednolitego standardu
odniesienia, itp.

Miary oprogramowania mają często wartości

kategoryczne (np. miary jakości)

Metryk jakości

należy używać

na wszystkich

trzech poziomach

pomiaru oprogramowania

(proces programowy, przedsięwzięcie programistyczne,

gotowy produkt programowy)

background image

Dylematy programometrii

Programometria dostarcza narzędzi oceny programów i

tak długo jak długo będą programy wytwarzane tak
długo należy stosować metody programometrii

Zmienne paradygmaty oprogramowania

wymuszają powoływanie nowych metryk programów

Nowe zastosowania oprogramowania

mogą

wymuszać konieczność użycia nowych metryk
oprogramowania

Obszar badawczy programomerii musi być

ukierunkowany na nowe metryki

i procesy pomiaru

wynikające z rozwoju metod wytwarzania
oprogramowania, nowych metod projektowania,
testowania i nowych paradygmatów będących
podstawą procesów wytwarzania oprogramowania

background image

Jednym z problemów związanych z gromadzeniem
ocen oprogramowania i przedsięwzięć
informatycznych jest zrozumienie –

analiza pomiarów,

co te dane naprawdę oznaczają

,

Łatwo jest niewłaściwie zinterpretować dane i
wyciągnąć niepoprawne wnioski,

W celu obiektywizacji pomiarów oprogramowania
wydaje się niezbędną

integracja metod oceny

oprogramowania na poziomie procesu jego
wytwarzania, na poziomie oceny oprogramowania jako
produktu gotowego oraz na obu poziomach łącznie

Podsumowanie

background image

Podsumowanie

5

Dla określenia związku między mirami i rzetelnej oceny

oprogramowania

wymagana jest integracji źródeł

pomiaru

(danych)

Integracja metod oceny oprogramowania wymaga budowy

zintegrowanej

ontologii metryk

Gdy pojawi się nowy sposób pomiaru, nowe źródła

danych pomiarowych to dzięki ontologiom możliwe będzie
utworzenie nowej szerszej ontologii

Pomiar to atrybut cywilizacji

Montaigne napisał o świeżo odkrytym
Nowym Świecie:
„…Jeszcze przed zaledwie pięćdziesięciu
laty nie znano tu ani pisma, ani wagi, ani
miary, ani ubrań, ani zboża, ani wina…”

background image

Literatura:

Kan S.H.: Metryki i modele w inżynierii jakości oprogramowania. PWN SA,
Warszawa, 2006

Flasiński M.: Wstęp do analitycznych metod projektowania systemów

informatycznych. WNT, 1997

Jaszkiewicz A.: Inżynieria oprogramowania

Roger S. Pressman, Praktyczne podejście do inżynierii oprogramowania,
WNT, Warszawa 2004

Berard V.B.: Metrics for Object-Oriented Software Engineering

Subieta K.: Budowa i integracja systemów informacyjnych

Kulik P.: Software Metrics: State of the Art – 1999

Bliźniuk G.:Miary złożoności i jakości oprogramowania


Wyszukiwarka

Podobne podstrony:
cz 1d zarzadzanie projektem informatycznym tryb zgodnosci
(W7a Stale do kszta t na zimno cz I [tryb zgodno ci])
cz 1c projektowanie systemow czasu rzeczywistego tryb zgodnosci
Bazy Danych cz III [tryb zgodności]
I Wybrane zagadnienia Internetu SLAJDY [tryb zgodności]
Bazy Danych cz II [tryb zgodnos Nieznany (2)
(W7a Stale do kszta t na zimno cz I [tryb zgodno ci])
cz 1c projektowanie systemow czasu rzeczywistego tryb zgodnosci
termodynamika cz x [tryb zgodnosci]
Wybrane problemy zakażeń szpitalnych cz 1
Sobon Problematyka pomocy publicznej w wybranych sektorowych programach operacyjnych funduszy struk
termodynamika cz xi [tryb zgodnosci]
(A bezpieczeństwo pracy w wybranych gałęziach godpodarki wszop [tryb zgodności])
Wybrane problemy zakażeń szpitalnych cz 2
2012 KU W5 tryb dzienny moodle tryb zgodnosci

więcej podobnych podstron