Politechnika Poznańska, Instytut Informatyki, Studia niestacjonarne. Inżynieria oprogramowania
|
|
- Marek Markowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Politechnika Poznańska, Instytut Informatyki, Studia niestacjonarne Inżynieria oprogramowania 27 kwietnia 2014
2 Wzorce projektowe Prawie każdy problem, także projektowy, nad którym się zastanawiasz, ktoś już rozwiązał Wzorce (patterns) zawierają dobre praktyki Antywzorce przykłady złych praktyk Wzorce mogą też przyśpieszać komunikację
3 Przechowywanie Jak przechować pojedynczą wielkość? double IloscPaliwa;! Problem: W jakiej jednostce przechowywane jest to pole? Litry, hektolitry, metry sześcienne, mililitry, tony?
4 Wzorzec Quantity
5 Wzorzec Quantity - Lub np. pole typu Wielkosc
6 Wzorzec Quantity - cechy Informacja o jednostce jest zawsze przechowywana wraz z ilością
7 Współpracujące klasy np.:
8 Wzorzec Client-Server
9 Przykład wzorca
10 Wzorzec Client-Server - Zmiany klienta nie wymuszają zmian serwera Np. zmiany w klasie interfejsowej nie wymuszają zmian w klasie należącej do dziedziny problemu Serwer pełni rolę pasywną Częściowo można to obejść korzystając np. ze wzorca Observer
11 Wzorzec Client-Server dla pakietów klas
12 Uniezależnienie interfejsu użytkownika od części obliczeniowej programu
13 Wzorzec Facade Facade
14 Wzorzec Facade - cechy Zmiany w pakiecie serwera nie wymuszają zmian klientów o ile fasada pozostaje taka sama Klasy wyłącznie delegujące swoje zadania (jak fasada) są często traktowane jako niepożądane
15 Niezależność współpracujących klas We wzorcu client-server klient jest zależny od serwera Jest to szczególnie niekorzystne, jeżeli współpraca z serwerem jest tylko niewielką częścią funkcjonalności klienta Jak tego uniknąć?
16 Wzorzec Mediator
17 Przykład wzorca Mediator
18 Wzorzec Mediator - cechy Pozwala na współpracę klas (pakietów, modułów) całkowicie od siebie niezależnych Role aktywną pełni mediator Częściowo można to obejść korzystając np. Z wzorca Observer
19 Kosztowne obiekty
20 Wzorzec Proxy
21 Przykład wzorca Proxy
22 Wzorzec Proxy - cechy Kosztowny obiekt jest konstruowany tylko wtedy jeżeli będą na nim wykonywane jakieś operacje Opóźnione konstruowanie kosztownego obiektu jest niewidoczne dla klienta
23 Niespójne klasy
24 Wzorzec Adapter
25 Przykład wzorca Adapter
26 Wzorzec Adapter - cechy Adaptowana klasa może być wykorzystywana tak jak inne klasy implementujące standardowy interfejs Fakt korzystania z niestandardowej klasy jest niewidoczny dla klienta
27 Potrzeba wielopoziomowej hierarchii agregacji Przykład: Rysunek składa się z figur Figury mogą tworzyć grupy W skład grupy może wchodzić inna grupa figur Pewne operacja można wykonywać zarówno na pojedynczych figurach, jak i grupach figur.
28 Wzorzec Composite
29 Przykład wzorca
30 Wzorzec Composite - cechy Hierarchia zawierania się może być dowolnie zagłębiona Liście mogą się pojawiać na dowolnym poziomie hierarchii obok grup (dowolnego poziomu) Jak tego uniknąć?
31 Jak oddzielić konstrukcję złożonego obiektu od jego reprezentacji Np. zapis danych programu graficznego w różnych formatach
32 Wzorzec Builder
33 Przykład wzorca builder
34 Wzorzec Builder Reżyser (director) zna tylko ogólną strukturę budowanego obiektu Budowniczy (builder) zna tylko elementarne kroki budowy obiektu w zadany sposób
35 Polecenia Jak zapewnić: Możliwość stosowania różnych sposobów wydawania poleceń Niezależność pomiędzy obiektem wysyłającym polecenie i odbiorcą
36 Wzorzec Command
37 Przykład wzorca
38 Wzorzec Command Nadawca jest niezależny od odbiorcy i vice versa To samo polecenie może być wydawane przez różnych nadawców Łączenie poleceń z nadawcami może być dynamiczne
39 Różna reakcja na zdarzenia w zależności od stanu
40 Typowa implementacja void CZadanie::Zwolnij_zasob (TZasobID Zasob) {!! if (State == _ZDEFINIOWANE) {!!!...!! }!! else if (State == _ZAPLANOWANE) {!!!...!! }!! else if (State == _REALIZOWANE) {!!!...!! }!! else if (State == _ZREALIZOWANE) {!!!...!! }!
41 Wzorzec State
42 Przykład wzorca State
43 Wzorzec State - cechy Łatwiejsze dodawanie/usuwanie stanów Konieczne konstruowanie usuwanie obiektów przy zmianie stanów Trudniejsze dodawanie/usuwanie metod (trzeba je dodawać/usuwać w różnych stanach)
44 Schemat algorytmu Znajdź populację początkową powtarzaj Selekcja Rekombinacja Mutacja dopóki nie są spełnione warunki stopu
45 Wzorzec Template
46 Przykład wzorca Template method
47 Wzorzec Template Ponownie wykorzystywany jest szkielet algorytmu przy możliwości zmiany poszczególnych kroków
48 Grupowanie podobnych Gdzie umieścić operacje tego samego typu dotyczące grupy klas?
49 Klasyczne rozwiązanie
50 Przykład wzorca Visitor
51 Wzorzec Visitor - cechy Grupuje operacje danego typu, np. kod składowej zarządzania danymi Korzystne np. przy zmianach technologii składowych technicznych
52 Jak rozszerzyć działanie Np. jak w programie graficznym dodać do każdej figury i grupy figur możliwość wyświetlania nazwy?
53 Rozwiązanie klasyczne -
54 Wzorzec Decorator
55 Przykład wzorca Decorator
56 Wzorzec Decorator - Zachowanie każdego komponentu może zostać rozszerzone Rozszerzenia są niewidoczne dla klienta
57 Tworzenie obiektów Czy rysunek musi znać wszystkie manipulatory?
58 Wzorzec Factory method
59 Przykład wzorca Factory
60 Wzorzec Factory method Klient nie musi znać konkretnych klas, których obiekty są konstruowane
61 Wzorzec Singleton zapewnianie istnienia tylko
62 Wzorzec Singleton w C+ class CSingleton {! protected:!! static CSingleton* UniqueInstance;!! CSingleton () {!!...!! }! public:!! static CSingleton* Instance () {!!! if (UniqueInstance == NULL)!!! UniqueInstance = new CSingleton;!!! return UniqueInstance;!! }! };!! CSingleton* CSingleton::UniqueInstance = NULL;!...! CSingleton* Singleton = CSingleton::Instance ();
63 Wzorzec Singleton w Javie public class Singleton {! static protected Singleton uniqueinstance = null;! protected Singleton() {!...! }! static public Singleton instance() {! if(uniqueinstance == null) {!!! uniqueinstance = new Singleton();! }! return uniqueinstance;! }! }!...! Singleton singleton = Singleton.getInstance();
64 Dostarczanie i pielęgnacja
65 Instalacja oprogramowania Szkolenia użytkowników końcowych i administratorów systemu Instalacja sprzętu i przeniesienie oprogramowania Wypełnienie baz danych Uruchomienie oprogramowania Plany awaryjne
66 Instalacja oprogramowania Nadzorowane korzystanie z systemu, często równoległe z tradycyjnym sposobem pracy Usuwanie błędów w oprogramowaniu i dokumentacji użytkowej Przekazanie systemu klientowi Klient powinien otrzymać także dokumentację techniczną
67 Konserwacja oprogramowania Modyfikacje poprawiające/korygujące ulepszające dostosowujące
68 Źródła żądań zmian Klienci Wytwórcy oprogramowania Zarząd
69 Narzędzia zarządzania żądaniami zmian Keystone (Freeware) JitterBug (Freeware, Open Source) GNATS (Freeware) Visual Intercept (commercial) Bugzilla (Open source) Mantis (Open source)
70 Funkcje narzędzi zarządzania żądaniami Zarządzanie projektami/podprojektami i przydziałami odpowiedzialności Wprowadzanie żądań zmian Powiadamianie osób odpowiedzialnych, osób wprowadzających żądania Śledzenie żądań zmian Raporty, statystyki
71 Ocena żądanej zmiany Znaczenie wprowadzenia zmiany dla użytkowników Koszt wprowadzenia zmiany Wpływ zmiany za poszczególne składowe systemu Wpływ zmiany na poszczególne składowe dokumentacji technicznej Propagacja zmian
72 Zarządzanie żądaniami zmian Całościowa ocena i decyzja Kolejkowanie żądań zmian Zlecenie wykonania zmiany Przydział osoby/zespołu do wykonania zmiany Monitorowanie realizacji zmiany
73 Czynniki wpływające na koszty konserwacji Niezależne od firmy Stabilność środowiska, w którym pracuje system Stabilność platformy sprzętowej i oprogramowania systemowego Czas użytkowania systemu
74 Czynniki wpływające na koszty konserwacji Zależne od firmy Znajomość dziedziny problemu Wysoka jakość modelu i projektu Wysoka jakość dokumentacji technicznej pełna zgodność z systemem wystarczająca szczegółowość zgodność ze standardami Stabilność personelu
75 Dokumentacja techniczna Dokumentacja techniczna a projekt Jakość dokumentacji a jakość projektu Dobra dokumentacja Zły projekt Dobra dokumentacja Dobry projekt Zła dokumentacja Zły projekt Zła dokumentacja Dobry projekt
76 Inżynieria odwrotna Typowa składowa narzędzi CASE Generowanie kodu Synchronizacja projektu z kodem Narzędzia niezależne JavaDoc, Doxygen, NDoc,...
77 Reinżynieria oprogramowania Generowanie kodu CASE Kod Inżynieria odwrotna
78 Ponowne wykorzystanie oprogramowania Zalety Redukcja kosztów Wzrost niezawodność Narzucenie standardów
79 Przygotowanie kodu do ponownego wykorzystania Budowa klockowa Niezależność składowych Spójność składowych Odpowiednia złożoność Przejrzystość Dobra dokumentacja
80 Wzorce projektowe związane z ponownym wykorzystanie oprogramowania Mediator Adapter Decorator Template method
81 Dokumentacja użytkowa Odbiorcy dokumentacji Potencjalni użytkownicy Użytkownicy początkujący Użytkownicy zaawansowani Administratorzy
82 Składowe dokumentacji użytkowej Opis funkcjonalny Podręcznik użytkownika Kompletny opis (reference) Opis instalacji Podręcznik administratora systemu Słownik używanych terminów Indeks
83 Podręcznik użytkownika Sposoby uruchamiania oraz kończenia pracy z systemem Sposoby realizacji najczęściej wykorzystywanych funkcji systemu Metody obsługi błędów, np. sposoby odwoływania błędnych operacji wykonanych przez użytkownika Sposoby korzystania z systemu pomocy Podręcznik użytkownika powinien przedstawiać prosty przykład(y) korzystania z systemu.
84 Kompletny opis Szczegółowy opis wszystkich funkcji systemu Informacje o wszystkich sposobach wywoływania tych funkcji Opisy formatów danych Opisy wszystkich błędów, które mogą się pojawiać podczas pracy z systemem Informacje o wszelkich ograniczeniach dotyczących np. zakresów danych
85 Jakość dokumentacji użytkowej Struktura Zachowanie standardów Sposób pisania Stosowanie formy aktywnej oraz zwracanie się do czytelnika. Poprawność gramatyczna i ortograficzna. Krótkie zdania. Krótkie akapity. Oszczędność słów. Precyzyjna definicja używanych terminów. Powtarzanie trudnego opisu. Stosowanie tytułów i podtytułów sekcji, wyliczeń i wyróżnień. Zrozumiałe odwołania do innych rozdziałów.
86 Bezpieczeństwo użytkowników oprogramowania Zagrożenie dla życia lub zdrowia systemy medyczne, systemy sterowania Bezpieczeństwo prawne Bezpieczeństwo finansowe
87 Bezpieczeństwo niezawodność Program zawodny może być bezpieczny Program niezawodny może nie być bezpieczny
88 Jak zapewnić bezpieczeństwo Należy określić potencjalne zagrożenia Przykład - program sporządzający PIT-y błędne rozliczenie podatnika z urzędem podatkowym niezłożenie zeznania podatkowego złożenie wielu zeznań dla jednego podatnika, być może w różnych urzędach
89 Określanie potencjalnych przyczyn zagrożeń Analiza drzewa błędów Błędne rozliczenie podatnika Wprowadzenie błędnych danych Błąd obliczeniowy Błędny wydruk rozliczenia Błędnie obliczona podstawa opodatkowania Błędnie obliczony podatek Błędnie obliczona nadpłata - dopłata Błędnie zsumowane dochody Błędnie zsumowane ulgi
90 Unikanie zagrożeń Szczególny nacisk na niezawodność najważniejszych fragmentów systemu - unikanie błędów, testowanie Weryfikacja wprowadzonych danych Sprawdzanie warunków poprawności
91 Zapewnianie jakości Zapewnianie jakości a inżynieria oprogramowania Główne działania składające się na zapewnianie jakości: Standaryzacja Kontrole jakości formalne przeglądy techniczne
92 Standaryzacja Standardy dotyczące artefaktów: Kod, projekt, specyfikacja wymagań, dokumentacja techniczna, dokumentacja użytkowa Procedury standardy dotyczące działań Sposób zatwierdzania dokumentacji technicznej, sposób przekazywania modułu do testowania Cele: Promowanie dobrych praktyk Wymuszenie spójności Możliwość automatyzacji
93 Inne typowe problemy Czy wszystko zostało skompilowanie? Przetestowane? Jak usunąć niekompletną/błędną modyfikację? Nie mogę odtworzyć tego błędu. Jakie zmiany zostały uwzględnione w tej wersji? Muszę połączyć 250 plików? Jaką wersję ma ten klient? Czy dostarczyliśmy właściwą wersję? Czy klient zmodyfikował nam kod? Czy można klientowi dostarczyć najnowszą wersję jeżeli na zakupił dwóch poprzednich?
94 Praca grupowa
95 Praca grupowa Gdzie jest najnowsza wersja!!! Czy Kowalski cokolwiek robi w tym projekcie?!!! Kto popełnił ten błąd?!!! Nie ja!!! Przecież już raz poprawiłem ten błąd!!! Przecież poprzednio to działało!!! Ktoś nadpisał moje zmiany!!!
96 Praca grupowa i zarządzanie konfiguracjami Równoległa pracy wielu osób nad tym samym projektem Ryzyko nadpisywania zmian Problem najnowszej wersji Potrzeba odwoływania się do poprzednich wersji Monitorowanie prac
97 CVS concurrent versioning system Najpopularniejsze narzędzie zarządzania konfiguracjami w projektach open-source Często wykorzystywany komercyjnie Unix, Windows, WINCVS, WebCVS Komponenty pliki, przede wszystkim tekstowe Wypierany przez SVN (Subversion)
98 CVS - struktura Server CVS Centralne repozytorium
99 Podstawowy model pracy Server CVS Centralne repozytorium 1: Pobranie pliku(ów) (check-out) 3: Zapis pliku(ów) (check-in/commit) 2: Edycja pliku(ów)
100 Podstawowy model pracy Dołączanie komentarzy nt. wprowadzonych zmian podczas zapisu pliku(ów) Porównywanie lokalnej pliku(ów) z zawartością repozytorium Jaka powinna być częstotliwość zapisu do repozytorium?
101 Wersja bazowa Przed powstaniem wersji bazowej samodzielna praca osoby/zesołu Wersja bazowa od tego momentu komponent może być wykorzystywany przez inne osoby/zespoły i podlega zarządzaniu konfiguracjami
102 Praca równoległa unikanie konfliktów Blokowanie pliku(ów) lub pobieranie bez wyłączności (unreserved check-out) Synchronizacja lokalnej kopii pliku(ów) Wykrywanie konfliktów bez interpretacji zawartości pliku tekstowego Informowanie innych użytkowników o zapisie Możliwość sprawdzenia kto korzysta z pliku Obserwowanie wybranych plików - powiadamianie
103 Ochrona danych Użytkownicy Hasła Prawa dostępu
104 Wersjonowanie Jednostką wersjonowania jest plik Każda zmiana powoduje powstanie nowej wersji pliku Możliwość opisywania wersji etykietami Pobieranie poprzednich wersji na podstawie daty lub etykiety Porównywanie różnych wersji
105 Sposób zapisu wersji Wersja bazowa Zmiany Zmiany Zmiany Wersja Wersja Wersja 11.05
106 Rozgałęzianie i łączenie gałęzi Wersja 1.1b Wersja 1.2b Wersja 1.3b Wersja 1 Wersja 1.1a Wersja 1.2a Wersja 1.3
107 Przyczyny rozgałęzień Niezależne ścieżki rozwoju, np. konserwacja komponentu vs. jego dalszy rozwój Warianty np. konfiguracje na różne platformy Eksperymentalne ścieżki rozwoju Równoległa praca dwóch programistów/zespołów trudna do bieżącej synchronizacji
108 Śledzenie prac Obserwacja komentarzy Monitorowanie pracy użytkowników Analiza danych
109 System Subversion Praktycznie wszystkie cechy CVS-a Wersjonowanie operacji na katalogach (drzewach) katalogów Dołączanie i wersjonowanie metadanych Atomowe operacje zapisu Zapis danych w bazie danych Lepsza obsługa plików binarnych Łatwe i tanie rozgałęzianie Lepsza struktura kodu
110 Inne modele pracy w systemach zarządzania konfiguracjami Composition Model Long Transaction Model Change Set Model
111 Narzędzia wspomagające wytwarzanie oprogramowania Narzędzia programistyczne Narzędzia wspomagające pracę nad oprogramowaniem Narzędzia zarządzania i pracy grupowej Zaawansowane narzędzia wspomagające wytwarzanie oprogramowania
112 Narzędzia programistyczne Kompilatory Edytory kodu Debuggery IDE Narzędzia projektowania interfejsu użytkownika Biblioteki Narzędzia formatujące Analizatory kodu Narzędzia wspomagające refaktoryzację
113 Narzędzia wspomagające pracę nad oprogramowaniem Narzędzia zarządzania wymaganiami Narzędzia CASE modelowanie, projektowanie, generowanie i dokumentowanie oprogramowania Narzędzia zarządzania konfiguracjami Narzędzia wspomagające testowanie Narzędzia dokumentacji technicznej Narzędzia zarządzania zgłoszeniami zmian/błędów
114 Narzędzia zarządzania i pracy grupowej Narzędzia harmonogramowania przedsięwzięć Personalne plany zadań Narzędzia rozproszonego zarządzania przedsięwzięciami Narzędzia generujące metryki Narzędzia szacowania kosztów oprogramowania Narzędzia komunikacji Narzędzia zarządzania konfiguracjami
115 Zaawansowane narzędzia wspomagające wytwarzanie oprogramowania Narzędzia typu workflow Narzędzia śledzenia powiązań Narzędzia analizy danych
116 Narzędzia CASE Computer Assisted/Aided Software/System Engineering CAD dla inżynierów oprogramowania Upper-CASE głównie analiza Lower-CASE projektowanie, generowanie kodu, inżynieria odwrotna I-CASE, Integrated-CASE
117 Składowe narzędzi CASE Słownik danych repozytorium Edytor(y) notacji graficznych Generator raportów Generator dokumentacji technicznej Generator(y) kodu Moduł projektowania interfejsu użytkownika Moduł(y) inżynierii odwrotnej
118 Składowe narzędzi CASE Moduł kontroli poprawności Moduł kontroli jakości Moduł importu/eksportu danych Moduł zarządzania wersjami Moduł zarządzania pracą grupową
119 Główne zalety narzędzi CASE Wspomaganie analizy i projektowania Opracowywanie dokumentacji Wspomaganie pracy grupowej A co z generowaniem kodu?
120 Główne problemy we wdrażaniu narzędzi CASE Traktowanie narzędzi CASE wyłącznie jako generatorów kodu Nieznajomość metodyki analizy i projektowania Niewłaściwa organizacja i zarządzanie przedsięwzięciem Zbyt wysokie oczekiwania związane z wdrożeniem narzędzi CASE
121 Podsumowanie
122 Ważne trendy w inżynierii oprogramowania Lekkie metodyki Wpływ na podejścia klasyczne Narzędzia Integracja Zaawansowane narzędzia typu workflow, śledzenia powiązań, analizy danych Wolne oprogramowanie Wytwarzanie rozproszone Ponowne wykorzystanie oprogramowania W tym Applications framework Architektura/inżynieria kierowana modelem
123 Inżynieria oprogramowania Wiedza techniczna, dotycząca wszystkich faz cyklu życia oprogramowania, której celem jest uzyskanie wysokiej jakości produktu - oprogramowania.
124 Tanie Użyteczne Niezawodne Bezpieczne Dobre oprogramowanie Ergonomiczne Łatwe w konserwacji Zapewnianie jakości Efektywne
125 Określanie celów i wymagań Niezawodne Prototypowanie Użyteczne Ergonomiczne Analiza - modelowanie Projektowanie, implementacja, testowanie
126 Dobrze zaprojektowane Unikanie błędów Dobrze zaprojektowane Ponowne wykorzystanie oprogramowania Niezawodne Odporność na błędy Dobrze udokumentowane Testowanie Warunki poprawności
127 Projektowanie interfejsu użytkownika Ergonomiczne Dokumentacja użytkowa
128 Wzorce projektowe np. Proxy Efektywne Optymalizacja efektywności
129 Dobrze udokumentowane Inżynieria odwrotna Notacje Łatwe w konserwacji UML Refaktoryzacja Metody analizy i projektowania Dobrze zaprojektowane Przejrzyste Wzorce projektowe Zgodne z rzeczywistością Modularne
130 Zapewnianie bezpieczeństwa Bezpieczne Niezawodne
131 Łatwe w konserwacji Niezawodne Lekkie metodyki Ponowne wykorzystanie oprogramowania re-use Unikanie błędów Tanie Praca grupowa Narzędzia Modularne Narzędzia Notacje Wzorce projektowe
132 Standardy, procedury Zapewnianie jakości Przeglądy techniczne
133
Politechnika Poznańska, Instytut Informatyki, Studia niestacjonarne. Inżynieria oprogramowania
Politechnika Poznańska, Instytut Informatyki, Studia niestacjonarne Inżynieria oprogramowania 20 maja 2012 Dostarczanie i pielęgnacja Instalacja oprogramowania Szkolenia użytkowników końcowych i administratorów
Bardziej szczegółowo2005 Andrzej Jaszkiewicz. Wyłącznie dla użytku studentów Politechniki Poznańskiej, kierunek Informatyka
Instalacja/wdrożenie Szkolenia użytkowników końcowych i administratorów systemu Instalacja sprzętu i przeniesienie Wypełnienie baz danych Uruchomienie Plany awaryjne Instalacja Nadzorowane korzystanie
Bardziej szczegółowoZasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Bardziej szczegółowoCo to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?
ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
Bardziej szczegółowoWprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Bardziej szczegółowoProblemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?
Problemy projektowania obiektowego Czy podobne problemy można rozwiązywac w podobny sposób? Czy te problemy można przedstawić w abstrakcyjny sposób, tak aby były pomocne w tworzeniu rozwiązań w różnych
Bardziej szczegółowoINŻ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
Bardziej szczegółowoZaawansowane programowanie obiektowe - wykład 5
Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch
Bardziej szczegółowoMetodyka projektowania komputerowych systemów sterowania
Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania
Bardziej szczegółowoDzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Bardziej szczegółowoSystem kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010
System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowoTechnologia Programowania 2016/2017 Wykład 4
Technologia Programowania 2016/2017 Wykład 4 Wzorce projektowe GoF Jakub Lemiesz Wzorce GRASP a wzorce GoF Znamy 9 wzorców GRASP ogólne zasady Na GRASP opierają się klasyczne wzorce GoF Na wzorcach GoF
Bardziej szczegółowoEgzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Bardziej szczegółowoZarządzanie i realizacja projektów systemu Microsoft SharePoint 2010
Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................
Bardziej szczegółowoEtapy życia oprogramowania
Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)
Analiza i projektowanie obiektowe 2016/2017 Wykład 11: Zaawansowane wzorce projektowe (1) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce projektowe
Bardziej szczegółowoWprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoWykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Bardziej szczegółowoRok akademicki: 2012/2013 Kod: IET-2-211-SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane
Nazwa modułu: Metodyki projektowania i modelowania systemów I Rok akademicki: 2012/2013 Kod: IET-2-211-SW-s Punkty ECTS: 3 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Elektronika i Telekomunikacja
Bardziej szczegółowoProgram szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne
Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i ich implementacja
Bardziej szczegółowoSzczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.
Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania. Założenia projektowe systemu NETDOC. część 1: założenia ogólne i funkcjonalność rdzenia systemu Założenia ogólne Celem projektu jest
Bardziej szczegółowoEtapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania
Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna
Bardziej szczegółowoZarządzaj projektami efektywnie i na wysokim poziomie. Enovatio Projects SYSTEM ZARZĄDZANIA PROJEKTAMI
Sprawne zarządzanie projektami Tworzenie planów projektów Zwiększenie efektywności współpracy Kontrolowanie i zarządzanie zasobami jak również pracownikami Generowanie raportów Zarządzaj projektami efektywnie
Bardziej szczegółowoSzczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:
Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko
Bardziej szczegółowoSpis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Bardziej szczegółowoWzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz
Wzorce projektowe ArrayList DataGridView Aplikacja i zdarzenia Paweł Chodkiewicz Wzorzec uniwersalne rozwiązanie często powtarzających się problemów. Wzorzec opisuje problem, który powtarza się wielokrotnie
Bardziej szczegółowoProjektowanie. Kryteria jakości projektu. Spójność obiektowa. Brak spójności obiektowej. Znaczenie notacji graficznych w projektowaniu
Projektowanie Czy oprogramowanie jest zawsze projektowane? Znaczenie projektowania Projektowanie a wyniki fazy analizy class CPojazd { public: double Koszt (double Czas, double Droga); ; double CPojazd::Koszt
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
Bardziej szczegółowoRysunkowy 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
Bardziej szczegółowoWytwarzanie, integracja i testowanie systemów informacyjnych
Wytwarzanie, integracja i testowanie systemów informacyjnych Wykład 11: Instalacja i konserwacja oprogramowania. Narzędzia CASE. Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA. Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski
INŻYNIERIA OPROGRAMOWANIA wykład 9: INSTALACJA ( WDROŻENIE? ) i KONSERWACJA OPROGRAMOWANIA ( na podstawie wykładów prof. dr hab. K. Subiety, Instytut Informatyki PAN ) dr inż. Leszek Grocholski Zakład
Bardziej szczegółowoTechnologia Programowania 2016/2017 Wykład 5
Technologia Programowania 2016/2017 Wykład 5 Wzorce GoF Jakub Lemiesz Wzorce GoF Kreacyjne Builder Singleton Simple Factory Factory Method Abstract Factory Prototype Strukturalne Adapter Decorator Proxy
Bardziej szczegółowoProjekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie
Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie
Bardziej szczegółowoSzczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Szczególne problemy projektowania aplikacji Jarosław Kuchta Miejsce projektowania w cyklu wytwarzania aplikacji SWS Analiza systemowa Analiza statyczna Analiza funkcjonalna Analiza dynamiczna Analiza behawioralna
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny
Wykład 6 Organizacja pracy w dziale wytwarzania oprogramowania - przykład studialny Cel: Opracowanie szczegółowych zaleceń i procedur normujących pracę działu wytwarzania oprogramowania w przedsiębiorstwie
Bardziej szczegółowoProjektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
Bardziej szczegółowoProjektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
Bardziej szczegółowoSYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. info@prointegra.com.pl tel: +48 (032) 730 00 42
SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH info@prointegra.com.pl tel: +48 (032) 730 00 42 1. WPROWADZENIE... 3 2. KORZYŚCI BIZNESOWE... 4 3. OPIS FUNKCJONALNY VILM... 4 KLUCZOWE FUNKCJE
Bardziej szczegółowoNarzędzia CASE dla.net. Łukasz Popiel
Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania
Bardziej szczegółowoMetodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 7 Marcin Młotkowski 25 listopada 2014 Plan wykładu 1 Zasada pojedynczej odpowiedzialności 2 Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania
Bardziej szczegółowoTom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Bardziej szczegółowoAnaliza i projektowanie aplikacji Java
Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie
Bardziej szczegółowoFaza Określania Wymagań
Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie
Bardziej szczegółowoProgram 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%
Bardziej szczegółowoTom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania
Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017
Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017 1 Wzorce podstawowe 1.1 Interface vs Abstract class class InterfaceAbstractClass
Bardziej szczegółowoBuilder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)
Projektowanie obiektowe Wzorce projektowe Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów) 1 Roadmap Adapter Bridge Composite Facade 2 Pojęcia obiekt interfejs typ klasa 3 Co to jest delegacja?
Bardziej szczegółowoWzorce projektowe cz. I. Wzorce projektowe cz. I 1/33
Wzorce projektowe cz. I Wzorce projektowe cz. I 1/33 Wzorce projektowe cz. I 2/33 Historia Wzorce projektowe: wywodzą się z wzorców projektowych w architekturze termin wzorca projektowego wprowadzony do
Bardziej szczegółowoWzorce 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:
Bardziej szczegółowoTestowanie 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
Bardziej szczegółowoZarządzanie testowaniem wspierane narzędziem HP Quality Center
Zarządzanie testowaniem wspierane narzędziem HP Quality Center studium przypadku Mirek Piotr Szydłowski Ślęzak Warszawa, 17.05.2011 2008.09.25 WWW.CORRSE.COM Firma CORRSE Nasze zainteresowania zawodowe
Bardziej szczegółowoModelowanie i analiza systemów informatycznych
Modelowanie i analiza systemów informatycznych wykład 6 Komputerowe wspomaganie modelowania systemów (CASE) definicja, charakterystyka, podziałi składowe narzędzi CASE Zautomatyzowane wspomaganie procesu
Bardziej szczegółowoCykle życia systemu informatycznego
Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów
Bardziej szczegółowoMetodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 7 Marcin Młotkowski 23 listopada 2016 Plan wykładu 1 2 3 Kilka negatywnych przykładów Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 2 /
Bardziej szczegółowoTestowanie oprogramowania Wzorce projektowe
Testowanie oprogramowania Wzorce projektowe 1/66 Testowanie oprogramowania Wzorce projektowe dr inż. Grzegorz Michalski 17 listopada 2015 Testowanie oprogramowania Wzorce projektowe 2/66 Plan wykładu Agenda
Bardziej szczegółowoJak daleko jesteśmy od standardu? ankieta dla twórców produktów informatycznych o podwyższonych wymaganiach bezpieczeństwa
Jak daleko jesteśmy od standardu? ankieta dla twórców produktów informatycznych o podwyższonych wymaganiach bezpieczeństwa 1. Wstęp Wcześniejsze zbadanie istniejącego środowiska rozwojowego na zgodność
Bardziej szczegółowoĆwiczenia 9: Zarządzanie konfiguracją Zadania:
Ćwiczenia 9: Zarządzanie konfiguracją Zadania: Konfiguracja repozytorium CVS: 1. Ściągnij i zainstaluj serwer CVS: CVSNT (www.cvsnt.org). 2. W konfiguracji repozytoriów (Panel Sterowania -> CVSNT) wybierz
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoDr Katarzyna Grzesiak-Koped
Dr Katarzyna Grzesiak-Koped 2 Tworzenie oprogramowania Najlepsze praktyki IO Inżynieria wymagao Technologia obiektowa i język UML Techniki IO Metodyki zwinne Refaktoryzacja Mierzenie oprogramowania Jakośd
Bardziej szczegółowoKOŁ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
Bardziej szczegółowo: ::Rysunek : ::Figura. Rysuj() *: Rysuj() Uwaga! Modularność (spójność i niezależność składowych) to nie to samo, lecz więcej niż hermetyzacja
Znaczenie projektowania Nie ma trudnych programów, są tylko źle zaprojektowane Jak coś jest trudne, to projektuj tak długo aż stanie się proste Kryteria jakości projektu Modularność Silne (wewnętrznie
Bardziej szczegółowoStudia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW
01-447 Warszawa ul. Newelska 6, tel. (+48 22) 34-86-520, www.wit.edu.pl Studia podyplomowe BEZPIECZEŃSTWO I JAKOŚĆ SYSTEMÓW INFORMATYCZNYCH PROGRAM NAUCZANIA PLAN STUDIÓW Studia podyplomowe BEZPIECZEŃSTWO
Bardziej szczegółowoSystemy Kontroli Wersji
Systemy Kontroli Wersji zarzadzanie źródłami Marcin Gryszkalis dagoon@math.uni.lodz.pl Wydział Matematyki Uniwersytetu Łódzkiego Łódź 2003 Systemy Kontroli Wersji p.1/39 VCS a SCM Systemy Kontroli Wersji
Bardziej szczegółowoWprowadzenie 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ć
Bardziej szczegółowoZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska
ZARZĄDZANIE DOKUMENTACJĄ Tomasz Jarmuszczak PCC Polska Problemy z zarządzaniem dokumentacją Jak znaleźć potrzebny dokument? Gdzie znaleźć wcześniejszą wersję? Która wersja jest właściwa? Czy projekt został
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Wzorce projektowe Wzorzec projektowy (ang. design pattern) w inżynierii oprogramowania, rozwiązanie często pojawiających się, powtarzalnych problemów projektowych.
Bardziej szczegółowoProjektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik
Projektowanie oprogramowania Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem
Bardziej szczegółowoWykład 7. Projektowanie kodu oprogramowania
Wykład 7 Projektowanie kodu oprogramowania Treść wykładu cykl życiowy oprogramowania zagadnienia inżynierii oprogramowania tworzenie oprogramowania z gotowych elementów tworzenie niezawodnego oprogramowania
Bardziej szczegółowoWzorce 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ół
Bardziej szczegółowomgr inŝ. Jacek Kołodziej, mgr inŝ. Grzegorz Młynarczyk
Wykład : Techniki i narzędzia modelowania systemów (notacje graficzne) (cz.1) mgr inŝ. Jacek Kołodziej, mgr inŝ. Grzegorz Młynarczyk Opracowano na podstawie: InŜynieria oprogramowania wykład : mgr inŝ.
Bardziej szczegółowoBudowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Bardziej szczegółowoUniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoSVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1
SVN 10 października 2011 Instalacja Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację uruchamiany ponownie komputer Rysunek 1: Instalacja - krok 1 Rysunek 2: Instalacja - krok 2
Bardziej szczegółowoTechniki CAx. dr inż. Michał Michna. Politechnika Gdańska
Techniki CAx dr inż. Michał Michna 1 Sterowanie CAP Planowanie PPC Sterowanie zleceniami Kosztorysowanie Projektowanie CAD/CAM CAD Klasyfikacja systemów Cax Y-CIM model Planowanie produkcji Konstruowanie
Bardziej szczegółowoDariusz 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
Bardziej szczegółowoProgramowanie I
Programowanie I 29.05.2017 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout
Bardziej szczegółowo12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:
Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Bardziej szczegółowoPlan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Bardziej szczegółowoMETODY REPREZENTACJI INFORMACJI
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja
Bardziej szczegółowoCzęść I Rozpoczęcie pracy z usługami Reporting Services
Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych
Projektowanie obiektowe Wzorce projektowe Wprowadzenie do wzorców projektowych 1 Zagadnienia Katalog wzorców projektowych wg Gang of Four Zasady projektowania obiektowego S O L I D MVC - Model-Widok-Kontroler
Bardziej szczegółowoNarzę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
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoOmówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka
1 Omówienie wzorców wykorzystywanych w Prism 5.0 Dominika Różycka Czym jest wzorzec projektowy? 2 3 Wzorzec projektowy 1. Uniwersalne i sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych
Bardziej szczegółowoPLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>
Załącznik nr 4.6 do Umowy nr 35-ILGW-253-.../20.. z dnia... MINISTERSTWO FINANSÓW DEPARTAMENT INFORMATYKI PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT WERSJA
Bardziej szczegółowoZarządzanie Zapasami System informatyczny do monitorowania i planowania zapasów. Dawid Doliński
Zarządzanie Zapasami System informatyczny do monitorowania i planowania zapasów Dawid Doliński Dlaczego MonZa? Korzyści z wdrożenia» zmniejszenie wartości zapasów o 40 %*» podniesienie poziomu obsługi
Bardziej szczegółowoProjektowanie oprogramowania: wzorce architektoniczne i projektowe
Projektowanie oprogramowania: wzorce architektoniczne i projektowe Ogólne zasady projektowania Nie staraj się zadziwić innych. Rzeczy oczywiste rób w sposób oczywisty. Nie rozmawiaj z nieznajomym. Projekt
Bardziej szczegółowoInżynieria oprogramowania
Inżynieria oprogramowania (IO) Wykłady: mgr inż. Sławomir Wróblewski Godziny przyjęć: wtorki 10-11, środy 15-16 pokój nr 19 (6 piętro) Katedra Mikroelektroniki i Technik informatycznych Politechniki Łódzkiej,
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Iterator czynnościowy wzorzec projektowy (obiektowy), którego celem jest zapewnienie sekwencyjnego dostępu do podobiektów zgrupowanych w większym obiekcie (np.
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowo1. Zakres modernizacji Active Directory
załącznik nr 1 do umowy 1. Zakres modernizacji Active Directory 1.1 Opracowanie szczegółowego projektu wdrożenia. Określenie fizycznych lokalizacji serwerów oraz liczby lokacji Active Directory Określenie
Bardziej szczegółowo