Zio-13-lab

From Studia Informatyczne

Spis treści

Ćwiczenia – Szacowanie pracochłonności

Zadanie 1. Ocena pracochłonności przedsięwzięcia informatycznego przy użyciu metody delfickiej (zadanie grupowe)

Ćwiczenie polega na przeprowadzeniu oceny pracochłonności przedsięwzięcia informatycznego polegającego na budowie statycznej strony internetowej.

Należy w grupach 3-4 osobowych ustalić pracochłonność wykonania statycznej strony interne-towej, według podanego opisu (liczoną w roboczogodzinach). W każdej grupie należy wytypować moderatora, który czuwał będzie nad prawidłowym przebie-giem gry delfickiej. Moderator może posiłkować się w swojej pracy arkuszem kalkulacyjnym (xls), ułatwiającym przygotowywanie raportów.

Szablon raportu estymacji (doc).

Jeśli nie istnieje możliwość wykonania ćwiczenia w grupie studentów. Zachęcamy do przepro-wadzenia podobnego ćwiczenia z przyjaciółmi, rodziną. Jako przedmiot szacowania można wybrać na przykład koszt wycieczki wakacyjnej.

Warto, po skończonych obradach, stworzyć sobie wykres jak kształtowały się opinie różnych ekspertów. Umożliwi to obserwacje, czy zdania w kolejnych rundach były coraz bardziej zbieżne (oczywiście jest to zabieg szkoleniowy, nie należy tego robić podczas prawdziwych negocjacji)

Algorytm metody delfickiej

  1. Eksperci dostają specyfikację systemu i formularz estymacyjny.
  2. Spotykają się by przedyskutować: cele projektu, założenia, problemy estymacji.
  3. Ekspert anonimowo ocenia zadania i szacuje nakład (rozmiar).
  4. Szacunki trafiają do moderatora, który opracowuje wyniki i przedstawia je ekspertom.
  5. Eksperci spotykają się by przedyskutować wyniki. Omawiają zadania, które zdefiniowa-li, ale nie dyskutują ich szacunkowych nakładów (rozmiarów).
  6. Procedura jest powtarzana od kroku 3, aż szacunki ekspertów są dostatecznie zbliżone.
  7. Końcowe oszacowanie = (O + 4A + P) /6.

Opis strony internetowej

Firma Grzejniki zleciła nam stworzenie strony internetowej – wizytówki. Jako, że strona ta ma być statyczną prezentacją informacji o firmie, użyte technologie można ograniczyć do HTML, CSS, JavaScript (lub ich części).

Strona ta ma być estetyczna i przyciągająca uwagę potencjalnych klientów. Dodatkowo zaproponowano, aby informacje prezentowane były w języku polskim i angielskim.

Zaproponowano następującą strukturę organizacji podstron:

  • strona główna – podstawowe informacje o firmie,
  • historia firmy,
  • nasze osiągnięcia – informacje o nagrodach i osiągnięciach firmy + zdjęcia certyfikatów,
  • galeria produktów – firma posiada w stałej ofercie 10 produktów,
  • lokalizacja – dane adresowe + mapa dojazdowa,
  • zarząd – informacje o zarządzie.

Firma może udostępnić tekst do prezentacji na stronie w języku polskim, a także zdjęcia wyko-nane aparatem cyfrowym wysokiej jakości.

Rozwiązanie

W przypadku tego zadania trudno jest podać konkretną wartość pracochłonności, która byłaby rozwiązaniem zadania. Jeśli udało Ci się przeprowadzić proces negocjacji zgodnie z algoryt-mem metody delfickiej, oznacza to, że zadanie zostało wykonane poprawnie. Dodatkowo zachęcam do przeanalizowania jeszcze raz procesu głosowania i zidentyfikowanie popełnionych błędów, trudności.


Zadanie 2. Ocena pracochłonności przedsięwzięcia informatycznego przy użyciu metody COCOMO II

Ćwiczenie polega na obliczeniu pracochłonności opisanego przedsięwzięcia, wykorzystując metodę COCOMO II.

Należy wyliczyć pracochłonność dla proponowanego systemu przy użyciu metody COCOMO II, korzystając z opisu przedsięwzięcia.


Opis przedsięwzięcia informatycznego:

Firma EasySoft wygrała przetarg na informatyzacje urzędu wojewódzkiego. Organizacja ta ma bardzo duże doświadczenie w tworzeniu i wdrażaniu systemów dla sektora publicznego. Przed-sięwzięcie to uznano za przeciętne.

Zakończono fazę zbierania wymagań i zaproponowano architekturę systemu. Dodatkowo wy-znaczono przy pomocy metody punktów funkcyjnych złożoność oprogramowania, wynoszącą 100 000 SLOC.

Jako, że firma ma bardzo duże doświadczenie w tego typu przedsięwzięciach typowość okre-ślono jako (Extra High). Dodatkowo w ramach organizacji przywiązuje się znaczną wagę do odpowiedniego zarządzania ryzykiem (Very High).

Elastyczność określono natomiast na poziomie (High).

Fakt, że strony nie współpracowały wcześniej ze sobą spowodował, że spójność zespołu oce-niono na (High).

Firma znajduje się na drugim poziomie modelu CMM, jeśli chodzi o dojrzałość procesów.


Poziom czynnika skali – Dojrzałość procesu, w zależności od poziomu CMM

  • Very Low - CMM Level 1 (lower half)
  • Low - CMM Level 1 (upper half)
  • Nominal - CMM Level 2
  • High - CMM Level 3
  • Very High - CMM Level 4
  • Extra High - CMM Level 5


Wartości współczynników skali

Tabela 1. Wartości współczynników skali dla COCOMO II
Very low Low Nominal High Very high Extra high
Typowość 6.20 4.96 3.72 2.48 1.24 0.00
Elastyczność 5.07 4.05 3.04 2.03 1.01 0.00
Zarządzanie ryzykiem 7.07 5.65 4.24 2.83 1.41 0.00
Spójność zespołu 5.48 4.38 3.29 2.19 1.10 0.00
Dojrzałość procesu 7.80 6.24 4.68 3.12 1.56 0.00

Rozwiązanie

Czynniki skali:

  • Typowość – Extra High = 0
  • Elastyczność – High = 2,03
  • Zarządzanie ryzykiem – Very High = 1,41
  • Spójność zespołu – High = 2,19
  • Dojrzałość procesu – II poziom CMM – Nominal = 4,68

\sum_{i=1}^5 SF_i = 10,31

Współczynnik skali:

E=0,91+0,01*10,31=1,0131

Mnożnik pracochłonności:

Projekt przeciętny: EM_i=1

Rozmiar oprogramowania:

100 000 SLOC = 100 KLOC

Pracochłonność:

PM_{NS}=2,94 \times 100^{1,0131}=312,2823 [osobomiesiące]


Zadanie 3. Ocena pracochłonności przedsięwzięcia informatycznego przy użyciu metody Use Case Points

Ćwiczenie polega na przeprowadzeniu oceny pracochłonności przedsięwzięcia przy użyciu metody Use Case Points.

Należy wyliczyć pracochłonność dla proponowanego systemu przy użyciu metody Use Case Points. Współczynniki złożoności technicznej i środowiskowej należy ustalić według własnego uznania na podstawie opisu słownego przedsięwzięcia i dostawcy oprogramowania. Dla ułatwienia obliczeń można skorzystać z arkusza kalkulacyjnego (xls).


Opis dostawcy oprogramowania:

Firma Good Soft wykonuje projektu w oparciu o RUP (Rational Unified Process), już od kilku lat. Pracownicy firmy posiadają dość duże doświadczenie w tworzeniu różnego rodzaju aplikacji, jednak w skład zespołu wchodzi wielu studentów, dopiero zgłębiających techniki tworzenia aplikacji. Ostatnio z firmy odeszło kilku znaczących analityków i projektantów, natomiast do zespołu dołączyło kilku absolwentów kierunku Inżynieria Oprogramowania pełniących rolę analityków oraz projektantów.

Polityka firmy uwzględnia nagradzanie najlepszych pracowników premiami oraz możliwościami uczestniczenia w zewnętrznych kursach podnoszących kwalifikacje.


Opis przedsięwzięcia:

Firma Butex posiada już witrynę internetową, prezentującą informacje o firmie oraz oferowane produkty. W chwili obecnej chciałaby rozszerzyć funkcjonalność strony o możliwość dokonywania zakupów przez sieć.

Wymagania odnośnie funkcjonalności nowego modułu zostały wstępnie omówione, jednak klient wciąż rozważa dodanie nowych opcji. Istniejący system jest napisany przy użyciu technologii Java Servlets, JSP oraz MySQL. Firma Good Soft posiada większe doświadczenie w tworzeniu systemów opartych na technologii .NET, chociaż większość programistów posiada wcześniejsze doświadczenie w pracy z Javą.

Zakłada się, że tworzony system, nie jest przewidziany na duże obciążenia. Oprogramowanie zostanie umieszczone na serwerze wraz z bazą danych. Bardzo istotne jest, aby system działał efektywnie w odczuciu klienta. Charakter sklepu internetowego nie wymusza złożonych obliczeń (zrezygnowano nawet ze zbierania statystyk).

Tworzony system będzie wprawdzie pod opieką firmy Good Soft, jednak nie zakłada się przyszłego wykorzystania kodu w innych projektach. Aplikacja zostanie zainstalowana na serwerze przez specjalistów desygnowanych przez dostawcę oprogramowania.

