InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: 01.08.2005 – 31.07.2007 Innowacyjne metody.

Slides:



Advertisements
Podobne prezentacje
Opis metodyki i procesu produkcji oprogramowania
Advertisements

Copyright © 2006 Quest Software Wybrane Narzędzia z Oferty Quest Software Dedykowane dla Baz Danych MACIEJ POGORZELSKI.
Microsoft Office System w praktyce wdrożenie w COMARCH-CDN
Planowanie zadań i metody ich obrazowania
Nowa Jakość kontroli w biznesie Projekt: Stworzenie e- usługi w postaci systemu księgowo-kadrowego on-line przez MGA Sp. z o.o. w Toruniu jest współfinansowany.
SOS SYSTEM OBSŁUGI SZKOŁY
SCR 2008/2009 – informatyka rok 5. Agenda Edytor wizualny wraz z repozytorium dóbr i agentów.
Tomasz Smieszkoł - 15 stycznia
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Artur Szmigiel Paweł Zarębski Kl. III i
Interaktywny serwer WWW zrealizowany na platformie mikrokontrolera
REPOZYTORIA 1. Co to są repozytoria?
Wykład 2 Cykl życia systemu informacyjnego
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
InfinitERP prezentacja systemu.
Nowoczesny system zarządzania firmą
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Generatory dokumentacji kodu źródłowego
Największe problemy w projektach informatycznych IT Opracował: Karol Pietrzak na podstawie artykułu z SDJ/2007 IX.
Przeznaczenie produktu Opis funkcjonalności
Jak to działa? aplikacje desktopowe usługi online urządzenia
Microsoft Solution Framework
System e-zamówienia.
Magdalena kurzyńska Sławomir Kwasiborski
Prezentacja i szkolenie
Sieciowe Systemy Operacyjne
InTouch.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Obsługa procesów biznesowych w MOSS 2007 Na przykładzie procesu obsługi zleceń Paweł Wróbel.
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
Zawansowane techniki programistyczne
Program Operacyjny Kapitał Ludzki
Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer.
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Seminarium Dyplomowe Jacek Fohs.
„Żadna firma nie posiada ani czasu, ani środków niezbędnych do uczenia się wyłącznie na własnych błędach” James Harrington.
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Centralny Elektroniczny Katalog Administracji dr Marcin Kraska Konferencja „e-Usługi. Fikcja czy rzeczywistość?” Poznań, 30 września 2014 r.
Temat 1: Ogólne cechy języka PHP
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Systemy kontroli wersji
PROINFO System zarządzania informacją o przedsięwzięciu informatycznym Seminarium dyplomowe 2004 WIiZ Politechnika Poznańska.
Podstawy języka skryptów
Weed Wizualna eksploracja danych Tomasz Płuciennik Marcin Mielnicki Michał Krysiński Rafał Fabiański.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Efektywne tworzenie oprogramowania 2008/2009. Forty Years of Software Engineering Konferencja w Garmisch – uczestników Prof. Bauer TUM przewodniczący.
KOMPANIA WĘGLOWA S.A..
Podstawy programowania
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Moduł e-Kontroli Grzegorz Dziurla.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Paweł Szcześniak.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Marta Szcześniak.
Rozpowszechnianie aplikacji KRYSTIAN KOWALCZUK TORUŃ,
Zarządzanie wdrożeniem oprogramowania w organizacji w oparciu o metodykę ITIL Michał Majewski s4440 Praca magisterska napisana pod kierunkiem dr inż. Tomasza.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” prezentacja pracy dyplomowej Marta i Paweł Szcześniak.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Paweł Szcześniak.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Paweł Szcześniak.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 33 Modelowy program praktyk podnoszący jakość kształcenia studentów.
Projekt InMoST Podsumowanie dotychczasowych działań oraz plany na kolejny rok Projekt InMoST Podsumowanie dotychczasowych działań oraz plany na kolejny.
(c) InMoST 2006 Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz.
Analiza, projekt i częściowa implementacja systemu wspomagania pracy Referatu Reprografii Promotor: mgr inż. Dariusz OlczykWykonała: Katarzyna Ściwiarska.
Przykłady zewnętrznych bibliotek do PHP Laboratorium z Baz Danych Łukasz Zubkowicz.
Maven II Jakub Wojtaszczyk Piotr Tabor
Tworzenie stron WWW w programie Microsoft FrontPage
Zapis prezentacji:

InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody monitorowania projektów informatycznych: Część 2: Apache Maven Bartosz Walter, Marcin Werla Szkolenie finansowane ze środków Europejskiego Funduszu Społecznego (75%) i budżetu państwa (25%) w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego

Apache Maven Motywacja – problemy programistów rozwijających Jakarta Turbine  Kilka podprojektów  Każdy projekt miał własne skrypty z własnymi nazwami zadań  Każdy projekt miał podobne, ale nie identyczne zależności umieszczane w CVSie  Programiści pracujący równocześnie w kilku projektach musieli pamiętać o specyfice każdego z nich

Apache Maven Cel – uproszczenie pracy programistów poprzez stworzenie narzędzia, które:  Daje ustandaryzowany sposób pracy z projektem  Jasną określa strukturę i zawartość projektu  Umożliwia łatwą publikację różnych informacji na temat projektu  Pozwala na współdzielenie zewnętrznych zależności między projektami

