Copyright © Jerzy R.
Nawrocki
Wprowadzenie
Wprowadzenie
Jerzy.Nawrocki@put.poznan.pl
www.cs.put.poznan.pl/jnawrocki/io
Inżynieria oprogramowania II
Wykł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ł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
“.. 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ędzie
Zaczynaj mając koniec na względzie
Aby rzeczy pierwsze były pierwsze
Aby rzeczy pierwsze były pierwsze
Myśl o obopólnej korzyści
Myśl o obopólnej korzyści
Najpierw staraj się
Najpierw staraj się
zrozumieć
zrozumieć
Dbaj o synergię
Dbaj o synergię
Ostrz piłę
Ostrz piłę
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
Testowa
nie
Artefa
kt
Przeglą
dy
Recenzja
Prezentacja
Formalny przegląd
techniczny
Inspekcja
Audyt
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
Systematyczne podejście do planowania
begin ..
end
500 LOC
J.Nawrocki, Wprowadzenie
Szacowanie pracochłonności
COCOMO:
Effort = a
Size
b
Walston-Felix model:
Effort = 5.2
Size
0.91
Software equation
(Putnam):
Effort = (
Size
B
0.333
/P)
3
/ t
4
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.
Pytia
Pytia
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
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ł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
1. Początkowy
2. Zarządzany
(powtarzalny)
3. Zdefiniowany
4. Zarządzany
ilościowo
5. Optymalizujący
Organizacje programistyczne
SEI, Pittsburg, USA
1989-1993
J.Nawrocki, Wprowadzenie
Profil dojrzałości wg SEI
Początko
wy
Zarządz
any
Zdefiniow
any
Zarządz
any
ilościow
o
Optymaliz
ujący
9.5
%
29.7
%
27.7
%
5.4
%
27.7
%
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
Zarejestruj IO
Aktor
Aktor
: Rejestrator IO
Cel
Cel
: Zarejestrować w systemie nową IO.
Zdarzenie
Zdarzenie
: Rejestrator otrzymał wniosek
papierowy.
Główny scenariusz
Główny scenariusz
1.
1.
Rejestrator IO
Rejestrator IO
: Wprowadza NIP lub REGON
IO.
2.
2.
System
System
: Sprawdza poprawność
wprowadzonego NIP/REGON.
3.
3.
Rejestrator
Rejestrator
: Wprowadza pozostałe dane
identyfikacyjne IO.
4.
4.
System
System
: Weryfikuje poprawność
składniową wprowadzonych danych.
5.
5.
Rejestrator
Rejestrator
: Wprowadza dane dotyczące
jednostek IO.
. . .
J.Nawrocki, Wprowadzenie
Specyfikacja wymagań
Wymagania
funkcjonalne
Wymagania
pozafunkcjonalne
Interfejs użytkownika
Scenariusze testów
akceptacyjnych
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
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
Miejsce
Przejście
Przejście
Znacznik
Znacznik
Ł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ł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
=
PR
ojects
IN
C
ontrolled
E
nvironments
CCTA = the
C
entral
C
omputer and
T
elecommunications
A
gency, 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
Managing Successful
Projects
Projects
with PRINCE2
with PRINCE2
Metodyka zarządzania
przedsięwzięciami
Główny aktor:
kierownik
przedsięwzięcia
http://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ł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
=
P
ersonal
S
oftware
P
rocess
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
Rejestry czasu i defektów
Rejestry czasu i defektów
Stand. kodu
Stand. kodu
+
+
Pomiar rozm.
Pomiar rozm.
+
+
P
P
PO
PO
0.Bazowy
Szacowanie rozmiaru + raport tst
Szacowanie 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 projektowe
Wzorce projektowe
2.Jakości
Rozwój cykliczny
Rozwój cykliczny
3.Cykliczny
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
Wprowadzenie
TSP
=
T
eam
S
oftware
P
rocess
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
March 2000.
(Amazon: $30)
Addison-Wesley, 1st
edition
April 2003.
(Amazon: $30)
J.Nawrocki, Wprowadzenie
Fazy w RUP
Inceptio
n
Rozpocz
ęcie
Elaborati
Elaborati
on
on
Dopracow
Dopracow
anie
anie
Construct
ion
Konstruk
cja
Transitio
n
Wdrożen
ie
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
Manifest zwinności
•
Jednostki i interakcje
niż procesy i
narzędzia
Ważniejs
ze:
•
Działające oprogramowanie
niż
obszerna dokumentacja
•
Współpraca klienta
niż negocjacja
kontraktu
•
Nadążanie za zmianami
Nadążanie za zmianami
niż trzymanie
niż trzymanie
się planu
się planu
J.Nawrocki, Wprowadzenie
Zwinne metodyki programowania
Tom
Tom
DeMarco
DeMarco
„XP jest
dzisiaj
najważniejszy
m ruchem w
IO."
Programowanie Ekstremalne
Programowanie Ekstremalne
(XP)
(XP)
=
=
lekka (zwinna)
lekka (zwinna)
metodyka tworzenia
metodyka tworzenia
oprogramowania
oprogramowania
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
Ogólna ocena
4,86
5,16
4,8 4,72 4,68 4,69 4,66
4,44 4,5
4,88 4,98 4,92
1
1,5
2
2,5
3
3,5
4
4,5
5
5,5
6
W
pr
o
Co
ve
y
Ro
zm
IS
O
CM
M
W
ym
Pr
inc
e
PS
P
RU
P
XP
XP
rin
ce
Wykłady
Ś
re
d
n
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ł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