Domain Driven Design krok po kroku
|
|
- Kazimierz Włodarczyk
- 10 lat temu
- Przeglądów:
Transkrypt
1 Domain Driven Design krok po kroku Część VI: Modeling Whirlpool iteracyjny proces modelowania <<LEAD>> Modeling Whirlpool jest oficjalną metodyką DDD służącą iteracyjnemu odkrywaniu modelu domenowego. Metodyka jest zorientowana na tworzenie precyzyjnego słownictwa i precyzyjnych reguł domenowych rozumianych tak samo przez Eksperta Domenowego jak i Modelarza. <</LEAD>> Plan serii Niniejszy tekst jest kolejnym artykułem z serii mającej na celu szczegółowe przedstawienie kompletnego zestawu technik modelowania oraz nakreślenie kompletnej architektury aplikacji wspierającej DDD. Część 1: Podstawowe Building Blocks DDD; Część 2: Zaawansowane modelowanie DDD techniki strategiczne: konteksty i architektura zdarzeniowa; Część 3: Szczegóły implementacji aplikacji wykorzystującej DDD na platformie Java Spring Framework; Część 4: Skalowalne systemy w kontekście DDD - architektura CqRS; Część 5: Kompleksowe testowanie aplikacji opartej o DDD; Część 6: Modeling Whirlpool Wstęp Celem artykułu jest przedstawienie oficjalnego procesu modelowania DDD: Modeling Whirlpool oraz narzędzi umożliwiających tworzenie wykonywalnej dokumentacji wymagań. Modeling Whirlpool promuje główne założenie DDD: wypracowanie Ubiquitous Language, którym posługują się wszyscy uczestnicy projektu, co skutkuje
2 znacznie szybszym cyklem dostrajania modelu oraz pozwala na uświadomienie kosztów zmian oraz zaciąganych długów technicznych. Natomiast proponowane narzędzia pozwalają na utrzymanie stałej transparencji realizacji wymagań dzięki możliwości uruchomienia wypracowanych scenariuszy jako wykonywalnej specyfikacji, która jest jednocześnie zrozumiała dla nietechnicznych członków zespołu. Projekt referencyjny Wszystkich tych Czytelników, którzy już teraz chcieliby zapoznać się z kolejnymi zagadnieniami naszej serii, zapraszam do odwiedzenia strony projektu DDD&CqRS Laven, której adres znajduje się w ramce W sieci. Dostępne wersje: Java Spring Java EJB 3.1.NET - C# Inkrementacje to nie Iteracje Modeling Whirlpool wspiera podejście iteracyjne, w którym to dostarczamy z iteracji na iterację coraz bardziej uszczegółowiony model oraz implementację wymagań. Podejście iteracyjne jest często mylone z podejście inkrementacyjnym, w którym po prostu dzielimy większy problem na mniejsze i dostarczamy kolejne porcje rozwiązania. Całość możemy wówczas zweryfikować dopiero gdy zbierzemy wszystkie porcje. Odnosząc się do pierwszej i drugiej części naszej serii przypomnę, że Building Blocks DDD są zorientowane na podejście iteracyjne. Dzięki np. hermetyzacji agregatów, stosowaniu Value Objects jako projekcji oraz podejściu funkcyjnemu w postaci Polityk, nasz model jest otwarty na proces Knowledge Crunching czyli iteracyjnego uszczegóławiania implementacji poszczególnych Building Blocks.
3 Role w zwinnym procesie modelowania DDD W procesie Modeling Whirlpool uczestniczą: Ekspert Domenowy, Modelarz (projektant) i opcjonalnie Animator (Facilitator). Ekspert powinien posiadać głęboką wiedzę o swej domenie przykładowo będzie nim najstarszy księgowy w firmie klienta. Generalnie jest to osoba, do której zwracają się inny pracownicy ze strony biznesu w razie poważnych problemów. Modelarz powinien mieć pewne doświadczenie programistyczne, ponieważ zgodnie z założeniem model w DDD ma dosłowne odzwierciedlenie w kodzie warstwy domenowej. Jak pamiętamy, warstwa ta nie zawiera szczegółów technicznych związanych z frameworkiem czy platformą, tak więc Modelarz nie musi być ekspertem technicznym. Należy podkreślić, że nie każdy programista może grać rolę modelarza. W tej roli preferowana jest raczej inteligencja werbalna niż algorytmiczna oraz wymagana jest oczywiście biegłość w posługiwaniu się technikami modelowania DDD zarówno wzorcami taktycznymi jak i przede wszystkim strategicznymi. Animator może być przydatną osobą w momencie pojawienia się impasu. Animator potrafi zadać trafne pytania dzięki ogólnej wiedzy technicznej oraz domenowej. Zadaniem animatora jest nadzorowanie sesji aby nie poddała się dryfowaniu. Dyskusje trwające więcej niż 3h nie mają zwykle sensu, tak więc wówczas Animator powinien przerwać taką sesję i zastosować techniki przełamania impasu. Nieustanny Feedback Dzięki temu, że sesja modelowania odbywa się w jednoczesnej obecności wszystkich uczestników unikamy zjawiska przesyłania maili z nieczytelną dokumentacją oraz straty czasu na odkodowanie intencji. Do czego służy model Jak już wielokrotnie wspomnieliśmy, model służy jako narzędzie
4 komunikowania pojęć i reguł biznesowych. W DDD model jest dokładnie oddany w kodzie, co zapewnia, że system działa tak jak rozumie to Ekspert Domenowy. Ubiquitous Language co to znaczy w praktyce Przedstawiony na listingu Serwis Domenowy jest odzwierciedlonym w kodzie modelem operacji wystawienia faktury. Co dokładnie mówi nam ten model: fakturę wystawiamy na podstawie całego zamówienia nie ma możliwości wystawienia faktury na poszczególne pozycje nie ma możliwości wystawienia faktury zbiorczej na kilka zamówień możemy obliczać podatki dla dowolnego kraju, jest to domknięcie operacji issuance, niezależne od adresu klienta na zamówieniu <<LISTING public class BookKeeper { public Invoice issuance(order order, TaxPolicy taxpolicy){ //... } } <</LISTING>> Listing 1. Serwis Domenowy modelujący operację wystawienia faktury. Skutek uboczny: rozumienie złożoności i kosztu zmian Dzięki tak dokładnemu modelowaniu widzimy ograniczenia modelu. Nie możemy fakturować kilku zamówień ani poszczególnych pozycji. Zmiana reguł domenowych nie polega jedynie na wysłaniu maila o treści typu dodajcie tylko jeden checkbox na ekranie. Ekspert domenowy wykonuje zmianę na modelu. Daje to możliwość wychwycenia błędów logicznych już na poziomie modelu. Poza tym zasięg zmiany oraz jej dotkliwość są w niemal namacalny sposób odczuwalne przez biznes. Wreszcie mamy odpowiedź na pytanie dlaczego
5 zmiana kosztuje tak dużo?. Skutek uboczny: świadome zaciąganie długu technicznego i ograniczania punktów swobody modelu Wszelkie uproszczenia są w modelu DDD wprowadzane świadomie z całą konsekwencją ich skutków. Dokładnie widzimy, w których miejscach model posiada punkty otwierające go na zmiany, a w których miejscach jest on zamknięty na rozbudowę. Oczywiście nie możemy zaprojektować całego systemu w sposób otwarty na rozbudowę, ale mamy obraz potencjału oraz świadomość, tego jak nasze decyzje modelowe wpływają na dług techniczny. Wir modelowania 1. Symptomy po czym poznać, że należy zacząć modelować Oczywistym powodem do rozpoczęcia modelowania jest podjęcia prac nad nową domeną np. kolejnym Bounded Context. Typowym symptomem sugerującym konieczność pochylenia się nad modelem są problemy w komunikacji. Przykładowo zespół developerski zaczyna używać pojęć niezrozumiałych dla Eksperta Domenowego czystych fabrykatów wprowadzonych z powodu ograniczeń technicznych aktualnego modelu. Są to słowa typu FakeOrder, TemporaryItem. Kiedy model staje zbyt złożony i wymaga hackowania błędnych koncepcji zaczynamy obserwować brodzenie - czyli wyraźne spowolnienie prac, mierzone np. poprzez Scrum Velocity. Starsi programiści z wyrobioną intuicją zauważają niepokojący symptom: złożoność rozwiązania zdaje się być niewspółmiernie większa niż odczuwana intuicyjnie złożoność samego problemu. Mamy wówczas do czynienia z eskalacją Accidental Complexity, która przerasta Essential Complexity [zob. Ramka W sieci teoria złożoności].
6 2. Burza mózgów Burzę mózgów rozpoczynamy od przedstawienia referencyjnych scenariuszy. Scenariusze te mogą pochodzić z nowej domeny lub być kłopotliwymi przypadkami, które doprowadziły do zainicjowania sesji modelowania. Podczas fazy Burzy Mózgów zbieramy alternatywne projekty domeny pamiętając o wszystkich zasadach brainstormingu. Przede wszystkim nie oceniamy pomysłów, choćby wydawały się pozbawione elementarnego sensu pamiętajmy, że procesy umysłowe potrzebują czasem stymulacji również tego typu. Osoby biorące udział w burzy mózgów będą charakteryzować się różnymi strategiami kognitywnymi. Niektóre osoby mają tendencję do drążenia szczegółowych przykładów. Nie należy wówczas przerywać tego typu dyskusji, ponieważ pewne strategie kognitywne pomimo tego, że polegają na wnikaniu w szczegóły i orientacji na różnice, to w efekcie są w stanie doprowadzić do ogólnych modeli. 3. Scenariusz W tej fazie Ekspert Domenowy opowiada Story. Unikanie stylu pasywnego i długich, złożonych zdań. Warto przyjąć styl zorientowany na opis sekwencji wydarzeń biznesowych - niekoniecznie musi być to kompletny proces. Skupiamy się na jednej ścieżce i jej istotnych krokach. Wybieramy krytyczne dla procesu kroki wyznacza jest granica Core Domain. Pozostali uczestnicy sesji muszą w 100% zrozumieć Story (wszystkie pojęcia) oraz powód dlaczego jest istotna. 4. Model W fazie modelowania warto skupić się na zmianach stanu modelu w każdym kroku scenariusza. Z tych zmian wyłaniają się niezmienniki naszych Agregatów (zobacz część II serii). Na bieżąco sprawdzamy, czy język jakim posługuje się modelarz wciąż brzmi naturalnie dla eksperta domenowego czy nie wprowadzamy własnego ani
7 dwuznaczności. Model powinien być raczej "thing oriented" niż "process oriented" - procesy częściej się zmieniają. Warto posłużyć się techniką 4 poziomów modelu (zobacz część II serii). Na bieżąco sprawdzamy jak pracuje model, czyli czy da się przeprowadzić przez niego określony w poprzedniej fazie scenariusz odnośny. Technicznie rzecz biorąc sprawdzamy wywołania metod naszych Building Blocks walidując czy aby na pewno wszystkie informacje wejściowe i wyjściowe są dostępne oraz czy spełniamy niezmienniki operacji. 5. Wyzwanie Jak będzie pracował model, gdy spróbujemy przeprowadzić przez niego inny ważny lub trudny scenariusz? Czy wywołania operacji Building Block można ułożyć tak, aby realizowały inny sensowny scenariusz? Mamy ty na myśli zarówno kolejny scenariusz z puli wymagań jak i inny wyimaginowany (ale sensowny) scenariusz dzięki temu sprawdzimy punkty swobody modelu i wykryjemy ew. długi techniczne. W razie problemu powrót do fazy Modelowania. Warto przyjąć motto: używanie zbyt prostych modeli do zbyt złożonych problemów prowadzi do wielkich komplikacji. 6. Próba W fazie próby chcemy stworzyć kod źródłowy "chodzącego szkieletu" (walking skeleton). Skupiamy się na klasach i nagłówkach metod nieimplementując ich treści. Gdyby okazało się, że model nie jest trafnym, to wówczas implementacji okazałaby się stratą czasu. Implementacja szczegółów modelu będzie zadaniem na bieżącą iterację. Podczas tworzenia szkieletu mogą pojawić się niespójności, których nie wykryliśmy w fazie Wyzwania po prostu kompilator nie wybacza (chyba, że używany języka dynamicznego bez silnego typowania:)
8 W fazie tej pamiętajmy, że naszym celem jest skupienie się na tym co "należy udowodnić", nie na "bezpiecznych" zadaniach, tak więc eliminujemy proste zadania typu operacji CRUD. Strategia: Wykonywalne scenariusze akceptacyjne Zebrane podczas wiru modelowania scenariusze możemy wykorzystać jaką wykonywalną dokumentację. W tym celu wprowadzimy: formalizację ich struktury oraz narzędzia pozwalające na wykonanie tekstu scenariusza wobec tworzonego systemu. W efekcie w procesie produkcji oprogramowania pojawi się dokumentacja, wymagań, która jest zawsze aktualna oraz transparentna zawsze mamy w wgląd w postęp prac widzimy, które scenariusze zostały zaimplementowane i działają zgodnie ze specyfikacją. <<RAMKA>> Taktyka: Struktura scenariuszy [Nazwa Story] As a [Rola w systemie] In order to [korzyść, cel] I want to [historyjka opisująca interakcję z systemem] Background: [Stan systemu przed każdym scenariuszem] Scenario: [Tytuł pierwszego scenariusza] Given [Stan systemu] and [Stan systemu] and When [aktywność użytkonika] Then [Stan systemu] and [Stan systemu] and (potencjalnie kolejna seria Given When Then)
9 Scenario: [Tytuł kolejnego istotnego scenariusza] (struktura taka sama jak powyżej) <</RAMKA>> Szablon User Story Szablon User Story z ramki szablon scenariuszy posiada charakterystyczną nazwę oraz wstępną narrację, która opisuje cel, jaki chce osiągnąć użytkownik grający daną rolę w systemie. Sformułowanie celu jest bardzo ważne, ponieważ kolejne scenariusze będą do niego wyraźnie dążyły jednak każdy scenariusz w inny sposób. Na każdy User Story składa się wiele scenariuszy akceptacyjnych, z których każdy na swój specyficzny sposób dąży do określonego w narracji celu. Scenariusz posiada tytuł, który powinien go w jasny sposób odróżniać od innych scenariuszy, wyjaśniając co takiego szczególnego jest w tym scenariuszu. Scenariusz składa się z sekcji Given, When, Then. Złożone scenariusze mogą być rozbudowywane zarówno w prawo - dodając słowo kluczowe And, jak również w dół dodając kolejne sekcje Given, When, Then. Scenariusze dodajemy wraz z kolejnymi cyklami Modeling Whirlpool, co przekłada się na iteracyjny (nie inkrementacyjny) proces uszczegóławiania wymagań. Przykład <<LISTING lang=story>> Customer orders products that are in stock Narrative: In order to buy interesting products As a customer
10 I want to browse the available products, pick the ones that I like and order them Background: All products are in stock Scenario: standard client creates standard order Given Products are available When I add any product to basket Then Basket should contain 1 item When I checkout Then I should be able to submit order with 1 product When I submit the order Then That order should be confirmed Scenario: indebted client creates standard order Scenario: indebted client creates extraordinary order... <</LISTING>> Listing 1. Przykładowe scenariusze. Plik src/test/resources/productsordering.story Dobre praktyki Stworzenie dobrze zdefiniowanych scenariuszy na odpowiednim poziomie ziarnistości jest sztuką samą w sobie i wymaga zarówno doświadczenia jak i dopasowania do natury projektu nad którym pracujemy. Możemy jednak wyszczególnić kilka dobrych zasad, które sprawdzają się niemal zawsze:
11 Kroki story są zorientowane na flow a nie na interakcję z GUI. Przykładowo krok I add any product to basket może przekładać się na interakcję z kilkoma kontrolkami graficznymi (wpisanie ilości, kliknięcie dodaj i kliknięcie zatwierdź), ale nie jest to istotne z punktu widzenia eksperta domenowego. Aczkolwiek może być krytyczne dla eksperta od ergonomii interfejsu użytkownika czy architekta informacji. Scenariusze dążą do celu zdefiniowanego w narracji, jednak każdy różni się czymś szczególnym. Każdy scenariusz można rozumieć jako osobny slalom do celu. Jedną z praktyk (która może mieć zastosowanie w niektórych sytuacjach, szczególnie w systemach, które posiadają już bogatą funkcjonalność) jest specyfikowanie Given i Then przez Eksperta Domenowego, natomiast When przez modelarza, który np. ma wiedzę o już istniejących usługach, które mogłyby być wykorzystane do realizacji story. Scenariusze w Modeling Whirlpool powinny być zorientowane wokół obiektów z warstwy domenowej w odróżnieniu od scenariuszy z Behavior Driven Development, które są zorientowane raczej na interakcję z systemem. Taktyki: Dwuwarstwowa architektura wykonywalnych scenariuszy Scenariusze w postaci plików tekstowych (ew. formacie wiki, html, itd. w zależności od narzędzia) mogą zostać wykonane. Oczywiście nie mamy tutaj do czynienia z magią. Potrzebujemy kodu, który wykona kroki wobec implementowanego systemu. Przykład takiego kodu znajduje się na listingu 2. Będziemy potrzebować również narzędzia, które dokona mapowania scenariuszy z plików tekstowych na tenże kod. W projekcie referencyjnym posłużyliśmy się narzędziem Jbehave, który dokonuje mapowanie poprzez adnotacje. <<LISTING public class ProductsOrderingSteps {
12 @Inject private ProductsListAgent private OrderConfirmationAgent are available") public void productsareavailable() { // assume there are products asserttrue(productslist.productsexist()); add any product to basket") public void addanyproducttobasket() { productslist.addanyproducttobasket(); should have $number should contain $number item") public void shouldbaskethaveitems(int itemscount) { assertequals(itemscount, productslist.getbasketitemscount()); checkout") public void checkout() { productslist.checkout(); }
13 <</LISTING>> Listing 2. Fragment kodu kroków scenariuszy z klasy pl.com.bottega.acceptance.erp.steps.productsorderingsteps Ważne jest tutaj uchwycenie dwóch poziomów abstrakcji: Na poziomie scenariuszy mamy flow użytkownika, który abstrahuje od szczegółów interakcji z systemem. Jest to warstwa Flow. Natomiast na poziomie kroków w kodzie wykonujemy interakcje z systemem. W naszym przykładzie każdy krok to jednak interakcja z systemem, ale nie musi tak być. Jest to warstwa automatyzacji scenariusza. Zwróćmy uwagę na fakt, że interakcje z systemem odbywają się abstrakcyjnego agenta, np. ProductListAgent, OrderConfirmationAgent, który jest interfejsem do naszego systemu i abstrahuje od technologii komunikacji. Może być zarówno Agent, który klika w komponenty graficzne na stronie internetowej przy pomocy Jbehave jak i Agent, który komunikuje się zdalnie z usługami serwera (np. EJB, Spring Remoting, Web Service, Rest, ). Szczegóły implementacji Agentów z wykorzystaniem Selenium i Spring Remoting można znaleźć w projekcie referencyjnym adres w ramce W sieci. Jedną z praktyk, która może zastosowanie w niektórych projektach jest podejście w którym: krok When jest wykonywany przez GUI kroki Given i Then są wykonywane przez API servera (ew backdoors) Dzięki takiemu podejściu unikamy kosztów związanych z utrzymaniem automatyzacji testów GUI. Strategia: Wykonywalne specyfikacje z przykładami Wprowadzenie dwóch warstw wykonywalnych specyfikacji jest często przełomem w projekcie. Górna warstwa jest zorientowana na flow użytkownika, a dolna zajmuje się szczegółami automatyzacji interakcji z GUI. Dzięki temu unikamy powstania skryptów klikania i związanych z nimi
14 kosztów utrzymania. Ale czasem zorientowanie na flow nie jest odpowiednim podejściem do specyfikowania wymagań. Zależy to od natury problemu a często nawet od sposobu rozumowania Eksperta Domenowego. Możemy wprowadzić trzecią warstwę wykonywalnej specyfikacji: technikę Specification by Example. Omówienie tej techniki wykracza daleko poza zakres tego artykułu. Przedstawimy tutaj jedynie przykład, a zainteresowanych odsyłamy do doskonałej książki: Specification by Example: How Successful Teams Deliver the Right Software autorstwa Gojko Adzic. W podejściu tym nie orientujemy się nawet na flow a na pewne reguły oraz podajemy ich przykłady. Jest to kolejna warstwa, ponieważ metody reguł wywołują metody kroków scenariuszy. <<RAMKA>> Problemy, strategie, taktyki i techniki Testowania kontynuacja z części V Problemy: Eksplozja kombinatoryczna przypadków w górnych warstwa multiplikują się możliwe stany obiektów domenowych Nieaktualna dokumentacja (nikt jej nie czyta ani anie aktualizuje) Problem z komunikacją - brak zrozumienia celów biznesowych, biznes nie rozumie systemu Kosztowne w utrzymaniu skrypty do wyklikania Rola testów: jakość z punktu widzenia zespołu czy jakość z punktu widzenia klienta. Strategie: Perfekcja domeny, ogólna zgodność wymagań Twórz wykonywalną dokumentację
15 Skupiaj dokumentację wokół celów biznesowych i flow użytkownika Operuj słownictwem domenowym Orientuj się na Flow a nie na skypt UI Orientuj się na Specyfikację a nie Flow Ciągła refaktoryzacja Taktyki: Dwuwarstwowe Historyjki akceptacyjne Trójwarstwowe Wykonywalne Specyfikacje Struktura Given-When-Then: W proponuje dev, GT definiuje ekspert Testowanie przed refaktoryzacją (odpowiednie testy) Techniki: Testowanie niezmienników Agregatów Agenty abstrahujące od protokołu komunikacyjnego Struktura Given-When-Then: When sprawdzaj przez warstwę UI, Given i Then przez warstwę API Niektóre specyfikacje testuj jednostkowo w warstwie domeny Techniki refaktoryzacji <</RAMKA>> <<RYSUNEK>> <<graphic place=grafika file_name=warstwy_spec.tif/>> Rysunek 1. Warstwy wykonywalnych specyfikacji <</RYSUNEK>> Proces Agile: scenariusze behawioralne i wykonywalne specyfikacje Na wyższym poziomie tworzymy: wykonywalne scenariusze akceptacyjne sprawdzające zgodność zachowania systemu z User Story na poziomie flow użytkownika, wykonywalne Specification by Example sprawdzające realizację celów
16 biznesowych stojących ponad flow użytkownika. W przypadku tych technik nie mówimy już o testach, a o wykonywalnej dokumentacji wymagań. Kolejną część naszej serii poświęcimy omówieniu: kompletnego procesu modelowania DDD Modeling Whirlpool, procesu wytwórczego Behavior Driven Development (zwanego Agile drugiej generacji) narzędzi wspierający BDD i Specification by Example: Jbehave i Selenium <<W_SIECI>> oficjalna strona DDD wstępny artykuł poświęcony DDD przykładowy projekt: Modeling Whirlpool Jbehave Behavior Driven Development Teoria złożoności <</W_SIECI>> <<O_AUTORZE posx=9;0l posy=b fit=w grow=h>> Sławomir Sobótka Programujący architekt aplikacji specjalizujący się w technologiach Java i efektywnym wykorzystaniu zdobyczy inżynierii oprogramowania. Trener i konsultant w firmie Bottega IT Solutions. Entuzjasta Software Craftsmanship. Do jego zainteresowań należy szeroko pojęta inżynieria oprogramowania: architektury wysokowydajnych systemów webowych (w szczególności CqRS), modelowanie (w szczególności DDD), wzorce, zwinne procesy wytwórcze. Hobbystycznie interesuje się psychologią i kognitywistyką.
17 W wolnych chwilach działa w community jako: prezes Stowarzyszenia Software Engineering Professionals Polska ( lider lubelskiego Java User Group, publicysta w prasie branżowej i blogger ( Kontakt z autorem: slawomir.sobotka@bottega.com.pl <</O_AUTORZE>>
Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia
Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Receptury testowania automatycznego
Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)
Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0) Informacje: Nazwa: Wprowadzenie do Domain Driven Design dla biznesu (część 0) Kod: Kategoria: Grupa docelowa: Czas trwania:
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
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:
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
Domain Driven Design - projektowanie modeli złożonych domen (część
Program szkolenia: Domain Driven Design - projektowanie modeli złożonych domen (część 1) Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Domain Driven Design - projektowanie modeli złożonych domen
Wprowadzenie do Behaviordriven
Wprowadzenie do Behaviordriven development Jakub Kosiński Email: ja@ghandal.net Czym jest BDD? praktyka, powstała na podstawie TDD, wykorzystywana w zwinnych metodykach stworzona przez Dana Northa w 2003
Domain Driven Design - projektowanie modeli złożonych domen (część
Program szkolenia: Domain Driven Design - projektowanie modeli złożonych domen (część 1) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Domain Driven Design - projektowanie modeli
Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Java /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas
Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia
Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na
Receptury - niezbędnik projektanta i architekta
Program szkolenia: Receptury - niezbędnik projektanta i architekta Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Receptury - niezbędnik projektanta i architekta Craft-Receptury
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
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework Edyta Tomalik Grzegorz Ziemiecki 1 Nokia Siemens Networks 2013 Tradycyjne podejście analityk programista tester implementacja
Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów
Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Architektura aplikacji i systemów - Wzorce architektoniczne
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
Behavior Driven Development (BDD)
Wydział Informatyki i Zarządzania Wrocław, 12 marca 2010 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 BDD w Javie 5 6 Cele prezentacji Wprowadzenie Cele prezentacji Prawda o projektach przedstawienie podejścia
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
Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk
Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem
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
Szkolenie wycofane z oferty
Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%
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
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:
Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1
Szkolenie wycofane z oferty Program szkolenia: Enterprise Java Beans 3.0/3.1 Informacje: Nazwa: Enterprise Java Beans 3.0/3.1 Kod: Java-EE-EJB Kategoria: Java EE Grupa docelowa: developerzy Czas trwania:
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
Implementacja Domain Driven Design - wzorce architektoniczne (część
Program szkolenia: Implementacja Domain Driven Design - wzorce architektoniczne (część 2) Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Implementacja Domain Driven Design
Podstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz
Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz Promotor dr inż. Szymon Supernak Warszawa, 22.05.2014 Plan prezentacji 1. Cel i
Rysunkowy tutorial Możesz swobodnie dystrybuować ten plik jeśli pozostawisz go w nietkniętym stanie. Możesz także cytować jego fragmenty umieszczając w tekście odnośnik http://mbartyzel.blogspot.com Jak
Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
OFERTA SZKOLENIOWA PROGRESS SOFTWARE
OFERTA SZKOLENIOWA PROGRESS SOFTWARE Szanowni Państwo, Zapraszamy do zapoznania się z naszą ofertą szkoleń w systemie Progress. Kursy organizowane są dla małych grup 3-6 osobowych, w Warszawie. Każdy uczestnik
Analiza biznesowa a metody agile owe
Analiza biznesowa a metody agile owe P6S_WG01 ma wiedzę w zakresie metodyk zwinnych P6S_WG02 ma wiedzę w zakresie zwinnego gromadzenia i zarządzania wymaganiami P6S_WG03 zna i rozumie proces wytwarzania
Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło
Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło LATO 2007 Projektowanie Graficznych Interfejsów Użytkownika 1 UCD - User Centered Design 1) User Centered Design Projekt Skoncentrowany
Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Korporacyjna Magistrala Usług na przykładzie Mule ESB
Kod szkolenia: Tytuł szkolenia: ESB/M Korporacyjna Magistrala Usług na przykładzie Mule ESB Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java, analityków systemowych oraz architektów
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
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)
Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Projektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Wzorce projektowe i architektura dla platformy Java EE
Program szkolenia: Wzorce projektowe i architektura dla platformy Java EE Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i architektura dla platformy Java EE
NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD
NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD OPIS Praca programisty oprócz umiejętności i wiedzy technicznej, wymaga również doskonałej pracy z kodem. Umiejętności te
Ewolucyjna architektura
Ewolucyjna architektura www.sxc.hu/photo/850368 Na początek Michał Bartyzel konsultant, trener BNS IT procesy zwinne i nie tylko architektura czysty kod software crafstmanship strategie skutecznych programistów
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
Tester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
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
Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów
Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Architektura aplikacji i systemó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
Projektowanie, tworzenie aplikacji mobilnych na platformie Android
Program szkolenia: Projektowanie, tworzenie aplikacji mobilnych na platformie Android Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie, tworzenie aplikacji mobilnych
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
A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.
Kod szkolenia: Tytuł szkolenia: FRONT-END Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap. Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest zarówno dla
I. Opis przedmiotu zamówienia
I. Opis przedmiotu zamówienia Przedmiotem zamówienia jest świadczenie usług z zakresu zapewnienia zasobów ludzkich z branży IT przez okres 12 miesięcy od dnia zawarcia umowy ramowej, polegających na zapewnieniu
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
ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI
ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI XVIII Forum Teleinformatyki mgr inż. Michał BIJATA, doktorant, Wydział Cybernetyki WAT Michal.Bijata@WAT.edu.pl, Michal@Bijata.com 28 września 2012 AGENDA Architektura
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
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
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI
KARTA PRZEDMIOTU przedmiotu Stopień studiów i forma Rodzaj przedmiotu Grupa kursów Zaawansowane techniki analizy systemowej oparte na modelowaniu warsztaty Studia podyplomowe Obowiązkowy NIE Wykład Ćwiczenia
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
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
Zarządzanie projektem prawnym w praktyce
Zarządzanie projektem prawnym w praktyce Po raz pierwszy kompleksowe szkolenie dla prawników Definiowanie, planowanie i skuteczna realizacja w pracy prawnika Prawnik = project manager Świadczenie usług
Praktyka testowania dla początkujących testerów
Praktyka testowania dla początkujących testerów Warsztaty stanowią 100% praktykę testowania i skupiają się zwłaszcza na tych aspektach, które przydatne są w codziennej pracy testera. Przeznaczone są dla
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
Projektowanie Modeli Usług dla rozwiązań typu SOA
Projektowanie Modeli Usług dla rozwiązań typu SOA Service Oriented Modeling and Architecture (SOMA ) IBM Global Business Services, zdefiniował zestaw usług konsultingowych oraz narzędzi pomagających organizacjom
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ś
Architektura mikroserwisów na platformie Spring IO
Kod szkolenia: Tytuł szkolenia: SPRIO Architektura mikroserwisów na platformie Spring IO Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java pragnących dowiedzieć się jak tworzyć
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
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ę
Celem artykułu będzie zaproponowanie strategii testowania automatycznego
Domain Driven Design krok po kroku Część V: Kompendium testowania aplikacji opartej o DDD problemy, strategie, taktyki i techniki W jaki sposób zapewnić jakość systemu? Czy pokrycie 80% kodu testami jest
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania
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
Deduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
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ń
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań Albert Ambroziewicz, Michał Śmiałek Politechnika Warszawska KKIO 0, SCR 0 27-29.09.200 Treść prezentacji Wprowadzenie powtarzalność rozwiązań w IO Koncepcja
Wprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti
Kod szkolenia: Tytuł szkolenia: JBPM Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti Dni: 2 Szkolenie jest zgodne z wersją 6.x, możliwe są również
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
Robotic Process Automation
Robotic Process Automation jako czynnik poprawy jakości testów oprogramowania dr DANUTA KAJRUNAJTYS Robotic (Process) Automation PROCESY BIZNESOWE ekran aplikacji ekran aplikacji ekran aplikacji ekran
OSGi Agata Hejmej 4.05.2009
OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce
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)
INŻYNIERIA OPROGRAMOWANIA
INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia
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
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
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Praca z kodem legacy : strategie, naprawa błędów, refaktoryzacja oraz
Program szkolenia: Praca z kodem legacy : strategie, naprawa błędów, refaktoryzacja oraz Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Praca z kodem legacy : strategie, naprawa
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy
Webowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
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
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,
Jarosław Żeliński analityk biznesowy, projektant systemów
Modele wdrażania i zarządzania projektami ERP Jarosław Żeliński analityk biznesowy, projektant systemów (c) Jarosław Żeliński IT-Consulting 1 Cel prezentacji Wskazanie kluczowych ryzyk projektów wdrożenia
Umowy w branży IT. Jak je konstuować, żeby uniknąć późniejszych nieporozumień. Tomasz Wiese Łukasz Marszał
Umowy w branży IT Jak je konstuować, żeby uniknąć późniejszych nieporozumień Tomasz Wiese Łukasz Marszał Cel prezentacji Pokazanie różnic pomiędzy zakupem oprogramowania w pudełku a stworzeniu go na zamówienie
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:
Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą
Załącznik nr 8 do SIWZ Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 3-CPI-WZP-44/13 Lp. Zakres wykonywanych czynności Liczba osób Imiona i nazwiska osób, którymi dysponuje wykonawca
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
3.0. Poznaj najnowsze udoskonalenia platformy XPRIMER! Zobacz wizualne zmiany platformy! INTERAKTYWNOŚĆ MOBILNOŚĆ ELASTYCZNOŚĆ ERGONOMIA
3.0 Poznaj najnowsze udoskonalenia platformy XPRIMER! INTERAKTYWNOŚĆ ELASTYCZNOŚĆ MOBILNOŚĆ INTUICYJNOŚĆ Całkowicie nowy interfejs użytkownika ERGONOMIA Zobacz wizualne zmiany platformy! NOWE MOŻLIWOŚCI
Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i
Program szkolenia: Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i JFace Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Kompleksowe tworzenie aplikacji