Proces wytwarzania oprogramowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Proces wytwarzania oprogramowania"

Transkrypt

1 Proces wytwarzania oprogramowania

2 Proces wytwarzania oprogramowania Proces wytwarzania oprogramowania (zwany również cyklem wytwarzania oprogramowania) to proces tworzenia lub rekonstrukcji systemu informatycznego wraz z modelami i metodologiami używanymi w jego realizacji Wybrane etapy procesu wytwarzania oprogramowania: Specyfikacja wymagań Analiza Projektowanie Implementacja Testowanie Wdrożenie i pielęgnacja

3 Motywacja Programy z początku ery informatyki były nieskomplikowane, tworzone zazwyczaj do celów naukowych przez przyszłych użytkowników Rozwój sprzętu komputerowego i języków programowania sprawił, że zaczęto tworzyć bardziej złożone systemy przeznaczone dla szerszego grona odbiorców Na pewnym etapie zauważono, że o sukcesie projektu informatycznego decydują nie tylko umiejętności programistów, ale i praca całego zespołu oraz w dużej mierze organizacja samego procesu wytwarzania oprogramowania

4 Motywacja Konkurencja wymusiła poszukiwanie nowych sposobów na poprawę efektywności procesu wytwarzania oprogramowania W efekcie powstało wiele modeli opisujących cykl życia systemu informatycznego i sposób realizacji procesu wytwórczego Na bazie tych modeli powstały tzw. metodyki projektowe (zestaw metod i procedur pozwalających zespołowi projektowemu realizować cykl życia systemu)

5 Cykle życia i wytwarzania Cykl życia systemu informatycznego szereg wzajemnie zależnych etapów, począwszy od ujawnienia potrzeby budowy systemu informatycznego, prezentacji jego idei, konstrukcję, użytkowanie, przystosowane do ewentualnych zmian funkcjonowania a kończąc na wycofaniu z eksploatacji Cykl wytwarzania systemu informatycznego fragment cyklu życia SI związany z procesem wytwórczym oprogramowania Cykl życia projektu okres od początku do zakończenia projektu informatycznego

6 Przeznaczenie modeli cyklu wytwarzania SI Formalnie określony sposób realizacji projektu (plan projektu, metodologia budowy systemu) Uporządkowanie przebiegu prac Ułatwienie planowania zadań Monitorowanie przebiegu realizacji zadań

7 Podstawowe modele cyklu życia SI Kaskadowy Przyrostowy Spiralny Prototypowanie Programowanie odkrywcze Montaż z gotowych elementów

8 Model kaskadowy (wodospadu) Specyfikacja wymagań Analiza Projektowanie Implementacja Testowanie Wdrożenie

9 Model kaskadowy (wodospadu) Stosowany w projektach o dobrze zdefiniowanych wymaganiach Etapy realizowane są w ściśle określonej kolejności Etap musi być zakończony przed przejściem do następnego Modele, projekty, kod lub dokumentacja wytworzone w danym etapie przekazywane są do następnego etapu

10 Model kaskadowy Zalety Naturalny zrozumiały i dobrze zdefiniowany ciąg kroków oraz dokumentów i produktów, które należy wytworzyć w każdym kroku Łatwość zarządzania projektem (ułatwia planowanie, harmonogramowanie oraz monitorowanie) Wady Silnie zależy od stabilności wymagań Weryfikacja zgodności z wymaganiami dopiero w końcowych etapach Marginalizacja roli klienta Wysokie koszty naprawy błędów

11 Model kaskadowy z iteracjami Specyfikacja wymagań Analiza W modelu kaskadowym z iteracjami jest możliwość powrotu do każdego z wcześniejszych etapów. Zaleca się by iteracje były z góry zaplanowane Projektowanie Implementacja Testowanie Wdrożenie

12 Model kaskadowy kierowany dokumentami Model opracowany przez armię amerykańską Bazuje na modelu kaskadowym Każdy etap kończy się opracowaniem dokumentacji W tradycyjnym modelu kaskadowym dokumentacja jest warunkiem przejścia do kolejnego etapu W modelu kierowanym dokumentami potrzebna jest jeszcze akceptacja klienta Dodatkową zaletą jest możliwość przerwania realizacji projektu w jednej firmie i wznowienie realizacji w innej (po przekazaniu jej kompletu dokumentów) Dodatkowe wady polegają na przestojach związanych z analizą dokumentacji przez klienta oraz dużym nakładzie pracy na opracowanie dokumentów

13 Model przyrostowy Rozpoczyna się od specyfikacji wymagań i wykonania wstępnego projektu (architektury) Następnie wybierany jest pewien podzbiór wymagań i następuje jego realizacja (przyrost), czyli szczegółowa analiza, projektowanie, implementacja i testowanie W efekcie powstaje wersja systemu, która może być dostarczona i wdrożona u klienta W kolejnej iteracji wybierany jest kolejny podzbiór wymagań i następuje jego realizacja Iterację wykonywane są do momentu realizacji wszystkich wymagań

14 Model przyrostowy Określenie wymagań Projekt ogólny Proces realizowany iteracyjnie Wybór podzbioru funkcji Projekt szczegółowy, implementacja i testy Dostarczenie zrealizowanej części systemu

15 Model przyrostowy Zalety Szybka implementacja funkcjonalności priorytetowych lub obarczonych dużym ryzykiem Możliwość wczesnego wdrożenie Skrócenie przerw w kontaktach z klientem w porównaniu do modelu kaskadowego Wady Problem z wyodrębnieniem w miarę niezależnych grup funkcjonalności Konieczność wytworzenia dodatkowych modułów niezbędnych do działania kolejnej wersji

16 Model spiralny Planowanie nakreślenie możliwych opcji (alternatyw) kolejnego wydania systemu na podstawie wymagań wstępnych lub celów wyznaczonych przez klienta Analiza ryzyka identyfikacja źródeł ryzyka i szacownie wielkości ryzyka dla każdej z możliwych alternatyw kolejnego wydania systemu Konstrukcja wytworzenie kolejnego wydania systemu ( mały wodospad analiza, projektowanie, implementacja, test i wdrożenie) Testowanie ocena kolejnego wydania systemu i wskazanie nowych wymagań lub modyfikacja istniejących

17 Model spiralny PLANOWANIE ANALIZA RYZYKA Planowanie na podstawie wyniku oceny klienta Wymagania początkowe Analiza ryzyka dla wymagań początkowych Analiza ryzyka w oparciu o reakcję klienta Ocena klienta Kolejne wydania TESTOWANIE KONSTRUKCJA ( mini model kaskadowy)

18 Model spiralny Zalety Szybka reakcja na pojawiające się ryzyka i oczekiwania klienta Ciągła weryfikacja produktu przez klienta zwiększa szanse na wytworzenie satysfakcjonującego rozwiązania Wady Wymagana umiejętność szacowania ryzyka projektu informatycznego

