Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.

Slides:



Advertisements
Podobne prezentacje
Programowanie Ekstemalne
Advertisements

Inżynieria Oprogramowania
Projektowanie w cyklu życia oprogramowania
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Opis metodyki i procesu produkcji oprogramowania
Programowanie Ekstremalne
JAKOŚĆ & Metody Jej Pomiaru
Zarządzanie przedsięwzięciami i PRINCE2
EXtreme Programming » Magdalena Tchorzewska.
Jerzy Nawrocki Piotr Pawałowski Krzysztof Pospiech
Na Etapie Inżynierii Wymagań
Lekkie metodyki programowania: Szansa czy zagrożenie?
Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03
ISO 9001:2000 z perspektywy CMMI a poznańska rzeczywistość
Inżynieria oprogramowania II Wykład 5 Standardy serii ISO 9000
Inżynieria oprogramowania II Wykład 4 Normy serii ISO 9000
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Zwinne metodyki programowania
Szacowanie rozmiaru i pracochłonności
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Wprowadzenie do przedmiotu
Model dojrzałości CMMI
Informatyka jako dziedzina wiedzy
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Zwinne metodyki programowania Copyright, 2006 © Jerzy R. Nawrocki Inżynieria oprogramowania.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Wykład 1 Inżynieria oprogramowania II Wykład 1 Wprowadzenie
Personal Software Process
XPrince: Równoważenie zwinności i dyscypliny
J. Nawrocki, Inżynieria oprog. Plan wykładu Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu WynikiPodsumowanie.
Analiza i walidacja wymagań
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Copyright © Jerzy R. Nawrocki Wprowadzenie Analiza systemów informatycznych Wykład.
Inżynieria oprogramowania II Wykład 10 PRINCE2 i TSP
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Modelowanie i język UML
Dyscyplina i zwinność w projektach informatycznych
Dyscyplina i zwinność w projektach informatycznych (cz. 2)
Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład.
Testowanie oprogramowania
Zarządzanie przedsięwzięciami i PRINCE2
Agile Programming a jakość
Jarosław Kuchta Jakość Oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Wymagania jakości w Agile Programming
Model jakości CMM/CMMI
Adam Walicki - 30 września 2010
Politechnika Łódzka Instytut Chemicznej Technologii Żywności
Microsoft Solution Framework
Inżynieria Oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Gramatyki i translatory
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
(c) Jerzy Nawrocki Jerzy Nawrocki
Agile Manifesto Manifest Zwinnego Wytwarzania Oprogramowania
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
Agile Programming a jakość
Inżynieria oprogramowania
Wprowadzenie do teoretycznych podstaw informatyki
Zarządzanie projektami informatycznymi
Jerzy Nawrocki Adam Wojciechowski
Inżynieria oprogramowania II Wykład 5 Model CMMI
Zapis prezentacji:

Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 7 Wprowadzenie do informatyki Wykład 7

J. Nawrocki, Inżynieria Oprogr. WstępWstęp LOOPLOOP Syndrom LOOP ate (późno) oor quality (kiepska jakość) ver budget (przekroczony budżet) vertime (nadgodziny) Loop

J. Nawrocki, Inżynieria Oprogr. Plan wykładu ISO 9000 CMM Programowanie Ekstremalne Studio Rozwoju Oprogramowania

J. Nawrocki, Inżynieria Oprogr. Asesor Dobrzy ISO 9000 Kryte- ria Źli

J. Nawrocki, Inżynieria Oprogr. Seria ISO 9000:2000 ISO 9000:2000 Systemy zarządzania jakością – Podstawy i terminologia ISO 9001:2000 Systemy zarządzania jakością – Wymagania (zastępuje ISO 9001:1994, ISO 9002:1994, ISO 9003:1994) ISO 9004:2000 Systemy zarządzania jakością – Wytyczne doskonalenia funkcjonowania (zastępuje ISO :1994, ISO :1994)

J. Nawrocki, Inżynieria Oprogr. JakośćJakość Stopień, w jakim zbiór inherentnych właściwości spełnia wymagania ISO 9000:2000, rozdz

J. Nawrocki, Inżynieria Oprogr. Podejście procesowe Proces Wej.Wyj. Zasoby Działanie wykorzystujące zasoby i zarządzane w celu umożliwienia przekształcenia wej. w wyj. ISO 9001:2000, rozdz. 0.2

J. Nawrocki, Inżynieria Oprogr. DokumentacjaDokumentacja Polityka jakości i cele jakości Księga jakości Udokumentowane procedury wymagane przez standard Plany jakości, udokumentowane procedury, instrukcje pracy Zapisy

J. Nawrocki, Inżynieria Oprogr. Główne części ISO 9001:2000 Odpowiedzialność kierownictwa Zarządzanie zasobami Realizacja produktu Pomiary, analiza i doskonalenie

