Inżynieria oprogramowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Inżynieria oprogramowania"

Transkrypt

1 Inżynieria oprogramowania część VIII Prototypowanie oprogramowania Prototypowanie oprogramowania Zawartość: Prototypowanie w procesie tworzenia oprogramowania Metody błyskawicznego prototypowania Prototypowanie interfejsu użytkownika Ian Sommerville Inżynieria oprogramowania Slajd nr 2 1

2 Prototypowanie oprogramowania Prototyp oprogramowania pomaga w dwóch czynnościach inżynierii wymagań: Określenie wymagań. Prototypy systemu umożliwiają użytkownikom eksperymentowanie, w celu sprawdzenia czy system pomaga im w pracy. Dzięki temu użytkownicy wpadają na nowe pomysły itp. Zatwierdzanie wymagań. Prototyp może ujawnić błędy i pominięcia w zaproponowanych wymaganiach. Inne cele: Szkolenia użytkowników Testowanie systemu Ian Sommerville Inżynieria oprogramowania Slajd nr 3 Prototypowanie oprogramowania Ian Sommerville Inżynieria oprogramowania Slajd nr 4 2

3 Prototypowanie oprogramowania Prototypowanie Prototypowanie ewolucyjne zaczyna się od zbudowania prostego systemu spełniającego wymagania użytkowników. Jest on następnie modyfikowany w marę poznawania wymagań. Ostatecznie staje się systemem, którego oczekiwano. Prototypowanie z porzuceniem służy do udoskonalania i wyjaśnienia specyfikacji. Po napisaniu specyfikacji prototyp jest porzucany. Cele Celem prototypowania ewolucyjnego jest dostarczenie użytkownikowi działającego systemu. Celem prototypowania z porzuceniem jest zatwierdzenie i dostarczenie wymagań. Ian Sommerville Inżynieria oprogramowania Slajd nr 5 Prototypowanie oprogramowania Ian Sommerville Inżynieria oprogramowania Slajd nr 6 3

4 Prototypowanie ewolucyjne Zalety prototypowania ewolucyjnego Przyspieszone dostarczenie systemu. Włączenie użytkownika w budowę systemu Wspólne cechy błyskawicznych metod tworzenia oprogramowania: Przeplatanie procesu specyfikowania, projektowania i implementowania System budowany jest w postaci ciągu przyrostów Stosuje się narzędzia CASE i języki 4GL Interakcyjna metoda budowy interfejsów. Ian Sommerville Inżynieria oprogramowania Slajd nr 7 Prototypowanie ewolucyjne Problemy z prototypowaniem ewolucyjnym Kłopoty z zarządzaniem. prototypy ewoluują tak szybko że nie nadąża się z dokumentacją. Kłopoty z pielęgnacją. Ustawiczne zmiany powodują uszkodzenia struktury prototypowanego systemu. Kłopoty z umową. Zwykły model umowy klienta z wytwórcą oprogramowania oparty jest na specyfikacji systemu. Klienci nie znają zakresu prac. Dostawcy nie chcą się zgodzić na stałą cenę. Ian Sommerville Inżynieria oprogramowania Slajd nr 8 4

5 Prototypowanie ewolucyjne Ian Sommerville Inżynieria oprogramowania Slajd nr 9 Przyrostowy proces tworzenia Tworzenie przyrostowe likwiduje pewne niedogodności charakterystyczne dla prototypowania ewolucyjnego Tworzenie przyrostowe jest łatwiejsze w zarządzaniu, ponieważ przestrzega się w nim standardów budowy oprogramowania. Ian Sommerville Inżynieria oprogramowania Slajd nr 10 5

6 Przyrostowy proces tworzenia Ian Sommerville Inżynieria oprogramowania Slajd nr 11 Prototypowanie z porzuceniem Najczęściej stosowany przy budowie systemów sprzętowych. Posługując się komponentami z półki sprawdzamy projekt przed podjęciem decyzji o kosztownych zakupach. Przy budowie oprogramowania prototyp nie służy do oceny projektu ale pomaga w opracowaniu wymagań. Prototyp najczęściej tworzymy przy pomocy innych narzędzi niż projekt. W prototypie porzucanym można pominąć kryteria efektywności i jakości na rzecz szybkiego rezultatu Ian Sommerville Inżynieria oprogramowania Slajd nr 12 6

7 Prototypowanie z porzuceniem Ian Sommerville Inżynieria oprogramowania Slajd nr 13 Metody błyskawicznego prototypowania Tworzenie za pomocą dynamicznych języków wysokiego poziomu Języki programowania bazy danych Scalanie komponentów i programów użytkowych Ian Sommerville Inżynieria oprogramowania Slajd nr 14 7

8 Języki programowania bazy danych Języki 4-tej generacji 4GL (Narzędzia) Języki zapytań do bazy danych Generator interfejsów Arkusz kalkulacyjny Generator raportów Ian Sommerville Inżynieria oprogramowania Slajd nr 15 Języki programowania bazy danych Ian Sommerville Inżynieria oprogramowania Slajd nr 16 8

