Like dokumenter
infotorg Enkel brukermanual

Produktrapport Gruppe 9

Entobutikk 5.BRUKERMANUAL VÅR 2011

Brukerveiledning. Madison Møbler Nettbutikk

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

Brukerveiledning - netthandel

Brukerveiledning. Madison Møbler Administrasjonsside

Heidenreich AS Industriveien 6 Postboks Skedsmokorset Telefon: Org: NO

Overordnet beskrivelse og arkitekturskisse

Hvordan bli opprettet som kunde og registre ordrene på nett

Brukermanual for Norwex Norge AS nettbutikk

Brukermanual for kommuneansvarlig og testleder

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

infotorg Enkel brukermanual

Oppsett «Visma Contacts»

BRUKERVEILEDNING FOR NETTBUTIKKEN FORHÅNDSMELDING OG OPPLASTING AV POSTNUMMERFILER. Post med like formater og Aviser til abonnenter

Entobutikk 3.TESTRAPPORT VÅR 2011

Med nye TINE Handel får du som kunde nytte og glede av følgende funksjoner:

student s104111, s107911, s122357

Uansett hvilken håndbok du benytter vil fremgangsmåten være den samme. I denne veiledningen benytter vi personalhåndboken som eksempel.

Informasjon for nye brukere (for administratorer) Mars 2014, 3. utgave

PixEdit Guide MEDFAK (5. utkast)

FTP Info til brukerne

Brukerveiledning for kontaktpersoner i kommuner og fylkeskommuner

BRUKERVEILEDNING INTRANETT, CMA ASSET MANAGEMENT AS. Dataingeniørutdanningen, Høgskolen i Oslo GRUPPE 15. Kenneth Ådalen. Vegard Gulbrandsen

Fra datax til Visma eaccounting

Lablink 2.x brukerveiledning

Vårt nettsted En håndbok for lokale nettredaktører i fylkes- og lokallag


Administrasjon Nettbutikk: Bruk brukernavn og passord som er sendt på e-post.

F A G B O K F O R L A G E T S E - P O R T A L

Mamut Enterprise Partner Web Kunde og Partner Web

Brukerveiledning. Gruppe 9

F A G B O K F O R L A G E T S E - P O R T A L

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA

WinMed3. Release Notes Allmenn Våren Release Notes Allmenn Våren 2013 Versjon Side 1

Overgang til RT4 hjelp for saksbehandlere

BLUEGARDEN HR-PORTAL Bluegarden HMS- Oppfølging av sykemeldte BRUKERDOKUMENTASJON. Versjon 5.0 Sist oppdatert:

BRUKERHÅNDBOK FOR UNIVERSITETET I OSLO. (Versjon )

Testrapport. Studentevalueringssystem

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

Administrasjon av leverandører og produkter for finansportalen.no

Kandidat nr. 1, 2 og 3

Testrapport for Sir Jerky Leap

Manual MicroBuild.no Engineering


Bring FraktBestilling

Klargjør for dashbord i it s learning

Bruk av it s learning

Del 1: Overgang fra gammel hjemmeside til ny hjemmeside

Logg inn og introduksjon # 1. Endre passord # 2. Medlemsliste # 3. Registrere et nytt medlem/ny medarbeider # 4. Registrering av tidligere medlem # 5

Brukermanual. Studentevalueringssystem

Bestill skolemelk på Internett

Brukermanual Administrasjon

Send og Motta efaktura bedrift i Nettbank bedrift

Brukerveiledning for Vesuv

RUTEPLANLEGGINGSSYSTEM TESTDOKUMENTASJON

1. Hvordan kommer jeg i gang som mcash-bruker?

Kom i gang med Visma AutoInvoice

Brukerveiledning til MAKS 2010

Brukermanual for nettpublisering. frivilligsentral.no

Velkommen. til. en læringsstøttesystem som vil bli brukt i undervisningen

Brukerveiledning for klubb