Apache Maven Efekt – powstało narzędzie, które:  Daje uniwersalny interfejs do wykonywania najczęstszych zadań programisty  Dostarcza informacje jakościowe na temat projektu  Ułatwia wprowadzanie dobrych praktyk  Pozwala (?) na łatwe dodawanie nowych możliwości

Apache Maven Funkcjonalność Mavena to „połączenie”:  Ant, Jelly – skrypty o rozbudowanej funkcjonalności  Ivy – zarządzanie zależnościami  Forrest – generowanie i publikowanie strony  Klient VCS – korzystanie z systemów VCS  Wielu narzędzi do automatycznej inspekcji kodu, automatycznych testów, analizy historii projektu  …

Apache Maven Maven to narzędzie:  Open-source  Napisane w Javie  Ułatwiające  - pracę programisty  - pracę QA  - zarządzanie konfiguracją projektu

Apache Maven Dla programisty:  Dobrze zdefiniowana struktura dyskowa projektu  Dobrze zdefiniowany proces budowania postaci wykonywalnej  Ujednolicony interfejs, gotowe skrypty realizujące główne zadania  Możliwość rozbudowania funkcjonalności z Jelly

Apache Maven Dla QA:  Wsparcie dla praktyk automatycznego testowania  - włączenie testowania w proces budowania postaci wykonywalnej  Przygotowywanie raportów z wielu różnorodnych inspekcji i analiz kodu  - statycznych  - dynamicznych

Apache Maven Dla zarządzających (konfiguracją) projektu:  Dostarcza ogólnych informacji o projekcie  Dostarcza informacji na temat bieżących postępów w projekcie  Ułatwia podział na podprojekty  Wspomaga zarządzanie konfiguracją

Apache Maven Programista 1Programista 2 Serwer VCS commons-collections-1.0.jar, ver 1.1 commons-collections-2.1.jar, ver 1.1 commons-collections-3.0.jar, ver 1.1 Przykładowe zarządzanie zależnościami bez użycia Mavena

Apache Maven Programista 1Programista 2 Serwer VCS Przykładowe zarządzanie zależnościami bez użycia Mavena Repozytorium firmowe Repozytorium światowe project.xml, ver 1.1 project.xml, ver 1.2 project.xml, ver 1.3 commons-collections-1.0.jar + xml commons-collections-2.1.jar + xml ojdbc14.jar my-project-0.3-beta7.jar + xml

Apache Maven Konfiguracja  P roject O bject M odel (project.xml)  - podstawowe informacje o projekcie (wersja, właściciel, opis,…)  - informacje o zespole projektu, repozytorium, …  - opis zewnętrznych zależności  - opis procesu tworzenia postaci wykonywalnej  - lista raportów

Apache Maven Konfiguracja  project.properties  - plik właściwy dla całego projektu  - konfiguracja Mavena i pluginów  build.properties  - plik właściwy dla programisty  - specyficzne ustawienia programisty, lokalne ścieżki, hasła itd.

Apache Maven  src/  src/java/, src/xsl/, …  src/test/  src/webapp/  xdocs/  xdocs/changes.xml  xdocs/navigation.xml  project.properties  build.properties  LICENSE.txt  target/

Apache Maven Podział na podprojekty  Automatyczne uwzględnianie powiązań między projektami  Dziedziczenie ustawień w hierarchii plików konfiguracyjnych  Możliwość wykonywania operacji na kilku projektach równocześnie  Analiza porównawcza projektów

Ciągła integracja – w praktyce Maven – wady/zalety  [+] Porządkuje wykorzystanie zewnętrznych zależności  [+] Poprzez ujednolicenie ułatwia pracę z wieloma projektami  [+] Najczęściej wykorzystywaną funkcjonalność ANTa można osiągnąć bez pisania skryptów  [+] Łączy w sobie wiele ciekawych narzędzi  [–] Permanentnie w wersji beta  [–] Problemy z migracją między wersjami Mavena i pluginów

Apache Maven Maven 2  Poprawiona wydajność  Zmieniona struktura katalogów  Poprawiony układ repozytorium  Przechodniość zależności  Określanie zakresu zależności

Apache Maven Maven 2  Zdecydowanie większe ustrukturalizowanie informacji konfiguracyjnych  Jednolity przebieg procesu uzyskania postaci wykonywalnej  Zmiana sposobu dodawania nowej funkcjonalności  Możliwość tworzenia wielojęzycznej strony projektu

Apache Maven Podsumowanie  Wykorzystanie Mavena ułatwia codzienną pracę i podnoszenie jakości powstającego oprogramowania  Początkowy nakład pracy może być dość duży, z czasem zmiany potrzebne są tylko przy aktualizacji Mavena lub pluginów  Z produkcyjnym wykorzystaniem Mavena 2 być może warto się jeszcze wstrzymać

Apache Maven Odnośniki:  Maven 1:  Maven 2:  Dodatkowe pluginy: plugins.sourceforge.net/ plugins.sourceforge.net/  Maven Book:  Jelly:  Mavenide:

Apache Maven Pytania?

Apache Maven Dziękuję za uwagę!