19 Prototypowanie Polega na budowaniu kolejnych przybliżeń systemu aż prototyp stanie się w pełni funkcjonalnym systemem Każdy kolejny prototyp jest oceniany przez klienta i wynik tej oceny trafia do projektantów Po akceptacji prototypu przez klienta następuje pełna specyfikacja wymagań i realizacja systemu w modelu kaskadowym Ponieważ podstawowym zadaniem prototypu jest pomoc w lepszym określeniu wymagań, budowę i weryfikację prototypu można uznać za specyficzny sposób realizacji fazy określania wymagań tradycyjnego modelu kaskadowego.

20 Prototypowanie Ogólne określenie wymagań Budowa prototypu nie Weryfikacja przez klienta tak Pełne określenie wymagań Realizacja pełnego systemu

21 Prototypowanie Zalety Pozwala uściślić wymagania i uniknąć błędu ich niewłaściwej specyfikacji Możliwe do stosowania w przypadku, gdy są problemy w jednoznacznym ustaleniu wymagań Wczesne wykrycie ewentualnych nieporozumień pomiędzy klientem a wytwórcą Wady Dodatkowy koszt budowy prototypu (tylko niewielkie fragmenty prototypu można wykorzystać w właściwym systemie) Nieporozumienia z klientem wynikające z długiego czasu oczekiwania na działający system w porównaniu z bardzo krótkim okresem wytwarzania prototypu

22 Metody budowy prototypu Realizacja tylko trudnych funkcjonalności Języki wysokiego poziomu (Lisp, Smalltalk, Prolog) i specjalizowane języki prototypowania Wykorzystanie gotowych komponentów Generatory interfejsu użytkownika, generatory oprogramowania, narzędzia typu CASE, Szybkie programowanie, tj. tylko kod, bez testowania

23 Programowanie odkrywcze Rozpoczyna się od bardzo ogólnego określenia wymagań Następnie budowany jest system (nie prototyp!) System jest weryfikowany przez klienta W przypadku negatywnej oceny tworzona jest nowa wersja na bazie poprzedniej Proces kończy się z chwilą gdy jedna z wersji zostanie zaakceptowana przez klienta

24 Programowanie odkrywcze Ogólne określenie wymagań Budowa systemu Przetestuj system nie System działa poprawnie tak Dostarcz system

25 Programowania odkrywcze Zalety Możliwość stosowania nawet w przypadku trudności w ustaleniu wstępnych wymagań Wady Problem z zachowaniem sensownej struktury systemu praktycznie uniemożliwia realizację większych, niezawodnych systemów Konieczność testowania przy współudziale klienta, bo model nie przewiduje pełnego określenia wymagań

26 Montaż z gotowych elementów Polega na wykorzystywaniu gotowych elementów w tworzonym systemie Gotowe elementy mogą być wykorzystywane na dowolnym etapie projektu Zwykle gotowe elementy wykorzystuje się na etapie implementacji Istnieje również możliwość wykorzystania gotowych modeli funkcjonowania pewnych typów organizacji (tzw. designware) Gotowym elementem mogą być modele, projekty, komponenty stworzone w ramach wcześniejszych projektów Gotowe elementy można też nabyć od innych dostawców

27 Montaż z gotowych elementów Zalety Wysoka niezawodność Redukcja kosztów Efektywne wykorzystanie specjalistów Wady Konieczność przygotowania gotowego elementu do użycia w nowym systemie Możliwość uzależnienia od dostawcy gotowego elementu

28 Który model wybrać? Model odkrywczy prosty problem, system na własny użytek Model kaskadowy lub montaż z gotowych elementów wymagania dobrze wyspecyfikowane, doświadczenie w realizacji podobnych projektów Prototypowanie problem ze specyfikacją wymagań

29 Rational Unified Process Rational Unified Process (RUP) to proces iteracyjnego wytwarzania oprogramowania opracowany przez firmę Rational Software Corporation (firma została obecnie przejęta przez IBM) Proces RUP nie jest pojedynczym, ściśle określonym procesem, ale raczej szablonem procesu

30 Rational Unified Process Został zaprojektowany w celu przystosowania do charakteru konkretnej organizacji, konkretnego zespołu projektowego lub nawet charakteru konkretnego projektu Z szablonu RUP można wybrać elementy w zależności od konkretnych potrzeb

31 Rational Unified Process Rational Unified Process (RUP) to także nazwa oprogramowania, opracowanego przez Rational Software (obecnie dostępnego w IBM) zawierającego hipertekstową bazę wiedzy z przykładowymi artefaktami oraz szczegółowymi opisami wielu typów czynności Process RUP definiowany jest także w produkcie Rational Method Composer (RMC), który pozwala na tworzenie spersonalizowanych wersji RUP

32 Iteracyjne wytwarzanie oprogramowania Wytwarzanie oprogramowania w kolejnych iteracjach, pozwala skupić się w pierwszej kolejności na obszarach najbardziej ryzykownych (np. najmniej rozpoznanych) W idealnym przypadku każda iteracja kończy się stworzeniem wykonywalnego artefaktu - pomaga to zredukować ryzyko w projekcie, otrzymujemy szybciej opinie od odbiorców oprogramowania a programistom pozwalamy skupić się na węższej dziedzinie

33 Architektura bazująca na komponentach Pozwala na stworzenie systemu, który jest łatwo rozszerzalny, intuicyjnie zrozumiały i wspomaga ponowne użycie (komponent to zbiór powiązanych obiektów) RUP skupia się na stworzeniu prostej architektury w początkowych iteracjach Ewoluuje ona w każdej iteracji zbliżając się do architektury finalnej Poprzez iteracyjne wytwarzanie oprogramowania zyskujemy możliwość stopniowej identyfikacji komponentów, które mogą być w dalszej części: zakupione, zbudowane, lub użyte ponownie

34 Wizualne modelowanie oprogramowania Abstrakcja projektowania od kodu i przedstawienie koncepcji za pomocą bloków graficznych może być efektywnym sposobem aby pokazać perspektywę rozwiązania Reprezentacja graficzna jest produktem pośrednim pomiędzy analizą procesu biznesowego, a implementacją Model w tym kontekście jest formą wizualizacji oraz uproszczeniem bardziej skomplikowanego projektu RUP specyfikuje wymagane modele i opisuje dlaczego są wymagane

35 Kontrola i weryfikacja jakości oprogramowania Ocena jakości jest najczęstszym słabym punktem projektów programistycznych ponieważ jest często planowana po fakcie budowy systemu i czasami obsługiwana przez inny zespół RUP pomaga w planowaniu kontroli jakości i jej ocenie poprzez wbudowanie jej w cały proces i zaangażowanie w nią wszystkich członków zespołu Proces koncentruje się na spełnieniu wymaganego poziomu jakości i zapewnia mechanizmy do pomiaru tego poziomu

36 Zarządzanie zmianami w oprogramowaniu RUP definiuje metody śledzenia, ewidencji i kontroli zmian Zdefiniowane są także tzw. secure workspaces (bezpieczne przestrzenie robocze), które pozwalają na zagwarantowanie, że zmiany w innych systemach nie wpłyną na system tworzony Koncepcja ta jest ściśle powiązana z tworzeniem architektury zorientowanej komponentowo

