Rozwiązania zadań

Strona: SEZAM - System Edukacyjnych Zasobów Akademickich i Multimedialnych
Kurs: 3. Podstawy inżynierii wymagań i projektowania oprogramowania
Książka: Rozwiązania zadań
Wydrukowane przez użytkownika: Gość
Data: piątek, 11 lipca 2025, 14:01

1. Wprowadzenie do inżynierii wymagań

Rozwiązanie zadania 1

Dziedzina problemu – Wydział Ruchu Drogowego policji.

Proces biznesowy: Nałożenie mandatu w trybie zaocznym

1. Fotoradar rejestruje wykroczenie i przekazuje zdjęcie do systemu

2. System automatycznie identyfikuje pojazd i właściciela pojazdu na podstawie zdjęcia

[zidentyfikowano]

3. System sprawdza, czy jest ustawiona komunikacja elektroniczna z właścicielem pojazdu

[jest ustawiona]

4. System wysyła powiadomienie o wykroczeniu

5. Właściciel pojazdu przyjmuje mandat jako kierowca

àKoniec

1.-4. jak wyżej

5’. Właściciel pojazdu wysyła informację o kierowcy pojazdu

6’. System wysyła proponowany mandat do kierowcy  pojazdu

7’. Kierowca w systemie sprawdza szczegóły mandatu

8’. Kierowca przyjmuje mandat

àKoniec

1.-4., 5’.-7’ jak wyżej

8’’. Kierowca nie przyjmuje mandatu

àKoniec

Rozwiązanie zadania 2

Dziedzina problemu – system dla Wydziału Ruchu Drogowego policji.

FK1: System musi umożliwiać opłacanie mandatów

FK2: System powinien umożliwiać zalogowanie się poprzez profil zaufany

FK6: System powinien pokazywać aktualny stan konta punktów karnych

FK15: System powinien umożliwiać obsługę odwołań od mandatów (przez urzędników)

FK16: System musi automatycznie ustalać numer rejestracyjny na podstawie zdjęcia pojazdu

FK22: System musi automatycznie blokować prawo jazdy w systemie CEPiK

Rozwiązanie zadania 3

Dziedzina problemu – system dla Wydziału Ruchu Drogowego policji.

JK1: System musi być dostępny w trybie 24/7

JK3: Dopuszcza się maksymalnie 1 awarię klasy 1 na rok

JK4: Awaria klasy 1 nie może trwać dłużej nić 30 minut

JK7: System powinien mieć interfejs użytkownika, który użytkownicy ocenią jako przejrzysty i łatwy w obsłudze

JK8: System powinien umożliwiać zobaczenie mandatu max. 1 min po jego wystawieniu

JK9: System powinien być dostępny na urządzeniach mobilnych


2. Podstawy specyfikowania wymagań

Rozwiązanie zadania 1

Dziedzina problemu – system dla Wydziału Ruchu Drogowego policji.

Problem związany jest ze skomplikowanymi procedurami egzekwowania przepisów ruchu drogowego w Polsce i dotyczy kierowców, właścicieli pojazdów i urzędników WRD, wynikiem czego jest niepotrzebnie długi proces egzekwowania mandatów.

Problem można rozwiązać budując system SeZaM, zarządzający obsługą wystawiania i egzekwowania mandatów, dzięki czemu zmniejszymy koszty urzędnicze i oszczędzimy czas wszystkich osób uczestniczących w procesie.

Rozwiązanie zadania 2

Diagram przedstawiający fragment modelu przypadków użycia dla systemu SeZaM (patrz rozwiązanie zadania 1). Diagram zawiera więcej elementów niż wymaganych w treści zadania.

Aktor „Czas” oznacza uruchamianie przypadków użycia w określonych momentach czasu (tu – np. codziennie o wyznaczonej godzinie). Aktor „Fotoradar” oznacza zewnętrzne w stosunku do systemu urządzenia, komunikujące się z nim poprzez odpowiedni interfejs programistyczny (API). Diagram zawiera także relację generalizacji – przypadek użycia „Sprawdzenie stanu konta kierowcy przez funkcjonariusza” jest modyfikacją i rozszerzeniem przypadku użycia „Sprawdzenie stanu konta kierowcy”.


 

Rozwiązanie zadania 3

Diagram przedstawiający fragment modelu słownika dziedziny dla systemu SeZaM (patrz rozwiązanie zadania 1). Diagram zawiera więcej elementów niż wymaganych w treści zadania.