J. Nawrocki, Inżynieria Oprogr. Plan wykładu ISO 9000 CMM Programowanie Ekstremalne Studio Rozwoju Oprogramowania

J. Nawrocki, Inżynieria Oprogr. Modele doskonalenia procesów 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

J. Nawrocki, Inżynieria Oprogr. Modele doskonalenia procesów CMM: Capability Maturity Model 1. Początkowy 2. Zarządzany (powtarzalny) 3. Zdefiniowany 4. Zarządzany ilościowo 5. Optymalizujący Zarządzanie wymaganiami Planowanie przedsięwzięcia Śledzenie postępów Zarządzanie podzleceniami Zapewnienie jakości Zarządzanie konfiguracją Pomiary i analiza

J. Nawrocki, Inżynieria Oprogr. Zarządzanie wymaganiami SP 1.1 Uzyskaj zrozumienie wymagań SP 1.3 Panuj nad zmianami wymagań SP 1.5 Identyfikuj niespójności między wymaganiami a produktami projektu

J. Nawrocki, Inżynieria Oprogr. Utwórz zarządzany proces Planuj proces Dostarcz zasoby Przypisz odpowiedzialność Szkol ludzi

J. Nawrocki, Inżynieria Oprogr. Plan wykładu ISO 9000 CMM Programowanie Ekstremalne Studio Rozwoju Oprogramowania

J. Nawrocki, Inżynieria Oprogr. WstępWstęp Problemy Za dużo papierów! Za dużo spotkań!

J. Nawrocki, Inżynieria Oprogr. WstępWstęp

WstępWstęp

WstępWstęp Tom DeMarco "XP jest dzisiaj najważniejszym ruchem w naszej dziedzinie." Extreme Programming (XP) = lekka (lightweight, agile) lekka (lightweight, agile) metodyka rozwoju oprogramowania metodyka rozwoju oprogramowania

J. Nawrocki, Inżynieria Oprogr. XP Zbawca WstępWstęp Najważniejsza komunikacja ustna. Jedyne artefakty: kod + testy IEEE/ANSI standard 830/1993? Zawsze to mówiłem! Zbędny! Inspekcje Fagana? Punkty funkcyjne? Żadnych nadgodzin! Zbędne!

J. Nawrocki, Inżynieria Oprogr. WstępWstęp 1. Zupełnie niezgodny Model dojrzałości dla XP 2. Początkowy Relacje z klientem (CRM) Zapewnienie jakości produktu 3. Zaawansowany Programowanie parami 4. Dojrzały Wydajność procesu

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Nie musisz być wydajny, byleś był skuteczny Klient powinien cały czas pracować z zespołem Uczyń klienta swoim przywódcą (co robić ważniejsze niż jak robić) Zadbaj o efektywną współpracę

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Panie! Oto pierwsze wydanie statku umożliwiającego na księżyc latanie. Stosuj częste krótkie wydania Wydanie: Ma wartość użytkową. Trafia do użytkowników końcowych.

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Wydanie podziel na przyrosty Przyrost I Przyrost II Przyrost: Niepusty zbiór opowieści użytkownika. Charakter wewnętrzny (nie trafia do użytkownika końcowego). 2 – 3 tygodnie (70%).

J. Nawrocki, Inżynieria Oprogr. Elaboration iteration 2 Przyrost Relacje z klientem Struktura przyrostu wg RUP Analiza wymagań Projekt Kodowanie, testy jednost. Testy systemu i podsys.

J. Nawrocki, Inżynieria Oprogr. Balon? To taka łódka, tyle, że pływa w powietrzu a nie po wodzie. Relacje z klientem Znajdź metaforę dla systemu Metafora: Wyjaśnia działanie systemu w terminach zrozumiałych dla klienta.

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Opowieści użytkownika It was not OK. Muszę napisać opowieść. Opowieść: Jest wstępem do rozmowy. Jest krótka. Opisuje funkcję/cechę systemu. Ma wartość dla klienta. Musi być testowalna.

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Data: Typ: Nowa: X Naprawa:__ Rozbudowa:__ Numer opowieści: 23 OPOWIEŚĆ: Dla każdego konta oblicz saldo dodając wszystkie wpłaty i odejmując wszystkie wypłaty. Rozmiar: Opowieści użytkownika

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Stosuj grę planistyczną Aby rzeczy pierwsze były pierwsze – S. Covey

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Planowanie wydania Pisze opowieść It was not OK. Dzieli opowieść It was not OK. Szacują opowieść It was not OK. Za duża!

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Planowanie wydania (kont.) Sortowanie opowieści wg ich wartości. Sortowanie wg ryzyka: przewidywalne średnio wcale Prędkość: pracochłonność/ przyrost Wybiera zakres

