IO-EgzaminBAMBOLEO, SEMESTRY, Sem 6, Algorytmy Rownolegle


1. Jaką grupę wymagań modeluje się za pomocą przypadków użycia?

Wymagania użytkownika , wymagania funkcjonalne (jak jedno to nie wiem które)


2. Kim jest aktor? Podaj symbol.

Aktor: abstrakcyjny użytkownik systemu, reprezentujący grupę użytkowników używających podobnych funkcji systemu i sposobu z nim komunikacji. Symbol to ludzik ,jak wygląda każdy wie.

0x01 graphic


3.
Co to jest przypadek użycia. Podaj klasyfikacje aktorów ze względu na używaną przez nich funkcję systemu.

Przypadek użycia: ciąg interakcji pomiędzy aktorem a systemem, dostarczający aktorowi pożądanych wyników.

Klasyfikacja aktorów:

- aktor główny: używa podstawowych funkcji systemu

- aktor drugorzędny: używa funkcji administracyjnych i pielęgnacyjnych

- aktor aktywny: inicjuje przypadek użycia

- aktor pasywny: uczestniczy w przypadku użycia, ale go nie inicjuje


4. Co oznacza relacja "używa"("uses")? Podaj symbol. Jak nazywa się ta relacja w najnowszej wersji języka UML?
Relacja „extends”.

- wskazuje na wspólny fragment wielu przypadków użycia, wykorzystanie wspólnego zachowania

- rozszerzenie przypadku użycia o sytuację wyjątkową

Relacja „uses” w najnowszej wersji jezyka UML nazywana jest „include” a jej symbol to <<include>>


5. Czy możliwa jest komunikacja pomiędzy aktorami na diagramie przypadków użycia? Odpowiedź uzasadnij i skomentuj w kontekście zadań modelu przypadku użycia.

0x08 graphic
Nie wiem dokladnie o co chodzi (bo to takie kurwa wszystko niejasne w tym przedmiocie). Ale jeśli chodzi im o komunikacje bezposrednią (strzalka od razu od jednego aktora do drugiego) to nie jest możliwa taka opcja , jedynie poprzez przypadek uzycia czyli tak jak na tym przykładzie obok albo wymeldowanie z hotelu albo zameldowanie. Glownie w diagramach przypadkow uzycia chodzi o zauważenie interakcji użytkownika z systemem a nie użytkowników miedzy soba, także związku użytkownika z konkretnym przypadkiem uzycia i wynikiem jaki otrzymuje.


6. Opisz ogólny schemat przejścia między stanami.

0x08 graphic
0x01 graphic

7. W jaki sposób na diagramie sekwencji oznacza się pewne własności interakcji, np. interakcje wywoływane w pętli?

Często zachodzi konieczność wskazania specjalnej własności pewnej części interakcji, np. pętli. Na diagramach sekwencji taką grupę operacji obejmuje się prostokątem, w którego lewym górnym narożniku, w pięciokącie umieszcza się słowo kluczowe lub opis określający znaczenie danego bloku (tzw. operator interakcji), np.:

• alt (od alternative) - określający warunek wykonania bloku operacji, odpowiadający instrukcji if-else; warunek umieszcza się wówczas wewnątrz bloku w nawiasach kwadratowych

• opt (od optional) - reprezentujący instrukcję if (bez else)

• par (od parallel) - nakazujący wykonać operacje równolegle

• critical - oznaczający obszar krytyczny

• loop - definiujący pętlę typu for (o określonej z góry liczbie iteracji) lub while (wykonywanej dopóki pewien warunek jest prawdziwy)
8. Co to jest wywoływanie asynchroniczne operacji? Jak się je oznacza?

Oznacza powrót z wywołania procedury; może być pomijany.

0x01 graphic

0x01 graphic

9.symbole początku życia obiektu i końca życia - siakoś tak

koło - początek życia

koło z obręczą wokół niego cienką również okrągłą - koniec życia.

W Umbrello wszystko to było koloru czerwonego .

10. Największa różnica między diagramem maszyny stanowej a czynności

11. Coś w tym stylu - dlaczego diagram sekwencji jest doskonały do pokazania programowania obiektowego

12. W jaki sposób można oceniać produktywność programisty

Produktywność:

-> W procesie tworzenia oprogramowania menedżerowie muszą oceniać produktywność inżynierów. Takie oszacowania mogą być niezbędne przy szacowaniu kosztów przedsięwzięcia i przy ustalaniu, czy ulepszenia procesowe i technologiczne były skuteczne.

-> Problemy z określeniem produktywności:

- W wypadku budowy oprogramowania istnieje wiele różnych rozwiązań o różnych atrybutach.

- Gdy pojawiają się dwa rozwiązania o różnych atrybutach, porównywanie szybkości ich tworzenia nic tak naprawdę nie daje. Jedno rozwiązanie może działać bardziej efektywnie, podczas gdy inne jest bardziej czytelne i łatwiejsze do pielęgnacji.

Rodzaje miar:

Szacowanie kosztu pracy programisty za pomocą liczby wierszy kodu:

Szacowanie kosztu pracy programisty za pomocą punktów funkcyjnych

Inną stosowaną miarą jest liczba punktów funkcyjnych.

Całkowitą liczbę punktów funkcyjnych wyznacza się przez zmierzenie lub oszacowanie następujących elementów programu:

- zewnętrzne dane wejściowe i wyjściowe,

- interakcje z użytkownikiem,

- interfejsy zewnętrzne,

- pliki używane przez system.

Wagi: od 3 (proste dane wejściowe) do 15 (złożone pliki)

UFC = ∑ liczba_elementów_danego_typu x waga

Punkty funkcyjne są niezależnie od języka, można więc za ich pomocą porównywać produktywność w różnych językach programowania. Produktywność wyraża się jako liczby punktów funkcyjnych utworzonych w czasie miesiąca.

Szacowanie kosztu pracy programisty za pomocą punktów obiektowych:

W przypadku stosowania narzędzi obiektowych, stosujemy miarę w postaci liczby punktów obiektowych - miarę ważoną następujących składników:

- liczba różnych wyświetlanych ekranów (prosty ekran to 1 punkt obiektowy, bardzo złożony ekran - 3)

- liczba tworzonych raportów (prosty raport to 2 punkty obiektowe, bardzo złożony - 8 punktów)

- liczba modułów napisanych w językach proceduralnych, które należy opracować w celu uzupełnienia kodu (każdy moduł liczy się jako 10 punktów obiektowych.

13. Wymień cechy i omów:

Architektury wieloprocesorowe

Architektury klient-serwer

  1. Zbiór samodzielnych serwerów oferujących usługi innym podsystemom. Przykładami są serwery wydruku realizujące usługi drukowania, serwery plików realizujące usługi zarządzania plikami.

  2. Zbiór klientów, którzy korzystają z usług oferowanych przez serwery. Zwykle same w sobie są podsystemami.

  3. Sieć, która daje klientom dostęp do tych usług.

Architektury obiektów rozproszonych

14. Narysuj przykładowy diagram obiektów. W jakich przypadkach może się on okazać użyteczny?

0x08 graphic
0x01 graphic

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

15. Co to jest obiekt? Podaj definicję i symbol graficzny.

Obiekt jest bytem, który posiada swój stan i zbiór zdefiniowanych operacji działających na tym stanie.

- stan jest reprezentowany jako zbiór atrybutów (ang. attributes) obiektu.

Symbol obiektu=reprezentacja graficzna klasy(patrz nizej)

16. Czym są atrybuty? Czy związek między klasami może posiadać atrybuty? jeżeli tak, to podaj przykład i symbol.

Atrybuty określają stan obiektu. Tak związki miedzy klasami mogą posiadać atrybuty między innymi:

Tak, zwiazem miedzy klasami może mieć atrybut. Taki związek z atrybutem nazywamy związkiem kwalifikowanym.

0x08 graphic
0x01 graphic

18. Omów związki między klasami i podaj ich symbole

0x01 graphic

Czyli symbol chyba kreska?

Uogólnienie-

0x01 graphic

Symbol-nie wypełniona strzałka

Agregacja-(ang. aggregation): tworzenie nowej klasy, przy użyciu klas już istniejących. Nowa klasa może być zbudowana z dowolnej liczby obiektów (obiekty te mogą być dowolnych typów) i w dowolnej kombinacji, by uzyskać żądany efekt. Jest to relacja typu "zawiera" np: "samochód zawiera koła i silnik" - gdzie „samochód”, „koło” i „silnik” są klasami. Symbol - linia zakończona rombem.

0x08 graphic
0x01 graphic

Symbol-pusty romb

Kompozycja- (ang. composition): składanie się obiektu z obiektów składowych, które nie mogą istnieć bez obiektu głównego. Kompozycja jest relacją typu "posiada". Dana część może należeć tylko do jednej całości. Część nie może istnieć bez całości, a usunięcie całości powoduje automatyczne usunięcie wszystkich części związanych z nią związkiem kompozycji. Symbol - linia zakończona zaczernionym rombem.

0x08 graphic
0x01 graphic

Symbol-wypełniony romb

Zależność (ang. dependency) - między klasami zachodzi, jeżeli zmiany dokonane w stanie jednego z obiektów danej klasy mogą mieć wpływ na obiekt należący do innej klasy.

0x08 graphic
0x01 graphic

Symbol - strzałka z przerywana linią

Związek, tak jak i obiekt, też może posiadać atrybuty

(tzw. związek kwalifikowany).

19. Fazy procesu produkcji

20. Modelowanie procesu tworzenia oprogramowania

21. Podział wymagań stawianych oprogramowaniu

AD I:
Wymagania funkcjonalne

Przykłady wymagań funkcjonalnych

Problemy wynikające z braku ścisłości przy definiowaniu wymagań

AD II

Wymagania niefunkcjonalne

Klasyfikacja wymagań niefunkcjonalnych

Problemy związane z wymaganiami niefunkcjonalnymi

Rozwiązywanie problemów związanych z wymaganiami niefunkcjonalnymi

AD III

Wymagania dziedzinowe

Problemy z wymaganiami dziedzinowymi

22. Modele procesów tworzenia oprogramowania

0x01 graphic

Problemy modelu kaskadowego

Tworzenie ewolucyjne polega na opracowaniu wstępnej implementacji, pokazaniu jej użytkownikowi z prośbą o komentarze i udoskonalaniu jej w wielu wersjach aż do powstania odpowiedniego systemu.

Typy tworzenia ewolucyjnego:

Tworzenie ewolucyjne - zastosowania i problemy

zastosowania i problemy:

W większości przedsięwzięć programistycznych występuje wielokrotne użycie oprogramowania.

Etapy procesu:

Zakłada się istnienie dużego zbioru dostępnych komponentów programowych do użycia wielokrotnego oraz integrującej je struktury.

23. Iteracja procesu. Tworzenie przyrostowe i spiralne

Iteracja:

Tworzenie przyrostowe:

Zalety procesu tworzenia przyrostowego:

Tworzenie spiralne

Każda pętla spirali jest podzielona na cztery sektory:

24. Metody projektowania, wyszukiwanie błędów

Metody projektowania:

wyszukiwanie błędów:

25. Fazy procesu testowania. Testowania Alpha i Beta.

Fazy procesu testowania

- Moduł jest kolekcją niezależnych komponentów takich jak klasy obiektów, abstrakcyjne typy danych, albo bardziej luźną kolekcją procedur i funkcji.

Testowanie odbiorcze

Testowania Alpha i Beta:

26. Projektowanie obiektowe, Strategie obiektowe, Obiekt, klasa obiektów + reprezentacja graficzna, komunikacja między obiektami, budowa modelu obiektowego.

Projektowanie obiektowe:

Strategie obiektowe

Obiekt jest bytem, który posiada swój stan i zbiór zdefiniowanych operacji działających na tym stanie.

- stan jest reprezentowany jako zbiór atrybutów (ang. attributes) obiektu.

- operacje (ang. operations) skojarzone z obiektem służą do oferowania usług innym obiektom (klientom), które mogą żądać tych usług, gdy potrzebują wyników ich działania.

Klasa obiektów (ang. class)

0x01 graphic

Komunikacja pomiędzy obiektami:

// Wywołaj operację (w obiektowych językach programowania operacje nazywa się metodami) dla obiektu buforCykliczny, która pobiera kolejną wartość z bufora i zapisuje ją do zmiennej.

w = buforCykliczny.pobierz()

// Wywołaj metodę termostatu, ustawiającą temperaturę

termostat.ustawTemperaturę(20);

Budowa modelu obiektowego

Podejście praktyczne polega na wyselekcjonowaniu rzeczowników z Specyfikacji Wymagań Systemowych i potraktowaniu ich jako identyfikatorów klas obiektów.

Innym źródłem identyfikacji obiektów mogą być:

Podejście praktyczne polega na wyselekcjonowaniu rzeczowników z Specyfikacji Wymagań Systemowych i potraktowaniu ich jako identyfikatorów klas obiektów.

Innym źródłem identyfikacji obiektów mogą być:

27. Diagramy-opis i przykłady.

diagram klas (class)


Diagram klas jest ściśle powiązany z projektowaniem obiektowym systemu informatycznego lub wręcz bezpośrednio z jego implementacją w określonym języku programowania. Elementami tego diagramu są klasy, reprezentowane przez prostokąty, które mogą zawierać informację o polach i metodach klasy.

0x01 graphic

Związki pomiędzy klasami są oznaczane liniami, które mogą, opcjonalnie, mieć strzałkę wskazującą kierunek relacji. Końce związków mogą także być oznaczone krotnościami: mówią one o tym, ile obiektów danej klasy może brać udział w danej relacji. Na przykład istnieje jeden katalog ale może się nim posługiwać dowolna liczba pracowników biblioteki (co oznaczamy 0...*). Inną ciekawą relacją pokazaną na diagramie jest agregacja między biblioteką i książką, oznaczona linią z  rombem po stronie biblioteki. Agregacja oznacza relację część-całość, przy czym romb jest oczywiście po stronie całości.

diagram obiektów (object)

diagram struktur złożonych (composite structure)

diagram pakietów (package diagram)

Diagram pakietów służy do tego, by uporządkować strukturę zależności w systemie, który ma bardzo wiele klas, przypadków użycia itp. Przyjmujemy, że pakiet zawiera w sobie wiele elementów, które opisują jakieś w miarę dobrze określone zadanie. Na diagramie umieszczamy pakiety i wskazujemy na zależności między nimi. Dzięki temu dostajemy na jednym diagramie obraz całości, bądź dużego fragmentu, systemu.

0x01 graphic

diagram komponentów (component)

Diagram komponentów robimy z podobnych powodów, co diagram pakietów - chcemy podzielić system na prostsze elementy i pokazać zależności między nimi. Diagram pakietów koncentrował się na podziale systemu z logicznego punktu widzenia, diagram komponentów z kolei dzieli system na fizyczne elementy oprogramowania: pliki, biblioteki, gotowe, wykonywalne programy itp.

0x01 graphic

diagram wdrożenia (deployment)

diagram przypadków użycia (use cases)

Diagram przypadków użycia opisuje system z punktu widzenia użytkownika, pokazuje co robi system, a nie jak to robi. Diagram ten sam w sobie zazwyczaj nie daje nam zbyt wielu informacji, dlatego też zawsze potrzebna jest do niego dokumentacja w postaci dobrze napisanego przypadku użycia. Przypadki użycia są bardzo ważnym narzędziem zbierania wymagań. Diagramy przypadków użycia, mimo swojej prostoty, są bardzo przydatne, gdyż tworzą swojego rodzaju spis treści dla wymagań modelowanego systemu.

0x01 graphic

diagram maszyny stanowej (state machine)

Diagramy interakcji mówiły nam o zachowaniu obiektów, diagram stanów z kolei służy do tego, by pokazać w jakich stanach mogą być obiekty. Poniżej widzimy diagram stanów obiektu dane:

0x01 graphic

Podstawowymi elementami diagramu są stany obiektu połączone strzałkami przejść. Obiekt, reagując na nadchodzące zdarzenia, jeżeli spełnione są określone warunki, zmienia swój stan i położenie na diagramie stanu

STAN:

• entry: jest akcją wykonywaną w momencie gdy obiekt przyjmuje dany stan; akcja ta jest wykonywana jeden raz i niepodzielnie

• do: jest akcją wykonywaną nieprzerwanie w czasie, gdy obiekt przebywa w tym stanie

• exit: oznacza (analogicznie do entry) moment opuszczenia stanu; podobnie, akcja taka jest wykonywana tylko raz.

• event: reprezentuje akcję wykonywaną w momencie nadejścia zdarzenia określonego typu

Przejścia pomiędzy stanami:

• wyzwalacza (ang. trigger) - zdarzenia, które może spowodować przejście i zmianę stanu

• dozoru (ang. guard condition) - warunku, jaki musi być spełniony, aby przejście zostało wykonane; warunek ten jest ewaluowany w momencie pojawienia się wyzwalacza

• akcji (ang. action) - operacji wykonywanej w momencie przejścia ze stanu do stanu; nawet jeżeli akcja przejścia jest złożona z wielu akcji elementarnych, jest ona wykonywana niepodzielnie

• zdarzenia (ang. event) - wysyłanego w momencie wykonania przejścia

Pseudostany:

• początkowy, który reprezentuje obiekt w momencie jego utworzenia.

• końcowy, który reprezentuje usunięcie obiektu z systemu.

• decyzja, przedstawiająca wybór pomiędzy dwiema wartościami logicznymi pewnego wyrażenia.

• złączenie/rozwidlenie - powoduje synchronizację stanów (wszystkie dochodzące do niego przejścia muszą być wykonane)

• historia (literka H w okręgu wewnątrz stanu) - zapewnia możliwość zapamiętania poprzedniego stanu obiektu i przywrócenie go.

Stany złożone:

diagram czynności (activity)

Diagram aktywności jest pewną mutacją diagramu stanów, z tą różnicą, że diagram aktywności skupia się raczej na opisaniu jakiegoś procesu, w którym uczestniczy wiele obiektów, zaś diagram stanów pokazuje, jakie są możliwe stany konkretnego obiektu. Diagram aktywności jest bardzo dobrym narzędziem, gdy chcemy przedstawić odpowiedzialność obiektów w ramach jakiegoś procesu.

0x01 graphic

W odróżnieniu od diagramu maszyny stanowej, diagram czynności może obejmować wiele obiektów na raz, zwykle umieszczanych w odpowiednich torach

diagram sekwencji (sequence)

Analogiczną informację do diagramu komunikacji zawiera drugi z diagramów interakcji, diagram przebiegu. Diagram komunikacji koncentrował się na zobrazowaniu współpracy między obiektami, teraz chcemy pokazać kolejność przesyłania komunikatów i czas istnienia obiektów.

0x01 graphic

diagram komunikacji (communication)

Diagram współpracy jest jednym z czterech diagramów interakcji. Używamy go po to, żeby zobrazować dynamikę systemu - wzajemne oddziaływanie na siebie obiektów oraz komunikaty, jakie między sobą przesyłają.

0x01 graphic

diagram przeglądu interakcji (interaction overview)

diagram uwarunkowań czasowych (timing)

28.Czym jest UML oraz OMG

UML:

Czym nie jest UML:

- UML nie określa metody modelowania

- zaleca jedynie stosowanie podejścia przyrostowego

- UML to specyfikacja dla narzędzi

- generowanie kodu z modelu stosowane jest obecnie na niewielką, choć stale zwiększającą się skalę (przyczyna: dopiero teraz powstają narzędzia CASE lepiej wspomagające ten proces)

OMG - Object Management Group :

3

Diagramy obiektów przydają się w przypadku szczególnie skomplikowanych zależności, których nie można przedstawić na diagramie klas.

Wówczas przykładowe konfiguracje obiektów pomagają w zrozumieniu modelu.

Stany są powiązane ze sobą przejściami. Przejścia definiują warunki, jakie muszą zaistnieć, aby obiekt zmienił swój stan ze źródłowego na docelowy. Formalnie opis przejścia składa się z czterech elementów:

wyzwalacza (ang. trigger) - zdarzenia, które może spowodować przejście i zmianę stanu

dozoru (ang. guard condition) - warunku, jaki musi być spełniony, aby przejście zostało wykonane; warunek ten jest ewaluowany w momencie pojawienia się wyzwalacza

akcji (ang. action) - operacji wykonywanej w momencie przejścia ze stanu do stanu; nawet jeżeli akcja przejścia jest złożona z wielu akcji elementarnych, jest ona wykonywana niepodzielnie

zdarzenia (ang. event) - wysyłanego w momencie wykonania przejścia.

Użytkownik

Plik

prawa dostępu



Wyszukiwarka

Podobne podstrony:
Zagadnienia na egzamin WPS 1 sem, Praca Socjalna, I rok, I semestr, WPS
algorytmy egzamin, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
Kolokwium I sem - lekarski(2), I rok, Anatomia, cxrtsjxcgvhbjnkmugjyfghkjl, Anatomia egzamin, Semest
AiSD Egzamin 2005, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
fizyka egzamin II sem, Akademia Morska, 1 rok, Fizyka, FIZYKA1, Fizyka, Semestr 2, Wykład
AiSD Egzamin Zadania, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
algo zadania egzamin, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych, egzamin
Egzamin InzNowMat, SEMESTRY, Sem 6, Inz Nowych Materialow
Pytania na kolokwium II sem - dla studentow 2009, uczelnia WSEI Lublin, UCZELNIA WSEI 2 1, MATERIAŁY
Pytania egzaminacyjne z fizyki sem II, Studia, Sem 2, SEMESTR II, SEMESTR I, fizyka, haksy, Fiza
Egzamin biologia sem III, Inżynieria Środowiska Politechnika Śląska Rybnik, Biologia, Semestr III
AiSD Egzamin 2006, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych
Egzamin Semestr I matma id 680987
Drgania Ćwiczenie nr 13, Politechnika Lubelska, Studia, semestr 5, Sem V, Sprawozdania, Laborka, Lab
Informacja dotycząca egzaminu, Semestr IV, PPUE
Urządzenia 101 - parametry łączników protokół (tylko dla ZAO, Politechnika Lubelska, Studia, semestr

więcej podobnych podstron