Automatisk kartsalg Infoland ( Hvordan bestille digitalt kartverk fra en av kommunene i Valdres gjennom Infoland?

KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress

Brukerveiledning gjovard.com

SiteGen CMS. Innføringsmanual

Lærebok. Opplæring i CuraGuard. CuraGuard Opplæringsbok, - utviklet av SeniorSaken -

buildingsmart Norge Guiden

Hjelp / Brukerveiledning for MinSkyss (klikk på emne)

Brukerveiledning TINE Handel. Fordeler ved å bruke TINE Handel. Foto: Sigurd Skjelmo

Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet

Brukerveiledning Aibel Agency Portal

AP226 Use Case Diagram - SBL

Kvikkguide Send og Motta efaktura bedrift i Nettbank bedrift

4. Varemottak DFØ. Versjon: Utføre varemottak Innhold

Slik administrerer du Ståstedsanalysen

Lotus Traveler - Manual for installasjon

Hurtigguide til KF Infoserie

UMW Templates Definisjoner standard funksjonalitet

Velkommen som ny bruker av Uni Økonomi!

Slik tar du i bruk nettbanken

Releaseinformasjon. Visma Retail AS. Release Oktober 2015

Entobutikk 1.KRAVSPESIFIKASJON VÅR 2011

Manusnett - brukerveiledning for forfatter

Use Case Modeller. Administrator og standardbruker

Introduksjon til. For studenter ved NTNU

Veileder i bruk av GoodReader

Brukermanual. Quality PayBack Starter Edition

Brukerveiledning for klubb

Eksamen i Internetteknologi Fagkode: IVA1379

Veiledning brukere Visma.net. Expense

Brukerdokumentasjon for Administrator og andre brukere fra PT

Kom i gang med Visma AutoInvoice

Brukerveiledning for å legge inn Støtteordning, Rammer, Forenklet tilsagn, Endringer på tilsagn, Årsrapportering

Bruksanvisning tjff.terrengbooking.no

Bakgrunn Innlogging Brukere med tilgang Registrere infeksjoner Registrere antibiotika Registreringer...

Vedlikeholde nettstedet i Joomla 2.5 +

FRC-Feeder-E. Et sikkert og raskt verktøy for overføring av data til File Record Converter Versjon 1.9

Testdokumentasjon. Gruppe 9

Transkript:

Prosessrapport

Prosessrapport DynaSale HiO 2007 1

Prosessrapport DynaSale HiO 2007 2

Prosessrapport DynaSale HiO 2007 3

Prosessrapport DynaSale HiO 2007 4

Prosessrapport DynaSale HiO 2007 3.1 Om oppdragsgiver, GAN Media 3.2 Litt om GAN Medias produkter 5

Prosessrapport DynaSale HiO 2007 3.3 Overordnet beskrivelse av prosjektet 3.4 Mål og rammebetingelser 6

Prosessrapport DynaSale HiO 2007 7

Prosessrapport DynaSale HiO 2007 8

Prosessrapport DynaSale HiO 2007 9

Prosessrapport DynaSale HiO 2007 5.1 Bakgrunn for oppgaven 10

Prosessrapport DynaSale HiO 2007 5.2 Forprosjekt 5.3 Kravspesifikasjon 11

Prosessrapport DynaSale HiO 2007 5.3.1.1 Rettigheter til content 5.3.1.2 Priser og content for salg 5.3.1.3 Legge til Content i DynaPark 5.3.1.4 XDoclet 12

Prosessrapport DynaSale HiO 2007 5.3.1.5 Grafisk design 5.4 Modeller og diagrammer 13

Prosessrapport DynaSale HiO 2007 5.5 Prosjektside 5.6 Planleggingsverktøy og metoder 14

Prosessrapport DynaSale HiO 2007 5.6.3.1 Checkstyle 5.6.3.2 Wicket Workbench 5.6.3.3 SubClipse 15

Prosessrapport DynaSale HiO 2007 16

Prosessrapport DynaSale HiO 2007 6.1 REST - Integrasjon med DynaPark 17

Prosessrapport DynaSale HiO 2007 18

Prosessrapport DynaSale HiO 2007 6.2 Spring/Hibernate - Databaseaksess 19

Prosessrapport DynaSale HiO 2007 20

Prosessrapport DynaSale HiO 2007 21

Prosessrapport DynaSale HiO 2007 22

Prosessrapport DynaSale HiO 2007 6.2.6.1 Automatisk oppretting av tabeller 6.2.6.2 Hvordan ha én database per selger 23

Prosessrapport DynaSale HiO 2007 6.2.6.3 Assosiasjoner mellom dataobjekter 6.2.6.4 Lazy assosiasjoner 24

Prosessrapport DynaSale HiO 2007 6.2.6.5 Annotasjoner eller mapping-filer 6.3 Spring - Dependency Injection i prosjektet 6.3.1.1 Dependency Injection 25

Prosessrapport DynaSale HiO 2007 6.3.1.2 Enklere planlegging 6.3.1.3 Enklere å samarbeide 6.3.1.4 Enklere å gjøre endringer i programmet 26

Prosessrapport DynaSale HiO 2007 6.3.1.5 Enklere å legge til konfigurasjoner 6.3.3.1 Forskjellig oppretting av objekter 6.3.3.2 Serialisering 6.3.3.3 Løsning 1: hente WebApplication fra Springs ApplicationContext 27

Prosessrapport DynaSale HiO 2007 6.3.3.4 Løsning 2: mellomtjenere og ComponentInjector 28

Prosessrapport DynaSale HiO 2007 6.4 JUnit og Ant - automatisert testing av Data dataaksessobjektene 6.4.2.1 Valg av database 29

Prosessrapport DynaSale HiO 2007 6.4.2.2 Sørge for kjente data i databasen 30

Prosessrapport DynaSale HiO 2007 6.4.2.3 Oppretting og endring av databasetabeller 6.4.2.4 Valg av hvilke konfigurasjonsfiler som skal testes 6.4.2.5 Filstruktur for unit-testing 6.4.2.6 Koordinering med Ant 31

Prosessrapport DynaSale HiO 2007 6.5 Webgrensesnitt 32

Prosessrapport DynaSale HiO 2007 33

Prosessrapport DynaSale HiO 2007 6.6 Levering av kjøpe dokumenter/medier 34

Prosessrapport DynaSale HiO 2007 6.7 Sending av faktura til kunde på e-post 35

Prosessrapport DynaSale HiO 2007 36

Prosessrapport DynaSale HiO 2007 6.8 Grafisk design 37

Prosessrapport DynaSale HiO 2007 7.1 Endringer fra første versjon 7.2 Kravspesifikasjonens rolle under utviklingen 38

Prosessrapport DynaSale HiO 2007 39

Prosessrapport DynaSale HiO 2007 9.1 Sider ved DynaSale vi ønsker å trekke frem 40

Prosessrapport DynaSale HiO 2007 41

Prosessrapport DynaSale HiO 2007 9.2 Konklusjon 42

Produktdokumentasjon

Produktdokumentasjon DynaSale HiO 2007 1

Produktdokumentasjon DynaSale HiO 2007 2

Produktdokumentasjon DynaSale HiO 2007 3

Produktdokumentasjon DynaSale HiO 2007 4

Produktdokumentasjon DynaSale HiO 2007 3.1 Om oppdragsgiver, GAN Media 3.2 Litt om GAN Medias produkter 5

Produktdokumentasjon DynaSale HiO 2007 3.3 Overordnet beskrivelse av produktet 3.4 Krav til miljø 3.5 Samsvar med kravspesifikasjonen 6

Produktdokumentasjon DynaSale HiO 2007 4.1 Wicket 7

Produktdokumentasjon DynaSale HiO 2007 8

Produktdokumentasjon DynaSale HiO 2007 9

Produktdokumentasjon DynaSale HiO 2007 4.2 Hibernate 10

Produktdokumentasjon DynaSale HiO 2007 4.3 Spring 11

Produktdokumentasjon DynaSale HiO 2007 4.4 REST 12

Produktdokumentasjon DynaSale HiO 2007 4.5 Ant 13

Produktdokumentasjon DynaSale HiO 2007 5.1 Programmets oppbygging 5.2 Databasen 14

Produktdokumentasjon DynaSale HiO 2007 15

Produktdokumentasjon DynaSale HiO 2007 16

Produktdokumentasjon DynaSale HiO 2007 5.3 Dataaksessobjekter og tjenester for Hibernate 17

Produktdokumentasjon DynaSale HiO 2007 18

Produktdokumentasjon DynaSale HiO 2007 19

Produktdokumentasjon DynaSale HiO 2007 5.4 Sammenkobling av programmets deler Spring 20

Produktdokumentasjon DynaSale HiO 2007 5.5 REST-grensesnitt 5.5.1.1 Public-metodene 21

Produktdokumentasjon DynaSale HiO 2007 22

Produktdokumentasjon DynaSale HiO 2007 23

Produktdokumentasjon DynaSale HiO 2007 24

Produktdokumentasjon DynaSale HiO 2007 5.6 Wicket i weblaget 25

Produktdokumentasjon DynaSale HiO 2007 26

Produktdokumentasjon DynaSale HiO 2007 5.7 Distribusjon 27

Produktdokumentasjon DynaSale HiO 2007 28

Produktdokumentasjon DynaSale HiO 2007 5.8 Distribusjon av faktura 5.9 Andre tjenester 29

Produktdokumentasjon DynaSale HiO 2007 5.10 Logging 30

Produktdokumentasjon DynaSale HiO 2007 31

Produktdokumentasjon DynaSale HiO 2007 6.1 no.gan.dynasale 6.2 no.gan.dynasale.web 32

Produktdokumentasjon DynaSale HiO 2007 6.3 no.gan.dynasale.web.adminpages 33

Produktdokumentasjon DynaSale HiO 2007 6.4 no.gan.dynasale.web.forms 34

Produktdokumentasjon DynaSale HiO 2007 6.5 no.gan.dynasale.web.pages 35

Produktdokumentasjon DynaSale HiO 2007 36

Produktdokumentasjon DynaSale HiO 2007 6.6 no.gan.dynasale.web.panel 37

Produktdokumentasjon DynaSale HiO 2007 38

Produktdokumentasjon DynaSale HiO 2007 7.1 Generelt 7.2 Brukere 39

Produktdokumentasjon DynaSale HiO 2007 7.3 Sikkerhetsnivåer 7.4 Sikkerhet rundt distribusjon 7.5 Sikkerhet rundt Faktura 40

Produktdokumentasjon DynaSale HiO 2007 7.6 Testing av kode 7.7 Logging 7.8 Detaljer om implementeringen av sikkerheten 41

Produktdokumentasjon DynaSale HiO 2007 42

Produktdokumentasjon DynaSale HiO 2007 8.1 Ant-script 8.2 Eksterne biblioteker i prosjektet 43

Produktdokumentasjon DynaSale HiO 2007 44

Produktdokumentasjon DynaSale HiO 2007 9.1 Søkefunksjonalitet 9.2 Statistikkfunksjonalitet 9.3 Ønskelistefunksjonalitet 45

Produktdokumentasjon DynaSale HiO 2007 9.4 Utvidet støtte for forskjellige medie-formater 9.5 Salg av andre varer og tjenester 46

Kravspesifikasjon

Kravspesifikasjon DynaSale HiO 2007 1

Kravspesifikasjon DynaSale HiO 2007 2

Kravspesifikasjon DynaSale HiO 2007 3.1 Presentasjon 3.2 Om oppdragsgiver, GAN Media 3

Kravspesifikasjon DynaSale HiO 2007 3.3 Litt om GAN Medias produkter 3.4 Bakgrunn for oppgaven 3.5 Overordnet beskrivelse av prosjektet 3.6 Mål og rammebetingelser 4

Kravspesifikasjon DynaSale HiO 2007 5

Kravspesifikasjon DynaSale HiO 2007 3.7 Overordnet systemskisse 6

Kravspesifikasjon DynaSale HiO 2007 7

Kravspesifikasjon DynaSale HiO 2007 8

Kravspesifikasjon DynaSale HiO 2007 6.1 Funksjonelle krav for kjøper 9

Kravspesifikasjon DynaSale HiO 2007 6.2 Funksjonelle krav for selger 6.3 Funksjonelle krav for DynaSales systemadministrator 6.4 Generelle funksjonskrav 6.5 Begrensninger 10

Kravspesifikasjon DynaSale HiO 2007 6.6 Eventuelle utvidelser 11

Kravspesifikasjon DynaSale HiO 2007 12

Kravspesifikasjon DynaSale HiO 2007 13

Kravspesifikasjon DynaSale HiO 2007 14

Kravspesifikasjon DynaSale HiO 2007 15

Kravspesifikasjon DynaSale HiO 2007 16

Kravspesifikasjon DynaSale HiO 2007 17

Kravspesifikasjon DynaSale HiO 2007 18

Testrapport

Testrapport DynaSale HiO 2007 1

Testrapport DynaSale HiO 2007 2

Testrapport DynaSale HiO 2007 3

Testrapport DynaSale HiO 2007 4.1 Unit-testing 4

Testrapport DynaSale HiO 2007 4.2 Funksjonstesting 5

Testrapport DynaSale HiO 2007 4.2.2.1 Sikkerhet 6

Testrapport DynaSale HiO 2007 4.2.2.2 Brukeradministrasjon 7

Testrapport DynaSale HiO 2007 4.2.2.3 Ordreadministrasjon 8

Testrapport DynaSale HiO 2007 4.2.2.4 Handlekurv 9

Testrapport DynaSale HiO 2007 4.2.2.5 Kassen (Checkout) 10

Testrapport DynaSale HiO 2007 4.2.2.6 Diverse 11

Testrapport DynaSale HiO 2007 12

Testrapport DynaSale HiO 2007 13

Vedlegg

Vedlegg DynaSale HiO 2007 Vedlegg A: Litteraturliste Vi har benyttet oss av følgende bøker: Pro Wicket, Karthik Gurumurthy, Apress 2006 Pro Spring, Rob Harrop & Jan Machacek, Apress 2005 Følgende nettsider har vært til stor hjelp: http://wicket.sourceforge.net/ http://www.cafeconleche.org/books/xmljava/chapters/ch05s03.html http://www.hibernate.org http://www-128.ibm.com/developerworks/java http://www.springframework.org/documentation http://www.wicket-wiki.org.uk/wiki/index.php/spring http://www.theserverside.com/tt/articles/article.tss?l=unittesting http://en.wikipedia.org/wiki/representational_state_transfer 1

Vedlegg DynaSale HiO 2007 Vedlegg B: Skjermbilder I dette kapittelet har vi samlet en rekke skjermbilder. Etter bildeteksten kommer det i tillegg en litt mer fyldig beskrivelse. Alle klassene (klassenavnene står i parentes i overskriften) er beskrevet kort i kapittel 6 i produktrapporten, beskrivelsene her er imidlertid mer utfyllende. Noen tekniske detaljer er imidlertid utelatt her. Utover dette, og noen referanser ved bildene, vises det til innholdsfortegnelsene om det ønskes mer detaljer om hvordan sidene er utviklet og alt som ligger bak. B.1 Innlogging (LoginPage.java) Figur B.1.1: Skjermbilde som viser innloggings-siden Dette er det første brukere vil se, dersom valget for å kunne se bildene uten å logge seg inn ikke er aktivert. I dette bildet er dette aktivert sammen med mulighet for å kunne registrere seg. 2

Vedlegg DynaSale HiO 2007 Dersom mulighet for å registrere seg deaktiveres, vil avsnittet som tilbyr brukeren å registrere seg bli borte. For mer informasjon om konfigureringen av hva som skal være mulig se kapittel 5.4 i produktdokumentasjonen. Figur B.1.2: Skjermbilde som viser innloggings-siden ved feil Innloggings-siden og alle andre sider som inneholder data har validering av dataene som skrives inn. Feilmeldingene gies tilbake til brukerne i form av en liste. På innloggings-siden og registrerings-siden (kapittel B.2) kommer feilmeldingene opp ovenfor skjemaet, mens de på alle andre sider kommer opp nedenfor sidens header. Dette siden alle andre sider er subklasser av BasePage, som har et panel som fanger opp feilmeldinger. Dette er gjort for at brukeren raskt skal se feilmeldingene. 3

Vedlegg DynaSale HiO 2007 B.2 Registrering (RegUserPage.java) Figur B.2.1: Skjermbilde som viser registreringssiden Dersom det er aktivert at brukere kan registrere seg selv, vil brukeren kunne få opp denne siden om det trykkes på linken Registrer meg! på forsiden (kapittel B.1). I skjemaet som vises må alle felter fylles ut, ellers får man tilbakemelding om hvilke felt som ikke er utfylt. Etter registrering blir man logget automatisk inn i systemet og kommer til hovedsiden (neste kapittel). 4

Vedlegg DynaSale HiO 2007 B.3 Hovedsiden (FrontPage.java) Figur B.3.1: Skjermbilde som viser forsiden Dette er forsiden man kommer til etter å ha logget inn (eventuelt den første siden som vises om innlogging ikke kreves). Man blir her vist en meny over mappene som ligger hos DynaPark, bildene som ligger i valgt mappe, en handlekurv, og en brukermeny. Den siste menyen er en funksjonsrettet meny som gir brukeren mulighet for å logge ut, endre profil og så videre. Alle bildene er merket med navn og pris, det er også et handlekurv-ikon man kan bruke for å legge bildet direkte inn i handlekurven. Trykker man på bildet vil man komme til en detaljert visning av det, der man også kan velge å legge det i handlekurven. 5

Vedlegg DynaSale HiO 2007 B.4 Detaljert visning (DetailsPage.java) Figur B.4.1: Skjermbilde som viser detaljer om bildet Her vil man se hvilke formater bildet er tilgjengelig i, man kan også få vist alle de data som er lagret om bildet i DynaPark (disse vises ikke på bildet grunnet at systemet kun viser begrensede testdata, mer om dette i kapittel 9 i produktdokumentasjonen). Figur B.4.2: Skjermbilde som viser Content i handlekurven til høyre Etter å ha lagt til et bilde i handlekurven vil det komme opp en tilsvarende linje i handlekurven til høyre. Handlekurven vil nå også få funksjonene Administrere handlekurv, Gå til kassen, og 6

Vedlegg DynaSale HiO 2007 Blank ut (disse mulighetene vil forsvinne igjen om man tømmer handlekurven). Man har i tillegg mulighet til å fjerne ett og ett bilde fra handlekurven. Figur B.4.3: Skjermbilde som viser feilmeldingen som kommer om man forsøket å legge til Content som allerede ligger i handlekurven på nytt. Disse er lagt inn på en slik måte at de bryter linjene i designet, slik at det skal bli enklere å få øye på dem. Det er bestemt at man kun skal kunne kjøpe ett eksemplar av et bildet, og man vil derfor få en feilmelding om man skulle prøve å legge til et bilde som allerede ligger i handlekurven. 7

Vedlegg DynaSale HiO 2007 B.5 Handlekurven (BasketPage.java) Figur B.5.1: Skjermbilde som viser handlekurven. Alle elementene har pris lik 0.0,- siden systemet vi henter data fra, som ligger utenfor vår kontroll, ikke er helt ferdig enda. Velger man å administrere handlekurven vil man få opp en liste over bilder i handlekurven, med valg om å fjerne elementer, eller gå til kassen, slik som vi ser på bildet over. 8

Vedlegg DynaSale HiO 2007 B.6 Kassen del 1 (CheckoutPage.java) Figur B.6.1: Skjermbilde som viser første del av kjøpsprosessen. Velger man å gå til kassen vil man komme til denne siden, hvor man blir bedt om kortdata, og kan velge hvilken e-postadresse faktura og linker skal sendes til. De følgende bildene er kun demonstrasjonssider, da det ikke er noen avtale med noen leverandør av betalingsløsninger. Merk også at handlekurven blir låst under transaksjonen så det ikke skal være mulig å endre denne. 9

Vedlegg DynaSale HiO 2007 Figur B.6.2: Skjermbilde som viser at bruker får tilbakemeldinger om feil i utfylte data Her blir man også møtt med feilmeldinger dersom innskrevne data ikke skulle være gyldige. 10

Vedlegg DynaSale HiO 2007 B.7 Kassen del 2 (ConfirmCheckoutPage.java) Figur B.7.1: Skjermbilde som siden for å bekrefte kjøp I steg 2 vil man få en oversikt over hva man skal kjøpe, prisen på dette, og hvor det skal sendes. Velger man Fullfør vil transaksjonen bli gjennomført (merk at dette ikke er implementert grunnet manglende avtale med leverandør av betalingsløsning). 11

Vedlegg DynaSale HiO 2007 B.8 Kassen del 3 (CheckoutCompletePage.java) Figur B.8.1: Skjermbilde som viser fullført handel Når kjøpet er gjennomført får man opp status på transaksjonen, link til faktura, og linker til alle de kjøpte objektene. I dette bildet var det ikke tilgang til e-post, så brukeren fikk en feilmelding angående dette (dette oppstår siden maskinen som kjører applikasjonen står på en adresse som ikke har tilgang til den serveren som skal ta seg av sending av e-post). 12

Vedlegg DynaSale HiO 2007 B.9 Mine ordre (OrderDetailsPage.java) Figur B.9.1: Skjermbilde som viser ordreliste Velger man Mine ordre fra den horisontale menyen, vil man komme til dette skjermbildet. Her vil alle tidligere ordre vises, med mulighet for å kunne se mer detaljer for hver ordre (se neste kapittel). 13

Vedlegg DynaSale HiO 2007 B.10 Ordredetaljer (OrderDetailsPage.java) Figur B.10.1: Skjermbilde som viser detaljer om en ordre På denne siden vises alle detaljer om en av brukerens ordre. Det er også linker for å laste ned både kjøpte medier og faktura. 14

Vedlegg DynaSale HiO 2007 Figur B.10.2: Skjermbilde som viser dialogboks for faktura Velger man fakturalinken vil man få opp en dialogboks med valg om å åpne eller lagre fakturaen i PDF-format. 15

Vedlegg DynaSale HiO 2007 Figur B.10.3: Skjermbilde som viser dialogboks for Content Ved valg av bilde vil man få opp en tilsvarende dialogboks for bildet. 16

Vedlegg DynaSale HiO 2007 B.11 Endre brukerdetaljer (MyProfilePage.java) Figur B.11.1: Skjermbilde som viser skjema for å endre bruker Ved å velge Endre profil fra den horisontale menyen vil man komme til dette skjermbildet. Her kan man endre registrerte data og fylle ut manglende informasjon (etter ønske fra oppdragsgiver spørres det ikke etter tittel og firma når man registrerer seg, for å gjøre det enklest mulig). Man har også valget om å endre e-postadresse og passord om man ønsker dette. Kunder identifiseres med et unikt siffer i systemet, slik at det er uproblematisk at e-postadressen byttes selv om denne benyttes som brukernavn, men det sjekkes at den er unik før det godtas. 17

Vedlegg DynaSale HiO 2007 B.12 Sider for administratorer Skjermbildene i dette kapittelet er av sider kun administratorer har tilgang til. B.12.1 Forside (Frontpage.java) Figur B.12.1.1: Skjermbilde som viser administratormenyen Merk at denne siden er den samme som vises til vanlige brukere, med unntak av administratormenyen, som vises om man er logget inn som administrator. Dette gjelder alle sider. For detaljer om hvordan dette er implementert, se produktdokumentasjonens kapittel 5.6. 18

Vedlegg DynaSale HiO 2007 B.12.2 Brukerliste (ListUsersPage.java) Figur B.12.2.1: Skjermbilde som viser brukerlisten Ved å velge List og endre brukere fra administratormenyen vil man komme til denne siden der man har valget mellom å legge til, endre eller fjerne brukere. Legg merke til at om brukere fjernes forsvinner de ikke helt fra systemet, dette er både fordi de trengs for å ha en komplett historikk, og slik at det skal være lettere å eventuelt legge dem til på nytt. 19

Vedlegg DynaSale HiO 2007 B.12.3 Legg til bruker (AddUserPage.java) og endre bruker (EditUserPage.java) Figur B.12.3.1: Skjermbilde som viser skjema for å legge til bruker Om man velger å legge til en bruker enten fra administratormenyen eller fra brukerlisten, vil man bli møtt med dette bildet, som er det samme som ved endring av bruker. Ved endring vil selvfølgelig lagrede data og en annen overskrift vises. I tillegg til det brukeren selv kan endre, kan man her velge å gjøre brukere til administratorer og endre rabattsatsen. 20

Vedlegg DynaSale HiO 2007 Figur B.12.3.2: Skjermbilde som viser endret bruker Endrer man en bruker vil linjen i tabellen få en egen class-attributt, som gjør at man kan markere dette sånn man måtte ønske. Her markert med gult. B.12.4 Ordreliste (OrdersForUserPage.java) Figur B.12.4.1: Skjermbilde som viser ordreliste 21

Vedlegg DynaSale HiO 2007 Velger man List og endre ordre vil man komme til denne siden. Her kan man velge ut en bruker, og så se alle ordre for brukeren. Figur B.12.4.2: Skjermbilde som viser ordre, hvorav en er deaktivert Her har man, i tillegg til å kunne se alles ordre, mulighet for å aktivere eller deaktivere ordre. Bildet over viser at det kommer en tilbakemelding på at brukeren er deaktivert øverst på siden, samtidig som linken endrer tekst og funksjonalitet fra aktiver til deaktiver. 22

Vedlegg DynaSale HiO 2007 Vedlegg C: Fakturaeksempel Under følger et eksempel på en faktura i PDF-format, generert av DynaSale. 23

Vedlegg DynaSale HiO 2007 Vedlegg D: Ant-script <project name="dynasale" default="compile"> <property name="sourcedir" value="${basedir}/src/main/java"/> <property name="testsourcedir" value="${basedir}/src/test/java"/> <property name="targetdir" value="${basedir}/webapp/web-inf/bin"/> <property name="testtargetdir" value="${basedir}/src/test/bin"/> <property name="librarydir" value="${basedir}/webapp/web-inf/lib"/> <property name="testsrc" value="${basedir}/src/test/java"/> <path id="libraries"> <fileset dir="${librarydir}"> <include name="*.jar"/> </fileset> </path> <target name="clean"> <delete dir="${targetdir}"/> <mkdir dir="${targetdir}"/> </target> <!-- Starts DynaSale in the Jetty test environment. The database settings should be set to test settings for this --> <target name="wicket" depends="compile"> <!-- starting the database, for your convenience :) --> <java fork="true" spawn="true" classname="org.hsqldb.server" classpathref="libraries" /> <java fork="true" classname="wicket.quickstart.start" classpathref="libraries"> <classpath> <pathelement path="${targetdir}"/> <pathelement location="src/webapp/web-inf/" /> <pathelement location="${targetdir}" /> <pathelement location="${testtargetdir}" /> <pathelement path="" /> <pathelement path="${java.class.path}" /> <pathelement location="src/test/java" /> </classpath> <arg value="${action}"/> </java> </target> 24