J. Nawrocki, Inżynieria Oprogr. Relacje z klientem Mierz prędkość projektu (IET/tydzień) Eksperymentuj by zmniejszyć ryzyko Nie poszerzaj funkcjonalności zbyt wcześnie Wciąż tworzę dzieła wiekopomne, O których jutro... sam zapomnę.

J. Nawrocki, Inżynieria Oprogr. WstępWstęp 1. Zupełnie niezgodny Model dojrzałości dla XP 2. Początkowy Relacje z klientem (CRM) Zapewnienie jakości produktu 3. Zaawansowany Programowanie parami 4. Dojrzały Wydajność procesu

J. Nawrocki, Inżynieria Oprogr. Zapewnianie jakości Dbaj o prostotę Unikaj optymalizacji Dla każdej jednostki kodu opracuj NAJPIERW zestaw testów, potem pisz kod. Automatyzuj wykonanie testów (xUnit) Co pewien czas dokonuj refaktoryzacji

J. Nawrocki, Inżynieria Oprogr. Zapewnianie jakości Kod musi przejść wszystkie testy jednostkowe zanim przekażesz go do eksploatacji Dla każdego wykrytego błędu utwórz zestaw testów Często integruj kod Często wykonuj testy akceptacyjne i publikuj ich wyniki

J. Nawrocki, Inżynieria Oprogr. WstępWstęp 1. Zupełnie niezgodny Model dojrzałości dla XP 2. Początkowy Relacje z klientem (CRM) Zapewnienie jakości produktu 3. Zaawansowany Programowanie parami 4. Dojrzały Wydajność procesu

J. Nawrocki, Inżynieria Oprogr. Programowanie parami Autor Recenzent if (x=y) z=0; Ma być x==y

J. Nawrocki, Inżynieria Oprogr. Programowanie parami Po pewnym czasie.. AutorRecenzent x-=y; else Jak to testować?

J. Nawrocki, Inżynieria Oprogr. Programowanie parami Cały produkt jest kodowany w parach. Standard kodowania. Częste integracje. Tylko jedna para integruje kod w danej chwili. Pary się zmieniają. Error

J. Nawrocki, Inżynieria Oprogr. Programowanie parami Kod jest własnością całego zespołu. System zarządzania wersjami ! Otwarta przestrzeń pracy dla zespołu. Error

J. Nawrocki, Inżynieria Oprogr. WstępWstęp 1. Zupełnie niezgodny Model dojrzałości dla XP 2. Początkowy Relacje z klientem (CRM) Zapewnienie jakości produktu 3. Zaawansowany Programowanie parami 4. Dojrzały Wydajność procesu

J. Nawrocki, Inżynieria Oprogr. Plan wykładu ISO 9000 CMM Programowanie Ekstremalne Studio Rozwoju Oprogramowania

J. Nawrocki, Inżynieria Oprogr. Studio Rozwoju Oprogramowania Od 1998 Część programu Master in Software Engineering Corocznie 11 przedsięwzięć realizowanych w zespołach 8-osobowych (III + IV + V rok)

J. Nawrocki, Inżynieria Oprogr. Zespół projektowy Zarządzanie projektem + zarządzanie produktem IV rok Zarządzanie projektem + zarządzanie produktem IV rok Zapewnianie jakości V rok Zapewnianie jakości V rok Projektowanie, implementacja, testowanie, dokumentacja III rok Projektowanie, implementacja, testowanie, dokumentacja III rok Decyzje biznesowe + wiedza Klient Decyzje biznesowe + wiedza Klient

J. Nawrocki, Inżynieria Oprogr. MetodykaMetodyka CMMI Poziom 2 Zarządzanie wymaganiamiZarządzanie wymaganiami Planowanie i kontrola przedsięwzięćPlanowanie i kontrola przedsięwzięć Zapewnianie jakościZapewnianie jakości Zarządzanie konfiguracjąZarządzanie konfiguracją Analiza i pomiaryAnaliza i pomiary ISO 9001:2000 XP Rola klienta i gra planistycznaRola klienta i gra planistyczna Krótkie przyrosty i wydaniaKrótkie przyrosty i wydania Automatyczne testowanie + testy akceptacyjneAutomatyczne testowanie + testy akceptacyjne CMMI Poziom 2 ISO 9001 XP Projekty 2002

J. Nawrocki, Inżynieria Oprogr. PodsumowaniePodsumowanie XP jest lekką metodyką programowania Małe przedsięwzięcia programistyczne (do 10 osób). Podstawowe czynniki ryzyka: brak dokumentacji – pielęgnacja produktu, problemy z dostępnością klienta, tylko 1 przedstawiciel klienta. Wreszcie!

J. Nawrocki, Inżynieria Oprogr. Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?