Promotor: dr.inż. Aleksandra Werner Łukasz Kempny Projekt i implementacja portalu wspomagającego wyjazd studentów na praktykę zagraniczną Promotor: dr.inż. Aleksandra Werner
Plan prezentacji Analiza dziedziny Projekt systemu Testy Eksperymenty Przegląd konkurencyjnych rozwiązań Zdefiniowanie wymagań Projekt systemu Technologie i narzędzia Prototyp Komponenty Diagramy przypadków użycia, aktywności Diagram bazy danych Testy Eksperymenty
Analiza dziedziny Konkurencyjne rozwiązania – brak Witryny o podobnej tematyce: http://praktyki.eurostudent.pl http://praktyki.studentnews.pl/ http://www.pracuj.pl/praca/student/
Wymagania Zagraniczne praktyki studenckie ofertowane w ramach programu : IAESTE AIESEC Praktyki ERASMUS BEST + dowolnie innego… Uniwersalna i przyjazna platforma wymiany danych i komunikacji Oferty praktyk Raporty z praktyk
Wymagania cd. Student: Członek organizacji: Wyszukuje ofertę praktyki wg swoich preferencji Wyszukuje raport z praktyki z miejsca i/lub od pracodawcy do którego chciałby aplikować Kontaktuje się z organizacją studencką, praktykantami, pracodawcami Tworzy raport z odbytej praktyki Członek organizacji: Dodaje oferty swojej organizacji studenckiej Prowadzi korespondencję ze studentami Prowadzi serwis informacyjny Zbiera raporty po praktykach
Metodologia i narzędzia Assembla i SVN
Technologie ASP.net MVC 3 Entity Framework MS SQL Server Aplikacja Dostęp do bazy danych Entity Framework Baza danych MS SQL Server
MVC - architektura MVC – Model-Widok-Kontroler, wzorzec projektowy
MVC - model Implementuje logikę biznesową aplikacji Przechowuje stan aplikacji pomiędzy akcjami kontrolera Najczęściej przechowywany jest w bazie danych Może definiować zasady walidacji danych
MVC - widok Jest warstwą prezentacji danych (wyników działania logiki biznesowej – modelu) Może składać się z podwidoków odpowiedzialnych za mniejsze części interfejsu (PartialView) W ASP.net jest to najczęściej HTML Markup (kod HTML, JavaScript, skrypty C#)
MVC - kontroler Obsługuje żądania użytkownika Mapowanie URL na publiczne metody kontrolera, inaczej Akcje np. http://localhost/Test/Index/1 Akcje kontrolera : pobierają dane z modelu, realizują logikę biznesową, zwracają wyniki do w właściwego widoku
ASP.net vs. ASP.net MVC ASP.net ASP.net MVC Brak podziału na logikę i prezentacje. Widoki służą tylko do generowania prezentacji, brak logiki. Mechanizm przechowywania stanu Strony pomiędzy zapytaniami (ViewState - często kilkaset kB). Stan aplikacji zapisywany tylko w Modelu. Bogate w funkcjonalność kontrolki (RAD). Łatwa integracja z popularnymi frameworkami JS (np. jQuery) czy też darmowe kontrolki Telerik. Skomplikowany i mało intuicyjny mechanizm Postback. Brak. Brak kontroli nad generowanym kodem HTML. Pełna kontrola nad generowanym kodem HTML. Uciążliwy cykl życia strony (Page Life Cycle).
ASP.net MVC 3 - zalety Wsparcie HTML 5 and CSS 3 The Razor View Engine - @ zamiast <% … %> Client-Side Validation – walidacja po stronie klienta (jQuery) Data Annotations Remote Validator
Entity Framework Upraszcza kod dostępu do danych (tabela-encja) Umożliwia tworzenie koncepcyjnego modelu dla danych pochodzących z dowolnego źródła Ułatwia dostosowanie tego modelu do wymagań biznesowych.
Kontrolki Telerik Extensions for ASP.net MVC jQuery UI
Prototyp Prototyp kompletnej aplikacji wykonany narzędziem Balsamiq Mocups Pomógł w ogólnym spojrzeniu na aplikację, a także podczas implementacji systemu
Komponenty Użytkownicy Pracodawcy Organizacje Oferty praktyk Raporty z praktyk Powiadomienia Statystyki Wiadomości prywatne (poczta) Artykuły (aktualności)
Użytkownicy
Oferty praktyk
Raporty z praktyk
Pracodawcy
Organizacje
Powiadomienia
Artykuły
Wiadomości prywatne
Statystyki Liczba ofert/nowych ofert/ofert specjalnych Liczba raportów z praktyk Liczba użytkowników Liczba pracodawców Odwiedziny portalu Raporty wg. kraju, kierunku studiów, oceny Oferty wg. kraju, kierunku studiów, płacy
Diagram ERD
Schemat bazy danych 41 tabel (12 łączących)
Zrzut ekranu
Zrzuty ekranu
Uruchamianie i testowanie Testy na różnych przeglądarkach (Mozilla Firefox, Inernet Explorer, Opera, Chrome) Testy na różnych urządzeniach PC Tablet Telefon komórkowy Testy jednostkowe Testy automatyczne (WebAI)
Eksperymenty Testy użyteczności (User eXperience) Testy wydajnościowe Metody prezentacji danych Standardy formularzy internetowych i ich walidacji Rola infografik na stronie (ikonki, wykresy, tabele) Poprawna nawigacja po serwisie Testy wydajnościowe Wpływ metody przechowywania zdjęć (w bazie danych vs. na serwerze) Obciążenie przy dużej liczbie użytkowników Testy bezpieczeństwa SQL Injection XSS Scripting
Promotor: dr.inż. Aleksandra Werner Łukasz Kempny Projekt i implementacja portalu wspomagającego wyjazd studentów na praktykę zagraniczną Promotor: dr.inż. Aleksandra Werner