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).