Vedlegg DynaSale HiO 2007 <target name="compiletests" depends="compile"> <delete dir="${testtargetdir}" /> <mkdir dir="${testtargetdir}"/> <javac srcdir="${testsourcedir}" destdir="${testtargetdir}" classpathref="libraries" > <classpath> <pathelement location="${targetdir}" /> <pathelement path="/user/local/junit4.3/" /> </classpath> <include name="**/*.java" /> </javac> </target> <!-- runs the unit tests. The database setting should be set to unit testing for this --> <target name="runtests" depends="compiletests"> <!-- Starting the database --> <java fork="true" spawn="true" classname="org.hsqldb.server" classpathref="libraries" /> <java fork="yes" classname="junit.textui.testrunner" taskname="junit" failonerror="true" classpathref="libraries"> <arg value="no.gan.dynasale.test.alljunittests"/> <classpath> <pathelement location="${targetdir}" /> <pathelement location="${testtargetdir}" /> <pathelement path="" /> <pathelement path="${java.class.path}" /> <pathelement location="src/test/java" /> </classpath> </java> </target> <!-- creates a deployable war archive for DynaSale. The database settings should be set to production for this target --> <target name="war" depends="compile"> <war destfile="dynasale.war" webxml="web.xml"> <lib dir="${librarydir}"> <exclude name="jsdk*.jar"/> </lib> <classes dir="${targetdir}"/> </war> </target> <target name="compile" depends="clean, copy-resources"> <javac srcdir="${sourcedir}" destdir="${targetdir}" classpathref="libraries"/> </target> <target name="copy-resources"> <copy todir="${targetdir}"> <fileset dir="${sourcedir}"> <exclude name="**/*.java"/> 25

