Proces wytwarzania oprogramowania
|
|
- Paweł Sowiński
- 8 lat temu
- Przeglądów:
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 2/31 Wprowadzenie Syndrom LOOP Late Późno Over budget Przekroczono budżet Overtime nadgodziny
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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,
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
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,
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
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ę
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
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
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
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......................................................
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
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.,
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
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
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
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
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
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:
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
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
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
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
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ę
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ć?
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ś
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
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
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
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:
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
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.
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
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
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
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
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)
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
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
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
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
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
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
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
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
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.
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ę?...
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,
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,
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,
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
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........................................
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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