Zasady skutecznego działania

advertisement
Inżynieria oprogramowania II
Wykład 1
Wprowadzenie
[email protected]
www.cs.put.poznan.pl/jnawrocki/io
Copyright © Jerzy R. Nawrocki
Syndrom LOOP
Loop
L ate (późno)
Over budget (przekroczony budżet)
O vertime (nadgodziny)
Poor quality (kiepska jakość)
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Zasady skutecznego działania
?
J.Nawrocki, Wprowadzenie
“.. 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ą ..”
Zasady skutecznego działania
Ostrz piłę
Dbaj o synergię
Najpierw staraj się zrozumieć
Myśl o obopólnej korzyści
Aby rzeczy pierwsze były pierwsze
Zaczynaj mając koniec na względzie
Bądź proaktywny
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Kontrola jakości oprogramowania
Artefakt
Testowanie
J.Nawrocki, Wprowadzenie
Przeglądy
Recenzja
Prezentacja
Formalny przegląd techniczny
Inspekcja
Audyt
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince 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
Pytia
Rand Corporation, Boehm’81
Kilku ekspertów indywidualnie
szacuje nakład (rozmiar).
Stosując proces delficki
dochodzi się do konsensusu.
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
ISO 9001
Dobrzy
Audytor
J.Nawrocki, Wprowadzenie
Źli
ISO 9001
Dobrzy
Audytor
J.Nawrocki, Wprowadzenie
Źli
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łania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
CMM: Capability Maturity Model
Organizacje programistyczne
SEI, Pittsburg, USA
1989-1993
5. Optymalizujący
4. Zarządzany ilościowo
3. Zdefiniowany
2. Zarządzany (powtarzalny)
1. Początkowy
J.Nawrocki, Wprowadzenie
Profil dojrzałości wg SEI
29.7%
9.5%
27.7%
27.7%
5.4%
Początkowy
Zdefiniowany
Optymalizujący
Zarządzany
Zarządzany
ilościowo
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince 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 IO
Aktor: Rejestrator IO
Cel: Zarejestrować w systemie nową IO.
Zdarzenie: Rejestrator otrzymał wniosek papierowy.
Główny scenariusz
1. Rejestrator IO: Wprowadza NIP lub REGON IO.
2. System: Sprawdza poprawność wprowadzonego NIP/REGON.
3. Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO.
4. System: Weryfikuje poprawność składniową wprowadzonych
danych.
5. Rejestrator: Wprowadza dane dotyczące jednostek IO.
...
J.Nawrocki, Wprowadzenie
Specyfikacja wymagań

J.Nawrocki, Wprowadzenie
Wymagania funkcjonalne
Wymagania pozafunkcjonalne
Interfejs użytkownika
Scenariusze testów
akceptacyjnych
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
Sieci Petri’ego:
Notacja graficzna
Dobra podstawa matematyczna
Zastosowania:
Modelowanie systemów współbieżnych i
rozproszonych
Protokoły komunikacyjne, sieci
komputerowe, systemy produkcyjne,
systemy transportu publicznego itp.
J.Nawrocki, Wprowadzenie
Terminologia
Miejsce
Łuk wej.
Przejście
Łuk wyj.
Znacznik
J.Nawrocki, Wprowadzenie
Bardzo prosty przykład
waiting
strt_reading
reading
stop_reading
J.Nawrocki, Wprowadzenie
Czytelnik w bibliotece:
czekanie,
czytanie.
Bardzo prosty przykład
waiting
strt_reading
reading
stop_reading
J.Nawrocki, Wprowadzenie
Czytelnik w bibliotece:
czekanie,
czytanie.
Bardzo prosty przykład
waiting
strt_reading
reading
stop_reading
J.Nawrocki, Wprowadzenie
Czytelnik w bibliotece:
czekanie,
czytanie.
Bardzo prosty przykład
waiting
strt_reading
reading
stop_reading
J.Nawrocki, Wprowadzenie
Czytelnik w bibliotece:
czekanie,
czytanie.
Bardzo prosty przykład
waiting
strt_reading
reading
stop_reading
J.Nawrocki, Wprowadzenie
Czytelnik w bibliotece:
czekanie,
czytanie.
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
PRINCE =
PRojects IN Controlled Environments
CCTA = 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
Metodyka zarządzania przedsięwzięciami
Główny aktor: kierownik przedsięwzięcia
http://www.ccta.gov.uk/prince/
OGC = Office of Goverment Commerce
Managing Successful Projects
with PRINCE2
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łania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
PSP = Personal Software Process
PSP: samodoskonalenie
PSP: 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
Poziomy:
Rozwój cykliczny
Wzorce projektowe
Przeglądy kodu i proj.
Planowanie zadań i harmon.
Szacowanie rozmiaru + raport tst
Stand. kodu + Pomiar rozm. + PPO
Rejestry czasu i defektów
J.Nawrocki, Wprowadzenie
3.Cykliczny
2.Jakości
1.Planowania
0.Bazowy
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Wprowadzenie
TSP = Team Software Process
TSPi: 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
Addison-Wesley, 1st edition
March 2000. (Amazon: $30)
April 2003. (Amazon: $30)
J.Nawrocki, Wprowadzenie
Fazy w RUP
Inception
Elaboration
Construction Transition
Rozpoczęcie Dopracowanie Konstrukcja
J.Nawrocki, Wprowadzenie
Wdrożenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Manifest zwinnoś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
J.Nawrocki, Wprowadzenie
Zwinne metodyki programowania
Programowanie Ekstremalne (XP) =
lekka (zwinna)
metodyka tworzenia oprogramowania
„XP jest dzisiaj
najważniejszym
ruchem w IO."
Tom DeMarco
J.Nawrocki, Wprowadzenie
Plan wykładów
Zasady skutecznego działania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Studio Rozwoju Oprogramowania
Od 1998
Część programu Master in
Software Engineering
Corocznie 11-12 przedsięwzięć
realizowanych w zespołach
8-osobowych (III + IV + V
rok)
J.Nawrocki, Wprowadzenie
Ocena wykładów 2004/05
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łania
Kontrola jakości oprogramowania
Szacowanie rozmiaru i pracochłonności
Standardy serii ISO 9000
Modele CMMI
Inżynieria wymagań I, II
Metody formalne
Zarządzanie projektami i PRINCE2
Personal Software Process
29.05.2006 Sprawdzian
TSP & RUP
Zwinne metodyki programowania
XPrince i projekty dyplomowe
J.Nawrocki, Wprowadzenie
Download