• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co potrzebuje do stworzenia interaktywnej aplikacji C#,WPF

VPS Starter Arubacloud
0 głosów
282 wizyt
pytanie zadane 5 stycznia 2020 w C# przez CrossIT Nowicjusz (140 p.)
zmienione kategorie 5 stycznia 2020 przez criss
Witam,

Został mi miesiąc do oddania aplikacji, mniej więcej zamysł oraz technologie:

Będzie to aplikacja desktopowa na Windows w C# używająć WPF oraz XAML do tego baza danych.

Zamysł aplikacji: Interaktywny plan zajęć dla całego roku, z UI w którym możemy dodawać ilość grup a w poszczególnej grupie dodawać w odpowiednich okienkach godzinowych dodawać informacje o zajęciach(prowadzący, nr sali itp). Aplikacja powinna mieć UI do stworzenia takiego planu, więc baza danych z prowadzącymi się przyda oraz z salami.

Szary użytkownik (student) powinien móc oglądać ten plan, po kliknięciu w daną jednostkę uzyskać np. okienko z informacjami o danych zajęciach. Ponadto filtrowanie takiego planu, czyli wyświetlanie planu tylko dla danej grupy lub wyświetlić zajęcia tylko danego prowadzącego oraz możliwosć sprawdzania dostępności sal na daną godzine. Także trochę tych funkcjonalnośći tam będzie.

Co powinienem przerobić przed przystąpieniem do pisania takiej aplikacji, bardzo bym był wdzięczny o jakiś ewentualny polecany kurs do czegoś takiego. Mam dostęp do darmowego 1 miesięcznego Plurala oraz ewentualnie wykupienie kursu na Udemy. Tak jak wspomniałem będę używał do tego WPF'a .net framework oraz aplikacja musi miec dostęp do bazy.

1 odpowiedź

0 głosów
odpowiedź 5 stycznia 2020 przez mrspock1 Mądrala (6,420 p.)
Mam nadzieję że planu zajęć nie trzeba generować bo to wymaga algorytmu genetycznego, więc przypuszczam że masz jakiś gotowy prosty plan który wpiszesz do bazy bez trudu.

A co masz już zrobione? Projektowanie nawet niewielkiej bazy danych wymaga sporego nakładu pracy.
Trzeba zrobić
1) projekt kilku tabel bazy danych, połączyć je jeden do wielu; przygotować wszystkie zapytania SQL jakie będą wymagane SELECT, UPDATE, INSERT, DELETE z użyciem transakcji da zapobiegnięcia konfliktu przy wielodostępie; wyświetlany w programie powinien być rekord master i w tabelce rekordy detail; INSERT i UPDATE będzie dodatkowo wymagało sprawdzenia (najlepiej na poziomie bazy danych>>czy znasz dobrze język bazy danych?<<, można też na poziomie back-end ale tak się nie powinno robić bo konserwacja programu może spowodować błąd) czy nie ma .kolizji zajęć; ta sama klasa lub ten sam wykładowca w tym samym czasie w kilku salach; tych kolizji jest kilka różnych możliwych
2) rozrysować drzewo przejść między oknami programu, zaznaczyć które okna są modalne; co z każdego okna będzie robione i jakie zapytania SQL będą z tego okna
komentarz 5 stycznia 2020 przez Tomek Sochacki Ekspert (227,510 p.)

INSERT i UPDATE będzie dodatkowo wymagało sprawdzenia (najlepiej na poziomie bazy danych>>czy znasz dobrze język bazy danych?<<, można też na poziomie back-end ale tak się nie powinno robić bo konserwacja programu może spowodować błąd) czy nie ma .kolizji zajęć; ta sama klasa lub ten sam wykładowca w tym samym czasie w kilku salach; tych kolizji jest kilka różnych możliwych

a dlaczego uważasz, że takich sprawdzeń nie powinno się robić w back-endzie? Jestem bardzo ciekaw tej opinii, gdyż z tego co spotykam na produkcji to często operacje w samych bazach właśnie ogranicza się do najprostszych możliwych aby łatwiej można utrzymywać bazę, skalować ją, migrować w razie potrzeb itp.? I wiele osób potwierdza takie właśnie podejście w różnych apkach...

Niezbyt rozumiem w jaki sposób konserwacja back-endu miałaby spowodować błąd? Każdy, ale to każdy bez wyjątku back-end musi wg mnie posiadać odpowiednie testy zarówno UT jak i integracyjne aby właśnie takie rzeczy wyszły w razie czego na CI...

komentarz 6 stycznia 2020 przez CrossIT Nowicjusz (140 p.)

@mrspock1,

Na razie robię kursik z Plurala, mam nadzieję go na dniach skończyć:
https://www.youtube.com/watch?v=zQye1EDHb8A
Ponad połowe przerobione, generalnie wytłumaczony jest tam dostęp do bazy oraz cały model MVVM, komunikacja modeli oraz dużo więcej opcji. Jest ona na przykładzie dość prostej biznesowej apki zarządzania np. klientami więc mogę użyć tych rozwiązań aby zmienić na swoje potrzeby.

Co masz na myśli generować plan? Jedyne co chciałem generować to w UI user wybiera np. liczbę grup i generują mu się okienka na cały tydzień (do poszczególnych dni) które muszą być interaktywne gdyż uzytkownik musi do nich wpisać nazwę przedmiotu(lub wybrać z dostępnej listy), nr sali (do sal raczej też potrzebna będzie baza danych z kazdą dostępną godziną dla sali aby wiedzieć czy jest zajęta na daną jednostke godzinową) oraz wybrać z bazy danych odpowiedniego prowadzącego. To tyle z generowania czegokolwiek (i dostania się potem do tych pól) czego nie widać na starcie apki. No i oczywiście aby potem te pola muszą współgrać z filtrowaniem.

Podobne pytania

0 głosów
1 odpowiedź 440 wizyt
0 głosów
1 odpowiedź 630 wizyt
pytanie zadane 11 grudnia 2019 w C# przez DzikiZwierz Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 137 wizyt

92,843 zapytań

141,782 odpowiedzi

320,858 komentarzy

62,174 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...