Lista zadań

Krótka specyfikacja wymagań funkcjonalnych

Należy zrealizować prosty program pozwalający na zarządzanie listą zadań do wykonania. Zadania opisane są poprzez krótki, jednoliniowy tekst. Program ma prezentować zadania poprzez listę zawierającą opisy zadań. Program ma umożliwiać:

  1. dodawanie opisu nowego zadania,
  2. edycję opisu zadania już istniejącego,
  3. usuwanie opisu wskazanego zdania,
  4. usuwanie opisu wszystkich zadań,
  5. przesunięcie opisu zadania wyżej na liście zadań,
  6. przesunięcie opisu zadania niżej na liście zadań.

Program ma przechowywać listę zadań, tak aby przy kolejnych uruchomieniach aplikacji na liście zadań pojawiały się zadania poprzednio wpisane. Program powinien zawierać również wyraźnie widoczną informację o liczbie zadań umieszczonych na liście zadań.

Krótka specyfikacja wymagań niefunkcjonalnych

Interfejs użytkownika

  1. Tło okna powinno być jasne, najlepiej białe.
  2. Lista zadań powinna być umieszczona w centralnej części okna.
  3. Operacje na liście zadań powinny być realizowane za pośrednictwem przycisków umieszczonych z prawej strony listy zadań.
  4. Dla wygody niektóre operacje powinny być dostępne poprzez menu kontekstowe dostępne po kliknięciu na opis zadania prawym przyciskiem myszy — np. modyfikacja treści opisu zdania i usunięcie opisu.
  5. Przycisk zamykania programu powinien być umieszczony w prawym dolnym rogu okna.
  6. Na lewo od przycisku zamykania okna powinien być umieszczony przycisk otwierający osobne okno zawierające informacje o przeznaczeniu programu i jego autorze.
  7. Pogram ma być responsywny i właściwie skalować się przy powiększaniu i minimalizacji okna, przy czym powiększać powinna się głównie lista zadań.
  8. Po uruchomieniu aplikacji okno programu powinno być umieszczone w centralnej części ekranu oraz powinno posiadać rozmiar (w przybliżeniu): 380px (szerokość) x 300px (wysokość).

Inne

  1. Teksty opisujące zadania powinny być unikatowe.
  2. Powinna istnieć możliwość ręcznej edycji listy zadań poza realizowanym programem.

Prototyp

Dostępne są prototypy programu (spakowany folder projektowy, zip), nie spełniają one jednak wszystkich powyższych wymagań. Należy pobrać prototypy, przetestować, ustalić braki i doprowadzić do wersji spełniającej wymagania.:

Wersja rozwojowa

  • W powyższych prototypach lista zadań prezentowana jest w postaci listy łańcuchów znakowych, wykorzystano komponent ListBox. Proszę przeanalizować możliwości komponentów typu CheckListBox tak aby można było oznaczać, czy zadania jest zrealizowane (ustawianie znacznika ✓) czy nie (brak znacznika ✓).
  • Komponent CheckListBox nie pozwala wprost na zaimplementowanie większej liczby statusów zadań (przed rozpoczęciem, w trakcie realizacji, zakończone). Proszę przeanalizowac możliwości komponentu typu ListView i zaimplementować rozszerzoną wersję prezentacji listy zadań, uwzględniającą ich statusy, oraz inne informacje — np. datę i godzinę wpisania zdania, datę i godzinę zakończenia realizacji itp., według własnej inwencji i możliwości (np. osoba odpowiedzialna za realizację zadania).

Zrealizowane projekty proszę zachować, będą brane pod uwagę przy negocjowaniu oceny zaliczeniowej.

Przejdź do strony ćwiczeń