37

38 Struktura organizacyjna RUP proponuje strukturę zespołów w dwóch obszarach biznesowym (business unit) projektowym Zadaniem zespołu biznesowego jest koordynowanie funkcji i zasobów wykorzystywanych w wielu projektach z zastosowaniem wspólnej technologii i zasad

39 Zalety RUP RUP jest procesem iteracyjnym zakładającym budowanie systemu w kolejnych przebiegach Po zakończeniu iteracji produkowany jest fragment systemu spełniający wymagania klienta, jest on następnie udostępniany W ten sposób zespół analityczno-projektowy otrzymuje szybko sygnał zwrotny od klienta, który umożliwia bieżącą ocenę ryzyka niepowodzenia projektu jak również pozwala stwierdzić czy zespół analityczno-projektowy dobrze zrozumiał wymagania klienta wobec systemu

40 Zalety RUP W razie wystąpienia problemów zostaną one szybko wykryte i zespół analityczno-projektowy będzie mógł wdrożyć odpowiednie postępowanie zaradcze Podejście iteracyjne powoduje gwałtowną redukcję ryzyka niepowodzenia projektu już po zakończeniu pierwszej iteracji

41 Wady RUP Rup to metodyka ciężka i kosztowna Wymaga obszernego dokumentowania procesu Ogranicza inicjatywę i samodzielność Wysokie koszty administracyjne Sztywne procedury (np. audytu)

42 Metodyka PRINCE2 Projects in a Controlled Environment tzn. Projekty w sterowanym środowisku brytyjska agenda rządowa Central Computer and Telecommunications Agency (CCTA) opublikowało standard pod nową nazwą PRINCE PRINCE2 opublikowany jako ogólna metoda zarządzania projektami niezależna od dziedziny biznesowej zastosowania ostatnie zmiany opublikowane przez Office for Government Commerce (OGC) następcę CCTA

43 Uruchamianie projektu Przygotowanie projektu do uruchomienia Ma zapewnić, że projekt będzie wart ponoszonych kosztów i że da się go zrealizować Informacją wejściową dla procesu jest Zlecenie Przygotowania Projektu (Project Mandate) W proces zaangażowane jest wyższe kierownictwo organizacji, które ustanawia i wybiera Komitet Sterujący (Project Board), który nadzoruje projekt i wybiera Kierownika Projektu

44 Zarządzanie strategiczne projektem Realizuje funkcje, za które odpowiedzialny jest Komitet Sterujący Kierownik Projektu informuje Komitet Sterujący w raportach okresowych o stanie projektu Bieżące zarządzanie pozostawione jest w wyłącznej kompetencji Kierownika Projektu

45 Zarządzanie wytwarzaniem produktów PRINCE2 to metodyka oparta na produktach; produktem może być rzecz materialna np. książka Może nim być też rzecz bardziej niematerialna np. poziom usług serwisowych W zasadzie wszystko, co zostało wytworzone przez projekt zgodny z PRINCE2, włączając w to dokumenty jest produktem Produkt może być wytworzony przez kogokolwiek, także przez zewnętrznego dostawcę.

46 Zamykanie projektu Według metodyki PRINCE2 projekty muszą być zamykane w sposób uporządkowany i kontrolowany Wszystkie doświadczenia zdobyte w trakcie prowadzenia projektu są rejestrowane, tworzony jest dokument przekazania i planowany jest przegląd powdrożeniowy Po zakończeniu projektu w zaplanowanym momencie pozwalającym na należytą ocenę skutków biznesowych projektu przeprowadzany jest przegląd poprojektowy

47 Jakość w środowisku projektowym Celem projektu jest wytworzenie produktów, zgodnych z ich przeznaczeniem, zaspokajających potrzeby oraz oczekiwania jakościowe klienta Oczekiwania jakościowe są określone w Zleceniu Projektu (Project Mandate), Założeniach Projektu (Project Brief) oraz Dokumencie Inicjującym Projekt (Project Initiation Document)

48 Sterowanie zmianami W PRINCE2 wszystkie zmiany są traktowane jako zagadnienia projektowe: wnioski o zmianę dotyczące zmiany w wymaganiach albo produkcie odstępstwo rejestrowane kiedy produkt nie spełnia wymagań. sugestie zapytania zagadnienia ogólne

49 Sterowanie zmianami Obsługa wszystkich zagadnień projektowych jest w gestii Kierownika Projektu Ich zgłoszenia muszą być udokumentowane w Rejestrze zagadnień (Issue Log) Wnioski o zmianę muszą być zaakceptowane przez Komitet Sterujący lub Komitet ds. zmian (Change Authority) Przed akceptacją zmiany musi być wykonana analiza wpływu zmiany Odstępstwa (Off specification) mogą być załatwiane w ramach działań korygujących przez Kierownika Projektu o ile nie wykraczają one poza określone dla projektu granice tolerancji Komitet Sterujący może zaakceptować odstępstwa bez uruchamiania działań korygujących definiując je jako ustępstwo

50 Mocne strony PRINCE2 Stosowanie tej metodyki zapewnia wysoką standaryzację i powtarzalność projektów o wspólnym podejściu, terminologii i dokumentacji co zapewnia możliwość doskonalenia kompetencji Metodyka w sposób racjonalny opiera się na najlepszych praktykach w zarządzaniu projektami Wprowadza management by exception jako podstawową zasadę, która zapewnia Kierownikowi Projektów swobodę działania bez zbędnej ingerencji, zapewniając jednocześnie zaangażowanie wyższego kierownictwa, wtedy kiedy projekt jest zagrożony wykroczeniem poza granice tolerancji lub przestaje realizować uzasadnienie biznesowe

51 Mocne strony PRINCE2 Sprawuje kontrolę nad startem, realizacją i końcem projektu Każdy z dokumentów wymaganych przez PRINCE2 jest dostarczony jako szablon zawierający wymagane metrykę, rozdziały i pola informacyjne co zapewnia przejrzystość, standaryzację i kompletność dokumentacji Przewiduje możliwość adaptacji do specjalnych potrzeb organizacji, programu lub projektu Jej stosowanie nie wymaga opłat autorskich Materiały PRINCE2 są opublikowane i szeroko dostępne co ogranicza prace nad wypracowywaniem własnych standardów i przygotowaniem materiałów szkoleniowych

52 Słabości PRINCE2 Dużo organizacji cierpi na syndrom PINO (Prince In Name Only tzn. PRINCE2 tylko z nazwy), wybierając bez głębszej analizy tylko niektóre składniki metodyki nie zwracając uwagi na podstawowe zasady PRINCE2 kładzie duży nacisk na dokumentowanie jako narzędzie sprawnej kontroli sposobu realizacji projektu W niektórych organizacjach dokumenty stają się jednak celem samym w sobie, a rzeczywiste projekty kończą się niepowodzeniem

53 Słabości PRINCE2 Podobnie uwaga jaką zwraca PRINCE2 na potrzebę dobrej organizacji i regularną wymianę informacji pomiędzy zainteresowanymi odbierana jest niesłusznie jako zachęta do ciągłych bezproduktywnych spotkań zabierających czas niezbędny na rzeczywistą pracę PRINCE2 nie definiuje wprost analizy wymagań tak więc może prowadzić do niepowodzenia projektu z uwagi na przyjęcie fałszywych założeń (z drugiej strony jasno jest określone, kto ponosi odpowiedzialność za przyjęcie złych założeń i akceptację nietrafnego uzasadnienia biznesowego a przesłanki tych decyzji są udokumentowane i mogą stanowić nauczkę na przyszłość)

54 Słabości PRINCE2 Zbyt ścisłe przestrzeganie PRINCE2 bez odpowiedniej adaptacji do realiów biznesowych może być zbyt pracochłonne w zastosowaniu do małych projektów Niezbyt "zwinna"

55 Krytyka podejścia zorientowanego na procedury i dokumenty Zbyt dużo czasu poświęca się na tzw. papierkową robotę zamiast na tworzenie oprogramowania Dokumenty nie zawsze odzwierciedlają stan faktyczny, powstają tylko dlatego że są wymagane Pracownicy koncentrują się na realizacji procesu a nie na poprawie jakości tworzonego produktu Brak możliwości (lub zbyt duże koszty) zmian procedur (np. po uzyskaniu określonego certyfikatu) Dyscyplina zabija inicjatywę i elastyczność

56 Narodziny programowania ekstremalnego (XP) Jak odchudzić procesy wytwarzania oprogramowania przy zachowaniu lub nawet polepszeniu jakości tworzonego systemu? Powstanie lekkich (zwinnych, ang. Agile) metodyk rozwoju oprogramowania Programowanie Ekstremalne (ang. Extreme Programming) jako przykład lekkiej metodyki Kent Beck

57 Charakterystyka lekkich metodyk XP i inne lekkie podejścia, wyrosły na pragmatycznym gruncie sukcesu tzw. "dobrych praktyk" programistycznych Praktyki te obejmują m. in.: aktywny udział klienta w pracach rozwojowych szybkie sprzężenie zwrotne pomiędzy formułowaniem wymagań biznesowych a ich realizacją nieustanną pielęgnację jakości wytwarzanego oprogramowania poprzez intensywne testowanie refaktoryzację* oraz konstrukcję efektywnego zespołu

58 Manifest zwinności (rok 2001) Kent Beck - twórca metody kart CRC stosowanej podczas analizy obiektowej, autor narzędzi xunit - wspomagających testowanie jednostkowe oraz twórca XP Alistair Cockburn - autor rodziny zwinnych metodyk Crystal, oraz książek poświęconych inżynierii wymagań (głównie przypadkom użycia) Martin Fowler - twórca pomysłu refaktoryzacji, autor świetnej książki UML Distilled (UML w kropelce) i inni

59 Manifest zwinności Jednostki i interakcje są ważniejsze niż procesy i narzędzia Działające oprogramowanie jest ważniejsze niż obszerna dokumentacja Współpraca z klientem jest ważniejsza niż negocjacja kontraktu Nadążanie ze zmianami jest ważniejsze niż trzymanie się planu

60 Wartości XP Komunikacja Prostota Sprzężenie zwrotne Odwaga Szacunek

61 Komunikacja Budowanie systemów informatycznych wymaga przekazania wymagań od klienta do programistów W tradycyjnych metodykach wykorzystuje się w tym celu dokumenty (specyfikację wymagań) XP posługuje się komunikacją werbalną, dzięki czemu wiedza o systemie bardzo szybko rozprzestrzenia się w zespole Dzięki komunikacji wszyscy członkowie zespołu mają takie samo wyobrażenie przyszłego systemu i wiedzą w jakim kierunku projekt dąży

62 Prostota XP zachęca do rozpoczęcia najprostszym możliwym rozwiązaniem problemu (minimalnym, spełniającym pewne początkowe wymagania) Dopiero kiedy się upewnimy że idziemy w prawidłowym kierunku, na tej podstawie dobudowujemy resztę Dzięki refaktoryzacji jakość produktu jest stale na najwyższym poziomie Dzięki prostocie programiści skupiają się na projektowaniu i kodowaniu na potrzeby bieżącego dnia, a nie robią nic na wyrost

63 Sprzężenie zwrotne System ważna jest odpowiedź systemu, otrzymywana w procesie testowania jednostkowego Klient przygotowuje testy akceptacyjne wraz z testerem; dzięki takim testom można sprawdzić w jakim stanie znajduje się aktualnie budowany system Zespół w momencie kiedy klient proponuje nowe wymagania zespół podaje szacunki ile czasu zajmie ich zaimplementowanie; dzięki temu klient może podjąć decyzje, czy wymaganie będzie realizowane od razu, w przyszłości lub też w ogóle

64 Odwaga Odwaga jest potrzebna, aby przestrzegać zasady projektowania i kodowania wg aktualnych potrzeb, bez zastanawiania się co będzie potrzebne w przyszłości Odwaga, aby nie angażować się za bardzo w projektowanie i od razu przejść do kodowania Odwaga jest potrzebna, aby zrefaktoryzować kod, wtedy kiedy to jest potrzebne, aby nie bać się refaktoryzacji Jeżeli okaże się, że pewien fragment kodu jest już nieprzydatny, lub musi zostać zmieniony, do podjęcia decyzji o wyrzuceniu takiego kodu potrzeba dużo odwagi

65 Szacunek Nie można wysyłać do repozytorium zmian, które nie dają się skompilować lub powodują błędy w testach jednostkowych, gdyż przez to praca innych osób będzie utrudniona, lub niemożliwa i stracą one dużo czasu Dzięki dążeniu do najwyższej jakości i szukanie najlepszych rozwiązań projektowych (dzięki refaktoryzacji) innym osobom będzie dużo łatwiej wykorzystać kod napisany przez nas

66 Struktura zespołu XP nie pokazuje wprost struktury zespołu Dwie główne role w zespole pełnią: programiści klient Klient uważany jest za członka zespołu, więc musi przez cały czas pracować razem z informatykami (w jednym pomieszczeniu); czasem nie występuje w tej roli osobiście, lecz za pośrednictwem przedstawiciela klienta

67 Struktura zespołu Role pomocnicze pełnią: tester, którego zadaniem jest napisanie skryptów testowych na podstawie rozmów z klientem coach, to osoba, która pomaga rozwiązywać napotkane problemy tracker natomiast zbiera statystyki dotyczące wykonanych zadań, czasu pracy i tworzy podsumowania postępów projektu

68 Opowieści użytkowników Przedstawiciel klienta jest ciągłym źródłem wymagań Wymagania są dyskutowane z nim na bieżąco, natomiast ślad z tych dyskusji jest przechowywany w formie opowieści użytkowników Każda opowieść jest zapisana w kilku zdaniach na małej kartce papieru Może być oznaczona dodatkowymi atrybutami (np. data utworzenia, typ, numer, rozmiar)

