Szacowanie oprogramowania IS rokIV w10 v0 1

background image

Metody pomiaru i
szacowania oprogramowania

Wprowadzenie do metodologii szacowania i
pomiarów oprogramowania
Przygotował: mgr inż. Rafał Mrówka

Wydział Elektrotechniki, Automatyki, Informatyki i
Elektroniki
Katedra Automatyki

Kraków 30.05.2008

background image

Metoda punktów funkcyjnych

2

background image

Analiza punktów funkcyjnych – tło
historyczne

Oryginalnie wprowadzona przez Allana
Albrechta w 1970 roku
Wprowadza nową metrykę
oprogramowania – punkty funkcyjne
Pierwsza publikacja metody – 1979,
następnie 1983
International Function Piont User Group
IFPUG – 1986
Obecna wersja podręcznika – IFPUG
Manual 4.1

3

background image

Cechy analizy punktów funkcyjnych

Podstawowy termin – użytkownik (definiuje
wymagania, akceptuje testy)
Metoda bazuje na wymaganiach – abstrahuje od
technologii
W zależności od technologii zmienia się tylko
przelicznik FP -> koszty, czas, LOC, itd.
Analiza FP może być wykonywana na każdym
etapie projektu
Metoda polega na dekompozycji i zliczaniu
Obejmuje także metody analizy i rozwiązywania
problemów
Analiza FP wykorzystuje architekturę LOGICZNĄ
systemu

4

background image

FPA – podstawowe pojęcia

System komputerowy traktujemy jako zbiór
elementarnych procesów (logicznych, nie
fizycznych) – odpowiada scenariuszowi
testowemu (akceptacyjnemu)

Rozróżniamy dwa typy procesów
podstawowych:

transportujące dane – przenoszą dane poprzez
granicę systemu, wykorzystujące interfejsu
zewnętrzne do komunikacji z otoczeniem
stacjonarne lub bezdanowe – realizujące logikę
biznesową, wykorzystujące dane wewnętrzne

5

background image

Rzeczywiste zalety FPA

Metryka zrozumiała na nie-informatyków –
efektywna komunikacja
Pozwala na zastosowanie metody na
wcześniejszych etapach projektu
Ułatwia zarządzanie zakresem projektu –
stanowi inwentaryzację funkcji systemu
Zakłada możliwość dostosowania
współczynników kosztowych do danej
organizacji

6

background image

Kiedy nie stosować FPA

Do wyznaczenia kosztów utrzymania
systemu
Identyfikacji i rozwiązania problemu
technicznego lub wdrożeniowego
W przypadku braku lub małej
wiarygodności danych o wydajności
zespołu projektowego
Jeżeli ilość dostępnych informacji pozwala
na zastosowania bardziej dokładnych
metod estymacji

7

background image

Rodzaje analiz punktów funkcyjnych

Implementacyjne punkty funkcyjne –
punkty funkcyjne obliczane w czasie
trwania projektu i budowy systemu
Punkty funkcyjne rozszerzeń – punkty
funkcyjne rozbudowy działającego,
produkcyjnego systemu
Punkty funkcyjne aplikacji – punkty
funkcyjne przeliczone dla gotowej aplikacji
(base line), stosowane w celu wyznaczenia
wydajności, skali porównawczej, itd.

8

background image

Produktywność w FPA

Produktywność jest kluczowym elementem
metody punktów funkcyjnych
Z teorii ekonomi wiemy, że:

produktywność =

wartość wyjściowa/wartość wejściowa

W przypadku oprogramowania,
przyjmujemy:

produktywność = jednostka wielkości /

koszt wytworzenia jednostki

Dla FPA miarą produktywności jest FP/md

9

background image

Proces estymacji w FPA

Określenie typu obliczanych punktów funkcyjnych
Zdefiniowanie granicy analizowanego systemu
Identyfikacja oraz kategoryzacja typów funkcji
transakcyjnych – wyznaczenie nieważonej liczby
punktów funkcyjnych (unadjusted function points
UPS)
Identyfikacja oraz kategoryzacja typów funkcji
operujących na danych – wyznaczenie nieważonej
liczby punktów funkcyjnych
Wyznaczenie wartości współczynnika wagi VAF
Obliczenie wartości ważonej liczby punktów
funkcyjnych z wykorzystaniem GSC – general
system characteristics

10

background image

Typy funkcji transakcyjnych

11

Punkty funkcyjne deweloperskie –
obliczane w przypadku budowy nowego
systemu informatycznego
Punkty funkcyjne rozszerzenia –
wykorzystywane w przypadku szacowania
rozszerzeń istniejącego systemu
Punkty funkcyjne aplikacji – obliczane dla
gotowych systemów np. dla celów
porównawczych