9 Scalanie komponentów i programów użytkowych Ian Sommerville Inżynieria oprogramowania Slajd nr 17 Prototypowanie interfejsu użytkownika Generatory interfejsów Prototyp HTML owy lub PHP Ian Sommerville Inżynieria oprogramowania Slajd nr 18 9

10 Inżynieria oprogramowania część IX Projektowanie architektoniczne Projektowanie architektoniczne Zawartość: Strukturalizacja systemu Modele sterowania Rozkład na moduły Architektury charakterystyczne dla różnych dziedzin Ian Sommerville Inżynieria oprogramowania Slajd nr 20 10

11 Projektowanie architektoniczne Wielkie systemy są zwykle podzielone na podsystemy, które oferują pewien zbiór powiązanych z sobą interfejsów. W początkowej fazie procesu projektowania identyfikuje się podsystemy, ustala się zrąb sterowania oraz komunikacji pomiędzy podsystemami. Faza ta jest nazywana projektowaniem architektonicznym. Produktem tej fazy jest opis architektury oprogramowania. Przypomnimy jak wygląda model procesu projektowania Ian Sommerville Inżynieria oprogramowania Slajd nr 21 Projektowanie architektoniczne Specyfikacja wymagań Czynności projektowe Projektowanie architektury Specyfikowanie abstrakcyjne Projektowanie interfejsów Projektowanie komponentów Projektowanie struktur danych Projektowanie algorytmów Architektura systemu Specyfikacja oprogramowania Specyfikacja interfejsów Specyfikacja komponentów Specyfikacja struktur danych Specyfikacja algorytmów Produkty projektowania Ian Sommerville Inżynieria oprogramowania Slajd nr 22 11

12 Projektowanie architektoniczne Czynności procesu projektowania: Projektowanie architektury. Identyfikuje i dokumentuje podsystemy tworzące system oraz związki między nimi. Specyfikowanie abstrakcyjne. Opracowuje się abstrakcyjną specyfikację usług i ograniczeń każdego podsystemu. Projektowanie interfejsów. Projektuje się i dokumentuje interfejsy każdego podsystemu z innymi podsystemami. Specyfikacja musi być jednoznaczna ponieważ umożliwia korzystanie z podsystemów bez znajomości ich działania. Projektowanie komponentów. Przypisuje się usługi do różnych komponentów i projektuje interfejsy tych komponentów. Ian Sommerville Inżynieria oprogramowania Slajd nr 23 Projektowanie architektoniczne Czynności procesu projektowania: Projektowanie struktur danych. Szczegółowo specyfikuje się i projektuje struktury danych użyte w implementacji systemu. Projektowanie algorytmów. Szczegółowo specyfikuje się i projektuje algorytmy służące do realizacji usług. Ian Sommerville Inżynieria oprogramowania Slajd nr 24 12

13 Projektowanie architektoniczne Model architektoniczny jest punktem początkowym do specyfikowania rozmaitych części systemu. Proces projektowania architektonicznego polega na ustaleniu podstawowego zrębu systemu. Obejmuje identyfikację najważniejszych komponentów systemu i komunikację między nimi. Ian Sommerville Inżynieria oprogramowania Slajd nr 25 Projektowanie architektoniczne Zalety jawnego projektowania i dokumentowania architektury oprogramowania: Komunikacja z uczestnikami. Architektura jest prezentacją systemu na wysokim poziomie, która może służyć za podstawę dyskusji w gronie różnych uczestników. Analiza systemu. Ujawnienie architektury systemu we wczesnej fazie budowania systemu daje możliwość przeprowadzenia analizy systemu. Decyzje projektowania architektonicznego mają znaczący wpływ na to, czy system spełni krytyczne wymagania dotyczące efektywności, niezawodności zdatności do pielęgnacji, czy nie Ian Sommerville Inżynieria oprogramowania Slajd nr 26 13

14 Projektowanie architektoniczne Zalety jawnego projektowania i dokumentowania architektury oprogramowania c.d.: Użycie wielokrotne w wielkiej skali. Architektura systemu jest zwartym i łatwym do opanowania opisem organizacji systemu i współpracy jego komponentów. Architekturę można przekazać innym systemom, które mają podobne wymagania. Pomaga to w użyciu wielokrotnym oprogramowania. Ian Sommerville Inżynieria oprogramowania Slajd nr 27 Projektowanie architektoniczne Wspólne czynności dla wszystkich procesów projektowania architektonicznego: Strukturalizacja systemu. System jest dzielony na kilka podstawowych podsystemów. Podsystem jest niezależną jednostką oprogramowania. Identyfikuje się komunikację między podsystemami. Modelowanie sterowania. Określa się ogólny model związków sterowania między częściami systemu. Podział na moduły. Każdy zidentyfikowany podsystem jest dzielony na moduły. Architekt musi wskazać typy modułów i ich połączenia. Ian Sommerville Inżynieria oprogramowania Slajd nr 28 14

