Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord Functie 1 Gebruiker Gebruiker Gewone gebruiker 2 Gebruiker2 Gebruiker2 Gewone gebruiker 3 Admin Admin Administrator 4 Er is ook een derde soort gebruiker. Dit is een bezoeker. Maar deze heeft geen login of wachtwoord. 2. Extra Business Logic in BL-Klassen Klasse Methode met extra BL Functionaliteit (wat het doet?) 1 BLBericht.cs List<Bericht> GetBerichtByGebruikerId(int id) Haalt de berichten op aan de hand van het gebruikerid voor een bepaald dier. 2* BLDier.cs List<Dier>GetDierMetStatusVermist() Haalt een lijst van dieren op die als status vermist zijn. 3 BLGebruiker.cs Gebruiker LoginOK(string login, string wachtwoord) Deze kijkt na in de database of dat het ingegeven login en wachtwoord 4 BLLocatie.cs Locatie GetLocatieByGemeente(string Gemeente) 5 BLOpvolging.cs OpvolgingDier GetOpvolgingByDierId(int id) bestaan en correct zijn. Haalt uit de tabel Locatie het object van een bepaalde gemeente eruit naargelang de meegegeven string. Haalt uit de tabel OpvolgingDier het object eruit naargelang de meegegeven dierid. 6 BLSoort.cs Soort GetSoortByNaam(string naam) Haalt uit de tabel Soort het object van een bepaalde Soort eruit naargelang de meegegeven string. 7 BLStatus.cs Status GetStatusByNaam(string naam) Haalt uit de tabel Status het object van een bepaalde Status eruit naargelang de meegegeven string. *: In deze BL-klassen zitten meerderen Extra Business Logic methodes die op deze methode lijken. 3. Layout, Look and Feel Master Page Theme naam Skin File Css Naam en plaats van het bestand ~/LAFA.master ~/App_themes/LAFA ~/App_themes/LAFA/LAFA.skin ~/App_themes/style.css 4. Controls waarvoor je een Skin gemaakt hebt in de Skin File 1 Button 1
5. Overzichtslijsten (GridView, ListView, Repeater, ) waarin je informatie toont die komt uit meer dan 1 LINQ-object ASP.NET pagina LINQ-Objecten waarvan je informatie toont in de lijst 1 Gevonden.aspx Dier, Locatie, Soort 2 Vermist.aspx Dier, Locatie, Soort 3 Dieren_beheren_gebruiker.aspx Dier, Locatie, Soort, Status 4 Details_dier.aspx Dier, Locatie, Soort, Status, Bericht, Gebruiker 5 Dieren_beheren_admin.aspx Dier, Locatie, Soort, Status 6 Gebruikers_beheren_admin.aspx Gebruiker, Locatie 6. Zaken die we niet in de les hebben gezien, maar die je opgezocht hebt op het Internet Web Form 1 Voor alle pagina s voor gebruiker en admin 2 Registreer_dier_gebruiker.aspx Dier_updaten_gebruiker.aspx Dier_updaten_admin.aspx 3 Dieren_beheren_gebruiker.aspx Dieren_beheren_admin.aspx Gebruikers_beheren_admin.aspx 4 Details_dier.aspx PDF maken van de pagina 5 Details_dier.aspx ImageButton Functionaliteit Sessions: Een sessie opslaan van een gebruiker of admin. Beveiliging is gebaseerd op basis van deze sessions. FileUpload: Een Image uploaden en opslaan in de database. Gridview_onRowCommand(): Dan wordt er gecontroleerd welke commandname er gebruikt wordt. Aan de hand daarvan, gaat ge verder in het programma. 7. Web Server Controls die we niet in de les gezien hebben Web Form 1 Registreer_dier_gebruiker.aspx Dier_updaten_gebruiker.aspx Dier_updaten_admin.aspx Web Server Control FileUpload Functie Een image uploaden van een hond of kat om 2 Details_Dier.aspx ImageButton PDF-downloaden 3 Dieren_beheren_gebruiker.aspx Dieren_beheren_admin.aspx Gebruikers_beheren_admin.aspx Uitgebreide Gridview Gridview_onRowCommand(): Dan wordt er gecontroleerd welke commandname er gebruikt wordt. Aan de hand daarvan, gaat ge verder in het programma. 8. Controls uit de Ajax Control Toolkit Web Form Ajax Control Functie 1 Registreer.aspx PasswordStrength Een bepaalde wachtwoord sterkte tonen bij het invullen van een wachtwoord. 2 Registreer_dier_gebruiker.aspx Dier_updaten_gebruiker.aspx Dier_updaten_admin.aspx Registreer.aspx 3 Registreer.aspx Registreer_dier_gebruiker.aspx ListSearchExtender ConfirmButtonExtender Makkelijk een term in een combobox zoeken. Als er op annuleren gedrukt wordt dan wordt er een MessageBox 2
gelanceerd. 9. Zelf gemaakte Web User Controls Web Form Web User Control Functie 1 / / / 10. Web Forms waarin Ajax gebruikt wordt Web Form Functie 1 Registreer.aspx Een bepaalde wachtwoord sterkte tonen bij het invullen van een wachtwoord. 2 Registreer_dier_gebruiker.aspx Makkelijk een term in een combobox zoeken. Dier_updaten_gebruiker.aspx Dier_updaten_admin.aspx Registreer.aspx 3 Registreer.aspx Registreer_dier_gebruiker.aspx Als er op annuleren gedrukt wordt dan wordt er een MessageBox gelanceerd. Voeg volgende bijlagen toe: - Schermafdruk van het klassendiagram in LINQ - Schermafdrukken van alle schermen die tijdens de demonstratie besproken worden (in dezelfde volgorde als de demonstratie) Niet je bundel samen (overzicht verwezenlijkingen + datamodel + schermafdrukken). Vermeld de namen van de groepsleden. Breng de bundel mee tijdens de presentatie. 3
4
DATAMODEL 5
SCHERMAFDRUKKEN ERROR PAGE - BEVEILIGING Wanneer u op een pagina komt die niet bedoeld is voor uw gebruikerstype dan krijgt u dit: De titel is afhankelijk van de pagina die u tracht te bezoeken. Het menu is afhankelijk van welk gebruikerstype u bent. Bv.: U kan niet op een pagina van admin als u een bezoeker bent. 6
HOMEPAGE Per gebruikerstype is er een speciale homepage. Voor de bezoeker: 7
Voor de gebruiker: Voor de Admin: 8
GEVONDEN Toegankelijk voor Gebruikers en Bezoekers Wanneer je naar Gevonden gaat krijg je een overzicht van alle huisdieren die gevonden zijn. Hierbij kan je een onderscheid maken tussen de honden en katten door op de knop te klikken. VERMIST Toegankelijk voor Gebruikers en Bezoekers Net zoals bij de gevonden huisdieren kan je bij de vermiste huisdieren ook een onderscheid maken tussen de honden en de katten. 9
DETAILS DIER Toegankelijk voor Bezoekers en Gebruikers door op de pagina s Gevonden en vermist te klikken op Meer Info. Als men als Gebruiker ingelogd is kan men een bericht posten. Als er geen berichten zijn, wordt dit aangegeven in het berichten-gedeelte. Anders worden deze berichten getoond. Bij de details van een huisdier is het ook mogelijk om deze informatie om te zetten naar pdf, dit kan simpelweg door op de knop te duwen met het pdf icoontje. Op deze manier is het bijvoorbeeld heel makkelijk om het af te drukken of zelfs door te mailen. Wanneer er update s gebeuren bij de details van het dier en de pdf opnieuw opgevraagd wordt zal de pdf deze aanpassingen ook krijgen. 10
11
SUCCESVERHALEN Toegankelijk voor Bezoekers. Hierop kan een bezoeker een bericht plaatsen. CONTACT Toegankelijk voor Gebruikers en Bezoekers. 12
REGISTREREN Op deze pagina kan een bezoeker zichzelf registreren als gebruiker. DIEREN BEHEREN Nadat een Gebruiker ingelogd is, kan hij of zij zelf gevonden of vermiste dieren invoeren. Hun eigen ingevoerde dieren worden in een lijst opgesomd. Op deze pagina is er een link beschikbaar om een eigen dier toe te voegen. Men kan bij reeds ingevoerde dieren, dieren updaten en verwijderen. 13
14
DIER TOEVOEGEN Nadat een Gebruiker ingelogd is, kan hij of zij zelf gevonden of vermiste dieren invoeren via de pagina Dieren beheren -> Dier toevoegen. DIER WIJZIGEN Nadat een Gebruiker ingelogd is, kan hij of zij zelf gevonden of vermiste dieren invoeren via de pagina Dieren beheren -> Bewerk. 15
ACCOUNT WIJZIGEN Nadat een Gebruiker ingelogd is, kan hij of zij hun accountgegevens aanpassen. GEBRUIKERS BEHEREN Nadat een Admin ingelogd is, kan hij of zij alle gebruikers beheren die in het systeem zitten, inclusief zichzelf. 16
GEBRUIKERS TOEVOEGEN Nadat een Admin ingelogd is, kan hij of zij een gebruiker toevoegen. GEBRUIKERS WIJZIGEN Nadat een Admin ingelogd is, kan hij of zij een gebruiker wijzigen. 17
DIEREN BEHEREN Nadat een Admin ingelogd is, kan hij of zij een lijst van alle dieren ophalen. Hier kan hij of zij een dier toevoegen, bewerken en verwijderen. DIEREN TOEVOEGEN Nadat een Admin ingelogd is, kan hij of zij een dier toevoegen. 18
DIER WIJZIGEN Nadat een Admin ingelogd is, kan hij of zij een dier wijzigen. GASTENBOEK BEHEREN Nadat een Admin ingelogd is, kan hij of zij de succesverhalen beheren door ongepaste verhalen te verwijderen. 19
CHECKLIST ASP.NET DATABASE SQL SERVER Primaire autonummeringssleutel Foreign key relaties Tabel-en veldnamen = zelfstandige naamwoorden (enkelvoud en PascalCase) Foreign keys = naam van de tabel waarnaar je verwijst + ID Minstens 5 kernentiteiten Alle tabellen zijn met elkaar verbonden in het relationeel schema PROGRAMMA - OPBOUW 3-lagen-structuur (Data-tier, Data Access Layer, Business Logic Layer) Data-tier bevat tabellen, views, relaties, stored procedures Data Access Layer: LINQ to SQL Standaardoperaties (Insert, Update, Delete, Get Entiteit, Get Entiteiten ) Business Logic Layer: minstens 3 methodes met extra business logica Presentation Layer: geen SQL en geen business logica Gebruik nooit het concateneren van strings om je SQL-statement samen te stellen Gebruik altijd parameters Gebruik geen grafische datalink controls om info uit de database te halen Geen foreign key IDs in overzichtslijsten, maar bijhorende omschrijving PROGRAMMA LOOK-AND-FEEL Master Page Layout = CSS Skin-file voor al je webserver controls Logische schermnavigatie Consistente layout PROGRAMMA ADMIN Deel v.d. pagina s enkel toegang voor admin Inlogsysteem Security Eventueel: beveiligingsniveaus PROGRAMMA OVERIGE 5 ASP.NET functionaliteiten die niet behandeld zijn in de les 3 web server controls die niet behandeld zijn in de les Updaten kernentiteiten: GEEN gridview, maar gebruiksvriendelijke formulier met meer dan alleen tekstvakken Gebruik zoveel mogelijk keuzelijsten, optierondjes, tabbladen, Minstens 1 zelfgemaakte Web User Control gebruikt Gebruik op 3 plaatsen AJAX Minstens 3 controls gebruiken van de Ajax Control Toolkit Foutcontrole bij invullen van formulieren Duidelijke fout- en waarschuwingsboodschappen Zorgen voor voldoende en duidelijke defaultgegevens 20