Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Szacowanie złożoności oprogramowania Maciej Wereski & Michał Wolski.

Podobne prezentacje


Prezentacja na temat: "Szacowanie złożoności oprogramowania Maciej Wereski & Michał Wolski."— Zapis prezentacji:

1 Szacowanie złożoności oprogramowania Maciej Wereski & Michał Wolski

2 Wstęp Szacowanie kosztów wyznaczamy na podstawie: Kosztu sprzętu i oprogrmowania wraz z konserwacją Koszty podrózy i szkoleń Koszty pracy

3 Udostępnienie, ogrzanie, oświetlenie przestrzeni biurowej Personel pomocniczy (sekretarki, księgowe, sprzątaczki) Sieć oraz telekomunikacja Udogodnienia centralne (biblioteka, pomieszczenia rekreacyjne) Ubezpieczenia społeczne oraz świadczenia dla pracowników

4 Metody szacowania Algorytmiczne modelowanie kosztów Ocena ekspertów Szacowanie przez analogię Ustalanie ceny pod zwycięstwa (wpływ na koszty ma klient – np. przetarg)

5 Prawo Parkinsona Koszt jest determinowany przez dostępne zasoby, a nie przez obiektywną ocenę.

6 Pierwsze metody LOC – szacowanie linii kodu Metryka Halstead'a Metryka McCabe'a

7 Metryka Halsteada Oznaczenia: n1 - liczba różnych operatorów n2 - liczba różnych operandów N1 - całkowita liczba wystąpień operatorów w P N2 - całkowita liczba wystąpień operandów w P P - program słownik P zawiera n = n1 + n2 elementów wielkość P wynosi N = N1 + N2 twierdzenie: szacunkowa wartość N wynosi n1*logn1 + n2*logn2 twierdzenie: wysiłek potrzebny do wytworzenia P wynosi: E = n1*N2*N*logn/2*n2 (jednostek elementarnych) twierdzenie: czas potrzebny do wytworzenia P wynosi: T = E/18 sek.

8 Metryka McCabe'a Jesli g jest schematem blokowym programu P i G posiada e krawędzi (łuków) i n węzłów, to v(P) = e - n + 2 gdzie: v(P) jest liczbą niezależnych ścieżek w G Prościej, jeśli d jest liczbą węzłów decyzyjnych w G, wtedy: v(P) = d+1

9 Metoda analizy punktów funkcyjnych Metoda punktów funkcyjnych oszacowuje koszt projektu na podstawie funkcji użytkowych, które system ma realizować. Stąd wynika, ze metoda ta może być stosowana dopiero wtedy, gdy funkcje te są z grubsza znane. Metoda jest oparta na zliczaniu ilości wejść i wyjść systemu, miejsc przechowywania danych i innych kryteriów. Te dane są następnie mnożone przez zadane z góry wagi i sumowane. Rezultatem jest liczba punktów funkcyjnych. Punkty funkcyjne mogą być następnie modyfikowane zależnie od dodatkowych czynników złożoności oprogramowania. Istnieją przeliczniki punktów funkcyjnych na liczbę linii kodu, co może być podstawą dla metody COCOMO.

10 Metoda analizy punktów funkcyjnych Liczbę nie skorygowanych punktów funkcyjnych wylicza się na podstawie formuły korzystając z następujących danych: Wejścia użytkownika: obiekty wejściowe wpływających na dane w systemie Wyjścia użytkownika: obiekty wyjściowe związane z danymi w systemie Zbiory danych wewnętrzne: liczba wewnętrznych plików roboczych. Zbiory danych zewnętrzne: liczba plików zewnętrznych zapełnianych przez produkt programowy Zapytania zewnętrzne: interfejsy z otoczeniem programu

11 UFP – nieskorygowane punkty funkcyjne gdzie: wij - wagi, nij - ilość elementów

12 Korekcja punktów funkcyjnych Dodatkowo wprowadza się korekcję w zależności od 14 czynników: występowanie urządzeń komunikacyjnych rozproszenie przetwarzania długość czasu oczekiwania na odpowiedź systemu stopień obciążenia sprzętu istniejącego częstotliwość wykonywania dużych transakcji wprowadzanie danych w trybie bezpośrednim wydajność użytkownika końcowego

13 Korekcja Punktów Funkcyjnych aktualizacja danych w trybie bezpośrednim złożoność przetwarzania danych możliwość ponownego użycia programów w innych zastosowaniach łatwość instalacji łatwość obsługi systemu rozproszenie terytorialne łatwość wprowadzania zmian - pielęgnowania systemu

14 Skorygowane Punkty Funkcyjne FP = UFC * TCF gdzie TCF – współczynnik złożoności technicznej (między 0,65 a 1,35) - Międzynarodowa Grupa Użytkowników Punktów Funkcyjnych (m.in. określają zasady liczenia FP)

15 Zagadka Czyje to punkty funkcyjne? ;)

16 Metoda COCOMO COCOMO – COnstructive COst Model Model empiryczny

17 Metoda COCOMO 1. Szacujemy KDSI (Thousands of Delivered Source Code Instructions) – Tysiąc instrukcji kodu źródłowego.

18 Metoda COCOMO 2. Zaliczamy projekt do jednej z klas: Projekt organiczny – mały zespół, znana dziedzina problemu, do 50 KDSI Projekt półoderwany – różny stopień zaawansowania członków zespołu, nie dokońca znana dziedzina problemu, do 300 KDSI Projekt osadzony – brak doświadczenia członków zespołu w podobnych projektach, bardzo złożone systemy

19 Metoda COCOMO 3. Liczymy Nakład (w osobogodzinach): Dla organicznych: Nakład = 2,4(KDSI)^1,05 Dla półoderwanych: Nakład = 3(KDSI)^1,12 Dla osadzonych: Nakład = 3,6(KDSI)^1,20

20 COCOMO

21 Metoda COCOMO 4. Liczymy Czas (w miesiącach): Dla organicznych: Czas = 2,5(Nakład)^0,32 Dla półoderwanych: Czas = 2,5(Nakład)^0,35 Dla osadzonych: Czas = 2,5(Nakład)^0,38

22 COCOMO

23 5. Liczymy liczbę osób: Liczba osób = Nakład / Czas Większa liczba osób nie zawsze oznacza szybsze zakończenie projektu!

24 COCOMO – Czynniki modyfikujące Wymagania wobec niezawodności systemu Rozmiar bazy danych w stosunku do rozmiaru kodu Wymagania co do wydajności Ograniczenia pamięci Zmienność sprzętu i oprogramowania tworzącego środowisko pracy systemu Różne firmy tworzące oprogramowanie mają różną wydajność

25 COCOMO

26 Rozwiązanie zagadki Jessica Alba ;)

27 Bibliografia Ian Sommerville – Inżynieria Oprogramowania, WNT, 2003 Andrzej Jaszkiewicz – Inżynieria Oprogramowania CASE, Helion, 1997 Inżynieria Oprogramowania w projekcie informatycznym pod redakcją Janusza Górskiego, Mikom, 2000 Wykłady Google Images ;)


Pobierz ppt "Szacowanie złożoności oprogramowania Maciej Wereski & Michał Wolski."

Podobne prezentacje


Reklamy Google