69 Przykład opowieści Numer opowieści: 102 OPOWIEŚĆ: System przechowuje artykuły w formacie PDF. Umożliwia ich dodawanie, listowanie, a także pobieranie. Rozmiar: 3 dni Opowieści są krótkie Opisują funkcję systemu Mają wartość dla klienta Są testowalne

70 Hydrodynamiczny model projektu

71 Hydrodynamiczny model projektu

72 Cykl życia

73 Cykl życia w XP

74 Wydania i przyrosty Każde wydanie ma wartość użytkową i trafia do użytkowników końcowych, dzięki czemu programiści dostają sprzężenie zwrotne Należy stosować częste i krótkie wydania Przyrosty mają charakter wewnętrzny Pośrednie przyrosty niekoniecznie stanowią produkt, z którego klient byłby w stanie skorzystać Każdy przyrost powinien trwać 2-3 tygodnie, oraz zawierać kilka opowieści użytkownika

75 Planowanie Na początku podczas rozmów dotyczących wymagań systemu klient spisuje opowieści użytkownika Informatycy szacują rozmiar opowieści, podając liczbę osobo-dni potrzebnych do jej zrealizowania Jeżeli opowieść jest za duża (np. wykracza poza jeden przyrost), wówczas dzieli się ją na mniejsze Jeżeli opowieść jest też zbyt mała wtedy łączy się ją z inną opowieścią

76 Planowanie W momencie kiedy spisane są wstępne opowieści i oszacowane przez informatyków, klient wybiera zakres kolejnych przyrostów Klient zna koszt każdej opowieści i może zadecydować czy będzie ona realizowana czy też nie, oraz kiedy będzie realizowana, czyli do którego dwutygodniowego przyrostu należy ją przypisać

77 Zarządzanie zmianami Klient w dowolnym momencie może zmienić zdanie i zaproponować zmianę wymagań Klient płaci na bieżąco za wykonaną pracę i wie, że zmiana elementów już zaimplementowanych będzie go kosztowała dodatkowo Działa to również w drugą stronę - jeżeli programiści dostrzegą pewien problem i zaproponują rozwiązanie, które zmienia wymagania - klient ma do nich zaufanie i również zgadza się na przedstawione rozwiązanie

78 Zapewnienie jakości XP stawia na prostotę rozwiązań (optymalizować kod należy tylko wtedy, gdy jest to konieczne) Przed rozpoczęciem kodowania należy przygotować przypadki testowe (ang. test-first-coding) Tak przygotowane testy są następnie jak najczęściej wykonywane automatycznie - dzięki czemu na bieżąco wychwytywane są błędy Do poprawy czytelności kodu stosuje się refaktoryzację

79 Zapewnienie jakości Zanim udostępni się zmiany dla innych programistów, należy dokładnie przetestować go za pomocą testów jednostkowych Klient przygotowuje testy akceptacyjne w których dokładnie określa, jak system musi się zachować w określonych warunkach, aby zaspokoić jego potrzeby Na podstawie stopnia wykonania testów akceptacyjnych można ocenić postęp prac

80 Programowanie parami W tym podejściu, przy jednym komputerze siedzą 2 osoby jednocześnie: autor i recenzent Autor pisze kod, natomiast recenzent na bieżąco go przegląda i wychwytuje defekty Autor jest bardzo skupiony na tworzeniu kodu, a recenzent ma więcej czasu na myślenie; może się okazać zatem, że znajdzie lepszy sposób na rozwiązanie problemu, lub np. dostrzeże problemy związane z testowaniem obecnego kodu, lub po prostu wychwyci błąd w programie

81 Programowanie parami XP zaleca, żeby każdy fragment kodu powstał poprzez programowanie parami Potrzebny jest wspólny standard kodowania dla całego zespołu XP zakłada, że będą następować częste zmiany w parach, tak aby każda osoba pracowała nad każdym fragmentem systemu co ma dodatkową zaletę w postaci przepływania wiedzy pomiędzy poszczególnymi programistami Dodatkowo w momencie kiedy jeden programista odejdzie z zespołu, dla każdego fragmentu kodu znajdziemy inną osobę, która będzie znała ten fragment

82 Programowanie parami W XP nie ma osoby odpowiedzialnej za każdą część kodu - kod jest własnością całego zespołu Nie da się wydajnie pracować parami, jeżeli nie ma w firmie systemu zarządzania wersjami, np. CVS Wymagana jest również otwarta przestrzeń pracy dla zespołu - aby poszczególne osoby mogły się łatwo komunikować

83 Czynniki ryzyka Założenie, że klient przez cały czas pracuje z zespołem może się okazać nierealne - rzadko który klient może sobie pozwolić na oddelegowanie jednego pracownika na kilka miesięcy (gdyż tyle może trwać projekt) Brak dokumentacji z jednej strony powoduje przyspieszenie projektu, lecz czasem może się okazać, że po pewnym czasie trzeba wrócić do prac nad systemem (np. dodać nową funkcjonalność); wtedy, bez odpowiedniej dokumentacji, trudno przypomnieć sobie za co poszczególne fragmenty kodu były odpowiedzialne

84 Czynniki ryzyka Niektórzy zarzucają również brak fazy projektowania - twierdzą, że rozwiązania powstają za bardzo ad hoc Krótka perspektywa planowania (planuje się tylko kolejne wydanie) nie pozwala przewidzieć, kiedy system będzie ukończony

85 Literatura K. Beck: Extreme Programming Explained, Addison- Wesley, 1999 Andrzej Jaszkiewicz: Inżynieria oprogramowania, Helion, 1997 Wykłady z inżynierii oprogramowania:

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31 Metody wytwarzania oprogramowania Metody wytwarzania oprogramowania 1/31 Metody wytwarzania oprogramowania 2/31 Wprowadzenie Syndrom LOOP Late Późno Over budget Przekroczono budżet Overtime nadgodziny

Bardziej szczegółowo

Etapy życia oprogramowania

Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano

Bardziej szczegółowo

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna

Bardziej szczegółowo

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu

Bardziej szczegółowo

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura

Bardziej szczegółowo

Opis metodyki i procesu produkcji oprogramowania

Opis metodyki i procesu produkcji oprogramowania Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie

Bardziej szczegółowo

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś (często stosowany w praktyce do projektów o niewielkiej złożoności) wymagania specyfikowanie kodowanie

Bardziej szczegółowo

Cykle życia systemu informatycznego

Cykle życia systemu informatycznego Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów

Bardziej szczegółowo

Projektowanie systemów informatycznych. wykład 6

Projektowanie systemów informatycznych. wykład 6 Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany

Bardziej szczegółowo

Programowanie Ekstemalne

Programowanie Ekstemalne Programowanie Ekstemalne Koncepcja wykładu: Jerzy Nawrocki/Łukasz Olek Slajdy/Lektor/Montaż: Łukasz Olek Witam Państwa serdeczenie na kolejnym wykładzie dotyczącym inżynierii oprogramowania! 1 Plan wykładów

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof

Bardziej szczegółowo

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Zakres wykładu. Podstawy InŜynierii Oprogramowania Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,

Bardziej szczegółowo

Projekt. Prince2 PRoject. IN Controlled Environments PROCESY KOMPONENTY TECHNIKI

Projekt. Prince2 PRoject. IN Controlled Environments PROCESY KOMPONENTY TECHNIKI 4 Kilka słów o metodyce Prince2 Do czego słuŝy? 5 Kilka słów o metodyce Prince2 Skąd się wzięła? Prince2 PRoject IN Controlled Environments Metodyka zarządzania projektem, nie realizacji projektu!!! Projekty

Bardziej szczegółowo

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania prowadzący: dr inż. Krzysztof Bartecki www.k.bartecki.po.opole.pl Proces tworzenia oprogramowania jest zbiorem czynności i

Bardziej szczegółowo

Zarządzanie projektami. Porównanie podstawowych metodyk

Zarządzanie projektami. Porównanie podstawowych metodyk Zarządzanie projektami Porównanie podstawowych metodyk Porównanie podstawowych metodyk w zarządzaniu projektami PRINCE 2 PMBOK TENSTEP AGILE METODYKA PRINCE 2 Istota metodyki PRINCE 2 Project IN Controlled

Bardziej szczegółowo

Zarządzanie Projektami zgodnie z PRINCE2

Zarządzanie Projektami zgodnie z PRINCE2 Zarządzanie Projektami zgodnie z PRINCE2 Opis Metodyka PRINCE2 powstała na bazie doświadczeń z wielu lat dobrych praktyk zarządzania projektami. Metodyka ta oferuje elastyczne i łatwe do adaptacji podejście

Bardziej szczegółowo

Agile vs PRINCE2. 2014/2015 I rok st. magisterskie Informatyka

Agile vs PRINCE2. 2014/2015 I rok st. magisterskie Informatyka Agile vs PRINCE2 Ewa Solecka - specjalność ogólna- 1117627 Przemysław Mrozowski specjalność ogólna- 1121130 Michał Roztoczyński specjalność ogólna - 1118910 2014/2015 I rok st. magisterskie Informatyka

Bardziej szczegółowo

Rational Unified Process. Dokładny opis metodyki i procesu produkcji oprogramowania

Rational Unified Process. Dokładny opis metodyki i procesu produkcji oprogramowania Rational Unified Process Dokładny opis metodyki i procesu produkcji oprogramowania Rational Unified Process (RUP). RUP jest iteracyjnym procesem rozwoju oprogramowania. Definiuje szkielet postępowania,

Bardziej szczegółowo

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne SYSTEMY INFORMATYCZNE ćwiczenia praktyczne 12.03.2019 Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Zakres tematyczny implementacji projektu informatycznego

Bardziej szczegółowo

Inżynieria oprogramowania I

Inżynieria oprogramowania I Kontakt Inżynieria I Andrzej Jaszkiewicz Andrzej Jaszkiewicz p. 424y, Piotrowo 3a tel. 66 52 371 jaszkiewicz@cs.put.poznan.pl www-idss.cs.put.poznan.pl/~jaszkiewicz Literatura A. Jaszkiewicz, Inżynieria,

Bardziej szczegółowo

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Extreme programming Główne założenia XP Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Praktyki Planowanie: Planowanie releasu Planowanie iteracji

Bardziej szczegółowo

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, 2004 Zofia Kruczkiewicz 1. Przedstaw znaczenie oprogramowania we współczesnym świecie x 1 2. Jaki wpływ na ludzi, komunikację

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

Metodyki zwinne wytwarzania oprogramowania

Metodyki zwinne wytwarzania oprogramowania Metodyki zwinne wytwarzania oprogramowania Wykład 1 Marcin Młotkowski 7 października 2014 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski

Bardziej szczegółowo

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie. Inżynieria I Andrzej Jaszkiewicz Kontakt Andrzej Jaszkiewicz p. 8, CW Berdychowo tel. 66 52 933 ajaszkiewicz@cs.put.poznan.pl Rynek 2008 Świat 304 miliardy $ (451 miliardów 2013F) Bez wytwarzanego na własne

Bardziej szczegółowo

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................

Bardziej szczegółowo

Usługa: Audyt kodu źródłowego

Usługa: Audyt kodu źródłowego Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności

Bardziej szczegółowo

Przedsięwzięcia Informatyczne w Zarządzaniu

Przedsięwzięcia Informatyczne w Zarządzaniu Przedsięwzięcia Informatyczne w Zarządzaniu 2005/06 dr inż. Grażyna Hołodnik-Janczura GHJ 1 LITERATURA 1. Praca zbiorowa p.r. Górski J., Inżynieria oprogramowania, MIKOM, W-wa, 2000 2. Jaszkiewicz A.,

Bardziej szczegółowo

Programowanie zwinne

Programowanie zwinne Programowanie zwinne Wykład 1 Marcin Młotkowski 10 października 2012 Plan wykładu Sprawy organizacyjne Organizacja pracowni 1 Sprawy organizacyjne Organizacja pracowni 2 3 Marcin Młotkowski Programowanie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy

Bardziej szczegółowo

Analityk i współczesna analiza

Analityk i współczesna analiza Analityk i współczesna analiza 1. Motywacje 2. Analitycy w IBM RUP 3. Kompetencje analityka według IIBA BABOK Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura

Bardziej szczegółowo

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Rozdział 5: Zarządzanie testowaniem. Pytanie 1 Pytanie 1 Dlaczego niezależne testowanie jest ważne: A) Niezależne testowanie jest w zasadzie tańsze niż testowanie własnej pracy B) Niezależne testowanie jest bardziej efektywne w znajdywaniu defektów

Bardziej szczegółowo

Lekkie metodyki. tworzenia oprogramowania

