Software Design Document

Vergelijkbare documenten
Software Design Document

Software Requirements Specification

Software Requirements Specification

Software Requirements Specification

Software Test Document

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Software Design Document

Software Test Plan. Yannick Verschueren

En hoe gaan ze dit allemaal terugvinden?

Software Project Management Plan

GEBRUIKERSHANDLEIDING Content Management Systeem. Gebruikershandleiding RelaxWeb CMS

Technisch ontwerp ScheidsMarkt

Acco: Files exchange documentatie 10 januari 2011

Handleiding Simon. 5 juni Schouw Informatisering B.V. Danny Cevaal. Versienummer 1.0

Datum: Gemaakt door: Berend de Groot Voor: ComSi, ROC Friese Poort

Software Engineering Groep 4

Inhoud van de website invoeren met de ContentPublisher

TVB, 05/02/2014. Qbus Cloud Activatie

Korte handleiding. Klik vervolgens op de blauwe letters No account yet? Register here.

Basis handleiding CMS

Snelstart Server Online voor Windows en Linux Versie september 2014

Beheer van databanken

HANDLEIDING SERVICEDESKPORTAL

Easy Business Tools - Multi-user module

Gebruiksaanwijzing Mijn easyfairs. Handleiding voor exposanten

USB Storage Hoe werkt USB storage

IMAP-handleiding Bookinto

LAB handleiding april

HANDLEIDING CMS. v.0.0.1

Versie: 1.1 Datum: Handleiding Portal HostedXL

Beschrijving functioneel en technisch design van de website

Registreren (alleen voor leden en directeuren KHMW)

De app kan gedownload worden in de Appstore en de Playstore door te zoeken op sportlinked of via

Central Station. CS website

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Handleiding Webapplicatie Robin

Handleiding Webapplicatie Robin

EasyAccess 2.0 Handleiding. Maak een Domain aan

Handleiding. Mei Versie 1.1. Handleiding NCDR Pacemaker & ICD Registratie - Mei 2015, versie 1.1.

SEOSHOP KLANTENSCORES.NL APP

Inhoud CONTROL PANEL HANDLEIDING STANDAARD CMS SEPT VERSIE 2

Installatiehandleiding Business Assistent

Handleiding voor het inloggen op Terminal Server van GLT-PLUS

Handleiding. Online IDC-leden account [ versie 1.0 ]

1 BUSINESS INTERNET SUPPORT

EBUILDER HANDLEIDING. De Ebuilder is een product van EXED internet EXED CMS UITLEG

Les 10 : Aanmaken van een database (deel2).

Handleiding Centix Cloud (WEB)

Mach3Framework 5.0 / Website

Medewerker handleiding. PersoneelsSysteem - HorecaSysteem - ZorgSysteem

Digitaal aanvragen Vierjarige regeling in het kader van het Kunstenplan

Handleidingen website & pool SVNL voor organisators

Instructie Beheren Cases

Software Project Management Plan

Taak Eerst zien dan geloven Inhoud

De app kan gedownload worden in de Appstore en de Playstore door te zoeken op sportlinked of via

1. Software installeren. 2. Aanmelden bij AlarmSecur. Vragen? Open de app. Klik op registreren

HANDLEIDING DOIT BEHEER SYSTEEM

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

INSTRUCTIES GEBRUIK GOOGLE KALENDER/AGENDA VOOR AVIOSIM VRIJWILLIGERS

Ondersteuning van zorg gerelateerde processen en activiteiten voor patiënt en zorgverstrekkers

Handleiding voor het gebruik van de community website van OBS t Padland

TeD Tekst en Design. Basisinformatie voor klein gebruik van het cms Made Simple

Weebly: Stappenplan voor docenten

INSTALLATIE EXCHANGE CONNECTOR

Handleiding app Sportlinked

Handleiding website SVNL voor organisators

Wi-Fi installatie. Inleiding

Handleiding Centix Cloud (WEB)

Server Online Aan de slag met Server Online

Web applicatie Tolk- en vertaalaanvragen: Handleiding voor aanvragers SVBBO

De app kan gedownload worden in de Appstore en de Playstore door te zoeken op sportlinked of via

Kluwer Office. DMS Basic Medewerker. Software.kluwer.be

AFO 142 Titel Aanwinsten Geschiedenis

Inhoud Error! Bookmark not defined.

Handleiding website SVNL voor organisators

Installatiehandleiding FWG 3.0/ Stand-alone / Netwerkversie. Nieuwe Installatie van FWG 3.0/ met een MS Access database

End-user handleiding voor Virtualmin Handleiding gemaakt door Digibel BVBA Copyright 2010 Digibel BVBA

Databases - Inleiding

HANDLEIDING GEINTEGREERDE REGISTRATIETOOL Versie 1.0

Werkboek studiekeuzecheck Opleiding HBO-ICT

Inhoudsopgave. Inhoud

Gebruiksaanwijzing Mijn easyfairs

Handleiding 2designers Content Management Systeem

CVO Crescendo. Klik op inloggen, jet kmt terecht in de module inloggen Schakel nu om van het tabblad inloggen naar het tabblad Nieuw account aanmaken

Transcriptie:

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 2

Versie geschiedenis: Versienummer Datum Auteur Versie 1 19/11/2014 Sander Lenaerts Versie 2 14/12/2014 Sander Lenaerts