Vedlegg DynaSale HiO 2007 </fileset> </copy> </target> </project> 26

Vedlegg DynaSale HiO 2007 Vedlegg E: ApplicationContext <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- Settings for deployment database --> <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname"> <value>com.mysql.jdbc.driver</value></property> <property name="url"> <value>jdbc:mysql://cube.iu.hio.no/s135200</value></property> <property name="username"><value>s135200</value></property> <property name="password"><value>3plekake</value></property> </bean> <!-- settings for unit testing <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname"> <value>org.hsqldb.jdbcdriver</value></property> <property name="url"> <value>jdbc:hsqldb:hsql://localhost</value></property> <property name="username"><value>sa</value></property> <property name="password"><value></value></property> </bean> --> <bean id="userdao" class="no.gan.dynasale.dao.hibernate.hibernateuserdao"> <property name="sessionfactory"><ref local="sessionfactory" /></property> </bean> <bean id="orderdao" class="no.gan.dynasale.dao.hibernate.hibernateorderdao"> <property name="sessionfactory"><ref local="sessionfactory" /></property> </bean> <bean id="orderlinedao" class="no.gan.dynasale.dao.hibernate.hibernateorderlinedao"> <property name="sessionfactory"><ref local="sessionfactory" /></property> 27

Vedlegg DynaSale HiO 2007 </bean> <bean id="sessionfactory" class="org.springframework.orm.hibernate3.localsessionfactorybean"> <property name="datasource"><ref local="datasource" /></property> <property name="mappingresources"> <list> <value>no/gan/dynasale/model/mapping.hbm.xml</value> </list> </property> <property name="hibernateproperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.mysqldialect</prop> <!-- <prop key="hibernate.dialect">org.hibernate.dialect.hsqldialect</prop> --> <prop key="hbm2ddl.auto">update</prop> <prop key="hibernate.max_fetch_depth">3</prop> </props> </property> </bean> <bean id="contentdao" class="no.gan.dynasale.dao.rest.restcontentdao"> <constructor-arg> <ref local="restproxy" /> </constructor-arg> </bean> <bean id="formatdao" class="no.gan.dynasale.dao.rest.restformatdao"> <constructor-arg> <ref local="restproxy" /> </constructor-arg> </bean> <bean id="contentservice" class="no.gan.dynasale.service.impl.contentserviceimpl"> <constructor-arg> <ref local="contentdao" /> </constructor-arg> </bean> <bean id="formatservice" class="no.gan.dynasale.service.impl.formatserviceimpl"> <constructor-arg> <ref local="formatdao" /> </constructor-arg> </bean> <bean id="userservice" class="no.gan.dynasale.service.impl.userserviceimpl"> <property name="userdao"> <ref local="userdao" /> </property> <property name="orderservice"> <ref local="orderservice" /> 28

Vedlegg DynaSale HiO 2007 </property> <property name="messagedigestservice"> <ref local="messagedigestservice" /> </property> </bean> <bean id="orderlineservice" class="no.gan.dynasale.service.impl.orderlineserviceimpl"> <property name="orderlinedao"> <ref local="orderlinedao" /> </property> </bean> <bean id="orderservice" class="no.gan.dynasale.service.impl.orderserviceimpl"> <property name="orderdao"> <ref local="orderdao" /> </property> <property name="orderlinedao"> <ref local="orderlinedao" /> </property> <property name="userdao"> <ref local="userdao" /> </property> <property name="companyservice"> <ref local="companyservice" /> </property> <property name="invoiceservice"> <ref local="invoiceservice" /> </property> <property name="mailservice"> <ref local="mailservice" /> </property> <property name="formatservice"> <ref local="formatservice" /> </property> <!-- Strings for filling out name and description for Content that does not have this when retrieved from DynaPark --> <property name="defaultname"><value>default name</value></property> <property name="defaultdescription"><value>defualt description</value></property> <!-- These propertries define names for keys and values for properties expected from DynaPark. --> <!-- The key for the element that describes the content --> <property name="contentdescription"><value>description</value></property> <!-- The key for the element that describes the vatlevel --> <property name="vatlevel"><value>vatlevel</value></property> <!-- the value that indicates low vat --> <property name="vatlow"><value>vatlow</value></property> <!-- the value that indicates high vat --> <property name="vathigh"><value>vathigh</value></property> <!-- Medium vat is default, thus does not need to be specified --> 29

Vedlegg DynaSale HiO 2007 </bean> <bean id="restproxy" class="no.gan.dynasale.rest.restproxy"> <property name="customer"> <value>g2demo</value> </property> <property name="host"> <value>http://test.gan.no/dynapark/</value> </property> <property name="version"> <value>2</value> </property> </bean> <bean id="companyservice" class="no.gan.dynasale.service.impl.companyserviceimpl"> <property name="selfregister"> <value>true</value> </property> <property name="anonymousbrowsing"> <value>true</value> </property> <property name="anonymousdownload"> <value>false</value> </property> <property name="name"> <value>visualfunk</value> </property> <property name="lowvat"> <value>0.0</value> </property> <property name="medvat"> <value>13.0</value> </property> <property name="highvat"> <value>25.0</value> </property> <property name="daysboughtavailable"> <value>14</value> </property> <property name="urlbase"> <!-- Please note that it is essensial that this string ends with "faktura/" unless you have changed the url-mapping for the object --> <value>http://dynasale.gan.no/visualfunk/orders/faktura/</value> </property> <property name="address"> <value>storgata 50 0568 Oslo</value> </property> <property name="phone"> <value>22334455</value> </property> <property name="email"> <value>faktura@visual.no</value> 30