Lekkie metodyki. tworzenia oprogramowania Lekkie metodyki tworzenia oprogramowania Programowanie zwinne ( Agile software development) grupa metodyk wytwarzania oprogramowania opartego o programowanie iteracyjne (model przyrostowy). Wymagania oraz

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz Oceny z prezentacji INKU011S Zofia Kruczkiewicz Data Student Oceny Uwagi 22.10.2017 231085 3.0 Przedstaw idealne środowisko do stosowania inżynierii oprogramowania- opisz elementy tego środowiska (sprzęt

Bardziej szczegółowo

Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: 06-07 marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16

Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: 06-07 marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16 Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: 06-07 marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16 Miejsce: Eureka Technology Park, Innowatorów 8 Cena: 980 zł netto (1 osoba / 2 dni

Bardziej szczegółowo

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Zarządzanie projektami. Wykład 2 Zarządzanie projektem Zarządzanie projektami Wykład 2 Zarządzanie projektem Plan wykładu Definicja zarzadzania projektami Typy podejść do zarządzania projektami Cykl życia projektu/cykl zarządzania projektem Grupy procesów

Bardziej szczegółowo

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, 2004 Zofia Kruczkiewicz 1. Przedstaw znaczenie oprogramowania we współczesnym świecie. x 3 2. Jaki wpływ na ludzi, komunikację

Bardziej szczegółowo

Tworzenie gier na urządzenia mobilne

Tworzenie gier na urządzenia mobilne Katedra Inżynierii Wiedzy Wykład 3 O czym dzisiaj? Metodyki tworzenia oprogramowania; Praca w zespole; Zarządzanie projektem; Narzędzia wspomagające i dobre praktyki; Zabezpieczenie kodu. Jaki model wybrać?

Bardziej szczegółowo

Inżynieria oprogramowania II

Inżynieria oprogramowania II Wymagania funkcjonalne, przypadki użycia Inżynieria oprogramowania II Problem i cel Tworzenie projektów bez konkretnego celu nie jest dobre Praktycznie każdy projekt informatyczny powstaje z uwagi na jakiś

Bardziej szczegółowo

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1 SVN 10 października 2011 Instalacja Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację uruchamiany ponownie komputer Rysunek 1: Instalacja - krok 1 Rysunek 2: Instalacja - krok 2

Bardziej szczegółowo

Inżynieria oprogramowania (Software Engineering)

Inżynieria oprogramowania (Software Engineering) Inżynieria oprogramowania (Software Engineering) Wykład 2 Proces produkcji oprogramowania Proces produkcji oprogramowania (Software Process) Podstawowe założenia: Dobre procesy prowadzą do dobrego oprogramowania

Bardziej szczegółowo

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK KLUCZ ODPOWIEDZI Część DODATEK 8.1 9.4 PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB Na podstawie: Syllabus REQB Certified Professional for Requirements Engineering, Advanced Level, Requirements

Bardziej szczegółowo

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:

Bardziej szczegółowo

XPrince dla architektów 1

XPrince dla architektów 1 Wprowadzenie do Laboratorium Inżynierii Oprogramowania Instytut Informatyki Politechnika Poznańska Jerzy Nawrocki Jerzy.Nawrocki@put.poznan.pl www.xprince.net Specjalność Software Engineering Konsorcjum

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. 1. Cel szkolenia

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. 1. Cel szkolenia 1. Cel szkolenia m szkolenia jest nauczenie uczestników stosowania standardu PRINCE2 do Zarządzania Projektami Informatycznymi. Metodyka PRINCE2 jest jednym z najbardziej znanych na świecie standardów

Bardziej szczegółowo

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką? ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest

Bardziej szczegółowo

Zarządzanie projektami a zarządzanie ryzykiem

Zarządzanie projektami a zarządzanie ryzykiem Ewa Szczepańska Zarządzanie projektami a zarządzanie ryzykiem Warszawa, dnia 9 kwietnia 2013 r. Agenda Definicje Wytyczne dla zarządzania projektami Wytyczne dla zarządzania ryzykiem Miejsce ryzyka w zarządzaniu

Bardziej szczegółowo

Narzędzia CASE dla.net. Łukasz Popiel

Narzędzia CASE dla.net. Łukasz Popiel Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania

Bardziej szczegółowo

Metodyki programowania. Tomasz Kaszuba 2015 kaszubat@pjwstk.edu.pl

Metodyki programowania. Tomasz Kaszuba 2015 kaszubat@pjwstk.edu.pl Metodyki programowania Tomasz Kaszuba 2015 kaszubat@pjwstk.edu.pl Wybrane metodyki zwinne TRADYCYJNE: RUP (Rational Unified Process) spiralny, rozbudowany PRINCE2 (Projects In Controlled Environments)

Bardziej szczegółowo

Metodyka projektowania komputerowych systemów sterowania

Metodyka projektowania komputerowych systemów sterowania Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania

Bardziej szczegółowo

PRINCE Foundation

PRINCE Foundation PRINCE2 2009 Foundation Istota PRINCE2 Metodyka PRINCE2 stanowi doskonałą podstawę do realizacji wszelkich projektów w przedsiębiorstwach i organizacjach dowolnej wielkości i branży. Pozwala w zorganizowany

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Projekt: PROLOG wzrost potencjału przedsiębiorstw logistycznych województwa pomorskiego

Projekt: PROLOG wzrost potencjału przedsiębiorstw logistycznych województwa pomorskiego Projekt ProLog - wzrost potencjału przedsiębiorstw logistycznych województwa pomorskiego jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. Projekt: PROLOG wzrost

Bardziej szczegółowo

Wytwarzanie oprogramowania

Wytwarzanie oprogramowania AiPA 6 Wytwarzanie oprogramowania Proces tworzenia oprogramowania jest procesem przekształcenia wymagań w oprogramowanie zgodnie z metodyką, która określa KTO CO robi JAK i KIEDY. - Wymagania Proces tworzenia

Bardziej szczegółowo

Wprowadzenie do systemów informacyjnych

Wprowadzenie do systemów informacyjnych Wprowadzenie do systemów informacyjnych Kryteria oceny systemu Podstawowe metody projektowania UEK w Krakowie Ryszard Tadeusiewicz 1 UEK w Krakowie Ryszard Tadeusiewicz 2 Technologia informatyczna dzisiaj

Bardziej szczegółowo

PRINCE2. Metodyka zarządzania projektami. Na podstawie prezentacji R. Radzik, J. Binkiewicz, K. Kasprzak

PRINCE2. Metodyka zarządzania projektami. Na podstawie prezentacji R. Radzik, J. Binkiewicz, K. Kasprzak PRINCE2 Metodyka zarządzania projektami Na podstawie prezentacji R. Radzik, J. Binkiewicz, K. Kasprzak Metodyka PRINCE2 PRINCE2 Project IN Controlled Environments v.2 Określa: Co należy zrobić Dlaczego

Bardziej szczegółowo

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających

Bardziej szczegółowo

Wstęp do zarządzania projektami

Wstęp do zarządzania projektami Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.

Bardziej szczegółowo

Agile Project Management

Agile Project Management Charles G. Cobb, pmp Zrozumieć Agile Project Management Równowaga kontroli i elastyczności przekład: Witold Sikorski APN Promise Warszawa 2012 Spis treści Wstęp...vii Kto powinien przeczytać tę książkę?...

Bardziej szczegółowo

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36 Inżynieria Oprogramowania Inżynieria Oprogramowania 1/36 Inżynieria Oprogramowania 2/36 Literatura 1. Gamma E. i in.: Wzorce projektowe, WNT, Warszawa 2005 2. Jaszkiewicz A.: Inżynieria oprogramowania,

Bardziej szczegółowo

WPROWADZENIE DO UML-a

WPROWADZENIE DO UML-a WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,

Bardziej szczegółowo

Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami. dr inż. Agata Klaus-Rosińska

Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami. dr inż. Agata Klaus-Rosińska Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego,

Bardziej szczegółowo

Zarządzanie projektami w NGO

Zarządzanie projektami w NGO Zarządzanie projektami w NGO Warsztaty dla Grupy Nowe Technologie Federacja Organizacji Służebnych MAZOWIA 4 września 2012 Projekt współfinansowany jest ze środków Unii Europejskiej w ramach Europejskiego

Bardziej szczegółowo

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006 IO - Plan wdrożenia M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel.......................................... 3 1.2 Zakres........................................

Bardziej szczegółowo

Faza Określania Wymagań

Faza Określania Wymagań Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie

Bardziej szczegółowo

Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych

Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych Wersja: 1.0 17.06.2015 r. Wstęp W dokumencie przedstawiono skróconą wersję pryncypiów architektury korporacyjnej podmiotów publicznych.

Bardziej szczegółowo

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami Politechnika Gdańska Wydział Zarządzania i Ekonomii Katedra Zastosowań Informatyki w Zarządzaniu Zakład Zarządzania Technologiami Informatycznymi Model referencyjny Open Source dla dr hab. inż. Cezary

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Inżynieria 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia koordynator

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS

Monitoring procesów z wykorzystaniem systemu ADONIS Monitoring procesów z wykorzystaniem systemu ADONIS BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

Egzamin / zaliczenie na ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny

INŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny Cel: Opracowanie szczegółowych zaleceń i procedur normujących pracę działu wytwarzania oprogramowania w przedsiębiorstwie

Bardziej szczegółowo

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny SCRUM niełatwe wdrażanie metodyki w praktyce Adam Krosny 1 Czym się zajmujemy Realizujemy projekty informatyczne średniej wielkości Ilość osób w projekcie 10-50 Architektura SOA, EBA Wiele komponentów

Bardziej szczegółowo

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN Podziękowania REQB Poziom Podstawowy Przykładowy Egzamin Dokument ten został stworzony przez główny zespół Grupy Roboczej REQB dla Poziomu Podstawowego. Tłumaczenie

Bardziej szczegółowo

Testowanie oprogramowania

Testowanie oprogramowania Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój

Bardziej szczegółowo

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk Waterfall model (iteracyjny model kaskadowy) Marcin Wilk Iteracyjny model kaskadowy jeden z kilku rodzajów procesów tworzenia oprogramowania zdefiniowany w inżynierii oprogramowania. Jego nazwa wprowadzona

Bardziej szczegółowo

MODELE CYKLU śycia OPROGRAMOWANIA

MODELE CYKLU śycia OPROGRAMOWANIA MODELE CYKLU śycia OPROGRAMOWANIA Plan prezentacji: Definicja procesu i procesu programowego Model buduj i poprawiaj Model kaskadowy (czysty i z nawrotami) Modele ewolucyjne (spiralny i przyrostowy) Prototypowanie

Bardziej szczegółowo

Feature Driven Development

Feature Driven Development Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami

Bardziej szczegółowo

Projekt Kompetencyjny - założenia

Projekt Kompetencyjny - założenia Projekt Kompetencyjny - założenia sem. V 2013 kgrudzi.kis.p.lodz.pl projekt kompetencyjny 1 System informatyczny zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy użyciu

Bardziej szczegółowo

Rozpoczęcie, inicjacja (ang. inception

Rozpoczęcie, inicjacja (ang. inception Wydział Informatyki PB Analogia do budowanego domu Inżynieria oprogramowania II Wykład 2: Proces tworzenia oprogramowania (na podstawie Unified Process) Marek Krętowski pokój 206 e-mail: mkret@ii.pb.bialystok.pl

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Zarządzanie testowaniem wspierane narzędziem HP Quality Center Zarządzanie testowaniem wspierane narzędziem HP Quality Center studium przypadku Mirek Piotr Szydłowski Ślęzak Warszawa, 17.05.2011 2008.09.25 WWW.CORRSE.COM Firma CORRSE Nasze zainteresowania zawodowe

Bardziej szczegółowo

Projekt pn Wdrożenie metodyk zarządzania usługami IT, projektami i programami w Urzędzie Miasta Bydgoszczy

Projekt pn Wdrożenie metodyk zarządzania usługami IT, projektami i programami w Urzędzie Miasta Bydgoszczy Projekt pn Wdrożenie metodyk zarządzania usługami IT, projektami i programami w Urzędzie Miasta Bydgoszczy współfinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego. Marek

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

Zasady organizacji projektów informatycznych Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych

Bardziej szczegółowo

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow) Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów

Bardziej szczegółowo

Piotr Krząkała. Dyrektor Handlowy ds. Kluczowych Klientów

Piotr Krząkała. Dyrektor Handlowy ds. Kluczowych Klientów Piotr Krząkała Dyrektor Handlowy ds. Kluczowych Klientów Strategia firmy Każda organizacja działająca we współczesnym biznesie powinna posiadać określoną strategię działania i na tej bazie budować system

Bardziej szczegółowo

Wstęp do zarządzania projektami

Wstęp do zarządzania projektami Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.

Bardziej szczegółowo

Metodyki zarządzania projektami PRINCE2

Metodyki zarządzania projektami PRINCE2 Metodyki zarządzania projektami PRINCE2 Zarządzanie projektem Kontroluj Planuj Monitoruj Deleguj 6 aspektów efektywności projektu Koszty Terminy Jakość Zakres Ryzyko Korzyści 4 zintegrowane elementy metodyki

Bardziej szczegółowo

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią Marek Bieniasz Sławomir Umpirowicz Piotr Miszewski Kraków, 10 13 września 2012 Plan prezentacji Informacje

Bardziej szczegółowo

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego systemów informatycznych Roman Simiński roman.siminski@us.edu.pl programowanie.siminskionline.pl Cykl życia systemu informatycznego Trochę wprowadzenia... engineering co to oznacza? Oprogramowanie w sensie

Bardziej szczegółowo

Skuteczność => Efekty => Sukces

Skuteczność => Efekty => Sukces O HBC Współczesne otoczenie biznesowe jest wyjątkowo nieprzewidywalne. Stała w nim jest tylko nieustająca zmiana. Ciągłe doskonalenie się poprzez reorganizację procesów to podstawy współczesnego zarządzania.

Bardziej szczegółowo

Programowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty

Programowanie zwinne - wprowadzenie. Programowanie ekstremalne. Wstęp Reguły i praktyki SCRUM. Wprowadzenie Role Zdarzenia Artefakty Anna Kulig Programowanie zwinne - wprowadzenie Programowanie ekstremalne Wstęp Reguły i praktyki SCRUM Wprowadzenie Role Zdarzenia Artefakty Agile Manifesto 2001 rok, Snowbird w stanie Utah w USA Najważniejsi

Bardziej szczegółowo

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny mgr inż. Kajetan Kurus 15 kwietnia 2014 1 Dostępne techniki programowania Tworząc program należy

Bardziej szczegółowo

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA CSIOZ-WZP.65.48.20 Część I - Załącznik nr 7 do SIWZ Warszawa. 20r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA Wykonawca oświadcza, że do realizacji zamówienia

Bardziej szczegółowo

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania

Bardziej szczegółowo

Programowanie Zespołowe

Programowanie Zespołowe Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design

Bardziej szczegółowo