Contents 1 Inleiding 1 1.1 Doel.................................. 1 1.2 Scope................................. 1 2 System overview 1 3 Database 2 3.1 Person................................. 4 3.2 Account................................ 4 3.2.1 Field of research from account............... 4 3.3 Publication.............................. 5 3.3.1 Proceeding.......................... 5 3.3.2 Journal............................ 5 3.3.3 Keyword........................... 5 3.3.4 Person wrote publication en person edited proceeding.. 5 4 Presentatie 6 4.1 Bezoekers............................... 7 4.2 Gebruiker............................... 8

1 Inleiding Dit document is het Software Design Document van het project PEN versie 2. 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 eerste iteratie van dit project en een leidraad te geven voor de komende iteraties. Om deze reden zullen de objecten hier op een hoog niveau van abstractie beschreven worden. In de eerste iteratie gaan we ondersteuning geven voor het aanmaken van accounts, inloggen, uploaden en opzoeken van papers. Dit document is gericht naar mensen met een basiskennis in de informaticawereld. 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 gaan we het traditionele client-server model gebruiken; 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 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 wordt het id en email van de gebruiker bijgehouden. Later zal hier ook de taalkeuze in opgeslagen worden. 1

Dit houdt in dat er op het device van de gebruiker maar één module draait die enkel de input op aanwezigheid en syntax vereisten controleert (alle vereiste velden moeten ingevuld zijn, in een naam mag geen nummer voorkomen, in een leeftijd geen letters,...). Daarna wordt de input mogelijk geconverteerd doorgestuurd naar de server. De server is dus verantwoordelijk voor de eigenlijke business logica. In de voorbije fase betekende dit meestal een oproep van de database manager en daarna laat de correcte pagina renderen. Later zal dit ook het uitvoeren van query s zijn (geen database query s maar bijvoorbeeld paper s geschreven door Jan Modaal.) 3 Database Onderstaand ORM diagram geeft een voorstelling van de gebruikte database. 2

& "#$!! "# %

Dit diagram geeft aanleiding tot negen tabellen. 1. account 2. field of research from account 3. journal 4. person 5. person edited proceeding 6. person wrote publication 7. proceeding 8. publication 9. publication keyword 3.1 Person De persoon tabel geeft een overzicht van alle namen van personen die in het systeem opgeslagen zijn. Dus de namen van geregistreerde gebruikers, editors, publishers, co-auteurs. Aangezien een voornaam, achternaam en combinatie allen niet uniek zijn, moeten we een artificiële id bijhouden. Voor artificiële id s zijn er twee mogelijkheden: UUID s en zelf tellende tabellen. Hier worden UUID s gebruikt; dit omdat zelf tellende tabellen niet in de Standaard sql syntax zitten. Dit maakt onze applicatie overdraagbaar naar een ander soort database. 3.2 Account De account tabel geeft een overzicht van alle data van geregistreerde gebruikers. Dit betekent een email adres dat ook dienst doet als log-in-id en dus uniek moet zijn. Een affiliatie, wachtwoord en een verwijzing naar de entry in de person tabel die de voornaam en achternaam van de gebruiker onthoudt. 3.2.1 Field of research from account Deze tabel geeft aan in welke onderzoeksdomeinen een gebruiker in geïnteresserd is. Momenteel is er nog geen mogelijkheid om deze aan te passen. 4

3.3 Publication Dit is de tabel die de data, die hetzelfde is van de verschillende publicatie op ons systeem, onthoudt. Dingen zoals een titel, schrijver, paginanummer, score etc zijn vereist voor elke publicatie. Verder wordt er een publicatietype bijgehouden dat aangeeft over wat soort publicatie de rij data bijhoudt. De mogelijkheden zijn een proceeding, een journal of een paper. Dit veld geeft ook aan waar de andere data kan worden opgezocht. Wederom is een titel niet noodzakelijk uniek, dit betekent dat er een artificiële identifier wordt toegevoegd aan de rij. 3.3.1 Proceeding De proceeding tabel houdt bij in welke stad en door welke publisher de proceeding is uitgegeven. 3.3.2 Journal De journal tabel houdt bij over het hoeveelste nummer en editie de journal gaat. 3.3.3 Keyword De keyword tabel houdt bij welke keywords er gebonden zijn aan publicaties. Er kunnen maximaal drie keywords gebonden worden aan een publicatie en er moet minstens één keyword meegegeven worden. Deze gaan we later gebruiken om gelijkaardige papers op te zoeken of om relevante papers voor te stellen aan de gebruikers. 3.3.4 Person wrote publication en person edited proceeding Dit zijn look-up tabellen die combinaties maakt tussen publication ids en person ids. 5

4 Presentatie Onze webpagina heeft twee grote delen: een statisch gedeelte dat overal hetzelfde is en een dynamisch gedeelte dat informatie toont naar gelang de status van de applicatie. Het dynamisch gedeelte is omkaderd in het zwart in onderstaande afbeelding Het statisch gedeelte omvat twee stroken: de titelbalk (blauwe pijl bovenaan de pagina) en de voettekst (oranje pijl onderaan de pagina.) De titelbalk toont de titel van het project: pen paper exchange project en de applicatie en de acties die de gebruiker op dit moment kan ondernemen (opzoeken van paper, inloggen). 6

4.1 Bezoekers Bij het eerste bezoek op de website wordt onderstaande pagina geladen. 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. 7

4.2 Gebruiker Gebruikers krijgen toegang tot extra pagina s zoals de upload en settings pagina. Op de upload pagina wordt wederom een formulier gegeven. 8

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