Vedlegg DynaSale HiO 2007 </property> <property name="dateformat"> <value>dd.mm.yyyy</value> </property> <property name="dateandtimeformat"> <value>dd.mm.yyyy', kl' HH:mm</value> </property> </bean> <bean id="defaultadmin" class="no.gan.dynasale.model.user"> <property name="mail"> <value>admin@gan.no</value> </property> <property name="passwd"> <value>3plekake</value> </property> <property name="admin"> <value>true</value> </property> </bean> <bean id="sender" class="org.springframework.mail.javamail.javamailsenderimpl"> <property name="host"> <value>mail.bbse.no</value> </property> </bean> <bean id="messagedigestservice" class="no.gan.dynasale.service.impl.messagedigestserviceimpl"> <property name="algorithmname"> <value>sha1</value> </property> </bean> <bean id="mailservice" class="no.gan.dynasale.service.impl.mailsenderimpl"> <property name="from"> <value>dynasale@gan.no</value> </property> <property name="subject"> <value>din ordere fra VisualFunk</value> </property> <property name="sender"> <ref local="sender" /> </property> <property name="text"> <value><![cdata[ <h1>din ordere hos VisualFunk</h1> <p>her er en liste over linker til contentet du kjøpte fra VisualFunk. Du vil også finne en faktura i pdf-format som vedlegg til denne mailen. ]]></value> </property> <property name="userservice"> <ref local="userservice" /> 31

Vedlegg DynaSale HiO 2007 </property> </bean> <bean id="invoiceservice" class="no.gan.dynasale.service.impl.invoiceserviceimpl"> <property name="companyservice"><ref local="companyservice" /></property> <property name="userservice"><ref local="userservice" /></property> </bean> <bean id="componentinstantiationlistener" name="authorizationstrategy" class="no.gan.dynasale.web.storeauthorizationstrategy"> <property name="companyservice"> <ref local="companyservice" /> </property> </bean> </beans> 32

Vedlegg DynaSale HiO 2007 Vedlegg F: Prioriteringer av bruksmønstre Høy prioritet: Liste Content for kjøp Legge til Content i handlekurv Kjøp av varer Logge inn Vise detaljert informasjon om et Content-objekt (Selger skal kunne) Legge til bruker Administrere og vise handlekurv Middels prioritet: Liste alle brukerkontoer Slette en bruker Endre en bruker Vise ordrehistorikk Vise detaljer i ordre Oversikt over ordre Registrere seg Lavt prioritert: Reaktivere ordre Deaktivere ordre Vise Content (for administrator) Liste alt Content fra DynaPark (fra en mappe, for administrator) Legge til Content Endre Content 33

Vedlegg DynaSale HiO 2007 Vedlegg G: Utkast til bruksmønstre (Use Case) Til navigasjon er det først og fremst tenkt benyttet en meny med linker som kaller de aktuelle bruksmønstre. Trykk på denne avbryter aktive bruksmønster. Følgende bruksmønster vil være tilgjengelige fra denne: B2, B5 og B7 G.1 Brukerscenarioer Use Case B1 Beskrivelse Aktører Pre Betingelser Post Betingelser Trigger Hendelsesforløp Unntak Logge inn En bruker skal kunne logge seg inn på systemet (Kjøper, selger, administrator) = bruker Bruker er ikke logget inn Brukeren blir logget inn eller Bruker får feilmelding Bruker går til gitt URI 1. Bruker får valg om å skrive inn brukernavn og passord 2. Bruker fyller ut brukernavn og passord 3. Bruker velger å logge inn 4. Bruker blir videresendt til Hovedsiden 3.A Feil brukernavn/passord 3.A Trigger: Systemet kunne ikke validere brukernavn og passord 1. Bruker får beskjed om at brukernavn/passord var feil, og får mulighet til å logge inn igjen. Use Case B2 Beskrivelse Vise ordrehistorikk En kjøper skal kunne se tidligere ordre 34

Vedlegg DynaSale HiO 2007 Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Kjøper Kjøper er logget inn Kjøper får se alle tidligere ordre Kjøper velger å se ordrehistorikk 1. Kjøper får se alle tidligere ordre 1.A Ingen ordre 1.A Trigger: Kjøperen har ingen tidligere ordre 1. Kjøper får opp en tom liste, med beskjed om at det ikke finnes tidligere ordre. 1.B Vise mer info om ordre 1.B Trigger: Kjøper velger å vise mer info om en ordre 1. INCLUDES(B3) Use Case B3 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Vise detaljer i ordre En bruker skal kunne se detaljer om en ordre (Kjøper, selger) = Bruker, DynaPark Bruker er logget inn && Det finnes en ordre Bruker får se detaljer om en ordre Bruker får en feilmelding Bruker velger å se detaljer om en ordre (B2.1B) 1. DynaSale spør DynaPark om data 2. DynaPark gir data 3. Bruker får se detaljer om en ordre 4. Bruker får valg om å se kvittering 1.A Ingen ordre 1.A Trigger: Bruker prøver å få se en ordre som ikke finnes 1. Bruker får en feilmelding 2. Bruker får valg om å gå til ordrehistorikk 2.A Se kvittering 2.A Trigger: Bruker velger å se kvittering 1. Bruker får se kvittering Use Case B4 Legge til Content i handlekurv 35

Vedlegg DynaSale HiO 2007 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon En bruker skal kunne legge til Content i handlekurven (Kjøper, selger) = bruker Bruker er logget inn (Content blir lagt til i handlekurv && Bruker får beskjed om at content er lagt til) Bruker får en feilmelding Bruker velger kjøp på en vare (B7.2A) 1. Content blir lagt i handlekurven 2. Bruker får beskjed om at Content er lagt til i handlekurv 1.A Content ligger allerede i handlekurv 1.A Trigger: Content ligger allerede i handlekurv 1. Bruker får en feilmelding om at man ikke kan legge til Content 2 ganger. Use Case B5 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Administrere og vise handlekurv En kjøper skal kunne endre innholdet i handlekurven og sende den til bestilling Kjøper Bruker er logget inn Kjøper velger å vise handlekurven 1. Kjøper blir presentert innholdet i handlekurven 2. Kjøper kan administrere innholdet i handlekurven 1.A Handlekurven er tom 1.A Trigger: Handlekurven er tom 1. Kjøper får opp en tom handlekurv 2.A Sletting av vare 2.A Trigger: Kjøper velger å slette en vare 1. Varen slettes og handlekurven vises på nytt 2.B Bestilling av innhold i handlekurv 2.B Trigger: Kjøper velger å sende handlekurven til bestilling 1. INCLUDES(B6) 36

Vedlegg DynaSale HiO 2007 Use Case B6 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Kjøp av varer En kjøper blir guidet gjennom kjøpsprosessen Kjøper, Netaxcept Kjøper er logget inn && Kjøper har varer i handlekurven Bestilling sendes og registreres Kjøper får en bekreftelse på at salget var vellykket Kjøper velger å kjøpe varene i handlekurven 1. Kjøper får en oversikt over egne data og leveringsdetaljer 2. Kjøper får en utskrift av varer som skal kjøpes 3. Kjøper blir sendt til NetAxcepts sider 4. Kjøper får bekreftelse på at kjøp er gjennomført 3.A Feil under betaling 3.A Trigger: NetAxcept returnerer feil eller ikke noe svar 1. Bruker får feilmelding og mulighet til å forsøke på nytt Use Case B7 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Liste Content for kjøp En bruker skal kunne liste Content (Kjøper, selger) = bruker, DynaPark Kjøper er logget inn Kjøper får vist Content til salgs Kjøper velger å vise Content til salgs 1. DynaSale spør DynaPark om tilgjengelig Content for Kjøper 2. DynaPark returnerer Content 3. Kjøper får vist tilgjengelige salgsobjekter 4. Kjøper navigerer i salgsobjekter 1.A Butikken har ingen varer 1.A Trigger: Butikken har ingen varer 1. Kjøperen får opp informasjon om at det for tiden ikke er noe å kjøpe 2.A Legging av vare i handlekurv 2.A Trigger: Kjøperen velger å legge en vare i handlekurv 1. INCLUDES(B4) 2.B Visning av flere detaljer om objekt 37

