Podstawy inżynierii oprogramowania Flashcards

1
Q

Podstawy inżynierii oprogramowania

Wymień i krótko scharakteryzuj fazy cyklu tworzenia oprogramowania w modelu kaskadowym. Skąd taka nazwa (kaskadowy)?

A

Model kaskadowy, znany również jako model wodospadowy, dzieli proces tworzenia oprogramowania na sekwencyjne fazy, gdzie każda faza musi być zakończona, zanim rozpocznie się następna. Stąd nazwa “kaskadowy” - proces przypomina kaskadę wodną przepływającą z jednego poziomu na drugi.

Fazy modelu kaskadowego obejmują:
1. Analiza wymagań: Zrozumienie i dokumentowanie tego, czego klient potrzebuje od oprogramowania.
2. Projektowanie systemu i oprogramowania: Tworzenie architektury systemu i szczegółowe projektowanie komponentów.
3. Implementacja: Faktyczne pisanie kodu źródłowego według wcześniej zaprojektowanych specyfikacji.
4. Testowanie: Sprawdzanie kodu pod kątem błędów i weryfikacja, czy spełnia on wymagania.
5. Wdrożenie: Umieszczanie oprogramowania w środowisku, gdzie będzie używane.
6. Utrzymanie: Naprawianie błędów, aktualizowanie systemu i dostosowywanie go do zmieniających się potrzeb.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Podstawy inżynierii oprogramowania

Na czym polega identyfikacja, analiza i specyfikacja wymagań w inżynierii oprogramowania. Scharakteryzuj metodę przypadków użycia.

A

W inżynierii oprogramowania fazy identyfikacji, analizy i specyfikacji wymagań są kluczowymi etapami w procesie projektowania systemu informatycznego. Polegają na zrozumieniu potrzeb klienta i użytkowników końcowych oraz przekształceniu ich w jasno zdefiniowane cele, które można zrealizować w oprogramowaniu.

Metoda przypadków użycia (Use Case) jest techniką opisaną w ramach UML, służącą do identyfikowania funkcji systemu oraz interakcji między użytkownikami a systemem.

Przypadki użycia skupiają się na sposobie używania systemu, a nie na jego wewnętrznej strukturze. Każdy przypadek użycia opisuje scenariusz, w którym system reaguje na żądanie z zewnątrz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Podstawy inżynierii oprogramowania

Wymień trzy znane Ci diagramy języka UML służące do prezentacji dynamiki (działania) projektowanego oprogramowania. Pokrótce scharakteryzuj.

A

Diagramy UML prezentujące dynamikę działania oprogramowania to:
* Diagram przypadków użycia (Use Case Diagram): Pokazuje funkcje systemu i interakcje między systemem a użytkownikami.
* Diagram sekwencji (Sequence Diagram): Przedstawia interakcje między obiektami w kolejności ich występowania w czasie dla określonego przypadku użycia.
* Diagram aktywności (Activity Diagram): Podobny do diagramu przepływu danych, przedstawia przepływ sterowania od jednej aktywności do innej, włączając w to decyzje i równoległość.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Podstawy inżynierii oprogramowania

Opisz, zdefiniowany w UML, związek powiązania między klasami (podaj 2 przykłady). Wymień 3 parametry powiązania, które uważasz za najważniejsze.

A

W UML związek powiązania oznacza relację między dwiema klasami, gdzie instancje jednej klasy są logicznie powiązane z instancjami innej klasy.

Przykłady:
* Asocjacja: Klasa Samochód może być powiązana z klasą Koło, gdzie każdy ‘Samochód’ używa czterech instancji ‘Koło’.
* Agregacja: Klasa Koszyk może zawierać obiekty klasy Produkt, ale ‘Produkt’ może istnieć niezależnie od ‘Koszyka’.

Najważniejsze parametry powiązania to:
* Krotność (multiplicity): Określa ile instancji jednej klasy może być powiązanych z instancją klasy drugiej.
* Nawigowalność: Wskazuje kierunek asocjacji i możliwość śledzenia relacji.
* Rola: Opisuje funkcję, jaką pełnią obiekty w ramach powiązania.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Podstawy inżynierii oprogramowania

Wymień trzy, Twoim zdaniem najistotniejsze diagramy UML opisujące projektowane oprogramowanie. Pokrótce je scharakteryzuj.

A

Diagram klas (Class Diagram): Jest najbardziej znanym diagramem strukturalnym UML, który przedstawia strukturę systemu przez wyróżnienie jego klas, ich atrybutów, metod oraz relacji między obiektami, takich jak dziedziczenie, asocjacje, agregacje i kompozycje. Jest kluczowym narzędziem w projektowaniu obiektowym, które pomaga w organizacji i planowaniu struktury oprogramowania.

Diagram przypadków użycia (Use Case Diagram): Ilustruje funkcje systemu z perspektywy użytkownika, ukazując kluczowe przypadki użycia lub scenariusze, w jakich system będzie wykorzystywany. Diagram ten ułatwia zrozumienie funkcjonalnych wymagań systemu i jest często używany do komunikacji z interesariuszami i klientami, aby zapewnić, że wszystkie ich potrzeby są rozumiane i uwzględnione w zakresie projektu.

Diagram sekwencji (Sequence Diagram): Prezentuje interakcje między obiektami w kontekście czasu. Na diagramie tym można obserwować, jak obiekty wymieniają między sobą komunikaty i w jakiej kolejności. Jest szczególnie przydatny do modelowania konkretnych logicznych ścieżek w oprogramowaniu, analizowania scenariuszy złożonej logiki biznesowej i zaprojektowania przepływów procesów.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly