Software Design Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie 3
Versie geschiedenis: Versienummer Datum Auteur Versie 1 19/11/2014 Sander Lenaerts Versie 2 14/12/2014 Sander Lenaerts Versie 3 01/03/2015 Nassim Versbraegen
Contents 1 Inleiding 1 1.1 Doel.................................. 1 1.2 Scope................................. 1 2 System overview 1 3 Presentatie 2 3.1 Home................................. 3 3.2 Log-in................................. 4 3.3 Dashboard............................... 5 3.4 Upload................................. 6 3.5 My Account.............................. 8 3.6 Publicatie............................... 9 3.7 Zoeken................................. 10
1 Inleiding Dit document is het Software Design Document van het project PEN versie 3. De eerste grote iteratie van het project is gedaan, de basis voor het project is nu geï mplementeerd. Meer informatie over dit project kan u vinden in het Software Project Management Plan, het Software Test Plan en de Software Requirements Specification. 1.1 Doel Het doel van dit document is een overzicht te geven van de architectuur die gebruikt is in de tweede iteratie van dit project en een leidraad te geven voor de komende iteraties. Daarom zullen de objecten hier op een hoog niveau van abstractie beschreven worden. In deze iteratie werd er verder gebouwd op de bestaande implementaties van de eerste iteratie. Er werd voornamelijk ondersteuning gemplementeerd voor het aanpassen van accounts, betere ondersteuning bij het uploaden en ten slotte het opzoeken van papers. Dit document heeft als doelpubliek mensen met een basiskennis in informatica. 1.2 Scope Het doel van dit project is het ontwerpen en implementeren van een webapplicatie die het toelaat om wetenschappelijke publicaties te beheren en te raadplegen. Dit zal nuttig zijn voor studenten en doctoraat-studenten om informatie over hun onderwerp naar keuze te kunnen raadplegen. We noemen dit systeem PEN, wat een afkorting is voor Paper Exchange Network. 2 System overview Voor dit project gebruiken we het traditionele client-server model; in dit model gaan we gebruik maken van een thin-client. Een request van de client komt binnen bij de router, hij beslist op basis van het soort request welke route er moet worden opgestart. Voor de database is er een extra abstractie laag geplaatst om de applicatie database-onafhankelijk te maken. Dit betekent dat de database manager alleen abstracte functies exporteert zoals addproceeding. Als er een andere soort database wordt gebruikt (nosql) of een database met andere tabellen moet alleen de database manager aangepast worden. De session is een mini no-sql database die informatie bijhoudt over elke verbonden gebruiker. In deze session worden de id en email van de gebruiker bijgehouden. Later zal hier ook de taalkeuze in opgeslagen worden. 1
3 Presentatie Elke pagina van het websysteem bestaat uit een header, een inhoud en een footer. Het bovenste gedeelte van elke pagina i.e. de header, bevat volgende zaken: De titel van het systeem, dat tevens een link is naar de homepage, de zoekbalk, die momenteel opzoeken op basis van titel en keywords ondersteunt en een knop om zich aan te melden Het middelste deel van elke pagina noemen we hier de content. In dit deel komen verscheidene zaken tevoorschijn afhankelijk van de pagina waar men zich op bevindt. (dit zal later gellustreerd worden) In het onderste deel; de footer, kan men zich snel naar bepaalde (voornamelijk informatieve) pagina s begeven. Ook treft men hier de optie aan om een andere taal te kiezen. In de volgende secties zullen de verschillende pagina s besproken worden. 2
3.1 Home Dit is de hoofdpagina. Hier komt men terecht als men zich naar onze website begeeft. Op deze pagina is het mogelijk om papers op te zoeken, in te loggen of je te registeren. Inloggen wordt gedaan door het openen van een log-in venster. Sign-up drukken zal de gebruiker naar een nieuwe pagina brengen waar een formulier wordt gepresenteerd waarin alle nodig data opgesomd staat. Zodra iemand geregistreerd of ingelogd is wordt het email en id toegevoegd aan de session. Op het moment dat er een id in de session zit, wordt de bezoeker een gebruiker. 3
3.2 Log-in Na op de Login knop te hebben geklikt verschijnt er een venster waarin men de gebruikersnaam en het bijgaand wachtwoord moet ingeven om in te loggen. 4
3.3 Dashboard Eens men ingelogd is krijgt men toegang tot extra pagina s zoals de upload en settings pagina. Na het inloggen komt men terecht op een persoonlijk dashboard. Vanop deze pagina kan men naar de upload pagina. In een latere iteratie zouden we op deze pagina content toevoegen zoals papers die aanbevolen zijn voor de huidige gebruiker. 5
3.4 Upload Als men vanuit het Dashboard op de upload knop duwt komt men terecht op de upload pagina. De upload pagina bestaat uit een formulier met velden die, afhankelijk van het type publicatie zichtbaar zijn of niet. Men kan op deze pagina een pdf bestand uploaden en de benodigde gegevens handmatig invoeren. Of een pdf bestand uploaden en een BibTex bestand uploaden. In deze situatie worden de velden door het systeem ingevuld aan de hand van de beschikbare informatie in het BibTex bestand. 6
Op dit formulier zijn er velden die enkel nodig zijn voor bepaalde types van publicaties. Deze velden worden dan ook enkel weergegeven als dit type geselecteerd is. paper journal proceeding 7
3.5 My Account Eens men ingelogd is kan men rechtsboven in het venster op mypen duwen, waarna er een drop-down menu tevoorschijn komt. In dit menu kan mijn naar my account. Hier kan men persoonlijke gegevens en het wachtwoord wijzigen. Ook krijgt men een lijst te zien met eigen publicaties (deze kunnen hier verwijderd worden uit het systeem) 8
3.6 Publicatie Vanuit de lijst met publicaties die weergegeven worden in my account, kan men op een paper klikken om zo naar diens pagina te gaan. Op een publicatie pagina krijgt men o.a. informatie te zien zoals titel, auteur en url. Maar men kan vanop deze pagina ook rechtstreeks de pdf bezichtigen. 9
3.7 Zoeken Men kan papers opzoeken op ons systeem, door iets in te vullen in de zoekbalk. De zoekopdracht gaat dan resultaten weergeven op basis van keywords en titel. Ook resultaten vanop externe websites worden weergegeven. 10