wyklPIO 13 11


Podstawy Inżynierii Oprogramowania
Wykład 11
1. Zarządzanie przedsięwzięciem (projektem)
" planowanie
" szacowanie kosztów
" zespół wytwórczy
" komunikacja
" nadzorowanie
2. Polepszenie procesu wytwarzania Ä…ð Metodyki projektowania
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
1
Podstawy Inżynierii Oprogramowania
FAZY
Zapoczątkowanie Opracowanie Konstrukcja Przejście
Modelowanie biznes.
Specyfikacja
wymagań
Analiza i
Projektowanie
Implementacja
Testowanie
ZarzÄ…dzanie
zmianami i konfigur.
ZarzÄ…dzanie
projektem
Otoczenie
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
3
Podstawy Inżynierii Oprogramowania
Zarządzanie przedsięwzięciem- pojęcia podstawowe
Przedsięwzięcie (projekt): każda działalność podjęta w
celu osiągnięcia wyspecyfikowanych zamierzeń
Własności projektu:
" złożony i nierutynowy zestaw działań,
" wymaga powierzenia ludzi, zasobów, kapitału i
czasu,
" obejmuje różnych ludzi, funkcje i organizacje,
" wymaga ścisłej koordynacji i nadzorowania
prowadzonych działań.
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
4
Podstawy Inżynierii Oprogramowania
Zarządzanie przedsięwzięciem- pojęcia podstawowe
ZARZDZANIE obejmuje działania:
" planowanie (decydowanie, co będzie wykonywane)
" organizację (aranżowanie prac)
" kierowanie (dawanie instrukcji)
" monitorowanie (kontrola postępu)
" nadzorowanie/sterowanie (podejmowanie akcji
naprawczych)
" dobór personelu (wybór odpowiednich ludzi)
" innowacje (proponowanie nowych rozwiązań)
" prezentowanie (sesje z użytkownikami..)
" ..... I WSZYSTKO INNE
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
5
Podstawy Inżynierii Oprogramowania
Projekt informatyczny  specyfika
1. oprogramowanie dotyczy szerokiej dziedziny problemów,
z których każdy wymaga odmiennego doświadczenia i
metod ( e.g. systemy czasu rzeczywistego, biznesowe,
medyczne, etc.)
2. wymagania użytkowników sa często niejasne i są
przedmiotem zmian po rozpoczęciu opracowywania
projektu,
3. tendencja do rozpoczynania go zbyt wcześnie,
dokonywanie zmian w części projektu ( technologia jest
elastyczna)
4. trudności z oceną jakości projektu
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
6
Podstawy Inżynierii Oprogramowania
Projekt informatyczny  sukces
Przedsięwzięcie kończy się sukcesem, gdy jest
wykonane
" w terminie
" zgodnie ze specyfikacjÄ…,
" mieści się w przyznanym budżecie, a
" efekt jego zamierzeń posiada wymaganą
jakość.
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
7
Podstawy Inżynierii Oprogramowania
Projekt informatyczny  procesy
PROCESY OPERACYJNE
ZAKRES
OCENA
CZAS
PRODUKTU
KOMUNIKOWANIE
POZYSKI-
I
KOSZT
WANIE
INTEGRACJA
PERSONEL RYZYKO
ZASOBY
Wymagania ISO 9000
PROCESY WSPOMAGAJCE
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
8
Podstawy Inżynierii Oprogramowania
Projekt informatyczny  procesy (wg PMBOK)
Połączenia między grupami
procesów
Procesy
Procesy
planowania
inicjowania Rozkład intensywności występowania grup
procesów
Procesy
Procesy
nadzorcze
wykonawcze
przepływ
Procesy
dokumentów
zamykania
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
9
Podstawy Inżynierii Oprogramowania
Planowanie przedsięwzięcia
Podstawowe procesy planowania
Kolejkowanie
Planowanie
aktywności
zakresu
Definicja Opracowanie
aktywności harmonogramu
Szacowanie
trwania
Definicja
Budżeto-
aktywności
zakresu
wanie
Planowanie
zasobów
Szacowanie
kosztów
Opracowanie
planu projektu
Procesy wspomagajÄ…ce
Planowanie Planowanie Identyfikacja Kwantyfikacja Opracowanie
jakości komunikacji ryzyka ryzyka odpowiedzi
na ryzyko
Planowanie Pozyskiwanie Planowanie
organizacyjne personelu zakupów
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
15
Podstawy Inżynierii Oprogramowania
Szacowanie kosztów projektu
Szacowanie kosztów - służy ilościowej ocenie przybliżonych
kosztów zasobów wymaganych do zakończenia zaplanowanych
aktywności projektu.
ZASÓB  każdy element lub człowiek potrzebny do zrealizowania
projektu
Kategorie zasobów:
" praca
" wyposażenie
" materiały
" środowisko pracy
" usługi
" czas
" pieniÄ…dze
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
16
Podstawy Inżynierii Oprogramowania
Szacowanie kosztów projektu
Szacunek kosztu jest prowadzony podczas:
- studium wykonalności (-> wykonalność ekonomiczna :
analiza koszt-korzyści)
cel: podjęcie decyzji o kontynuowaniu (lub nie) projektu
- na poziomie planowania zadań (->harmonogram kosztów)
cel: ocena finansowej realizowalności projektu
Szacunek kosztów zleceniobiorcy może być oparty o następujące
rodzaje metod:
osÄ…d eksperta
" analogia
" z dołu do góry
" z góry do dołu
"  cena do wygrania
" algorytmiczne wykorzystujace modele parametryczne
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
17
Podstawy Inżynierii Oprogramowania
Szacowanie pracochłonności projektu- poziom systemu
Wagi faz w nakładzie i harmonogramie dla typowego projektu
FAZA Harmonogram Nakład
Inicjowania 10% 5%
Zasób Opracowywania 30% 20%
Konstrukcji 50% 65%
Przejścia 10% 10%
Inicjowanie Opracowywanie Konstrukcja Przejście
Czas
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
19
Podstawy Inżynierii Oprogramowania
MODELE PARAMETRYCZNE DO
SZACOWANIA KOSZTÓW
Model COCOMO (Constructive Cost Model  B.Boehm 1981)
Formuła szacowania nakładu pracy niezbędnej do wytworzenia
produktu:
Nakład = A (rozmiar)p
gdzie rozmiar określa rozmiar projektu w KLOC,
A - określa wpływ parametrów systemu na wkład pracy,
p - współczynnik dobierany w zależności od skali projektu.
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
21
Podstawy Inżynierii Oprogramowania
MODELE PARAMETRYCZNE DO
SZACOWANIA KOSZTÓW
Metoda punktów funkcyjnych (Albrecht 1987)
Analiza punktów funkcyjnych rozpatruje możliwości systemu z
punktu widzenia użytkownika.
Złożoność funkcjonalna F (niska, średnia , duża) podawana w
postaci punktów funkcyjnych FP;
złożoność jest określana w oparciu o kombinację grupowania danych i elementów
danych konkretnych typów.
FPznor= UFP*(0.65+0.01*suma(TCFi))
UFP  nieskorygowana liczba punktów funkcyjnych
TCF  współczynnik złożoności technicznej
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
22
Podstawy Inżynierii Oprogramowania
Zespół w wytwarzaniu oprogramowania
Zespół - grupa ludzi wspólnie pracujących w pewnej dziedzinie w
celu osiągnięcia ustalonego celu.
" Optymalna liczność zespołu to 7  11 osób
" Powyżej 17-20 osób komunikacja staje się niemożliwa
" Zalecenie, by zespół programistyczny był nie większy
niż 8 osób
ALE
" Profesjonalne oprogramowanie tworzone przez grupy
200 do kilkuset osób, więc konieczny
" Podział wielkiego zespołu na podzespoły (analogicznie
do systemu na podsystemy) czas
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
24
Podstawy Inżynierii Oprogramowania
Organizacja zespołu - struktury
" Gwiezdzista
" Sieciowa
jedyną osobą współpracująca i
członkowie zespołu komunikują się i
komunikujÄ…ca siÄ™ z grupÄ… jest szef
współpracują każdy z każdym
zespołu
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
25
Podstawy Inżynierii Oprogramowania
Fazy życia zespołu
integracja
Działanie
Przechodzenie
Normowanie
Burza
Formowanie
czas
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
26
Podstawy Inżynierii Oprogramowania
Osobowości w zespole
Typ Cechy
osobowości
Urojony przywódca Wydaje mu się, że dziś kieruje projektem, a jutro zacznie
rządzić całą firmą.
Mysz Boi się jakichkolwiek samodzielnych działań, nic nie zrobi
bez bezpośredniego polecenia. Ze strachu przed
katastrofalną pomyłką wymaga od ciągłego nadzoru.
Ulubiony wujek Biurowy dowcipniś. Wygłupia się, opowiada kawały i
(ciocia). zabawne historyjki, robi innym psikusy. Jest zabawny, ale
marnuje strasznie dużo czasu.
Eksperymentator Uwielbia emocje. Jest szczęśliwy mogąc sprawdzić co się
stanie, jeśli zrobi coś nietypowego. Może mieć duże
doświadczenie, ale jest zbyt pewny siebie, a jego wyczyny
nie zawsze są przemyślane.
Maruda Ponurak. Nie obchodzi go projekt, uważa, że technologia
jest do niczego. Robi sobie 20 min. przerwy na kawÄ™.
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
27
Podstawy Inżynierii Oprogramowania
Kierownik a lider w zespole
KIEROWNIK LIDER
Skupiony na realizacji Wizje i dalekie plany
najbliższych zadań dotyczące projektu
wie jak wykonać zainteresowany problemem
konkretne zadanie i jego rozwiÄ…zaniem
nie musi być lubiany akceptowany przez grupę
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
29
Podstawy Inżynierii Oprogramowania
Nadzorowanie projektu
Nadzorowanie zapewnia osiągalność celów projektu
dzieki: monitorowaniu KOMUNIKACJA
pomiarowi postępu projektu
Procesy
Procesy nadzorowania
planowania
Globalne
Raportowanie
nadzorowanie
zachowania
zmian
Procesy wspomagajÄ…ce, czyli:
- nadzorowanie zmiany zakresu
- nadzorowanie harmonogramu
- nadzorowanie kosztów
- nadzorowanie jakości
- nadzorowanie zagrożeń (ryzyka)
Procesy
Procesy
wykonania
zakończenia
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
30
Podstawy Inżynierii Oprogramowania
Nadzorowanie projektu
Monitorowanie (długookresowa obserwacja zjawisk lub
przedmiotów w celu poznania ich reakcji na działanie
określonych czynników)  zachowania się projektu:
·ð obserwacja rzeczywistych terminów rozpoczÄ™cia i
zakończenia zadań oraz porównywanie ich z zaplanowanymi
(baseline),
·ð obserwacja zużycia zasobów
Monitorowanie zabiera czas i zużywa zasoby;
W zależności od ryzyka projektu (i zadań) można ograniczać monitorowanie do :
. ZadaÅ„ Å›cieżki krytycznej Ä…ð jakiekolwiek opóznienie w tych zadaniach
oznacza opóznienie całego projektu;
.ZadaÅ„ bez możliwoÅ›ci manewru czasowego Ä…ð opóznienie w nich
spowoduje jednocześnie opóznienie w części innych zadań, co z kolei może spowodować
problemy w harmonogramie zasobów;
.ZadaÅ„ z niewielkim manewrem czasowym Ä…ð problemy jak poprzednio;
ZadaÅ„ o wysokim ryzyku Ä…ð duże prawdopodobieÅ„stwo, że przekroczÄ… one
wyznaczony termin lub budżet;
. ZadaÅ„ wykorzystujÄ…ce krytyczne zasoby Ä…ð ważne ze wzglÄ™du na
dostępność ich w określonym czasie lub ilości.
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
31
Podstawy Inżynierii Oprogramowania
Komunikacja w projekcie
PLANOWANIE KOMUNIKACJI -
uwzględnia
wymagania komunikacyjne
technologiÄ™ komunikacyjnÄ…
ograniczenia i założenia projektowe
dokonuje
analizy potrzeb informacyjnych inwestorów
wytwarza
plan zarzÄ…dzania komunikacjÄ…
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
32
Podstawy Inżynierii Oprogramowania
Komunikacja w projekcie
RAPORTOWANIE STANU PROJEKTU
wymaga
planu projektu
dostarczenia wyników prac (projektu)
zarejestrowanych innych danych projektu
wykorzystuje
przeglądy wyników,
analizę wariancji, analizę trendów
analizę wartości uzyskanej,
wytwarza
raporty stanu projektu
żądanie zmian ®ð zarzÄ…dzanie konfiguracjÄ…
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
38
Podstawy Inżynierii Oprogramowania
Komunikacja w projekcie
RAPORTOWANIE STANU PROJEKTU
Cel: dostarczenie inwestorom informacji, jak sÄ… wykorzystane zasoby projektu w
celu osiągnięcia zamierzeń projektowych;
Informacje zawarte w raporcie dotyczÄ…:
zakresu, harmonogramu, kosztów, jakości, ryzyka (opcja) zakupów (opcja).
Raportowanie obejmuje:
·ðRaportowanie statusu projektu
·ðRaportowanie postÄ™pu projektu
·ðPrzewidywanego przebiegu projektu.
Kategorie raportów
lð Werbalny formalny regularny np. cotygodniowe spotkania
lð Werbalny formalny ad-hoc np. podsumowanie jakiegoÅ› okresu
lð Pisemny formalny regularny np. raporty postÄ™pu
lð Pisemny formalny ad-hoc np. raporty  na żądanie, informowanie o zmianach
lð Werbalny informacyjny ad-hoc okazyjne dyskusje,
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
39
Podstawy Inżynierii Oprogramowania
Dokumentacja w projekcie
W procesie wytwarzania oprogramowania
dokumentacja może obejmować:
" plany, harmonogramy, szacunki
" wszelkiego typu projekty i modele systemu
oraz jego elementów (różnorodne diagramy,
schematy, algorytmy) zwiÄ…zane z wszystkimi
fazami procesu wytwarzania oprogramowania
" raporty
" kod zródłowy
" korespondencja, wymiana informacji na
temat projektu między członkami zespołu
realizujÄ…cego
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
41
Podstawy Inżynierii Oprogramowania
Dokumentacja w projekcie
W skład dokumentacji końcowej (dostarczanej odbiorcom)
najczęściej wchodzą:
" ogólny funkcjonalny opis systemu
" przewodnik użytkownika (user's guide)
" pełny opis systemu (reference manual)
" przewodnik instalacji i podręcznik administratora
" dokumentacjÄ™ wersji (wydania, release notes)
Zaletą dobrej dokumentacji jest posiadanie szczegółowego
spisu treści, słownika pojęć i bogatego indeksu ; coraz
częściej dokumentacja dostarczana jest wyłącznie w
formie elektronicznej wraz z systemem; alternatywnie
dokumentacja dostępna jest przez sieć
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
42
Podstawy Inżynierii Oprogramowania
Za podsumowanie & & .
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
43
Podstawy Inżynierii Oprogramowania
A może inaczej zarządzać & & & .??.
Luty 2001, Snowbird, Utah, 17 osób
Kent Beck Marin Fowler
(refaktoryzacja,
(karty CRC,
UML Distilled)
xUnit, XP)
Alistair
Jim Highsmith
Cockburn
(Adaptive Software
(rodzina metodyk
Development)
Crystal)
Manifest zwinności
(Agile Manifesto)
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
44
Podstawy Inżynierii Oprogramowania
Manifest zwinności - wartości
ważniejsze
Jednostki i interakcje niż procesy i narzędzia
Działające oprogramowanie niż obszerna
dokumentacja
Współpraca klienta niż negocjacja kontraktu
Nadążanie za zmianami niż trzymanie się planu
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
45
Podstawy Inżynierii Oprogramowania
Metodyki zwinne
Crystal & Crystal Light
Scrum ( broadest, variable
end-point )
DSDM Model ( construction
oriented ) Dynamic
Systems Development
Method Ltd.
Lean Development
(domain, 80/20 approach )
Feature-Driven
Development - FDD (most
structured)
Adaptive
Extreme Programming 
XP
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
46
Podstawy Inżynierii Oprogramowania
Metodyki zwinne vs. formalne
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
47
Podstawy Inżynierii Oprogramowania
Podsumowanie
Przy całej zgromadzonej i stosowanej wiedzy na
temat zarzÄ…dzania projektami informatycznymi jest
faktem:
" nieprzestrzeganie podstawowych zasad dobrego
zarządzania projektem będzie najprawdopodobniej
prowadzić do porażki ale
" aby uzyskać prawdziwy sukces, zazwyczaj samo
przestrzeganie zasad nie wystarcza
" prawdziwi menedżerowie rodzą się raczej niż
są kształceni
Instytut Informatyki, Wydział Informatyki i Zarządzania,
2012/2013
58


Wyszukiwarka

Podobne podstrony:
wyklPIO 13 3
KPC Wykład (7) 13 11 2012
13 11 Roboty impregnacyjne i odgrzybieniowe
13 11
13,11,artykul
133 13 (11)
KNR 13 11
dictionary 13 11
wyklPIO 13 8i9
Iracki żołnierz zabił Amerykanów, bo śmiali się z jego modlitwy (13 11 2008)
143 13 (11)

więcej podobnych podstron