Vedlegg DynaSale HiO 2007 2.B Trigger: Kjøperen velger ett objekt 1. INCLUDES(B8) Use Case B8 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Vise detaljert informasjon om ett Content-objektet En bruker skal kunne få detaljer og beskrivelser om ett Content-objekt (Kjøper, selger) = bruker, DynaPark Kjøper er logget inn Kjøperen får detaljert info om ett Objekt B8.2B 1. DynaPark returnerer på forespørsel detaljerte data for Content-objektet 2. Detaljert info vises for bruker 1.A Feil under kommunikasjon med DynaPark 1.A Trigger: Feil under kommunikasjon eller oppslag 1. Feilmelding vises bruker Use Case B9 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Registrere seg En kjøper skal kunne registrere seg om selger ønsker det Kjøper Kjøperen er på innloggingssiden til en Kunde && Selgeren tillater at kjøper registrerer seg selv. Kjøperen blir registrert og logget inn Kjøperen velger å registrere seg 1. Kjøper får opp registreringsskjema 2. Kjøper sender skjema 3. Kjøper blir logget inn, og sendt til hovedsiden 2.A Validering av data ikke vellykket 2.A Trigger: Feil eller problemer med utfylte data 1. Feilene beskrives og skjema vises på nytt G.2 Selgerscenarioer Use Case S1 Liste alt Content fra DynaPark fra en mappe 38

Vedlegg DynaSale HiO 2007 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon En selger skal kunne liste opp alt av Content i en mappe, selv om det ikke er åpent for salg. Selger, DynaPark Selger er logget inn i DynaSale Selger får vist alt Content Selger velger å vise all Content i en mappe 1. DynaSale spør DynaPark om all Content i mappe 2. DynaPark leverer etterspurt data til DynaSale 3. Selger får listet opp all Content i gitt mappe 4. Selger kan velge mappe/content 3.A Bla dypere i mappestruktur 3.A Trigger: Selger velger en mappe 1. INCLUDES(S1) 3.B Velge Content 3.B Trigger: Selger velger Content 1. INCLUDES(S2) Use Case S2 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Vise Content En selger skal kunne se detaljer om Content Selger, DynaPark Selger er logget inn i DynaSale Selger får vist eller endret Content S1.3B 1. DynaSale spør DynaPark om detaljer om gitt Content 2. DynaPark leverer etterspurt data til DynaSale 3. Selger får vist detaljer om Content 4. Selger får valg om å Endre/Slette 3.A Endre Content 3.A Trigger: Selger velger å Endre Content 1. INCLUDES(S3) Use Case S3 Beskrivelse Aktører Pre betingelser Endre Content En selger skal kunne endre Content Selger, DynaPark Selger er logget inn i DynaSale 39

Vedlegg DynaSale HiO 2007 Suksess post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Selger får vist eller endret Content Selger får en feilmelding og mulighet til å endre igjen S2.3A 1. DynaSale spør DynaPark om detaljer om gitt Content 2. DynaPark leverer etterspurt data til DynaSale 3. Selger får opp skjema der selger kan endre data om Content 4. Selger kan endre 5. Selger kan lagre/forkaste endringer 5.A Lagre endringer 5.A Trigger: Selger velger å lagre endringer 1. Data fra bruker sendes til DynaSale 2. DynaSale sender data til DynaPark 3. Selger får bekreftet at endringer er lagret 4. INCLUDE(S2) 1. 1.A Valideringsfeil 2. 1.A Trigger: Endringer validerte ikke 1. Selger får feilmelding 2. INCLUDE(S3) 5.B Forkaste endringer 5.B Trigger: Selger velger å forkaste endringer 1. INCLUDES(S2) Use Case S4 Beskrivelse Aktører Pre betingelser Post betingelser Trigger Hendelsesforløp Variasjon Liste alle brukerkontoer En selger skal kunne liste alle brukere som finnes i deres database Selger Selger er logget inn i DynaSale Selger får listet alle brukerkontoer i systemet Selger velger å liste alle brukerkontoer 1. Selger får listet opp alle brukerkontoer 2. Selger får valg om å slette, endre, legge til bruker. 2.A Slette bruker 2.A Trigger: Selger velger å slette en bruker 1. INCLUDE(S5) 2.B Endre bruker 2.B Trigger: Selger velger å endre en bruker 1. INCLUDE(S6) 40

Vedlegg DynaSale HiO 2007 2.C Legge til bruker 2.C Trigger: Selger velger å legge til bruker 1. INCLUDE(S7) Use Case S5 Beskrivelse Aktører Pre betingelser Post betingelser Feil post betingelse Trigger Hendelsesforløp Variasjon Slette en bruker Selger skal kunne slette en bruker Selger Selger er logget inn i DynaSale Det finnes en bruker Bruker blir slettet Selger får en bekreftelse Selger får en feilmelding, bruker blir ikke slettet. Selger velger å slette en bruker 1. Selger får spørsmål om hun er sikker på at bruker skal slettes 2. DynaSale sletter bruker 3. Selger får en bekreftelse på at bruker er slettet 4. INCLUDE(S4) 1.A Selger vil ikke slette bruker 2.A Trigger: Selger velger å ikke slette bruker 1. Bruker får beskjed om at bruker ikke ble slettet 2. INCLUDE(S4) Use Case S6 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Endre en bruker En selger skal kunne en bruker Selger Selger er logget inn i DynaSale Bruker blir endret Selger får en bekreftelse på at bruker er endret Bruker blir ikke endret Selger får en feilmelding Selger får vist endre skjema igjen Selger velger å endre en bruker 1. Selger får vist detaljer om en bruker 41

Vedlegg DynaSale HiO 2007 Variasjon 2. Selger kan endre data om en bruker 3. Selger får valget mellom å lagre eller forkaste endringer 3.A Lagre endringer 3.A Trigger: Selger velger å lagre endringer 1. Endringer sendes til DynaSale 2. Endringer lagres 3. Selger får en bekreftelse på at bruker ble lagret 1. 2.A Endringene validerer ikke 1. Selger får en feilmelding 2. INCLUDE(S6) 4. INCLUDE(S4) 3.B Forkaste endringer 3.B Trigger:Selger velger å forkaste endringer 1. INCLUDE(S4) Use Case S7 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Legge til bruker En selger skal kunne legge til bruker/selger Selger Selger er logget inn i DynaSale En bruker blir opprettet Selger får en feilmelding Bruker blir ikke opprettet Selger velger å legge til en bruker 1. Selger får vist et registreringsskjema for bruker 2. Selger legger inn data om bruker 3. Selger får valg om å lagre eller forkaste bruker 2.A Lagre bruker 2.A Trigger: Selger velger å lagre brukeren 1. Brukerdata sendes til DynaSale 2. Bruker lagres 3. Selger får beskjed om at bruker er opprettet 4. INCLUDE(S4) 1. 2.A Bruker finnes 2. 2.A Trigger en bruker med gitt e-postadresse finnes allerede 1. Selger får en feilmelding om hva som er galt 2. INCLUDE(S7) 42

Vedlegg DynaSale HiO 2007 3. 2.B Data validerer ikke 4. 2.B Trigger: Ikke alle krevde felt er fylt ut riktig 1. Selger får en feilmelding om hva som er galt 2. INCLUDE(S7) Use Case S8 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Reaktivere ordre En selger skal kunne reaktivere en ordre Selger Selger er logget inn i DynaSale En ordre blir reaktivert En eller flere objekter fra den gamle ordren eksisterer ikke lenger i DynaPark Selger velger å vise oversikt over ordre 1. Systemet viser en oversikt over ordre, med mulighet til å reaktivere inaktive ordre 2. Selger velger å reaktiver en ordre 3. Systemet viser ordren som aktiv 3.A Trigger: Ett eller flere av objektene finnes ikke lenger 3.A Selger får beskjed om hvilke av objektene som ikke finnes lenger, og at resten av objektene blir reaktivert. Use Case S9 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Deaktivere ordre En selger skal kunne deaktivere en aktiv ordre Selger Selger er logget inn i DynaSale En ordre blir deaktivert Selger velger å vise oversikt over ordre 1. Systemet viser en oversikt over ordre, med mulighet til å deaktivere aktive ordre 2. Selger velger å deaktivere en ordre 3. Systemet viser ordren som inaktiv 43

Vedlegg DynaSale HiO 2007 Use Case S10 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Oversikt over ordre Selger skal få vite hvem som har kjøpt hvilket content når. Selger Selger er logget inn i DynaSale Selger får info om en ordre Selger velger å vise oversikt over ordre 1. Systemet viser en oversikt over ordre, med dato, navn på kjøper og mulighet til å få se flere detaljer. 2. Selger velger å se flere detaljer 3. Systemet viser oversikt over hvem som passerte ordren Use Case S11 Beskrivelse Aktører Pre betingelser Post betingelser Feilet post betingelse Trigger Hendelsesforløp Variasjon Legge til Content Selger skal kunne legge til Content til DynaPark via DynaSale, men kun en fil av gangen Selger Selger er logget inn i DynaSale Nytt Content er lagret i DynaPark Selger oppgav ugyldige data Selger velger å legge til nytt Content fra DynaSale 1. Systemet viser et skjema hvor bruker kan taste inn informasjon om Contentet, og velge fil 2. Selgeren fyller inn skjemaet og velger en fil til opplasting 3. Systemet viser oversikt over tilgjengelig Content med det nye øverst. 3.A Trigger: Selger oppgav ugyldige data. 3.A. Systemet gir beskjed om hvilke data som var ugyldige. 44

Vedlegg DynaSale HiO 2007 Vedlegg H: Målanalyse Selgere skal kunne Viktighet Vanskelighetsgrad Omfang Administrere brukere -Velge om de skal se priser med eller uten MVA -Rabatter -Legge til andre administratorer 5 (ingen brukere ingen vits) Administrere salgsobjekter -Priser legges inn uten MVA -Endre pris -Legge til beskrivende tekst 4 (sterkt ønsket) -Får se alle DynaParkobjekter og kan velge hvilke som skal legges ut for salg Få salgsstatistikk Kjøpe bilder på vegne av brukere (gi dem bort) 2 (ønsket, men frontend kan mulig legges til senere) 4 (eksisterende kunde bruker dette mye i dagens system) 4 (må sette opp og koble til db. Kan bli litt stort) 4 (må kommunisere toveis med DynaPark, eventuelt lagre i egen base) 3 (må logge og senere vise det frem) 2 (burde bare være å legge til ett spesialtilfelle under kjøp) 5 dager 6 dager 4 dager 1 dag Kjøpere skal kunne Kjøpe objekter -Skal være tydelig trinndelt Liste tilgjengelige objekter -Vise thumbnails og tilgjengelige oppløsninger 5 (det heter tross alt DynaSale) 5 (kan ikke selge noe hvis brukere ikke vet hva de kan kjøpe) 5 (må kommunisere med NetAxcept og lage salgsrapport) 3 (må kommunisere med DynaPark, antagelig kun enveis) 7 dager 3 dager Få opp ordrehistorikk 3 (ønsket, helst også med 3 (logging, og visning) 4 dager 45

Vedlegg DynaSale HiO 2007 -Ordre skal muligens kunne reaktiveres (om selger ønsker dette) -Fakturaer lagres og sende på epost frontend) Legge og administrere varer i en handlekurv -Denne skal forsvinne når sessionen utløper 4 (dårlig nettbutikk uten) 3 (ganske rett frem, men muligens mye arbeid) 3 dager Generelt Løsningen skal kunne konfigureres individuelt for hver kunde -Må man logge på for å kunne se bilder? -Kan kunder registrer seg selv? System wide konfigurasjon -MVA sats -Tilkobling til DynaPark Bilder skal også kunne legges til fra DynaPark 4 (ganske viktig, i tillegg er det vanskelig å legge til i etterkant) 4 (det er slik det er forventet gjort hos oppdragsgiver) X (kommer an på hvilken løsning vi havner på, må diskuteres nøyere med oppdragsgiver) 4 (følger oss hele tiden, men ikke nødvendigvis så vanskelig) 2 (burde bare være å lage en konfigurasjons-fil og lese denne) X (kommer an på løsning) 3 dager 1 dag 1-4 dager Sikkerhet Linker til kjøpte varer skal sperres etter en stund 5 (noe av det viktigste med den nøye løsningen) 2 (burde ikke være vanskelig) 1 dag 46

Vedlegg DynaSale HiO 2007 Vedlegg I: Prosjektdagbok Under følger en uredigert utgave av vår prosjektdagbok. Den er tatt med siden den sier en del om arbeidsprosessen og alternativer som er vurdert underveis. Archive for May, 2007 Unittest-data i databasen m.m. Saturday, May 19th, 2007 - Håvard Ikke kjør unittester mot databasen, med midre dere endrer dem slik at de legger inn ordentlige data. Det har seg nemlig slik at vi får en del morsomme feil enkelte steder siden det ligger nullverdier på steder de ikke skal være, og som de heller ikke kan komme seg på andre måter. Det dukka opp masse rare feil under testinga på grunn av dette, så jeg har nå slette de linjene i tabellene som ødela. Jeg har lagt til igjen det at passord lik spesialbehandles i UserServiceImpl slik at det skal gå ann å deaktivere brukere. Om det var en grunn til at dette ble fjernet så si fra. Funksjonstestinga er nå ferdig (hvis Inga kan bekrefte at det faktisk blir sendt en mail som ser korrekt ut). Jeg har også sett gjennom kravspeken for å forsikre meg om at vi ikke har glemt noe. Det eneste jeg reagerte på var at det er en del krav som står dobbelt opp under funksjonelle krav for selgere og administratorer som egentlig kun gjelder for administratorer (men gjelder jo for selgere også hvis de tar en telefonsamtale). Det har blitt en del små endringer i koden for å få den til oppfylle testene. Vær så snill å ikke endre noe mer på koden nå (i hvert fall ikke uten å ta en ordentlig kopi av hele prosjketet først!). Dukker så sykt lett opp nye feil. Har prøvd å passe på å ikke lage nye feil i dag, men kan jo aldri være sikker, så bra om dere klikker dere litt rundt også. Alt er committa. Så kjør update da;p Posted in Dagbok No Comments» 47

Vedlegg DynaSale HiO 2007 Referanser til andre deler av rapporten Friday, May 18th, 2007 - Inga Jeg foreslår at hver gang vi skal ha en referanse til en annen del av rapporten skriver vi x.x.x. Eksempel: Mer om deaktivering av brukere under x.x.x. Dermed kan vi bare søke gjennom dokumentet etter x.x.x når all kapittelnumrering er bestemt og det er på tide og sette inn korrekte nummer, så er vi sikre på at vi ikke går glipp av noen referanser. Kanskje også lurt å skrive i parantes etter x.x.x hvilket kapittel det er snakk om. Posted in Dagbok 2 Comments» 2 Responses to Referanser til andre deler av rapporten 1. Sebastian Steinmann Says: May 18th, 2007 at 10:34 pm Sån som jeg har gjort hele tiden? 2. inga Says: May 19th, 2007 at 7:06 am Hva du har gjort hele tiden vet du vel best selv? Det er vel uansett praktisk om vi blir enig om at alle tre gjør det på samme måte? Møte med Eva 16.5.2007 Thursday, May 17th, 2007 - Inga Tilstede: Eva, Håvard, Sebastian, Inga Ting som ble tatt opp: 1. Bør vi spesifisere det i testrapporten om det er noe som ikke fungerer? 2. Bør vi ha med bloggen som vedlegg? 3. Er noen av delene av prosessrapporten for teknisk avansert? 4. Råd om rapporten fra Eva 5. Kan vi få et siste veiledningsmøte neste tirsdag? 1. Bør vi spesifisere det i testrapporten om det er noe som ikke fungerer? Eva understreket at poenget med testrapporten er å dokumentere hvilke deler av produktet vi 48