System nie posiada szczególnych wymagań odnośnie zabezpieczeń, jednak konieczne jest dodanie mechanizmu logowania użytkowników. Zakłada się intensywne wykorzystanie darmowych bibliotek Open Source.

System nie wymaga przeprowadzenia dodatkowych szkoleń dla personelu.

Specyfikacja wymagań

Aktorzy:

  • Klient – klient sklepu internetowego,
  • Sprzedawca – osoba obsługująca sklep od strony sprzedawcy,
  • Użytkownik – uogólnienie Klienta i Sprzedawcy.
  • System – użytkownik reprezentujący akcje wykonywane przez system.


Przypadki użycia (jakimi dysponuje dostawca oprogramowania):

UC1 – Zarejestrowanie użytkownika w systemie

Cel – dodanie użytkownika do bazy klientów

Aktorzy główni: Użytkownik

Aktorzy pomocniczy: -

Warunki wstępne: -

Scenariusz główny:

1. Użytkownik wybiera opcję rejestracji w systemie.

2. System prosi o podanie nazwy użytkownika, hasła oraz danych adresowych.

3. Użytkownik podaje hasło, nazwę użytkownika oraz dane adresowe.

4. System wyświetla informację potwierdzającą zarejestrowanie.

Rozszerzenia:

3.A. Nazwa użytkownika jest już zarezerwowana.

3.A.1. System prezentuje informacje o nieprawidłowych danych [krok 2]
3.B. Użytkownik rezygnuje z rejestracji.
3.B.1. Koniec

3.C. Podano niepełne dane.

3.C.1. System prezentuje informacje o nieprawidłowych danych [krok 2]


UC2 – Logowanie do systemu

Cel – załogowanie użytkownika do systemu

Aktorzy główni: Użytkownik

Aktorzy pomocniczy: -

Warunki wstępne: -

Scenariusz główny:

1. Użytkownik wybiera opcję wymagająca autoryzacji.

2. System prosi o podanie nazwy użytkownika i hasła.

3. Użytkownik podaje hasło i nazwę użytkownika.

4. System wyświetla informację potwierdzającą załogowanie.

Rozszerzenia:

3.A. Hasło lub nazwa użytkownika są nieprawidłowe.

3.A.1. System prezentuje informacje o nieprawidłowych danych [krok 2]

3.B. Użytkownik rezygnuje z podawania hasła i nazwy użytkownika.

3.B.1. Koniec


UC3 – Zakupienie produktu

Cel – Zakupienie produktu

Aktorzy główni: Klient

Aktorzy pomocniczy: -

Warunki wstępne: Użytkownik został zalogowany [UC2]

Scenariusz główny:

1. Klient wybiera opcję przeglądania produktów.

2. System prezentuje listę dostępnych produktów.

3. Klient wybiera produkt.

4. System dodaje produkt do koszyka zakupowego.

5. Klient wybiera opcję potwierdzenia zamówienia.

6. System prezentuje informacje potwierdzającą złożenie zamówienia.

Rozszerzenia:

2.A. Nie ma dostępnych produktów

2.A.1. Koniec

3.A. Klient rezygnuje z przeglądania

3.A.1. Koniec

4.A. Klient pragnie dodać następny produkt

4.A.1 Przejdź do [krok 3].


UC4 – Obsłużenie zamówienia

Cel – Obsłużenie zamówienia złożonego przez klienta

Aktorzy główni: Sprzedawca

Aktorzy pomocniczy: -

Warunki wstępne: Użytkownik został zalogowany [UC2]

Scenariusz główny:

1. Sprzedawca wybiera opcję przeglądania złożonych zamówień.

2. System prezentuje listę złożonych zamówień.

3. Sprzedawca wybiera zamówienie.

4. System prezentuje zamówione produkty oraz dane adresowe kupującego.

5. Sprzedawca oznacza zamówienie jako zrealizowane.

6. System usuwa zamówienie.

Rozszerzenia:

2.A. Nie ma złożonych zamówień.

2.A.1. Koniec

5.A. Zamówione produkty nie są dostępne na stanie

5.A.1. Koniec

Rozwiązanie

Podobnie jak w zadaniu z metoda delficka, trudno podać tutaj jedno wzorcowe rozwiązanie. Ustalenie współczynników środowiskowych i technicznych jest rzeczą bardzo subiektywną.

W przypadku aktorów złożoności mogłyby wyglądać następująco:

  • Klient – złożony,
  • Sprzedawca – złożony,
  • Użytkownik – tego aktora można pominąć, ponieważ jest uogólnieniem innych,
  • System – złożony.

Sugerowane transakcyjność przypadków użycia:

  • UC1 – 2 transakcje
  • UC2 – 2 transakcje
  • UC3 – 3 transakcje
  • UC4 – 3 transakcje

Pytania do dyskusji

  1. Jakie są ryzyka związane z szacowaniem pracochłonności?
  2. Jakie są mocne i słabe strony przedstawionych metod szacowania?