15 Projektowanie architektoniczne Rozróżnienie między podsystemami i modułami: Podsystem jest systemem na swoich własnych prawach; jego usługi nie zależą od usług oferowanych przez inne podsystemy. Podsystemy składają się z modułów i mają interfejsy używane do komunikacji z innymi podsystemami. Moduł jest zwykle komponentem systemu, który oferuje co najmniej jedną usługę innym modułom. Nie traktujemy go jako oddzielnego podsystemu. Moduły są zbudowane z kilku innych, prostszych komponentów systemu. Ian Sommerville Inżynieria oprogramowania Slajd nr 29 Projektowanie architektoniczne Wynikiem procesu projektowania architektonicznego jest dokumentacja projektu architektonicznego, składająca się z graficznych przedstawień modelu systemu oraz tekstu opisowego. Dokumentacja ta powinna zawierać opis systemu jako struktury złożonej z podsystemów i każdego podsystemu jako struktury złożonej z modułów. Modele graficzne mogą przedstawiać różne perspektywy systemu. Ian Sommerville Inżynieria oprogramowania Slajd nr 30 15

16 Projektowanie architektoniczne Zakres modelu architektonicznego: Statyczny model strukturalny obejmuje komponenty lub podsystemy, które można zbudować jako niezależne jednostki. Model dynamiczny procesu, w którym przedstawia się podział systemu na procesy wg. czasu wykonania. Najczęściej różni się od modelu statycznego. Model interfejsów, w którym definiuje się usługi oferowane przez każdy podsystem za pośrednictwem jego interfejsu publicznego. Model związków, który obejmuje związki takie jak przepływ danych między podsystemami. Ian Sommerville Inżynieria oprogramowania Slajd nr 31 Projektowanie architektoniczne Architektura systemu ma wpływ na efektywność, niezawodność, łatwość pielęgnacji,.... Wybrany dla danego zastosowania styl i struktura mogą więc zależeć od wymagań niefunkcjonalnych systemu: Efektywność. Jeśli efektywność jest krytycznym wymaganiem to prawdopodobnie należy tak zaprojektować architekturę, aby umieścić krytyczne operacje w niewielkiej liczbie podsystemów komunikujących się między sobą w niewielkim stopniu. Oznacza to użycie komponentów gruboziarnistych co umożliwia zmniejszenie komunikacji między nimi. Zabezpieczenie. Jeśli zabezpieczenie jest krytycznym wymaganiem to należy zastosować architekturę warstwową i najbardziej krytyczne zasoby zabezpieczyć w najniższych warstwach. Ian Sommerville Inżynieria oprogramowania Slajd nr 32 16

17 Projektowanie architektoniczne Architektura systemu c.d.: Bezpieczeństwo. Jeśli bezpieczeństwo jest krytycznym wymaganiem, to należy tak zaprojektować architekturę aby operacje dotyczące bezpieczeństwa znalazły się w jednym podsystemie lub w niewielkiej ich liczbie. Zmniejszy to koszty i kłopoty związane z zatwierdzeniem bezpieczeństwa. Dostępność. Jeśli dostępność jest krytycznym wymaganiem, to w architekturze należy uwzględnić komponenty nadmiarowe, tak aby można było podmieniać i modyfikować komponenty bez zatrzymania systemu. Zdolność do pielęgnacji. Jeśli zdolność do pielęgnacji jest krytycznym wymaganiem to architektura powinna się składać z drobnoziarnistych samodzielnych komponentów, które można łatwo zmieniać. Niestety między architekturami często występują konflikty. Ian Sommerville Inżynieria oprogramowania Slajd nr 33 Strukturalizacja systemu. Pierwsza faza projektowania architektonicznego polega na podziale systemu na zbiór oddziałujących ze sobą podsystemów. Projekt architektoniczny przedstawia się za pomocą diagramu blokowego, na którym każdy prostokąt oznacza podsystem. Ian Sommerville Inżynieria oprogramowania Slajd nr 34 17

18 System sterowania robotem pakującym przedmioty System wizyjny System identyfikacji przedmiotów Sterownik ramienia Sterownik chwytacza System wyboru opakowania System pakujący Sterownik taśmociągu Ian Sommerville Inżynieria oprogramowania Slajd nr 35 Model repozytorium Aby efektywnie współpracować, podsystemy wchodzące w skład systemu muszą wymieniać między sobą informacje: Wszystkie współdzielone dane znajdują się w jednej bazie danych Każdy podsystem prowadzi swoją bazę danych. Dane są przekazywane innym podsystemom przez wysyłanie komunikatów Ian Sommerville Inżynieria oprogramowania Slajd nr 36 18

