Queris - Kariera na Start

Transkrypt

Queris - Kariera na Start
Utworzenie aplikacji umozliwiającej
tworzenie i edycję dokumentow
magazynowych
Wymagania techniczne aplikacji:
.NET Framework przynajmniej 4.0, język C#, technologia WPF, zapis danych do bazy danych
MSSQL, Oracle, lub do pliku.
Treść zadania:
Tematem zadania jest utworzenie aplikacji która pozwoli na pracę z dokumentami
magazynowymi. Aplikacja powinna pozwalać na tworzenie dokumentów magazynowych
i dodawania do nich pozycji, z możliwością ich późniejszego przeglądania, modyfikowania i
drukowania.
ID
RODZAJ (niepusty)
MAGAZYN (niepusty)
NUMER (niepusty)
STATUS (niepusty)
DATA_DOKUMENTU (niepusta)
UWAGI
OSOBA
KONTRAHENT
NUMER_FAKTURY
WPROWADZAJACY
DATA_WPROWADZENIA
MODYFIKUJACY
DATA_MODYFIKACJI
Tabela 1)
Obliczane automatycznie (nie do edycji)
Gospodarka magazynowa to pewien standard,
dokumenty mogą być dokumentami przychodowymi, lub
rozchodowymi. Rodzaj powinien wybierany z listy
rozwijalnej. Przykładowe rodzaje dokumentów:
PZ – (Przyjęcie towaru z zewnątrz)
PW – (Przyjęcie towaru wewnętrzne)
WZ – (Wydanie na zewnątrz)
RW – (Rozchód do wewnątrz)
WP – (Wydanie na produkcje)
Wybór z listy rozwijalnej
Dowolny numer wprowadzany przez użytkownika
Wybór z listy rozwijalnej (dokument wystawiony,
dokument zatwierdzony)
Wybór z kalendarzyka
Wprowadzane przez użytkownika
Wybór z listy rozwijalnej (osoba dokonująca operacji
magazynowej)
Wybór z listy rozwijalnej (tylko w przypadku
dokumentów PZ i WZ)
Wprowadzane przez użytkownika
Wprowadzane automatycznie (dane z logowania)
Wprowadzane automatycznie
Wprowadzane automatycznie (dane z logowania)
Wprowadzane automatycznie
Przykład danych zawartych w pozycji dokumentu magazynowego:
ID_DOKUMENTU
NR_POZYCJI
CZĘŚĆ (niepusta)
NR SERII
ILOŚĆ (niepusta)
WPROWADZAJACY
DATA_WPROWADZENIA
MODYFIKUJACY
DATA_MODYFIKACJI
Tabela 2)
Jest to ID dokumentu do którego przynależy dana pozycja (nie
do edycji)
Wyliczane automatycznie (1,2,3…)
Wybór z listy rozwijalnej
Wprowadzane przez użytkownika
Wprowadzane przez użytkownika
Wprowadzane automatycznie (dane z logowania)
Wprowadzane automatycznie
Wprowadzane automatycznie (dane z logowania)
Wprowadzane automatycznie
Wszystkie dane powinny być zapisywane w jakiejkolwiek formie (w bazie danych lub w pliku,
jeśli będzie to zapis do pliku, aplikacja powinna sprawdzać czy ma odpowiednie uprawnienia
do zapisu pliku – czy np. nie jest on tylko do odczytu). W tabeli nr 1 sprecyzowano jakie dane
powinien zawierać taki dokument. Jeden dokument może zawierać kilka pozycji, musi mieć
przynajmniej jedną. Dane pozycji dokumentu zaprezentowane zostały w tabeli nr 2.
Aplikacja powinna być zabezpieczona logowaniem z hasłem.
Do pozycji dokumentu powinno dać się dołączyć fakturę w formacie PDF.
Wymagania funkcjonalne aplikacji i kryteria końcowej oceny
Celem stworzenia aplikacji nie jest obsługa danych pobocznych takich jak elementy list
rozwijalnych (osoby, kontrahenci, statusy, części itp…). Tego typu elementy mogą być
predefiniowane gdzieś np. w pliku XML albo w bazie (raczej nie w kodzie).
Aplikacja będzie punktowana i oceniana pod kątem: spełnienia swojej funkcjonalności,
dobrych praktyk programowania, ułożenia elementów interfejsu, przejrzystości, prostoty
obsługi, braku błędów. Aplikacja powinna przeprowadzać walidacje wprowadzanych danych
(np. w pole ilość nie powinno dać się wpisać liter).
Wyżej oceniana będzie aplikacja oparta o bazę danych.
Mile widziana będzie ładna szata graficzna, tym bardziej że WPF daje co do tego spore
możliwości. Układ graficzny dowolny.
Mile widziany prosty instalator (nie jest wymagany).
Podsumowanie
W ramach rozwiązania powinny być przesłane zarówno skompilowane pliki aplikacji (plik exe
razem z wymaganymi bibliotekami), jak również całe Solution zawierające kod programu.
Do projektu powinna też być dołączona krótka dokumentacja uzasadniająca wybór pewnych
rozwiązań, architektury kodu, praktyk, oraz wzorców. Może ona również zawierać opis
i sposób rozwiązanych podczas tworzenia aplikacji problemów, takich, które sprawiały
najwięcej kłopotu. W dokumentacji można wyszczególnić czego nauczyło się podczas
tworzenia tej prostej aplikacji i który obszar tworzenia oprogramowania najbardziej
pasjonuje osobę starającą się o staż i w którym chciałby się rozwijać (czy to będą bazy
danych, tworzenie logiki aplikacji a może projektowanie i tworzenie nowoczesnego designu
aplikacji).

Podobne dokumenty