Rozwiązanie zadania 4

Scenariusze dla przypadku użycia „Sprawdzenie stanu konta kierowcy”:

Scenariusz główny

1. Kierowca wybiera opcję "sprawdź konto kierowcy"

2. System pobiera dane Konta mandatowego kierowcy

[kierowca ma aktywne mandaty]

3. System wyświetla "okno stanu konta mandatowego kierowcy"

4. Kierowca wybiera opcję "Zamknij"

àSukces

Scenariusz alternatywny – brak mandatów

1.-2. jak w scenariuszu głównym

[kierowca nie ma aktywnych mandatów]

3’. System wyświetla "okno braku mandatów"

4’. Kierowca wybiera opcję "OK"

àSukces

Scenariusz alternatywny – wywołanie „Pokazanie szczegółów mandatu

1.-3. Jak w scenariuszu głównym

4’’. Invoke: "Pokazanie szczegółów mandatu"

àIdź do pkt. 3


 

Rozwiązanie zadania 5

Scenopis dla przypadku użycia „Sprawdzenie stanu konta kierowcy”:

Rozwiązanie zadania 6

Wymaganie rodzaju „Efektywność wydajnościowa”:

JAK002: System będzie przechowywał do 2.000.000 rekordów użytkowników.

Sposób pomiaru:

Symulacja dodania 2.000.000 użytkowników. Sprawdzenie możliwości zalogowania się przez losowo wybranych 10 000 użytkowników. Sprawdzenie wydajności systemu dla 25 wybranych p.u.

Oczekiwana wartość:

1. Wszyscy wylosowani użytkownicy mogą się zalogować.

2. Wydajność systemu (czas odpowiedzi) jest większy o max. 5% (porównujemy dla 5000 użytkowników i 2.000.000)

Wymaganie rodzaju „Efektywność wydajnościowa”:

JAK003 System powinien dokonać zapamiętania zdjęcia z fotoradaru w czasie nie dłuższym niż 0,5 sek.

Sposób pomiaru:

Dokonujemy próbnego przesłania przez wybranych 50 fotoradarów, każdy po 200 zdjęć. Dokonujemy pomiaru czasu od momentu zainicjowania przez fotoradar transmisji zdjęcia do momentu wysłania przez system do fotoradaru potwierdzenia zarejestrowania zdjęcia.

Oczekiwana wartość:

1. Dla co najmniej 50% zdjęć czas wynosi poniżej 0,5 sek.

2. Dla pozostałych zdjęć czas wynosi do 0,7 sek.


 

Wymaganie rodzaju „Kompatybilność”

JAK004 System musi dostarczać API do sprawdzania konta mandatowego kierowcy.

Sposób pomiaru:

Przeprowadzenie testów API poprzez wywołanie 1000 razy funkcjo odczytu stanu konta mandatowego.

Oczekiwana wartość:

Dla wszystkich wywołań stan konta mandatowego będzie zgodny ze stanem odczytanym przez UI.

 

3. Wprowadzenie do architektury oprogramowania

Rozwiązanie zadania 1

Model komponentów realizujący zadane trzy przypadki użycia systemu.

Model utworzony jest w języku angielskim, przy czym nazwy interfejsów odpowiadają nazwom przypadków użycia i pojęć w tłumaczeniu z języka polskiego.


 

Rozwiązanie zadania 2

Model montażu dla architektury logicznej z rozwiązania zadania 1.

Rozwiązanie zadania 3

Diagram klas prezentujący szczegóły dwóch interfejsów z rozwiązania zadania 1.


 

Rozwiązanie zadania 4

Diagram sekwencji dla realizacji scenariusza głównego przypadku użycia „Pokazanie historii rachunku”.

Założono następujący scenariusz: 1. Klient banku wybiera opcję „Pokaż historię rachunku”. 2. System pobiera historię rachunku. 3. System wyświetla okno historii rachunku.

 

4. Podstawy projektowania podsystemów

Rozwiązanie zadania 1

Diagram klas komponentu realizującego przypadek użycia „Pokaż kokpit obliczeniowy”.

Rozwiązanie zadania 2

Diagram sekwencji opisujący działanie logiki aplikacji dla przypadku użycia „Pokaż kokpit obliczeniowy”.


 

Rozwiązanie zadania 4

Model związków encji dla zadanej dziedziny.