19 Architektura zintegrowanego zestawu narzędzi CASE Edytor projektów Generator kodu Translator projektów Repozytorium przedsięwzięcia Edytor programów Analizator projektów Generator raportów Ian Sommerville Inżynieria oprogramowania Slajd nr 37 Model repozytorium Wady i zalety współdzielonego repozytorium: Efektywny sposób współdziałania dużych ilości danych. Nie ma potrzeby jawnej transmisji z jednego podsystemu do drugiego. Twórcy podsystemów muszą uzgodnić model danych repozytorium. Prowadzi to do kompromisów między specyficznymi potrzebami każdego narzędzia. Integracja może być trudna Podsystemu produkujące dane nie muszą zajmować się sposobem użycia tych danych przez inne podsystemy. Ewolucja może być trudna, ponieważ duże ilości informacji powstają zgodnie z ustalonym modelem danych Łatwość tworzenia kopii zapasowych, sterowanie zabezpieczeniami i dostępem przy pomocy menedżera repozytorium Ian Sommerville Inżynieria oprogramowania Slajd nr 38 19

20 Model repozytorium Wady i zalety współdzielonego repozytorium c.d.: Różne podsystemy mogą mieć odmienne wymagania stawiane zabezpieczeniom oraz inne strategie odtwarzania z kopii zapasowych Model współdzielenia jest widoczny przez schemat repozytorium. Integracja nowych narzędzi jest bardzo łatwa o ile jest zgodna z przyjętym modelem danych Proces rozproszenia repozytorium po kilku narzędziach może być trudny Ian Sommerville Inżynieria oprogramowania Slajd nr 39 Model klient-serwer Architektoniczny model klient-serwer jest modelem rozproszonym systemu w którym dane i przetwarzanie jest rozproszone między zbiór procesorów. Główne komponenty systemu: Zbiór samodzielnych procesorów oferujących usługi innym podsystemom. Przykładami są systemy realizujące usługi drukowania, serwery plików, serwery kompilujące. Zbiór klientów, którzy korzystają z usług oferowanych przez serwery. Zwykle same w sobie są podsystemami. Może być kilka współbieżnie działających programów klient. Sieć dająca klientowi dostęp do serwerów Ian Sommerville Inżynieria oprogramowania Slajd nr 40 20

21 Biblioteka filmów i zdjęć Klient 1 Klient 2 Klient 3 Klient 4 Sieć ethernet Serwer katalogu Serwer filmów Serwer zdjęć Serwer hiper-txt Katalog Katalog Katalog Katalog Ian Sommerville Inżynieria oprogramowania Slajd nr 41 Model maszyny abstrakcyjnej Model maszyny abstrakcyjnej (zwany czasami modelem warstwowym) opisuje sprzęganie podsystemów. Układa system w ciąg warstw, z których każda oferuje pewne usługi. Każda warstwa, jest maszyną abstrakcyjną, której język maszynowy ( usługi oferowane przez tę warstwę ) służy do implementacji następnego poziomu maszyny abstrakcyjnej. Implementowanie języka często polega na kompilowaniu opisu na tzw. język maszyny idealnej a następnie na kod maszynowy. Podejście warstwowe ułatwia podejście przyrostowe Wadą jest wolny dostęp do warstw wewnętrznych i zmniejszenie przez to wydajności. Ian Sommerville Inżynieria oprogramowania Slajd nr 42 21

22 Model maszyny abstrakcyjnej zarządzania wersjami Zarządzanie wersjami Zarządzanie obiektami System bazy danych System operacyjny Ian Sommerville Inżynieria oprogramowania Slajd nr 43 Modele sterowania Modele do strukturalizacji opisują podział systemu na moduły. Aby podsystemy pracowały jako jeden system system, należy nimi sterować, tak aby ich usługi były dostarczane we właściwe miejsce i we właściwym czasie. Modele strukturalne nie obejmują informacji o sterowaniu. Modele sterowania na poziomie architektonicznym opisują przepływy sterowania między podsystemami. Ian Sommerville Inżynieria oprogramowania Slajd nr 44 22

23 Modele sterowania Możemy wyróżnić dwa ogólne podejścia do sterowania: Sterowanie scentralizowane. Jeden podsystem jest całościowo odpowiedzialny za sterowanie; to on uruchamia i zatrzymuje inne podsystemy. Może przekazać sterowanie innemu podsystemowi, ale będzie oczekiwał zwrotu odpowiedzialności za sterowanie. Sterowanie zdarzeniowe. Informacja o sterowaniu nie jest wbudowana w podsystem, ale każdy system może może reagować na zdarzenia zachodzące na zewnątrz. Te zdarzenia mogą występować w innych podsystemach lub w otoczeniu systemu. Wszystkie powyższe modele struktury mogą być zorganizowane za pomocą sterowania scentralizowanego jak i zdarzeniowego. Ian Sommerville Inżynieria oprogramowania Slajd nr 45 Sterowanie scentralizowane W modelu scentralizowanym jeden z podsystemów jest wybrany do roli sterownika systemu i odpowiada za działanie innych podsystemów. Modele te dzielimy na dwie klasy w zależności od tego czy systemy są sekwencyjne czy współbieżne. Model call-return. Jest to dobrze znany model podprogramów, w którym sterowanie zaczyna się na wierzchołku hierarchii podprogramów i przez wywołania podprogramów przechodzi do niższych poziomów drzewa. Model ten można zastosować jedynie do systemów sekwencyjnych. Model przedstawiony na następnym slajdzie nie jest modelem strukturalnym. Podprogram 1.1 nie musi być częścią składową programu 1. Ian Sommerville Inżynieria oprogramowania Slajd nr 46 23

24 Model call-return Ian Sommerville Inżynieria oprogramowania Slajd nr 47 Model menedżera Model scentralizowany c.d.: Model menedżera. Stosowany jedynie do systemów współbieżnych. Jeden z komponentów systemu jest wybierany do roli menedżera systemu i steruje rozpoczynaniem, zatrzymywaniem i koordynacją innych procesów. Proces jest podsystemem lub modułem, który może działać równolegle z innymi procesami. Model często używany do systemów real time (czasu rzeczywistego). Ian Sommerville Inżynieria oprogramowania Slajd nr 48 24

25 Model sterowania dla systemów Real-time Ian Sommerville Inżynieria oprogramowania Slajd nr 49 Systemy sterowane zdarzeniami Istnieje wiele rodzajów oprogramowań sterowanych zdarzeniami. Zdarzenia w tych modelach najczęściej przychodzą z zewnątrz. Zdarzenie nie oznacza po prostu binarnego sygnału. Może to być sygnał przyjmujący pewien zakres wartości. Różnica między zdarzeniem i zwykłymi danymi wejściowymi polega na tym, że proces obsługujący zdarzenie nie decyduje o czasie jego zajścia. Ian Sommerville Inżynieria oprogramowania Slajd nr 50 25

26 Systemy sterowane zdarzeniami Omówimy dwa modele sterowania zdarzeniowego: Modele rozgłaszania. W takich modelach zdarzenie jest w zasadzie ogłoszeniem dla wszystkich podsystemów. Każdy podsystem, który może obsłużyć to zdarzenie reaguje na nie. Modele z przerwaniami. Są używane najczęściej w systemach czasu rzeczywistego, gdzie zewnętrzne przerwania są wykrywane przez obsługę przerwań. Następnie są przekazywane do innego komponentu, który je przetworzy Ian Sommerville Inżynieria oprogramowania Slajd nr 51 Model sterowania z rozgłaszaniem Podsystem 1 Podsystem 2 Podsystem 3 Podsystem 4 Procedura obsługi zdarzeń i komunikatów Ian Sommerville Inżynieria oprogramowania Slajd nr 52 26

27 Model sterowania z przerwaniami Ian Sommerville Inżynieria oprogramowania Slajd nr 53 Rozkład na moduły Po zaprojektowaniu architektury strukturalnej następnym procesem projektowania architektonicznego jest podział podsystemów na moduły. Na tym poziomie można zastosować modele omówione na początku dzisiejszego wykładu. Ponieważ komponenty modułów są mniejsze niż podsystemy możemy zastosować inne modele dla podzielonego systemu: Model obiektowy. System jest dzielony na zbiór porozumiewających się obiektów. Model przepływu danych. System jest dzielony na moduły funkcjonalne, które pobierają dane wejściowe i przetwarzają je na dane wyjściowe. Model ten bywa nazywany modelem potokowy. Ian Sommerville Inżynieria oprogramowania Slajd nr 54 27

28 Modele obiektowe Model obiektowy architektury systemu dzieli się na zbiór luźno uzależnionych od siebie obiektów z dobrze zdefiniowanymi interfejsami. Obiekty korzystają z usług oferowanych przez inne obiekty. Na następnym slajdzie pokazano przykład architektonicznego modelu obiektowego dla systemu fakturowania. System wystawia klientom faktury, przyjmuje zapłaty, drukuje pokwitowania płatności i upomnienia o niezapłaconych fakturach. Ian Sommerville Inżynieria oprogramowania Slajd nr 55 Model obiektowy w systemie fakturowania Ian Sommerville Inżynieria oprogramowania Slajd nr 56 28

29 Model przepływu danych W modelu przepływu danych przekształcenia funkcyjne przetwarzają dane wejściowe na dane wyjściowe. Dane przepływają od do drugiego procesu i są przekształcane w miarę swej wędrówki przez cały ciąg. Każdy krok przetwarzania jest implementowany jako przekształcenie. Dane wejściowe przepływają przez te przekształcenia do chwili wytworzenia z nich danych wyjściowych. Przekształcenia mogą działać sekwencyjnie lub równolegle. Przekształcenie może przetwarzać dane jedna po drugiej lub w postaci wsadu. Ian Sommerville Inżynieria oprogramowania Slajd nr 57 Model przepływu danych Ian Sommerville Inżynieria oprogramowania Slajd nr 58 29

30 Model przepływu danych system fakturowania Ian Sommerville Inżynieria oprogramowania Slajd nr 59 Model przepływu danych system fakturowania Zalety modelu przepływu danych: Umożliwia użycie wielokrotne przekształceń Jest intuicyjna dla wielu ludzi, którzy myślą o swojej pracy w kategorii przetwarzania wejścia i wyjścia. Ewolucja systemu polegająca na dodawaniu nowych przekształceń jest bardzo łatwa. Ta architektura jest łatwa do zaimplementowania zarówno jako system sekwencyjny jak i współbieżny. Ian Sommerville Inżynieria oprogramowania Slajd nr 60 30

31 Architektury charakterystyczne dla różnych dziedzin Istnieją dwa rodzaje modeli architektonicznych charakterystyczna dla dziedziny: Modele ogólne, które są abstrakcjami systemów takich jak: modele architektoniczne, systemy gromadzenia danych, systemy monitorowania, itd. Modele odniesienia, które są jeszcze bardziej abstrakcyjne i opisują większe klasy systemów. Ian Sommerville Inżynieria oprogramowania Slajd nr 61 Modele ogólne Najbardziej znanym przykładem architektonicznego modelu ogólnego jest model kompilatora. Moduły kompilatora: Analizator leksykalny, który pobiera symbole języka wejściowego i przekształca je w postać wewnętrzną. Tabela symboli budowana przez analizator leksykalny przechowuje informację o nazwach i typach użytych w programie. Analizator składniowy, który sprawdza składnie kompilowanego języka. Korzysta z definicji gramatyki i buduje drzewo składni. Drzewo składni, które wewnętrzną strukturą danych reprezentującą kompilowany program. Analizator znaczeniowy, który korzystając z informacji drzewa składni i tabeli symboli sprawdza znaczeniową poprawność programu wejściowego Generator kodu, który przechodzi drzewo składni i generuje kod maszynowy. Ian Sommerville Inżynieria oprogramowania Slajd nr 62 31

32 Model przepływu danych kompilatora Tabela symboli Analiza leksykalna Analiza składniowa Analiza znaczeniowa Generowanie kodu Ian Sommerville Inżynieria oprogramowania Slajd nr 63 Model repozytorium systemu przetwarzania języka Analizator leksykalny Analizator składniowy Analizator znaczeniowy Generator prezentacji Drzewo składni abstrakcyjnej Definicja gramatyki Optymalizator Edytor Tabela symboli Definicja wyniku Generator kodu Ian Sommerville Inżynieria oprogramowania Slajd nr 64 32

33 Modele odniesienia Ogólne modele architektoniczne odzwierciedlają architekturę istniejących systemów. Modele odniesienia są natomiast wynikami badań dziedziny zastosowania. Reprezentują wyidealizowane architektury obejmujące wszystkie udogodnienia jakie system potencjalnie może oferować. Architektury odniesienia mogą służyć jako podstawa implementacji systemu. Taki był motyw powstania modelu referencyjnego OSI (Zimmerman, 1980) do komunikacji systemów otwartych. Ten model był z założenia standardem. System zgodny z tym modelem powinien móc się skontaktować z innymi zgodnymi systemami. Model OSI jest siedmiowarstwowym modelem komunikacji systemów otwartych. Ian Sommerville Inżynieria oprogramowania Slajd nr 65 Architektura modelu OSI Aplikacja Ian Sommerville Inżynieria oprogramowania Slajd nr 66 33

Inżynieria Programowania - Projektowanie architektoniczne

Inżynieria Programowania - Projektowanie architektoniczne Inżynieria Programowania - Projektowanie architektoniczne Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 22 października 2016 1 2 3 4 5 Architektury charakterystyczne dla różnych dziedzin

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie 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ółowo

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką? ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

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:

Bardziej szczegółowo

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie Wykład 3 MIS-1-505-n Inżynieria Październik 2014 Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie 3.1 Agenda 1 2 3 4 5 3.2 Czynności w czasie produkcji. Inżynieria stara się zidentyfikować

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

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

Bardziej szczegółowo

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014 Wykład 4 MIS-1-505-n Inżynieria oprogramowania Październik 2014 Metody Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie 4.1 Agenda 1 2 3 Metody Metody 4 5 4.2 Implementacja Metody

Bardziej szczegółowo

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Projektowanie 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ółowo

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie

Bardziej szczegółowo

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk PROGRAM PRAKTYKI ZAWODOWEJ Technikum Zawód: technik informatyk 351203 Lp. Temat 1 Zajęcia wprowadzające. Zapoznanie z zakładem, regulaminem pracy, przepisami BHP oraz instruktaż bhp. 2 Montaż i eksploatacja

Bardziej szczegółowo

Inżynieria Programowania Inżynieria wymagań. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Arkadiusz Chrobot

