wprowadzenie

55
Copyright © Jerzy R. Nawrocki Wprowadzenie [email protected] www.cs.put.poznan.pl/jnawrocki/io Inżynieria oprogramowania II Wykład 1

Upload: jacqueline-wilder

Post on 31-Dec-2015

27 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Wprowadzenie

Copyright © Jerzy R. Nawrocki

WprowadzenieWprowadzenie

[email protected]/jnawrocki/io

Inżynieria oprogramowania IIWykład 1

Page 2: Wprowadzenie

J.Nawrocki, Wprowadzenie

Syndrom LOOP

L

O

O

P

ate (późno)

oor quality (kiepska jakość)

ver budget (przekroczony budżet)

vertime (nadgodziny)

Loop

Page 3: Wprowadzenie

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

Page 4: Wprowadzenie

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

Page 5: Wprowadzenie

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ą ..”

??

Page 6: Wprowadzenie

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łę

Page 7: Wprowadzenie

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

Page 8: Wprowadzenie

J.Nawrocki, Wprowadzenie

Kontrola jakości oprogramowania

Testowanie

Artefakt

PrzeglądyRecenzjaPrezentacjaFormalny przegląd technicznyInspekcjaAudyt

Page 9: Wprowadzenie

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

Page 10: Wprowadzenie

J.Nawrocki, Wprowadzenie

Systematyczne podejście do planowania

begin .. end

500 LOC

Page 11: Wprowadzenie

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

Page 12: Wprowadzenie

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

Page 13: Wprowadzenie

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

Page 14: Wprowadzenie

J.Nawrocki, Wprowadzenie

Audytor

Dobrzy

ISO 9001

Kryte-ria

Źli

Page 15: Wprowadzenie

J.Nawrocki, Wprowadzenie

Audytor

Dobrzy

ISO 9001

Kryte-ria

Źli

Page 16: Wprowadzenie

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

Page 17: Wprowadzenie

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

Page 18: Wprowadzenie

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

Page 19: Wprowadzenie

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%

Page 20: Wprowadzenie

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

Page 21: Wprowadzenie

J.Nawrocki, Wprowadzenie

Wymagania ..

.. specyfikacja tego, co ma być implementowane.

Sommerville & Sawyer’97

Page 22: Wprowadzenie

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.. . .

Page 23: Wprowadzenie

J.Nawrocki, Wprowadzenie

Specyfikacja wymagań

Wymagania funkcjonalneWymagania pozafunkcjonalneInterfejs użytkownikaScenariusze testów

akceptacyjnych

Page 24: Wprowadzenie

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

Page 25: Wprowadzenie

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.

Page 26: Wprowadzenie

J.Nawrocki, Wprowadzenie

Terminologia

MiejsceMiejsce

PrzejściePrzejście

ZnacznikZnacznik

Łuk wej.Łuk wej.

Łuk wyj.Łuk wyj.

Page 27: Wprowadzenie

J.Nawrocki, Wprowadzenie

Bardzo prosty przykład

waiting

reading

strt_reading

stop_reading

Czytelnik w bibliotece:czekanie,czytanie.

Page 28: Wprowadzenie

J.Nawrocki, Wprowadzenie

Bardzo prosty przykład

waiting

reading

strt_reading

stop_reading

Czytelnik w bibliotece:czekanie,czytanie.

Page 29: Wprowadzenie

J.Nawrocki, Wprowadzenie

Bardzo prosty przykład

waiting

reading

strt_reading

stop_reading

Czytelnik w bibliotece:czekanie,czytanie.

Page 30: Wprowadzenie

J.Nawrocki, Wprowadzenie

Bardzo prosty przykład

waiting

reading

strt_reading

stop_reading

Czytelnik w bibliotece:czekanie,czytanie.

Page 31: Wprowadzenie

J.Nawrocki, Wprowadzenie

Bardzo prosty przykład

waiting

reading

strt_reading

stop_reading

Czytelnik w bibliotece:czekanie,czytanie.

Page 32: Wprowadzenie

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

Page 33: Wprowadzenie

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

Page 34: Wprowadzenie

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

Page 35: Wprowadzenie

J.Nawrocki, Wprowadzenie

Certyfikaty PRINCE2

PRINCE2 Foundation (Podstawy)

PRINCE2 Practitioner (Praktyk)

Page 36: Wprowadzenie

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

Page 37: Wprowadzenie

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

Page 38: Wprowadzenie

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

Page 39: Wprowadzenie

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

Page 40: Wprowadzenie

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

Page 41: Wprowadzenie

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

Page 42: Wprowadzenie

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

Page 43: Wprowadzenie

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

Page 44: Wprowadzenie

J.Nawrocki, Wprowadzenie

Role w TSP

• Lider zespołu

• Kierownik rozwoju

• Kierownik planowania

• Kierownik jakości

• Kierownik wspomagania

Page 45: Wprowadzenie

J.Nawrocki, Wprowadzenie

Literatura nt. RUP

Addison-Wesley, 2nd edition

March 2000. (Amazon: $30)

Addison-Wesley, 1st edition

April 2003. (Amazon: $30)

Page 46: Wprowadzenie

J.Nawrocki, Wprowadzenie

Fazy w RUP

Inception

Rozpoczęcie

ElaborationElaboration

DopracowanieDopracowanie

Construction

Konstrukcja

Transition

Wdrożenie

Page 47: Wprowadzenie

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

Page 48: Wprowadzenie

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

Page 49: Wprowadzenie

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

Page 50: Wprowadzenie

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

Page 51: Wprowadzenie

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)

Page 52: Wprowadzenie

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

Page 53: Wprowadzenie

J.Nawrocki, Wprowadzenie

Pytania?

Page 54: Wprowadzenie

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ć?

Page 55: Wprowadzenie

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