wprowadzenie
DESCRIPTION
Inżynieria oprogramowania II Wykład 1. Wprowadzenie. [email protected] www.cs.put.poznan.pl/jnawrocki/io. Syndrom LOOP. Loop. ate ( późno ). L O O P. ver budget ( przekroczony budżet ). vertime ( nadgodziny ). oor quality ( kiepska jakość ). Plan wykładów. - PowerPoint PPT PresentationTRANSCRIPT
Copyright © Jerzy R. Nawrocki
WprowadzenieWprowadzenie
[email protected]/jnawrocki/io
Inżynieria oprogramowania IIWykład 1
J.Nawrocki, Wprowadzenie
Syndrom LOOP
L
O
O
P
ate (późno)
oor quality (kiepska jakość)
ver budget (przekroczony budżet)
vertime (nadgodziny)
Loop
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Zasady skutecznego działania
“.. absolwenci nie potrafią:komunikować się,mają niedostateczne (..)
przygotowanie do pracy w zespole,
brak im umiejętności skutecznego i produktywnego zarządzania ich pracą indywidualną ..”
??
J.Nawrocki, Wprowadzenie
Zasady skutecznego działania
Bądź proaktywny Bądź proaktywny
Zaczynaj mając koniec na względzieZaczynaj mając koniec na względzie
Aby rzeczy pierwsze były pierwszeAby rzeczy pierwsze były pierwsze
Myśl o obopólnej korzyściMyśl o obopólnej korzyści
Najpierw staraj się zrozumiećNajpierw staraj się zrozumieć
Dbaj o synergięDbaj o synergię
Ostrz piłęOstrz piłę
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Kontrola jakości oprogramowania
Testowanie
Artefakt
PrzeglądyRecenzjaPrezentacjaFormalny przegląd technicznyInspekcjaAudyt
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Systematyczne podejście do planowania
begin .. end
500 LOC
J.Nawrocki, Wprowadzenie
Szacowanie pracochłonności
COCOMO:Effort = a Sizeb
Walston-Felix model:Effort = 5.2 Size0.91
Software equation (Putnam):Effort = (Size B0.333/P)3/ t4
J.Nawrocki, Wprowadzenie
Metoda delficka
Rand Corporation, Boehm’81
Kilku ekspertów indywidualnie szacuje nakład (rozmiar).
Stosując proces delficki dochodzi się do konsensusu.
PytiaPytia
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Audytor
Dobrzy
ISO 9001
Kryte-ria
Źli
J.Nawrocki, Wprowadzenie
Audytor
Dobrzy
ISO 9001
Kryte-ria
Źli
J.Nawrocki, Wprowadzenie
Główne elementy normy
ISO 9000:2000 Systemy zarządzania jakością – Podstawy i terminologia
ISO 9001:2000 Systemy zarządzania jakością – Wymagania
ISO 9004:2000 Systemy zarządzania jakością – Wytyczne doskonalenia funkcjonowania
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
CMM: Capability Maturity Model
1. Początkowy
2. Zarządzany (powtarzalny)
3. Zdefiniowany
4. Zarządzany ilościowo
5. Optymalizujący
Organizacje programistyczneSEI, Pittsburg, USA
1989-1993
J.Nawrocki, Wprowadzenie
Profil dojrzałości wg SEI
PoczątkowyZarządzany
ZdefiniowanyZarządzany
ilościowo
Optymalizujący
9.5%
29.7% 27.7%
5.4%
27.7%
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wymagania ..
.. specyfikacja tego, co ma być implementowane.
Sommerville & Sawyer’97
J.Nawrocki, Wprowadzenie
Przykładowy przypadek użycia
Zarejestruj IOZarejestruj IOAktorAktor: Rejestrator IOCelCel: Zarejestrować w systemie nową IO.ZdarzenieZdarzenie: Rejestrator otrzymał wniosek papierowy. Główny scenariuszGłówny scenariusz1.1. Rejestrator IORejestrator IO: Wprowadza NIP lub REGON IO.2.2. SystemSystem: Sprawdza poprawność wprowadzonego NIP/REGON.3.3. RejestratorRejestrator: Wprowadza pozostałe dane identyfikacyjne IO.4.4. SystemSystem: Weryfikuje poprawność składniową wprowadzonych
danych.5.5. RejestratorRejestrator: Wprowadza dane dotyczące jednostek IO.. . .
J.Nawrocki, Wprowadzenie
Specyfikacja wymagań
Wymagania funkcjonalneWymagania pozafunkcjonalneInterfejs użytkownikaScenariusze testów
akceptacyjnych
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
Sieci Petri’ego:Notacja graficznaDobra podstawa matematyczna
Zastosowania:Modelowanie systemów współbieżnych i
rozproszonychProtokoły komunikacyjne, sieci
komputerowe, systemy produkcyjne, systemy transportu publicznego itp.
J.Nawrocki, Wprowadzenie
Terminologia
MiejsceMiejsce
PrzejściePrzejście
ZnacznikZnacznik
Łuk wej.Łuk wej.
Łuk wyj.Łuk wyj.
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
reading
strt_reading
stop_reading
Czytelnik w bibliotece:czekanie,czytanie.
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
reading
strt_reading
stop_reading
Czytelnik w bibliotece:czekanie,czytanie.
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
reading
strt_reading
stop_reading
Czytelnik w bibliotece:czekanie,czytanie.
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
reading
strt_reading
stop_reading
Czytelnik w bibliotece:czekanie,czytanie.
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
reading
strt_reading
stop_reading
Czytelnik w bibliotece:czekanie,czytanie.
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
PRINCE = PRojects IN Controlled EnvironmentsCCTA = the Central Computer and Telecommunications
Agency, UK
1975: PROMPT, Simpact Systems Ltd
1979: CCTA przyjmuje PROMPT jako standard rządowych przedsięwzięć dot. systemów informacyjnych
1989: CCTA wprowadza metodę PRINCE
1996: CCTA ogłasza metodę PRINCE2
J.Nawrocki, Wprowadzenie
Wstęp
Managing Successful Projects Managing Successful Projects with PRINCE2with PRINCE2
Metodyka zarządzania przedsięwzięciamiGłówny aktor: kierownik przedsięwzięciahttp://www.ccta.gov.uk/prince/OGC = Office of Goverment Commerce
408 stron, £ 55.00
J.Nawrocki, Wprowadzenie
Certyfikaty PRINCE2
PRINCE2 Foundation (Podstawy)
PRINCE2 Practitioner (Praktyk)
J.Nawrocki, Wprowadzenie
PRINCE2 Foundation
Format egzaminu:• Test wyboru • 1 godzina • 75 pytań • Warunek zdania: 38 poprawnych odpowiedzi • „Closed-book”
APM Group – Cennik egzaminów 2004 (Milton Keynes, ..):
Foundation = £100 inc VAT Practitioner = £208 inc VAT Both Exams = £308 inc VAT
J.Nawrocki, Wprowadzenie
PRINCE2 w Polsce
http://www.crm.com.pl
4-7 maja 2004: „Metodyka zarządzania projektami PRINCE2”Cena: 4 200 zł (4 dni)
22 maja 2004: Egzamin „PRINCE2 Foundation”Cena: 1 400 zł + VAT
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
PSP = Personal Software Process
PSP: samodoskonaleniePSP: jak podejmować i wypełniać
zobowiązania PSP: formularze + procedury
Czego brak: inżynieria wymagań, zarządzanie konfiguracją, zarządzanie ryzykiem
J.Nawrocki, Wprowadzenie
Wprowadzenie
Rejestry czasu i defektówRejestry czasu i defektów
Stand. kodu Stand. kodu ++ Pomiar rozm. Pomiar rozm. ++ PPPOPO 0.Bazowy
Szacowanie rozmiaru + raport tstSzacowanie rozmiaru + raport tst
Planowanie zadań i harmon.Planowanie zadań i harmon. 1.Planowania
Poziomy:Poziomy:
Przeglądy kodu i proj.Przeglądy kodu i proj. Wzorce projektoweWzorce projektowe 2.Jakości
Rozwój cyklicznyRozwój cykliczny3.Cykliczny
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
TSP = Team Software ProcessTSPi: 4-6 osób; TSP: do 20 osób
Bazuje na PSP: Organizacja pracy własnej Formularz rejestracji błędów Formularz rejestracji czasu Szablon harmonogramu
J.Nawrocki, Wprowadzenie
Role w TSP
• Lider zespołu
• Kierownik rozwoju
• Kierownik planowania
• Kierownik jakości
• Kierownik wspomagania
J.Nawrocki, Wprowadzenie
Literatura nt. RUP
Addison-Wesley, 2nd edition
March 2000. (Amazon: $30)
Addison-Wesley, 1st edition
April 2003. (Amazon: $30)
J.Nawrocki, Wprowadzenie
Fazy w RUP
Inception
Rozpoczęcie
ElaborationElaboration
DopracowanieDopracowanie
Construction
Konstrukcja
Transition
Wdrożenie
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Manifest zwinności
• Jednostki i interakcje niż procesy i narzędzia
Ważniejsze:
• Działające oprogramowanie niż obszerna dokumentacja
• Współpraca klienta niż negocjacja kontraktu
• Nadążanie za zmianamiNadążanie za zmianami niż trzymanie się planu niż trzymanie się planu
J.Nawrocki, Wprowadzenie
Zwinne metodyki programowania
Tom DeMarcoTom DeMarco
„XP jest dzisiaj najważniejszym ruchem w IO."
Programowanie Ekstremalne (XP)Programowanie Ekstremalne (XP) = =
lekka (zwinna)lekka (zwinna)
metodyka tworzenia oprogramowaniametodyka tworzenia oprogramowania
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Studio Rozwoju Oprogramowania
Od 1998Część programu Master in
Software EngineeringCorocznie 11-12 przedsięwzięć
realizowanych w zespołach 8-osobowych (III + IV + V rok)
J.Nawrocki, Wprowadzenie
Ocena wykładów 2004/05
Ogólna ocena
4,865,16
4,8 4,72 4,68 4,69 4,66 4,44 4,54,88 4,98 4,92
11,5
22,5
33,5
44,5
55,5
6
Wpr
o
Covey
Rozm
ISO
CMM
Wym
Prince
PSPRUP
XP
XPrince
Wykłady
Śre
dn
ia o
ce
n
J.Nawrocki, Wprowadzenie
Pytania?
J.Nawrocki, Wprowadzenie
Ocena wykładu
1. Wrażenie ogólne (1 - 6)2. Za szybko czy za wolno?3. Czy dowiedziałeś się czegoś ważnego?4. Co i jak poprawić?
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działaniaKontrola jakości oprogramowaniaSzacowanie rozmiaru i pracochłonnościStandardy serii ISO 9000Modele CMMIInżynieria wymagań I, IIMetody formalneZarządzanie projektami i PRINCE2Personal Software Process29.05.2006 SprawdzianTSP & RUPZwinne metodyki programowaniaXPrince i projekty dyplomowe