Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008.

Slides:



Advertisements
Podobne prezentacje
nowoczesny system zarządzania przedsiębiorstwem
Advertisements

Agile w praktyce, czyli jak to robimy naprawdę
Wprowadzenie do narzędzi CAT
Modelowanie przypadków użycia
Projektowanie w cyklu życia oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Część 2 OiZPI Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów.
Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli
1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process.
Referat 3. Planowanie zadań i metody ich obrazowania
Nowoczesne metody zespołowego tworzenia aplikacji
FIT Środowisko Testów Integracyjnych
Platforma .Net i Vs.Net.
Na Etapie Inżynierii Wymagań
Analiza i walidacja wymagań
Tomasz Jabłoński Michał Ziach
Cykle życia oprogramowania
Agile Programming a jakość
Wymagania jakości w Agile Programming
Quartz. Wstęp Framework stworzony do budowy aplikacji biznesowych Metodologia która łączy prototypowanie, modelowanie wizualne oraz automatyzację budowy.
Rational Unified Process
Projekt zaliczeniowy z przedmiotu "Inżynieria oprogramowania"
Projektowanie - wprowadzenie
Dalsze elementy metodologii projektowania. Naszym celem jest...
Psychologiczne aspekty pracy testera oprogramowania
Projekt i implementacja aplikacji wspomagającej testowanie
Program Skype  Aleksandra Sikora, kl.III gim..
C.d. wstępu do tematyki RUP
Podstawy programowania
Microsoft Solution Framework
DORADCA posiada aktualną wiedzę z zakresu zawodoznawstwa, rynku pracy, aktywizacji zawodowej KLIENT często może posiadać wiedzę nieaktualną i posługiwać
Wykład 6 Przypadki użycia a proces
Korespondencja seryjna
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
Podstawowe informacje o maturze dla gimnazjalistów.
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Program Operacyjny Kapitał Ludzki
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Zarządzanie Projektami
Propozycja projektu Andrzej Ziółkowski.
Podstawy analizy ryzyka
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Waterfall model.
Zarządzanie zagrożeniami
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Podstawy zarządzania projektami Karta projektu
Podstawy języka skryptów
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Efektywne tworzenie oprogramowania 2008/2009. Forty Years of Software Engineering Konferencja w Garmisch – uczestników Prof. Bauer TUM przewodniczący.
1 1 / 15 Techniki lokalizacji oprogramowania – wykład 7 Wykład 7: Testowanie projektów lokalizacyjnych dr inż. Agenor Hofmann-Delbor.
Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008.
© 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. Dodawanie kontaktu Lista Kontakty upraszcza komunikację i umożliwia sprawdzenie statusu obecności.
Wzorce Projektowe w JAVA
Podstawy programowania
Mapa STL – C++. Problem polega na tym, że najczęściej chcielibyśmy przechowywać w zbiorze elementy jakiegoś bardziej złożonego typu, których on nie będzie.
Przewodnik Tworzenie powiadomień dotyczących wyszukiwania w EBSCOhost
„Filtry i funkcje bazodanowe w EXCELU”
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Agile Programming a jakość
Inżynieria systemów informacyjnych
Gildia Testowa Sposób na koordynację testów w „dużym scrumie”
Zarządzanie projektami informatycznymi
Inżynieria Oprogramowania Laboratorium
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Najważniejsze informacje dotyczące programu Sway.
Zapis prezentacji:

Efektywne tworzenie oprogramowania 2008/2009 cvs.ii.uni.wroc.pl/eto2008

Kartkówka Napisz test dla fragmentu kodu (test first), który ma znajdować największy element w liście.

Kartkówka Napisz kod, który pozwala przeprowadzić napisany test

Plan Historyjki użytkownika – element XP

Historyjki użytkownika 3 elementy zapisany opis historyjki użyty do planowania konwersacja - dla uzupełnienia szczegółów testy można użyć do ustalenia kiedy historyjka skończona Reprezentują funkcjonalności, które będą oceniane przez użytkownika

Przykłady - wartość Dobre: - „Użytkownik może poszukiwać pracy” - „Firma może oferować nową pracę” Złe: –„Oprogramowanie powinno być napisane w J” –„Program będzie się łączył z bazą danych poprzez..”

Rozmiary historyjek Gdy za duże – trudno testować/kodować Za małe – więcej czasu na specyfikacje niż na implementacje Implementacja historyjki od 4 godzin do 2 tygodni Podział dużych na mniejsze Bez drobnych szczegółów – te w czasie konwersacji

Pisanie historyjek Pisze klient –w języku biznesu, pomaga w podaniu priorytetów Dobre historyjki są: –niezależne –mają wartość dla klientów –można je oszacować –małe –testowalne

Niezależne Historyjki zależne jedna od drugiej są trudne do oszacowania i określenia priorytetu Przykład: –klient może płacić za przesyłkę kartą Visa –klient może płacić za przesyłkę Mastercard –klient może płacić za przesyłkę kartą American Express

Negocjowalne Karty z historyjkami – przypomnienie a nie kontrakt Szczegóły wyjaśnia się w czasie rozmów Karty z historyjkami zawierają frazę lub zdanie dla przypomnienia o konwersacji i notatkach z konwersacji

Cenne Dla osób korzystających z aplikacji i dla płacących za nią Zapobiega wartościowaniu historyjek tylko przez twórcę oprogramowania Przykład –„wszystkie połączenia do b.d. powinny być realizowane za pomocą..” można zastąpić przez „do 50 użytkowników może korzystać z aplikacji z licencją na 5 użytkowników b.d.”

Oszacowanie Historyjek nie można oszacować, bo: Twórcy oprogramowania nie mają wiedzy dot. dziedziny problemu –wydobywaj szczegóły od klienta Twórcom oprogramowania brak odpowiedniej wiedzy technicznej –twórz „próbkę” do zbadania technologii Historyjka jest za duża –podziel na mniejsze