Inżynieria Programowania Inżynieria wymagań. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Arkadiusz Chrobot Inżynieria Programowania Inżynieria Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 20 października 2015 Plan wykładu 1. Wstęp 2. Studium wykonywalności 3. Określanie

Bardziej szczegółowo

Etapy życia oprogramowania

Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano

Bardziej szczegółowo

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

Inżynieria oprogramowania

Inż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ółowo

Cykle życia systemu informatycznego

Cykle życia systemu informatycznego Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów

Bardziej szczegółowo

Wytwórstwo oprogramowania. michał możdżonek

Wytwórstwo oprogramowania. michał możdżonek Wytwórstwo oprogramowania michał możdżonek 01.2008 Plan wykładu 1. Proces tworzenie oprogramowania 2. Zarządzanie projektami 3. Wymagania 4. Projektowanie 5. Testowanie 6. Szacowanie złożoności i kosztu

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która

Bardziej szczegółowo

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS Niniejszy dokument jest syllabusem obowiązującym dla certyfikatu EUCIP ver. 2.6. Prezentuje obszary wiedzy, których znajomość jest niezbędna do

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY 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ółowo

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. 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ółowo

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

NIFIED M L ODELLING ANGUAGE. Diagramy czynności U M L NIFIED ODELLING ANGUAGE Diagramy czynności 1 Czym jest diagram czynności? Jeden z pięciu rodzajów diagramów UML służących do modelowania dynamicznych aspektów systemu. Przedstawia przepływ sterowania

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

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

Bardziej szczegółowo

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa

Bardziej szczegółowo

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem PROJEKTOWANIE określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja PROJEKT most pomiędzy specyfikowaniem

Bardziej szczegółowo

Inżynieria oprogramowania (Software Engineering)

Inżynieria oprogramowania (Software Engineering) Inżynieria oprogramowania (Software Engineering) Wykład 2 Proces produkcji oprogramowania Proces produkcji oprogramowania (Software Process) Podstawowe założenia: Dobre procesy prowadzą do dobrego oprogramowania

Bardziej szczegółowo

Metody Kompilacji Wykład 1 Wstęp

Metody Kompilacji Wykład 1 Wstęp Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,

Bardziej szczegółowo

Programowanie zespołowe

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

Bardziej szczegółowo

Wstęp do zarządzania projektami

Wstęp do zarządzania projektami Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

Zasady organizacji projektów informatycznych Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych

Bardziej szczegółowo

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Szymon Klimuk Nr albumu: 187408 Praca magisterska na kierunku Informatyka Monitorowanie

Bardziej szczegółowo

Inżynieria Programowania Zarządzanie projektem

Inżynieria Programowania Zarządzanie projektem Inżynieria Programowania Zarządzanie projektem Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 12 października 2015 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4

Bardziej szczegółowo

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś (często stosowany w praktyce do projektów o niewielkiej złożoności) wymagania specyfikowanie kodowanie

Bardziej szczegółowo

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1.Tryby komunikacji między procesami w standardzie Message Passing Interface. 2. HTML DOM i XHTML cel i charakterystyka. 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Inżynieria oprogramowania Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Punkt widzenia (Point of View) Systemy oprogramowania mają zwykle kilku różnych użytkowników. Wielu

Bardziej szczegółowo

Wstęp do zarządzania projektami

Wstęp do zarządzania projektami Wstęp do zarządzania projektami Definicja projektu Projekt to tymczasowe przedsięwzięcie podejmowane w celu wytworzenia unikalnego wyrobu, dostarczenia unikalnej usługi lub uzyskania unikalnego rezultatu.

Bardziej szczegółowo

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410) Spis treści Dzień 1 I Konfiguracja sterownika (wersja 1410) I-3 Zadanie Tworzenie konfiguracji sprzętowej I-4 Co jest potrzebne by zacząć? I-5 TIA Portal ekran startowy I-6 Tworzenie nowego projektu I-7

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Inżynieria Programowania - Projektowanie architektoniczne. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki.

Inżynieria Programowania - Projektowanie architektoniczne. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Inżynieria Programowania - Projektowanie architektoniczne Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 30 marca 2013 Plan wykładu 1. Wstęp 2. Strukturalizacja systemu

Bardziej szczegółowo

Usługa: Testowanie wydajności oprogramowania

Usługa: Testowanie wydajności oprogramowania Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych

Bardziej szczegółowo

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0> Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą

Bardziej szczegółowo

Inżynieria Programowania Zarządzanie projektem. Plan wykładu. Motto. Motto 2. Notatki. Notatki. Notatki. Notatki.

Inżynieria Programowania Zarządzanie projektem. Plan wykładu. Motto. Motto 2. Notatki. Notatki. Notatki. Notatki. Inżynieria Programowania Zarządzanie projektem Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 3 października 2013 Plan wykładu 1. Wstęp 2. Czynności zarządzania 3.

Bardziej szczegółowo

Wykład 7. Projektowanie kodu oprogramowania

