LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA
|
|
- Agata Bednarczyk
- 9 lat temu
- Przeglądów:
Transkrypt
1 LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA Wykład 7 Programowanie Ekstremalne (2) Jacek Dajda <dajda@agh.edu.pl> Kraków, 29 listopada 2007
2 Plan wykładu Praktyki warstwy organizacji projektu Praktyki warstwy pracy z klientem Zastosowanie XP i ryzyko projektów informatycznych Podsumowanie Strona: 2
3 Praktyki warstwy organizacji projektu
4 Klient w zespole Gra planistyczna Współwłasność kodu Warstwa organizacji projektu Programowanie parami Kod Testy Warstwa pracy w parach Doskonalenie modelu Prosty projekt Standard kodowania Programowanie sterowane testami Ciągła integracja Małe przyrosty Stałe tempo Warstwa pracy z klientem Testy klienta Metafora
5 Współwłasność kodu Wyniesione z Open-Source Na czym polega? Każdy programista może zmienić, uzupełnić, dopisać dowolny fragment kodu Kod nie posiada swojego indywidualnego właściciela Co daje? Konsolidacja zespołu Szybkość wprowadzania zmian Dyfuzja wiedzy o systemie Co potrzeba? Kod chroniony testami Istotny standard programowania Zarządzanie zmianami w kodzie (CVS, SVN) Strona: 5
6 Standard kodowania Na czym polega? Wspólny język dla zespołu Make it impossible to tell who wrote what Pewna norma, nieistotne jak zapisana Najczęściej odnosi się do formatowania, nazewnictwa, zarządzania kodem, coraz częściej do standardu zalicza się wykorzystywane narzędzia Co daje? Sposób na poprawienie komunikacji w ramach zespołu Wspiera Współwłasność kodu, Refaktoring, Programowanie w parach Co potrzeba? Wiele gotowych wzorców (np. Java Code Conventions Przydatne automatyczne formatowanie w ramach IDE, może okazać się cenne w ramach pracy z narzędziami do zarządzania wersjami kodu (porównywanie zmian) Strona: 6
7
8 Ciągła integracja Jedna z bardziej docenionych i stosowanych praktyk Na czym polega Jej celem jest utrzymanie w pełni zintegrowanego i działającego systemu przez cały czas Polega na dużej częstości procesu integracji tzw. buildy (nawet kilkanaście razy dziennie) Co daje Pozwala na uniknięcie tzw. piekła integracji - najtrudniejsze błędy do usunięcia to błędy integracji Szybkie integrowanie nowych zmian z resztą kodu pozwala na szybkie i wczesne identyfikację błędow Braku częstych integracji zwiększa ryzyko zamrożenia projektu na okres integracji - niemile widziane przez klienta Spójność systemu utrzymana, klient może zobaczyć działający system z najnowszymi funkcjonalnościami Strona: 8
9 Ciągła integracja (2) Co potrzeba Proces integracji powinien być zautomatyzowany, obecnie spora ilość odpowiedniego oprogramowania Zaleca się integrowanie nowych zmian w czasie nie dłuższym niż jeden dzień Zespół powinien pracować na najnowszej wersji Ciągła integracja wymaga dobrej komunikacji w obrębie zespołu Najczęściej wykorzystuje się specjalną (wydajną) maszynę do przeprowadzania integracji tzw. serwer buildow Tylko jedna para integruje zmiany na raz - zazwyczaj integracja lokalna przed wypuszczeniem zmian do serwera buildów Należy dbać o krotki czas buildów Strona: 9
10 S erwery ciągłej integracji Wybrane darmowe serwery ciągłej integracji: Cruise Control, Continuum, Luntbuild, Zebrane informacje i porówania Krotki opis i linki do serwerow: Integration Porównanie serwerow: us+integration+server+feature+matrix Strona: 10
11 Źródła:
12 Stałe tempo Na czym polega 40-godzinny tydzień pracy jako rozsądna ilość pracy, zmęczeni programiści popełniają więcej błędów, Stałe tempo: niektorzy mogą pracować dłużej, niektorzy krocej, swoboda w organizacji czasu Dalekowzroczność XP: praca w nadgodzinach jest możliwa, ale na krótką metę Nadgodziny wynikają albo ze zbyt dużej ilości zaplanowej pracy lub z pojawiących się problemów, które nie są łatwe do usunięcia. Z reguły jeśli wyczerpano wszystkie możliwe pomysły rozwiązania ślęczenie kilka następnych nadgodzin nic nie da Lepiej zrobić dzisiaj mniej a dobrze Co daje Nadgodziny powodują zmęczenie i niechęć do pracy, wypoczęty programista jest wydajniejszy Tempo powinno być stałe, umożliwiać stały postęp i nie powodować wypalenia zespołu na dłuższą metę Co potrzeba Dyscyplina Odpowiednia polityka zarządzania projektem i zespołem Strona: 12
13 Praktyki warstwy pracy z klientem
14 Klient w zespole Gra planistyczna Współwłasność kodu Warstwa organizacji projektu Programowanie parami Kod Testy Warstwa pracy w parach Doskonalenie modelu Prosty projekt Standard kodowania Programowanie sterowane testami Ciągła integracja Małe przyrosty Stałe tempo Warstwa pracy z klientem Testy klienta Metafora
15 Metafora Na czym polega Nieformalny opis systemu Co daje Pozwala na zaproponowanie wspólnego sposobu myślenia (rozumienia) o działaniu systemu (programiści nie mają wiedzy biznesowej, a klienci technicznej Wspolna wizja systemu Wspólny słownik Generalizacja problemów Architektura Strona: 15
16 Metafora (2) Co potrzebne Tworzona przez wszystkich (zespoł i klienta) - burza mozgów Metafora zrozumiała dla wszystkich Może ulegać zmianie w trakcie projektu Przykład: The Internet is like spiders crawling on a web - when one way is blocked, they just go another way, always trying to get to their goal. Strona: 16
17 Metafora (3) Ograniczenia metafor Wymagają czasu Czasami bardzo trudno je znaleźć Mogą być za słabe za silne niezrozumiałe dla wszystkich ograniczone Strona: 17
18 Gra planistyczna Faza planowania dla XP - rozdzielenie części biznesowej i technicznej Dialog pomiędzy klientem i zespołem, polega na znalezieniu kompromisu pomiędzy dostępnymi środkami i czasie a tym co było zadane Efektem jest wyodrębniony zakresu funkcjonalnosci do realizacji spisany na kartach Historii Użytkownika, z podziałem na 1-3 tygodniowe iteracje Klienci odpowiedzialni za Programiści odpowiedzialni za Zakres Ewaluacja historii Priorytet Zależności Kompozycja przyrostow Proces Daty kolejnych przyrostów Szczegółowe planowanie (zadania) Strona: 18
19 Klient w zespole Podczas gry planistycznej nie uwzględnia się szczegółów Podczas pracy nad szczegółami pojawia się zwykle wiele innych istotnych szczegółów i związanych z nimi problemow W XP rozwiązywaniem problemow biznesowych zajmuje się tylko i wyłącznie klient To wszystko wymaga obecności klienta na miejscu trwania projektu Zwykle jest to praca na poł etatu Dzięki temu klient może śledzić pracę zespołu i postęp projektu Strona: 19
20 Kiedy klienta nie ma w zespole Możliwe powody klienta na to może być nie stać klient nie ma na to ochoty klient uważa to za stratę czasu (i pieniędzy) Co wtedy (zakładamy, że przeniesienie zespołu nie wchodzi w rachubę)? znalezienie pseudo klienta (proxy) rzadziej po stronie klienta, np. praktykant częściej po stronie zespołu, np. manager zespołu, praktykant wymuszenie na kliencie obecność przynajmniej podczas gier planistycznych częste odwiedziny u klienta, wysyłanie programistow, próba kontaktu przez e, komunikatory częsta prezentacja najnowszych wersji systemu uwzględnienie nieporozumień w harmonogramie prac Strona: 20
21 Małe przyrosty Bezpośrednio związane z grą planistyczną i sposobem planowania projektu w XP Małe przyrosty odnoszą się do czasu, ale co za tym idzie także funkcjonalności Kolejne przyrosty powinny być możliwie najmniejsze zawierając maksimum funkcjonalności użytecznej dla klienta (konkretne wartości) Wydania 6 miesięczne podzielone na 1-3 tygodniowe iteracje Pozwalają na zmniejszenie ryzyka (lepsze dostosowanie do zmiennych wymagań) Są źrodłem sprzężenia zwrotnego Mają wpływ na ocenę pracy zespołu przez klienta (wzrost zaufania) Strona: 21
22 Testy klienta Każda Historia Użytkownika musi być testowalna. Specyfikację testów umiescza się zwykle na odwrocie karty Historii Za definiowanie testow odpowiedzialny jest klient Zespoł implementuje testy i używa ich do sprawdzenia (i późniejszego pokazania) czy zaimplementowane historie są zgodne z wymaganiami klienta Automatyzacja testow konieczna podobnie jak testów jednostkowych, przydatne w ciągłej integracji Traktowane jak testy jednostkowe: wszystkie testy muszą przejść by iść dalej Środowiska do automatyzacji: FIT (Java,.NET, C++ i inne) Fitnesse GUI dla FIT Strona: 22
23 Inne prakyki, zastosowanie XP a ryzyko projektów informatycznych
24 Inne praktyki i techniki XP Stand-up Meeting Tests for Bugs Optimize Last (Lazy Optimization) Spike Solution Project Velocity Extreme Reuse Support Crisis Open Workspace Strona: 24
25 Zastosowanie XP Programowanie ekstremalne z pewnością nadaje się to zastosowania w projektach: angażujących nową lub prototypową technologię badawczych nieznacznych o zmiennym zakresie wymagań W przypadku innych projektow wybór XP powinien być ostrożniejszy. Często adaptuje się wybrane praktyki XP lub stosuje hybrydy rożnych metodologii. Strona: 25
26 XP a typy projektów Jasno określone cele i zakres projektu Cele nie do końca określone, zakres może ulec zmianie Strona: 26
27 XP a ryzyko w projektach informatycznych Opóźnienia w harmonogramie małe przyrosty, planowanie oparte na empirycznym szacowaniu Anulowanie projektu wczesne wykrycie problemów (m.in. Poprzez działający software) TDD Usterki i bugi Niezrozumienie potrzeb klienta Częsty kontakt, nacisk na komunikację, proste techniki Zmiana wymagań Częsty kontakt z klientem, małe przyrosty, działający software pozwala wcześniej je wykryć Utracenie integralności systemu Ciągła integracja Niepotrzebne funkcjonalności Prosty projekt, YAGNI Obniżenie wydajności zespołu 40-godzinny tydzień pracy Utrata członka zespołu Praca w parach, współwłasność kodu Strona: 27
28 Podsumowanie
29 Ograniczenia Kolokacja uczestnikow (Distributed extreme Programming) Zastosowanie do niewielkich projektow/zespołow (XPrince, Konieczność pełnego udziału przedstawiciela klienta XP wymaga efektywnej pracy w zespole Strona: 29
30 Obecna tendencja rozproszonych zespołów programistycznych Obecna tendencja rozwoju oprogramowania: projekty realizowane jednocześnie przez geograficznie rozproszone zespoły Główne przyczyny: rozbudowa tańszych ośrodkow badawczych (np. Indie) specjalizacja ośrodkow badawczych dostępność wykwalifikowanej kadry lokalizacja projektu blisko klienta indywidualne ograniczenia członkow zespołow Zarządzanie rozproszonym projektem wiąże się z: podziałem projektu na niezależne komponenty o wspólnych interfejsach organizowaniem okresowych delegacji i częstych rozmow telefonicznych (lub telekonferencyjnych) położeniem większego nacisku na przygotowywanie szczegółowej dokumentacji w celu usprawnienia komunikacji Strona: 30
31 Metodologie zwinne a rozproszenie zespołu Metodologie zwinne? Współlokalizacja i dobra komunikacja? Rozproszony projekt Dowolna lokalizacja ale ograniczona komunikacja Strona: 31
32 Koncepcja rozwiązania problemu Zniesienie wymagania dotyczącego współlokalizacji na przykładzie programistów w parach Strona: 32
33 Spodziewane efekty Spodziewane efekty zniesienia (lub zmniejszenia) wymagań dotyczących wspołlokalizacji: możliwość korzystania z praktyk metodologii zwinnych w dowolnej konfiguracji geograficznej zespołu obniżenie kosztow projektu ze względu na brak konieczności przemieszczania się członkow zespołu zwiększona odporność projektu na zmieniające się warunki (nieprzewidziane konferencje i delegacje pracowników), organizację projektu (przeniesienie części zespołu do nowej lokalizacji) i indywidualne ograniczenia członkow zespołu (choroba) możliwość szybkich i mniej kosztownych ekspertyz Strona: 33
34 Dotychczasowe prace Rożne koncepcje i podejścia prezentowane w dotychczasowych Pracach: wykorzystanie narzędzi telekonferencyjnych implementacja dedykowanych narzędzi i systemow wspierających rozszerzanie istniejących narzędzi pod kątem wspierania zdalnej pracy rozwijanie i realizacja koncepcji wirtualnych przestrzeni biurowych Dotychczasowe prace pozwalają na wyrożnienie czterech obszarow projektu, w ramach ktorych można rozważać jego wspieranie w rozproszonym środowisku: Planowanie i zarządzanie Wymiana informacji Programowanie Zarządzanie kodem i integracja Strona: 34
35 Wspierające narzędzia W aktualnym stanie wiedzy następujące narzędzia oferują wsparcie dla rozproszonych projektow: Planowanie i zarządzanie MILOS ASE, PAM system XPWeb, XPlanner Wymiana informacji e, komunikatory strony wiki narzędzia wideokonferencyjne, typu Whiteboard i application sharing Programowanie Środowisko TUKAN (Smalltalk) Sangam plugin do Eclipse IDE narzędzia wideokonferencyjne i typu application sharing (np. VNC) Zarządzanie kodem i integracja CVS, Subversion systemy ciągłej integracji (np. CruiseControl) Strona: 35
36 Kontrowersje Brak dokładnego planu Brak szczegółowej dokumentacji i specyfikacji Trudność w śledzeniu zmian projektu Nadmierna (przesadna) prostota Programiści pracujący w parach Testowanie wszystkiego spowalniające pracę Nieformalne podejście do tworzenia oprogramowania Trudność w zarządzaniu Strona: 36
37 Z perspektywy lat XP utraciło już status myśli rewolucyjnej, nowej i świeżej Spora część z praktyk powszechnie stosowana w firmach: TDD, refaktoring, małe przyrosty, ciągła integracja, wspołwłasność kodu, stand-up meeting etc. Inne praktyki mocno krytykowane: programowanie w parach, prostota, gra planistyczna Pierwsze założenia z książki Becka Extreme Programming Explained zrewidowane Pomimo słabszych punktow XP odegrało i nadal odgrywa ważną rolę w kształtowaniu nowego podejścia do procesu tworzenia oprogramowania Strona: 37
38 Bibliografia Kent Beck: Extreme Programming Explained Ron Jeffries, Ann Anderson, Chet Hendrickson, Ronald E. Jeffries: Extreme Programming Installed James W. Newkirk, Robert C. Martin: Extreme Programming in Practice Giancarlo Succi, Michele Marchesi: Extreme Programming Examined Continuous integration Realizing continuous integration Integrate often Strona: 38
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
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
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
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
szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.
szkolenia pod drzewem Wybrane Techniki XP 1.00.00 bnd Wybrane techniki XP współwłasność kodu źródłowego (collective code ownership) częsta/ciągła integracja (continuous integration) programowanie w parach
LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA
LEKKIE METODOLOGIE WYTWARZANIA OPROGRAMOWANIA Wykład 6 Programowanie Ekstremalne Jacek Dajda Kraków, 22 listopada 2007 Plan wykładu Wprowadzenie Założenia i podział praktyk Praktyki
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
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......................................................
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ć?
HP Service Anywhere Uproszczenie zarządzania usługami IT
HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone
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
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Zagadnienia. Inżynieria Oprogramowania
Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach
Program szkolenia: Continuous Integration i Git
Program szkolenia: Continuous Integration i Git Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Continuous Integration i Git tools-git-ci Narzędzia developerzy testerzy 2 dni 50%
Wykład 2. MIS-1-505-n Inżynieria oprogramowania Marzec 2014. Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie
Wykład 2 MIS-1-505-n Inżynieria Marzec 2014 Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie 2.1 Agenda 1 2 3 4 5 6 2.2 Czynności w czasie produkcji. Inżynieria stara się zidentyfikować
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
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
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
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
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
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
Michał Olejnik. 22 grudnia 2009
Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda
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
Akademia ADB Wykład I Praca w grupie i jakość kodu
Akademia ADB Wykład I Praca w grupie i jakość kodu Ale zanim zaczniemy... https://www.adbglobal.com/adb-tech-talk/ Wtorek, 24 X 2017, 18:00 w Filharmonii Zielonogórskiej Kto pracuje nad projektem? Nad
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
I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński
I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński pawel@warsjawa:/etc$whoami Ja: ponad 10 lat pracy w Javie SCJP, SCWCD, SCBCD, SCEA brałem udział w: rozwój oprogramowania, consulting,
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
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ę
IO - Plan przedsięwzięcia
IO - Plan przedsięwzięcia M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 SPIS TREŚCI 2 Spis treści 1 Historia zmian 3 2 Wprowadzenie 3 2.1 Cele................................ 3 2.2 Budżet...............................
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
Continuous Integration i jakość kodu. Michał Prajs
Continuous Integration i jakość kodu Michał Prajs Agenda Michał Prajs SMT Software Prowadzący Continuous Integration Jenkins CI Statyczna analiza kodu Checkstyle Pokrycie kodu testami jednostkowymi Cobertura
Zagadnienia. Inżynieria Oprogramowania
Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach
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
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ę
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
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
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
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
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ę?...
Opis realizacji dla czterech zespołów (4 przypadki użycia)
Projektowanie oprogramowania Termin zajęć: czwartek, sala L2.6, C16 7.30-9.00, 9.15-10.45 Na podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1)
Zaawansowane programowanie w języku C++
Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów
Narzędzia podnoszące jakość procesu wytwarzania i wdrażania
Program szkolenia: Narzędzia podnoszące jakość procesu wytwarzania i wdrażania Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Narzędzia podnoszące jakość procesu wytwarzania i
Przetwarzanie danych w chmurze
Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Modele przetwarzania w chmurze dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Modele
Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
4. Wprowadzanie Scruma w ImmobilienScout24 4.1. Opis sytuacji
Spis treści Przedmowa 1. Wstęp 1.1. Jak czytać tę książkę 1.2. Studia projektów 1.3. Dodatek 2. Zwinny projekt to nie bułka z masłem 2.1. Pobudka 2.2. Zespół się formuje 2.3. Właściwe zlecenie 2.4. Od
PROSKAR KREATYWNA INŻYNIERIA
PROSKAR KREATYWNA INŻYNIERIA Siedlce, 2013 O firmie Proskar jest firmą informatyczną specjalizującą się w wytwarzaniu oprogramowania Specjalizujemy się w wytwarzaniu dedykowanego oprogramowania w technologii
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
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
Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Techniki efektywnego testowania kodu dla programistów Java (Spock
Program szkolenia: Techniki efektywnego testowania kodu dla programistów Java (Spock/JUnit) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Techniki efektywnego testowania kodu
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
Oferta szkoleń firmy Code Sprinters
Oferta szkoleń firmy Code Sprinters Code Sprinters sp z o.o. Królewska 2/2 Kraków Telefon +48 12 379 34 14 Fax +48 12 379 34 11 info@codesprinters.com www.codesprinters.com Jako liderzy na rynku szkoleń
LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.
Klient Landingi.com Branża IT, marketing i PR Okres realizacji od grudnia 2013 do chwili obecnej Rodzaj usługi doradztwo, hosting, Cloud Computing Amazon Web Services, zarządzanie serwerami Doradztwo Hosting
Projektowanie oprogramowania. Termin zajęć: poniedziałek, 18.00-19.45. a podstawie materiału ze strony. http://gromit.iiar.pwr.wroc.
Projektowanie oprogramowania Termin zajęć: poniedziałek, 18.00-19.45 a podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1) Nr tygo dnia Spotkanie
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
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
SOA Web Services in Java
Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy
Inżynieria Oprogramowania w Praktyce
Inżynieria Oprogramowania w Praktyce Ogólna prezentacja kierunku Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. www.aict.pjwstk.edu.pl 1 Kogo chcemy
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
Spring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
Wzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
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,
Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa
Budowa systemu wspomagającego podejmowanie decyzji Metodyka projektowo wdrożeniowa Agenda Systemy wspomagające decyzje Business Intelligence (BI) Rodzaje systemów BI Korzyści z wdrożeń BI Zagrożenia dla
NAUKOWA I AKADEMICKA SIEĆ KOMPUTEROWA Jak usprawnić pracę w zespole IT? Wykorzystanie narzędzi do pracy grupowej na przykładzie zespołu Polska.pl Agnieszka Kukałowicz-Kolaszyńska, Starszy Specjalista IT
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)
Wymagania: umiejętność modelowania systemów informatycznych z wykorzystaniem UML. umiejętność definiowania i kreatywnego rozwiązywania problemów
Oferta pracy nr 1 Opis oferty pracy ANALITYK BIZNESOWY (TELCO) Wymagania: wykształcenie wyższe telekomunikacyjne, informatyczne lub pokrewne praktyczna znajomość technologii telekomunikacyjnych (takich
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
Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński
Wskazówki projektowe Programowanie Obiektowe Mateusz Cicheński Przydatne zasady SOLID Wzorce struktury aplikacji MVC MVP MVVM Metody wytwarzania oprogramowania Manifest Zwinnego Wytwarzania 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
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
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
Zapewnij sukces swym projektom
Zapewnij sukces swym projektom HumanWork PROJECT to aplikacja dla zespołów projektowych, które chcą poprawić swą komunikację, uprościć procesy podejmowania decyzji oraz kończyć projekty na czas i zgodnie
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio
Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system
JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008
JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC
Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5
Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5 Informacje: Nazwa: Test Driven Development (TDD) using Spock or JUnit 5 Kod: craft-test-tdd Kategoria: Testowanie automatyczne Grupa
Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM
Koniec problemów z zarządzaniem stacjami roboczymi BigFix Włodzimierz Dymaczewski, IBM Dlaczego zarządzanie stacjami roboczymi sprawia tyle problemów? Na ogół duŝa ilość Brak standardu konfiguracji Wielka
Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA
Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA Joanna Siemińska o mnie Absolwentka Politechniki Warszawskiej Orange Outbox Europejska Organizacja Badań Jądrowych w Genewie (CERN) TouK Certyfikat
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
KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL
KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL Katedra Informatyki, Uniwersytet Rzeszowski 2009 Agenda System kontroli wersji CVS SVN Praca z SVN i Visual
REKOMENDACJE DOTYCZĄCE PLATFORMY ZARZĄDZANIA KOMPETENCJAMI
REKOMENDACJE DOTYCZĄCE PLATFORMY ZARZĄDZANIA KOMPETENCJAMI WYTYCZNE DO MODELU DANIEL WOJEWÓDZKI Rekomendacje dotyczące Platformy Zarządzania Kompetencjami System adresowany do małych przedsiębiorstw do
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
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
Wykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
Techniki komputerowe w robotyce
Techniki komputerowe w robotyce Wykład V Adaptacyjne zarządzanie projektami Robert Muszyński KCiR, W4, PWr Skład FoilTEX c R. Muszyński 2009-2015 Metodologie prowadzenia projektu Dążenie do opracowania
ZARZĄDZANIE PROJEKTAMI Z WYKORZYSTANIEM ŚRODOWISKA RTC
ZARZĄDZANIE PROJEKTAMI Z WYKORZYSTANIEM ŚRODOWISKA RTC na przykładzie firmy MICROSYSTEM sp. z o.o. mgr inż. Leszek Zięba (Politechnika Gdańska) dr inż. Artur Ziółkowski (Politechnika Gdańska) mgr Grzegorz
Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE
Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE Kto, co, jak i kiedy Kto? dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16 dr inż. Łukasz Jeleń lukasz.jelen@pwr.edu.pl
Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Dwuwymiarowy sposób na podróbki > 34
TEMAT NUMERU I Bezpieczeństwo WIELE WYMIARÓW BEZPIECZEŃSTWA I zapobieganie zanieczyszczeniom krzyżowym I walka z fałszowaniem leków I walidacja rozwiązań chmurowych Maszyny rozwoju > 20 Dwuwymiarowy sposób
KARTA PRZEDMIOTU. Projekt zespołowy D1_10
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Projekt zespołowy D1_10 Nazwa przedmiotu (j. ang.): Team Project Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia:
AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM HP Software TECNA Sp. z o.o. Strona 1 z 7 HP APPLICATION LIFECYCLE MANAGEMENT Oprogramowanie Application Lifecycle Management (ALM, Zarządzanie Cyklem życia aplikacji) wspomaga utrzymanie kontroli
Konspekt pracy inżynierskiej
Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel
DESIGNER APPLICATION. powered by
DESIGNER APPLICATION powered by O FIRMIE HiddenData specjalizuje się w technologii dystrybucji treści video w Internecie oraz w budowie złożonych, funkcjonalnych aplikacji internetowych i mobilnych. Budujemy
Programowanie extremalne. Adrian Gadzina
Programowanie extremalne Adrian Gadzina XP czym jest? Programowanie ekstremalne (ang. extreme Programming, XP) to paradygmat i metodyka programowania mająca na celu wydajne tworzenie małych i średnich