Małe Łatwe do zaplanowania Dziel duże, złożone historyjki Łącz zbyt małe historyjki

Duże Podział W czasie konwersacji odkryto wiele dużych Podział według twórz/usuń/uaktualnij Podział według granic danych Badania Sprawdzić, że każdy podział daje dobrą historykę

Powinności historyjek (twórca) Pomaga klientom w pisaniu historyjek, które –pozwalają na konwersację a nie podają szczegółowej specyfikacji –stanowią wartość dla klienta –są niezależne –mają odpowiedni rozmiar Opisują potrzebę technologii/infrastruktury w terminologii mającej znaczenie dla klienta Konieczność konwersacji z użytkownikiem

Powinności historyjek (klient) Pisze historyjki, które –pozwalają na konwersację a nie podają szczegółową specyfikację –stanowią wartość dla klienta –są niezależne –mają odpowiedni rozmiar Konwersuje z twórcą oprogramowania

Użytkownicy Może być wiele typów użytkowników systemu Różne typy użytkowników mogą mieć różne role i różne historyjki Można uwzględnić niefaworyzowanych użytkowników jak i faworyzowanych

Modelowanie ról Burza mózgów - początkowy zbiór ról użytkownika Utworzyć ten początkowy zbiór Skonsolidować role Ulepszyć role

Atrybuty – przy ulepszaniu ról Częstość z jaką użytkownik używa aplikacji Poziom znajomości dziedziny przez użytkownika Ogólny poziom biegłości użytkownika Ogólny/naczelny cel użytkownika korzystającego z oprogramowania

Modelowanie dodatkowego użytkownika Identyfikowanie osób –Powinno być tak opisane, że każdy w zespole ma odczucie jakby tę osobę znali latami –Wybrać osobę, która reprezentuje populację użytkowników Ekstremalne charaktery

Modelowanie odpowiedzialności użytkownika (twórca) Uczestniczy w procesie identyfikacji ról użytkownika i osób Rozumie rolę każdego użytkownika i różnice Określa jak różne role użytkownika preferują określone zachowania oprogramowania

Modelowanie odpowiedzialności użytkownika (klienci) Szerokie spojrzenie na możliwych użytkowników i identyfikowanie odpowiednich ról Uczestniczy w procesie identyfikacji ról użytkownika i osób Upewnia się, że oprogramowanie nie ogniskuje się nieodpowiednio na podzbiorze użytkowników Upewnia się, że każda historyjka jest powiązana co najmniej z jedną rolą użytkownika Określa jak różne role użytkownika preferują określone zachowania oprogramowania

Odpowiedzialności zbierania historyjek Zrozumienie i wykorzystanie wielu technik Specyfika klienta: –napisać wcześnie wiele historyjek –zrozumienie opcji w konwersacji z użytkownikami –upewnić się, że są uwzględnione wszystkie role użytkowników

Testy akceptacji Wykorzystaj testy do sprawdzenia i formułowania szczegółów Testy akceptacji są świetnie formułowane przez klienta Nie zastępują testów jednostkowych

Powinności testów akceptacji (twórca) Automatyzacja wykonywania testów akceptacji Dodatkowe testy akceptacji Testowanie jednostkowe

Powinności testów akceptacji (klient) Pisanie testów akceptacji Wykonywanie testów akceptacji

Przewodnik – dobre historyjki (1) Rozpoczynamy z historyjkami celu Piszemy zamknięte historyjki Umieszczamy ograniczenia dotyczące systemu na kartach historyjek i na ich podstawie implementujemy automatyczne testy

Przewodnik – dobre historyjki (2) Rozmiar historyjek odpowiedni do czasu przeznaczonego na implementację Nie zajmujemy się UI jak długo to możliwe Nie opieramy się tylko na historyjkach, jeśli coś można wyrazić lepiej inaczej W historyjkach – rola użytkownika a nie „user” (l. pojedyncza) Strona czynna (a nie bierna)

Przewodnik – dobre historyjki (3) Nie numerujemy historyjek Nie zapominamy o celu historyjek

Wykorzystanie historyjek Punktujemy historyjki – trudność implementacji Dla każdego wydania klient określa priorytety Twórcy oprogramowania określają prędkość (liczbę punktów na okres przygotowania wydania) poprzedniego cyklu i planują implementowanie historyjek o najwyższym priorytecie, aż do liczby punktów tego cyklu

Historyjki to nie jest dokument wymagań są przypadki użycia scenariusze

Cel użycia historyjek Zrozumiałe dla każdego Dobry zakres do planowania Działa przy tworzeniu iteracyjnym Wzmacnia odkładanie szczegółów Zachęca do udziału w projektowaniu Gromadzi/podbudowuje „milczącą” wiedzę

Błędne historyjki Historyjki są za małe Są zależne między sobą Za dużo szczegółów Zbyt szybko zawierają szczegóły Ui Wybiegają za daleko w przyszłośc Klient ma trudności z określeniem priorytetów Klient nie chce pisać ani określać priorytetów historyjek

Projekt - narzędzia Każdy zespół XUnit, Trac, Bugzilla (?) + …

Projekty - terminy Strona z danymi: temat, zespól (5.XI) Gra w planowanie z klientem, plan (13.XI) Opis, analiza ryzyka, implementacja, testowanie (I iteracja) – 27.XI Koniec I wydania (2 iteracji) – 4/5.XII 1. iteracja II wydanie - 18/19.XII 2. Iteracja Ii wydanie – 15/16.I.2009

Adresy (przykładowa historyjka użytkownika) (przykładowa historyjka i przypadki użycia) (udziałowcy w projekcie prof.. Pollice)