Wykł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ółowo

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36 Inżynieria Oprogramowania Inżynieria Oprogramowania 1/36 Inżynieria Oprogramowania 2/36 Literatura 1. Gamma E. i in.: Wzorce projektowe, WNT, Warszawa 2005 2. Jaszkiewicz A.: Inżynieria oprogramowania,

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

Inżynieria Programowania Inżynieria wymagań

Inżynieria Programowania Inżynieria wymagań Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 11 marca 2017 Plan wykładu 1 2 3 Określanie i analizowanie wymagań 4 5 Plan wykładu 1 2 3 Określanie i analizowanie wymagań 4 5 Plan wykładu

Bardziej szczegółowo

Pytania z przedmiotów kierunkowych

Pytania z przedmiotów kierunkowych Pytania na egzamin dyplomowy z przedmiotów realizowanych przez pracowników IIwZ studia stacjonarne I stopnia Zarządzanie i Inżynieria Produkcji Pytania z przedmiotów kierunkowych 1. Co to jest algorytm?

Bardziej szczegółowo

Opis Architektury Systemu Galileo

Opis Architektury Systemu Galileo Opis Architektury Systemu Galileo Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Marek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 5 1.1 Cel.......................................... 5 1.2 Zakres........................................

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie Inżynieria wymagań Wykład 2 Proces pisania przypadków użycia Część 6 Wskazówki i sugestie Opracowane w oparciu o materiały IBM (kurs REQ570: Writing Good Use Cases) Wyzwania podczas pisania przypadków

Bardziej szczegółowo

Technik informatyk Symbol 351203

Technik informatyk Symbol 351203 Technik informatyk Symbol 351203 Kwalifikacje: E.12. - Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych. E.13. - Projektowanie lokalnych sieci komputerowych i administrowanie sieciami.

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykł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ółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Inżynieria wymagań. Inżynieria wymagań 1/1

Inżynieria wymagań. Inżynieria wymagań 1/1 Inżynieria wymagań Inżynieria wymagań 1/1 Inżynieria wymagań 2/1 Wymagania stawiane oprogramowaniu Opisy usług i ograniczeń są wymaganiami stawianymi systemowi. Proces wynajdowania, analizowania, dokumentowania

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Specyfikowanie wymagań przypadki użycia

Specyfikowanie wymagań przypadki użycia Specyfikowanie wymagań przypadki użycia Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. 1 ZARZĄDZANIE PROCESAMI I PROJEKTAMI 2 ZAKRES PROJEKTU 1. Ogólna specyfika procesów zachodzących w przedsiębiorstwie 2. Opracowanie ogólnego schematu procesów zachodzących w przedsiębiorstwie za pomocą

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Wstęp. Podstawy inżynierii oprogramowania. Slajdy na podstawie podręcznika: Iana Sommerville a Inżynieria oprogramowania

Wstęp. Podstawy inżynierii oprogramowania. Slajdy na podstawie podręcznika: Iana Sommerville a Inżynieria oprogramowania Wstęp Podstawy inżynierii oprogramowania Slajdy na podstawie podręcznika: Iana Sommerville a Inżynieria oprogramowania Slajd 1 Inżynieria oprogramowania Gospodarki wszystkich rozwiniętych krajów zależą

Bardziej szczegółowo

Technik informatyk. 3) efekty kształcenia właściwe dla kwalifikacji wyodrębnionych w zawodzie technik informatyk

Technik informatyk. 3) efekty kształcenia właściwe dla kwalifikacji wyodrębnionych w zawodzie technik informatyk Technik informatyk Technik informatyk potwierdzając kwalifikacje wchodzące w skład tego zawodu, uzyskuje wiedzę i umiejętności niezbędne do pracy w trzech obszarach branży informatycznej. E12 - montaż

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

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

Bardziej szczegółowo

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne Definiowanie wymagań Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: 1. Definicja wymagań jest zapisana w języku naturalnym jako rezultat rozmów z przedstawiciela klienta 2. Specyfikacja

Bardziej szczegółowo

Inżynieria Programowania Testowanie oprogramowania

Inżynieria Programowania Testowanie oprogramowania Inżynieria Programowania Testowanie oprogramowania Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 15 stycznia 2011 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4

Bardziej szczegółowo

Szybkie prototypowanie w projektowaniu mechatronicznym

Szybkie prototypowanie w projektowaniu mechatronicznym Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy Informatyki Basic Informatics Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: ogólny Poziom studiów: studia I stopnia forma studiów: studia stacjonarne Rodzaj

Bardziej szczegółowo

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania prowadzący: dr inż. Krzysztof Bartecki www.k.bartecki.po.opole.pl Proces tworzenia oprogramowania jest zbiorem czynności i

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE Definicja ITQB Testowanie integracyjne (integration testing) wykonywane w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami lub systemami

Bardziej szczegółowo

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

koniec punkt zatrzymania przepływów sterowania na diagramie czynności Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

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

Bardziej szczegółowo

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających

Bardziej szczegółowo