Inżynieria oprogramowania - Faza strategiczna oprogramowania
1. Faza strategiczna jest wykonywana zanim podejmowana jest decyzja o realizacji przedsięwzięcia. Ta faza nazywana jest też strategicznym planem rozwoju informatyzacji lub studium osiągalności.
2. Czynności w fazie strategicznej:
- dokonanie serii rozmów z przedstawicielami klienta
- określenie celów przedsięwzięcia z punktu widzenia klienta
- określenie zakresu oraz kontekstu przedsięwzięcia
- ogólne określenie wymagań, wykonanie zgrubnej analizy i projektu systemu
- propozycja kilku możliwych rozwiązań
- oszacowanie kosztów oprogramowania
- analiza rozwiązań
- prezentacja wyników fazy strategicznej przedstawicielom klienta oraz korekta wyników
- określenie wstępnego harmonogramu przedsięwzięcia oraz struktury zespołu realizatorów
- określenie standardów, zgodnie z którymi realizowane będzie przedsięwzięcie
3. Ważnym elementem fazy strategicznej jest jasne określenie celów przedsięwzięcia z punktu widzenia klienta. Równie ważne jest określenie ograniczeń klienta (takich jak finansowych, infrastruktury, zasobów ludzkich, czasu wdrożenia itp.)
4. Zakres przedsięwzięcia to określenie fragmentu procesów informatycznych zachodzących w organizacji, które będą objęte przedsięwzięciem.
5. Kontekst przedsięwzięcia to systemy, organizacje, użytkownicy zewnętrzni, z którymi tworzony system ma współpracować.
6. Decyzje strategiczne:
- wybór modelu, zgodnie z którym będzie realizowane przedsięwzięcie
- wybór technik stosowanych w fazach analizy i projektowania
- wybór środowiska (środowisk) implementacji
- wybór narzędzia CASE
- określenie stopnia wykorzystania gotowych komponentów
- podjęcie decyzji o współpracy z innymi producentami lub zatrudnieniu ekspertów
7. Ograniczenia:
- maksymalne nakłady, jakie można ponieść na realizację przedsięwzięcia
- dostępny personel
- dostępne narzędzia
- ograniczenia czasowe
Po prezentacji wyników dla klienta końcowym wynikiem może być przejęcie lub odrzucenie oferty twórcy oprogramowania.
Faza strategiczna jest nieodłączną częścią cyklu produkcji oprogramowania, wobec czego nie powinna być wykonywana na koszt i ryzyko producenta oprogramowania
8. Studium osiągalności:
- rozmiar projektu
- dostępność zasobów
- ograniczenia czasowe
- warunki wstępne
- dostępność oprogramowania
- dostępność sprzętu i sieci
- dostępność technologii
- dostępność specjalistów
- dostępność usług zewnętrznych
- dostępność powierzchni biurowej, środków komunikacyjnych oraz zaopatrzenia itp.
9. Częste kryteria oceny rozwiązań:
- koszt
- czas realizacji
- niezawodność
- możliwość ponownego użycia
- przenośność na inne platformy
- wydajność (szybkość)
10. Na koszt oprogramowania składają się głównie:
- koszt sprzętu będącego częścią tworzonego systemu
- koszt wyjazdów i szkoleń
- koszt zakupu narzędzi
- nakład pracy
11. Techniki szacowania nakładów pracy:
- modele algorytmiczne (wymagany jest opis przedsięwzięcia przez liczby i opisy; formuła matematyczna daje wynik)
- ocena przez eksperta (doświadczone osoby szacują koszt realizacji)
- ocena przez analogię (wymaga dostępu do informacji o poprzednio realizowanych przedsięwzięcia)
- wycena dla wygranej (koszt oprogramowania jest oszacowany na podstawie kosztu oczekiwanego przez klienta i na podstawie kosztów podawanych przez konkurencję)
- szacowanie wstępujące (przedsięwzięcie dzieli się na mniejsze zadania, następnie sumuje się koszt poszczególnych zadań)
12. Metoda szacowania COCOMO jest oparta na kilku formułach pozwalających oszacować
całkowity koszt przedsięwzięcia na podstawie oszacowanej liczby linii kodu.
13. Metoda punktów funkcyjnych oszacowuje koszt projektu na podstawie funkcji użytkowych, które system ma realizować.
14. Metoda Delphi zakłada użycie kilku niezależnych ekspertów, którzy nie mogą się ze sobą w tej sprawie komunikować i naradzać. Każdy z nich szacuje koszty i nakłady na podstawie własnych doświadczeń i metod.
15. W metodzie analizy podziału aktywności projekt dzieli się na aktywności, które są znane z poprzednich projektów. Następnie dla każdej z planowanych aktywność ustala się, na ile będzie ona bardziej (lub mniej) pracochłonna od aktywności już wykonanej, której koszt oraz nakład jest znany. Daje to szacunek dla każdej planowanej aktywności. Szacunki sumuje się dla uzyskania całościowego oszacowania.
16. Udostępniamy klientowi raport, który obejmuje:
- definicję celów przedsięwzięcia
- opis zakresu przedsięwzięcia
- opis systemów zewnętrznych, z którymi system będzie współpracować
- ogólny opis wymagań
- ogólny model systemu
- opis proponowanego rozwiązania
- oszacowanie kosztów
- wstępny harmonogram prac