background image

Elementy logiczne modelu systemu -
dane

Zewnętrzne dane wejściowe (EI) –
ekrany, formularze, okna dialogowe lub
sygnały sterujące, za pomocą których
użytkownika lub program zewnętrzny
zarządza danymi programu
Zewnętrzne dane wyjściowe (EO) –
ekrany, raporty, wykresy lub sygnały
sterujące, które program generuje w celu
ich wykorzystania przez użytkownika lub
program zewnętrzny

background image

Elementy logiczne modelu systemu -
kwerendy

Kwerendy zewnętrzne (EQ)
kombinacje danych wejściowych oraz
wyjściowych, które generowane są
natychmiastowo na podstawie zadanych
atrybutów.

Określenie pochodzi z terminologii baz
danych – odpowiada wyszukiwaniu danych
na podstawie jednego klucza. Obecnie
kwerendy określa się jako dane pobierane z
bazy danych w wyniku jednego zapytania.

background image

Elementy logiczne modelu systemu -
pliki

Wewnętrzne pliki logiczne (ILF) – duże
grupy logiczne danych użytkownika lub
informacji sterujących, kontrolowane
całkowicie przez program. Plik logiczny
może składać się z jednego pliku płaskiego
lub pojedynczej tabeli relacyjnej baz
danych
Zewnętrzne pliki interfejsu (EIF) - pliki
kontrolowane przez inne programy, które
są wykorzystywane przez analizowany
system

background image

Elementy zliczane

FPA definiuje trzy elementy zliczane w
poszczególnych logicznych modułach
systemu:

RET (Record Element Type) –
identyfikowalna przez użytkownika podgrupa
danych w wewnętrznym pliku logicznym lub
zewnętrznym pliku interfejsu (ILF, EIF)
FTR (File Type Referenced) – typ pliku w
transakcji: ILF lub EIF)
DET (Data Element Type) – unikalny,
nierekurencyjne pole edycyjne. DET zawiera
dane dynamiczne

background image

Powiązanie modułów i elementów

Komponent

RET

FTR

DET

EI

EO

EQ

EIF

ILF

background image

Przykłady elementów

Transakcyjne DET:

EI: pola wejściowe, komunikaty błędów,
obliczone wartości, przyciski
EO: pola na raportach, obliczone wartości,
komunikaty błędów, tytuły kolumn czytanych
z ILF
EQ: wejścia filtru wyszukiwarki, klikniecie
myszy, dane wyświetlane w wyniku
zapytania

RET – bazuje na relacji rodzic – dziecko
(jeden do wielu) i dotyczy plików danych
(EIF, ILF)

background image

DET jako elementy GUI

Definicja „element danych
rozpoznawanych przez użytkownika, nie
rekurencyjny”
Elementy DET w GUI:

Radio buttons
Check boxes
Command buttons
Wykres lub grafika (także ikona)
Dzwięki (ciąg)
Fotografie
Komunikaty (błędy, notyfikacje, itd.)

background image

Klasyfikacja EI (złożoności)

RET

DEF

1-4

5-15

>15

<2

Niska(3)

Niska(3)

Średnia(4)

2

Niska(3)

Średnia(4)

Wysoka(6)

>2

Średnia(4)

Wysoka(6)

Wysoka(6)

background image

Przykład EI

background image

Klasyfikacja EO (złożoności)

FTR

DEF

1-5

6-19

>19

<2

Niska(4)

Niska(4)

Średnia(5)

2-3

Niska(4)

Średnia(5)

Wysoka(7)

>3

Średnia(5)

Wysoka(7)

Wysoka(7)

background image

Przykład EO – 10 x DET

background image

Klasyfikacja EQ (złożoności)

FTR

DEF

1-5

6-19

>19

<2

Niska(3)

Niska(3)

Średnia(4)

2-3

Niska(3)

Średnia(4)

Wysoka(6)

>3

Średnia(4)

Wysoka(6)

Wysoka(6)

background image

Przykład EQ

background image

Klasyfikacja ILF (złożoności)

RET

DEF

1-19

20-50

>50

1

Niska(7)

Niska(7)

Średnia(10)

2-5

Niska(7)

Średnia(10)

Wysoka(15)

>5

Średnia(10)

Wysoka(15)

Wysoka(15)

background image

Przykład RET

Dwa ILF, dwa RET

Jeden ILF, dwa RET

background image

Klasyfikacja EIF (złożoności)

