1. Wprowadzenie do zarządzania projektami. Warstwy zarządzania i role w projekcie. WBS.
Podstawowe cechy projektu:
- tymczasowość – każdy projekt ma określone terminy rozpoczęcia i zakończenia, czyli ograniczony czas trwania
- unikalność – produkt lub usługa różnią się pod pewnymi względami od innych produktów lub usług, mogą posiadać cechy powtarzalne
- zakończenie projektu – osiągnięcie jego celów, wygaśnięcie przyczyny dla której rozpoczęto projekt
- stopniowe doprecyzowywanie – na początku projektu własności wyróżniające produkt określa się w ogólnym zakresie, w miarę postępu badań następuje definiowanie szczegółowych własności
Zarządzanie projektami [Kerzner H.]:
- planowanie,
- organizowanie,
- kierowanie,
- kontrolowanie,
zasobów organizacji przydzielonych do konkretnego projektu dla zapewnienia osiągnięcia jego celów.
Struktura organizacyjna projektu
• Warstwy zarządzania projektem
– zarząd organizacji
– rada projektu
– kierownik projektu
– kierownik zespołu
• Liczba warstw i zespołów zależy od
– wielkości i kosztu przedsięwzięcia
– technicznej złożoności produktu
– znaczenia przedsięwzięcia
– dostępności personelu
Podstawowe role w przedsięwzięciu
informatycznym
• sponsor/klient
• użytkownik
• kierownik przedsięwzięcia/zespołu
• specjalista ds. jakości, ryzyka
• Role techniczne
– analityk
– projektant
– programista
– administrator
– dokumentalista
WBS:
WBS (Work Breakdown Structure)
• Struktura podziału pracy definiuje pracę do wykonania w
celu ukończenia projektu
• Stanowi zestawienie składników projektu ze względu na
jego główne produkty
podejścia:
zstępujące: od uogólnienia do
szczegółów, od celu projektu do
pojedynczych zadań
• wstępujące: od szczegółów do
uogólnienia, od zadań do celu
pojęcia WBS:
składnik pracy – dyskretny wynik pracy (produkt lub
usługa) lub agregacja logicznie zgrupowanych
wyników
• poziom WBS – lokalizacja składnika pracy w
hierarchicznej strukturze, unikalny numeryczny kod
składnika pracy
• pakiet roboczy – wynik pracy na najniższym
poziomie WBS, główny punkt zarządzania WBS
(np. planowanie zasobów, zapewnianie jakości)
konto kosztowe – sumaryczny składnik pracy o
jeden poziom wyżej niż pakiet (jeden lub kilka
pakietów), określany jako punkt kontrolny
• gałąź – wszystkie składniki pracy poniżej poziomu
0, gałęzie mogą mieć różne długości
Podstawy tworzenia WBS
• Zakres projektu: lista głównych produktów i ich
opis
• Przepływ pracy: sekwencja wykonywania
produktów
• Dostępne zasoby
• Oczekiwania klienta (szybkość realizacji,
podwykonawcy)
• Położenie projektu: niezależność albo priorytet w
grupie projektów
2. Modele cyklu życia produktu i projektu. Kluczowe produkty etapów przedsięwzięcia
informatycznego.
Analiza i definiowanie wymagań --> Projektowanie systemu i oprogramowania --> Programowanie i testowanie jednostek (implementacja) --> Integracja i testowanie systemu --> Instalacja i utrzymanie systemu
· Zalety:
- Podejście sekwencyjne
- Dzieli złożony proces na kilka kroków
- Ułatwia śledzenie i kontrolę postępów: każdy krok posiada kryteria przyjęcia i przejścia do następnego kroku
- Zapewnia komplet dokumentów
- Ogniskuje uwagę na produktach pośrednich
- Odpowiedni dla krótko trwających procesów
· Wady:
- Brak weryfikacji między etapami
- Duży odstęp czasu od zakończenia specyfikacji wymagań do wdrożenia
- Założenie o wykonaniu poprawnej specyfikacji wymagań na początku prac – eliminuje model z zastosowania do procesu o nieznanych na początku wymaganiach
- Nie można przejść do następnej fazy przed zakończeniem poprzedniej
· Sprzężenie procesów weryfikacji i walidacji z etapami podstawowymi
· Sekwencyjne etapy, których rozpoczęcie zależy od zakończenia poprzedniego
WADY:
-nie uwzględnia optymalności czasowej
· Wymagania i projekt są modyfikowane poprzez serie iteracji prowadzących do otrzymania systemu satysfakcjonującego rozwijające się potrzeby klienta
· Sesje „sprzężenia zwrotnego” i zasada wzajemnego uczenia się
· Zwiększenie zrozumienia definicji wymagań
· Łatwiejsze zarządzanie zmianami
· Umożliwienie rozpoczęcia tworzenia aplikacji dla podzbioru wymagań - analiza dla każdego produktu częściowego
· Wczesna neutralizacja zagrożeń
· Zwiększenie możliwości ponownego użycia kodu
· Łatwiejsze dostosowanie końcowego produktu do zmieniających się wymagań
· powtarzalność faz procesu, umożliwiająca uzyskanie w kolejnych wersjach kompletnego oprogramowania
· uzyskanie działającego produktu w każdej wersji rozszerzenia począwszy od rdzenia
· uwzględnienie częstych zmian wymagań – ewolucyjna natura oprogramowania
· umożliwia zrozumienie trudnych szczegółów wymagań
· umożliwia wydanie ograniczonej wersji produktu w przypadku presji czasu, niedostatecznej liczby pracowników
· Metoda identyfikowania wymagań stawianych oprogramowaniu
· Prototyp jest częściową implementacją systemu, wyrażoną logicznie lub fizycznie, prezentowany za pomocą zewnętrznego interfejsu
· Może składać się z ekranów, raportów i menu systemu, faktycznie nie wykonuje wszystkich funkcji systemu
Zalety:
· Na etapie analizy pozwala na ustalenie prawdziwych potrzeb klienta, wspomaga weryfikację specyfikacji wymagań,
· Na etapie projektowania wspomaga podjęcie decyzji projektowych
Wady:
· Trudności w zastosowaniu do dużych systemów lub na poziomie podsystemów
· Trudności w określeniu liczby iteracji
· Niebezpieczeństwo pozostawienia tymczasowych rozwiązań
· Model ewolucyjny, powtarzalność oparta na prototypowaniu
· Zastosowanie - do dużych projektów
· Każde okrążenie dotyczy jednego elementu produktu: koncepcja, wymagania, projekt, kod
· Umożliwia zmiany w rozwoju produktu – zarządzanie zmianami
· Konieczność zarządzania ryzykiem
· Wczesna eliminacja błędów
· Powtórne wykorzystanie wcześniej wykonanych części
· Każdy cykl zakończony przeglądem wykonanym przez kluczowych członków zespołu
· Wymaga dużej wiedzy i doświadczenia od kierownika procesu
· Trudności w opracowaniu i kontroli kontraktu
· Wielokrotne powtarzanie ekspertyz analizy ryzyka
Wielokrotne wykonywanie liniowych procesów
Komponent
· jednostka programistyczna wykonywalna, która jest niezależnie:
- produkowana
- sprzedawana
- rozbudowywana
· posiadająca określone interfejsy i jawne zależności kontekstowe
· odpowiada klasie lub zbiorowi kilku klas w programowaniu obiektowym
Składanie z powtarzalnych komponentów
· Technika zakłada istnienie gotowych części systemu, nazywanych komponentami
· Wykorzystanie podobieństwa tworzonego oprogramowanie do posiadanych komponentów
· Możliwość zastosowania na etapie analizy i projektowania narzędzi CASE, a szczególnie na etapie implementacji
· Zmniejszenie w znacznym stopniu ryzyka
· Zapewnienie standardów
· Redukcja nakładów, skrócenie procesu wytwórczego
· Konieczność rozwiązywania problemów integracji
Fazy etapu tworzenia w modelu komponentowym
1. Identyfikacja odpowiednich komponentów
2. sprawdzenie dostępności komponentów
3. Wybór dostępnych komponentów
4. Wytworzenie niedostępnych komponentów
5. Dodanie nowych komponentów do biblioteki
6. Konstrukcja n-tej iteracji systemu
· szybkie wytworzenie kompletnego produktu
· podejście liniowe z iteracją, możliwość wykorzystania prototypowania
· wprowadzenie do zarządzania projektem powiązania kwalifikacji i motywacji zespołu z celami uzyskiwanymi w określonym czasie
· Modelowanie działalności – opis procesu biznesowego
· Modelowanie danych – szczegółowy opis danych
· Modelowanie procesów – opracowanie procedur tworzenia, modyfikowania i usuwania obiektów
· Generowanie aplikacji – zastosowanie technik czwartej generacji
· Testowanie i wdrożenie – testowanie nowych komponentów
· Zastosowanie
- szybko zmieniające się wymagania
- ograniczony czas wykonania
- do wybranych części aplikacji
· Nie należy stosować do przedsięwzięć
- związanych z dużym ryzykiem technicznym, np. nowa technologia,
- z wymaganiem wysokiej efektywności
· Wymagania
- modułowość systemu
- zastosowanie narzędzi CASE, gotowych komponentów wielokrotnego użycia
- zwiększenie produktywności zespołu
- wysoka jakość zasobów
- duże zaangażowanie użytkownika w przeglądy
• Narzędzia programistyczne umożliwiające definiowanie różnych cech oprogramowania na wysokim poziomie abstrakcji w celu późniejszego automatycznego wygenerowania
– kodu programu
– struktury bazy danych
– okienkowych systemów interakcji
– dokumentacji
• Pozwalają na skrócenie procesu wytwórczego i zwiększenie wydajnoś...
nudy9