RET

DEF

1-19

20-50

>50

1

Niska(5)

Niska(5)

Średnia(7)

2-5

Niska(5)

Średnia(7)

Wysoka(10)

>5

Średnia(7)

Wysoka(10)

Wysoka(10)

background image

Współczynnik modyfikujący VAF

Wyrażenie określa współczynnik
modyfikacji:

C

i

– wartości wynikające z charakterystyki

systemu

background image

Współczynniki C

i

Lp.

Nawa

Opis

1

Komunikacja

Ile ośrodków należy połączyć w celu

wymiany danych

2

Przetwarzanie

rozproszone

Ile danych rozproszonych i funkcji

należy przetwarzać

3

Wydajność

Czy użytkownik wymaga maksymalnych

czasów odpowiedzi?

4

Obciążenie

środowiska

Jak bardzo wykorzystane jest obecne

środowisko sprzętowe

5

Ilość transakcji

Jak często transakcje są przetwarzane

dziennie, tygodniowo, miesięcznie?

6

Dane on-line

Jaki procent danych jest

wprowadzanych on-line

7

Ergonomia

Czy aplikacja została zaprojektowana z

uwzględnieniem wydajności

użytkownika?

background image

Współczynniki C

i

cd.

Lp.

Nawa

Opis

8

Aktualizacja on-line

Ile ILF jest aktualizowanych w

transakcji?

9

Złożone obliczenia

Czy aplikacja przeprowadza złożone

obliczenia?

10

Ponowne

wykorzystanie

Czy aplikacja została zaprojektowana

do ponownego użycia?

11

Łatwość instalacji

Jak trudna jest instalacja?

12

Łatwość użycia

Jak łatwa jest procedura uruchomienia,

backupu oraz odzyskania?

13

Ilość lokalizacji

Cz aplikacja ma być instalowana w

wielu lokalizacjach?

14

Zmienność

Czy aplikacja została zaprojektowana z

uwzględnieniem łatwości wprowadzania

zmian?

background image

Obliczanie UFP

Moduł

Złożoność

Niska

Średnia

Wysoka

Suma

EI

_x3=_

_x4=_

_x6=_

EO

_x4=_

_x5=_

_x7=_

EQ

_x3=_

_x4=_

_x6=_

ILF

_x7=_

_x10=_

_x15=_

ELF

_x5=_

_x7=_

_x10=_

Całkowita wartość nieskorygowanych FP

background image

Deweloperskie punkty funkcyjne

Dla nowych projektów ilość skorygowanych
punktów funkcyjnych wyznaczamy jako:

FP = (UFP + CFP)*VAF

CFP – liczba skorygowanych punktów
funkcyjnych dla aplikacji konwertującej

background image

Punkty funkcyjne aplikacji

Dla gotowych aplikacji ilość skorygowanych
punktów funkcyjnych wyznaczamy jako:

FP = UFP*VAF

background image

Punkty funkcyjne rozszerzeń

Dla rozszerzeń istniejących aplikacji ilość
skorygowanych punktów funkcyjnych
wyznaczamy jako:

FP = (UFP+CHGA+CFA)*VAFA + (DEL*VAFB)

CHGA – liczba nieskorygowanych punktów funkcyjnych
dla zmodyfikowanych metod
CFP – liczba punktów funkcyjnych dla aplikacji
konwertującej
VAFA – współczynnik VAF dla aplikacji po zmianie
DEL – nieskorygowane punkty funkcyjne dla
skasowanych funkcji
VAFB – współczynnik VAF przed zmianą


Document Outline


Wyszukiwarka

Podobne podstrony:
Szacowanie oprogramowania
Shame and Guilt there is a way out v0 3
Szacowanie Koszt%F3w Tworzenia Oprogramowania
BYT 2003 Szacowanie zlozonosci oprogramowania v1
BYT 2004 Szacowanie zlozonosci oprogramowania v2
Kate Hardy Where the Heart Is [HMED 221, MMED 1289] (v0 9) (docx)
Szacowanie zlozonosci oprogramowania
Jeneth Murrey Hell is My Heaven [HR 2483] (v0 9) (docx)
Sarah Holland The Heat is On [HP 1192, MB 2955] (v0 9) (docx) 2
W4 Proces wytwórczy oprogramowania
Proces tworzenia oprogramowania
Szacowanie zasobów st
metodologia badan wydatkow i szacowanie budzetu rekomowego
BYT 2005 Pomiar funkcjonalnosci oprogramowania
IS LM
IS Myślenie systemowe w praktyce

więcej podobnych podstron