En historie om Visma Reporting. Arkitektur og. Vi har et problem



Like dokumenter
Arkitektur og. Forelesning 11 - INF1050 Systemutvikling

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Arkitektur. Kirsten Ribu Høgskolen i Oslo

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

Installasjon av OneStop Reporting Produktene på Terminalserver

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

Brukersentert design Kapittel 3 i Shneiderman

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

SRD. Software Requirements and Design GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Produktrapport Gruppe 9

Arkitektur. Kirsten Ribu Høgskolen i Oslo

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Prototyping. TDT4180, vår Yngve Dahl IDI, NTNU NTNU

Intentor Helpdesk - Installasjon Step #3: Microsoft Reporting Services

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Team2 Requirements & Design Document Værsystem

AlgDat 10. Forelesning 2. Gunnar Misund

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

INF 5120 Obligatorisk oppgave Nr 2

1. Exhange 2013 Admin Center, Management Shell og opprette mailbox

Web Accessibility Toolbar. Struktur. Funksjonene. Headinger. Mer om tilgjengelighet og Flash.

Huldt & Lillevik Ansattportal. Installere systemet

Sascha Schubert Product Manager Data Mining SAS International Copyright 2006, SAS Institute Inc. All rights reserved.

Om Samba/fildeling. Hans Nordhaug Institutt for informatikk Høgskolen i Molde

Profitbase InFront. Riktig informasjon til rett tid og sted som grunnlag for riktige beslutninger!

SQL Server guide til e-lector

API: Application programming interface, eller programmeringsgrensesnitt

(MVC - Model, View, Control)

Conference Centre Portal (CCP)

Feilsøking i BO. Olav Syse, konsulent. Jan Terje Hansen, service manager. Be business intelligent

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

Huldt & Lillevik Lønn 5.0. Installere systemet

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0>

CORBA Component Model (CCM)

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Uke 5. Magnus Li INF /

Scan Secure GTS PAS

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

Din verktøykasse for anbud og prosjekt

Løsningsforslag til Case. (Analysen)

Hvordan evaluerer man kvaliteten på et IT-system?

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Om Samba/fildeling. Hans Nordhaug Institutt for informatikk Høgskolen i Molde

Gruppe 43. Hoved-Prosjekt Forprosjekt

Software Requirements and Design (SRD) 1 Generelt om dokumenter

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

6105 Windows Server og datanett

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

Spesifikasjon av Lag emne

Kravspesifikasjon. Forord

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Bjørnar Hovemoen Helge Jansen

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet

Distributed object architecture

Velkommen til Pressis.

Testplan (Software Test Plan)

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

Design og dokumentasjon

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren Testrapport

Installasjonsveiledning

Generelt om operativsystemer

SuperOffice hurtigstart guide

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

PoC Duet. Oppfølging av sykefravær

Ville du kjøpt en TV som viste kun en kanal?

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Huldt & Lillevik Lønn og Personal - System 4. Installasjon. Microsoft SQL 2005 Express. Aditro HRM AS

Oppsummering. Thomas Lohne Aanes Thomas Amble

AlgDat 12. Forelesning 2. Gunnar Misund

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Som en del av den kontinuerlige utviklingen av systemet vil Visma Software AS kunne endre sammensetningen av pakkeløsninger, moduler og funksjoner.

6105 Windows Server og datanett

A Study of Industrial, Component-Based Development, Ericsson

Forslag til løsning. Oppgave 1

Installasjonsveiledning

Oppgradere HP ElitePad 900 fra Windows 8.0 til 8.1

6105 Windows Server og datanett

F.I.F.F.I.G. Fleksibelt og Innovativt system For FakultetsInformasjon og andre Greier

MMI-sammendrag fra eksamener

Elektronisk innlevering/electronic solution for submission:

Human Factors relevant ved subsea operasjoner?

VEDLEGG 1 KRAVSPESIFIKASJON

... Annita Fjuk DESIGN THINKING

Eksamen INF

Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren Skrevet av:

Requirements & Design Document

Forelesning IMT mars 2011

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL databasesystem.

Oblig 5 Webutvikling. Av Thomas Gitlevaag

INSTALLASJONSVEILEDNING FOR DATAX REISEREGNING BEDRIFT

Transkript:

En historie om Visma Reporting Arkitektur og Brukergrensesnitt Forelesning 11 - INF1050 Systemutvikling 25.3.2009 Vil gi forståelse for hva er arkitektur Hva driver arkitekturutvikling Kjenne til noen arkitekturer som klient-tjener, trelags-, fysisk vs logisk arkitektur etc. Brukergrensenitt Ha sett et eksempel på en web-applikasjon og dens arkitektur (Ha svarene klare til å komme i gjennom et intervju på Visma) Dekker kap. 9.9 (flerlagssystem) og kap 10 (brukergrensesnitt) i Hasle (Systemutvikling t Applikasjoner og Databaser) Støttelitteratur: Maciaszek 4.1, 6.1, 7.1, 7.3 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 2 Vi har et problem Ingen god rapporteringspakke til vår viktigste ERP product Visma Business SAP kjøper opp de som lager rapporteringsverktøy Aldrende Web rapporteringsvektøy WebLis skrevet i ASP/VB scripts, ingen dokumentasjon, kommentarer, eller oversiktlig arkitektur. Vanskelig å vedlikeholde. INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 3 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 4

INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 5 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 6 Hva er arkitektur? System structural components together with external visual properties and relationship. (SEI) The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. (IEEE 1471) Håndtere kompleksitet Hvorfor arkitektur Støtte utviklere i implementasjonen og daglige beslutninger Ta vare på ikke-funksjonelle krav Sikre enhetlige systemer Sikre gode design prinsipper som sterk koherens og løse koblinger, seperation of concern Må foregå i en tidlig fase i systemutviklingen Egner seg ikke så godt til Extreme programming men kan lage prototyper INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 7 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 8

Dokumentasjon av arkitektur Design av arkitektur Identifisere hovedkomponenter i systemet Hvilket ansvar hver komponent har Relasjonen mellom komponentene Design gjøres på flere nivåer, overordnet og detaljert Resultat beskrives gjerne i skisser med bokser og piler, UML modeller, tekstlig tli systemspesifikasjon og guidelines UML diagrammer av typen component, deployment og konseptuelle klasser Funksjonelle vs. ikke-funksjonelle krav Funksjonelle krav (hva skal systemet gjøre for brukeren) Begrensinger slik som standard valg av teknologi innen firmaet Tekniske krav som f. eks. svartider Begrensinger og tekniske krav er ikke-funksjonelle krav feks, security, performance, usability, maintainability, (ISO 9126 quality standard) Ikke-funksjonelle krav legger føringer for arkitekturen Må velge ut noen som er viktigere enn andre. Merk at arkitekturutvikling er å gjøre avveininger, alle kan ikke få alt. INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 9 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 10 Vedlikehold Endre prismodul, ok 70% av all systemutvikling er vedlikehold Betyr å gjøre endringer i systemet for å holde tritt med tekniske, organisatoriske og andre samfunnsforhold (lover, skatter etc) Eksempel er umoderne grensnitt i Weblis, funksjonalitet i ERP som ikke kan vises i WebLis Prevantivt vedlikehold for å forbygge spagetti kode Registrer salg Legg på salgshistorikk med pris, uten kundeadresse Faktura, hent varer og pris i fra salgshistorikk ikk Hent adresse i fra adresseregister Print faktura Faktura Adresseregister Salgshistorikk Salg Pris/Rabatt INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 11 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 12

Endre prismodul, ikke ok Registrer salg Legg på salgshistorikk uten pris, men kundeadresse Faktura hent varer og adresse i fra salgshistorikk Hent pris i fra pris/rabatt Print faktura Faktura Salgshistorikk Pris/Rabatt Salg Adresseregister INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 13 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 14 Krav i fra Product Managment ag Report generering i fra mere enn et kildesystem Må kunne brukes via Internet Dynamikk i hva brukeren kan velge å rapportere på Sikkerhetsbegrensninger på rapporter Sikkerhetsbegrensninger på firma/avdeling i kombinasjon med rapporter Dekke funksjonalitet for profesjonelle regnskapsførere som er Windowsbrukere Dekke funksjonalitet for brukere som avdelingsledere og ikke-profesjonelle regnskapsførere INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 15 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 16

Ikke-funksjonelle krav Fysisk vs logisk arkitektur Installability, enkelt å installerer Understandability, enkelt å forstå Maintainability, vedlikehold for oss Security Testability, design for å enkelt kunne test Mao. fokuser på et enkelt system, Internet t aksess, sikkerhet og denne gangen må det være vedlikeholbart Må alltid skille mellom forskjellige views i arkitekturbeskrivelse Fysisk arkitektur er maskiner og hva som kjører på dem Logisk er programvarekomponenter sett i fra utvikler/drift INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 17 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 18 Trelags logisk arkitektur To lags fysisk s arkitektur tu Presentasjonslag Business logikk lag Data Lag INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 19 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 20

Trelags fysisk s arkitektur tu Tykke vs. tynne klienter Tykke klienter er programmer som inneholder egen presentasjonslogikk og/eller foretningslogikk, typisk windows program, rik funksjonalitet, god kontroll Tynne klienter er programmer som viser frem server generert innhold, typisk en web browser Tykkelse går altså på hvor mye kode som kjøres og hvor mye ressurser som kreves. Skillet mellom tykke og tynne er blitt utvisket med dynamisk skripting i browser og nedlastbare tykke klinenter. Mer et spørsmål om hvor tykk eller tynn. Vi valgte en browser basert klient i Visma Reporting INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 21 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 22 Fysiske lag i web-applikasjon Web teknologi Karakterisert ved at klienten er HTML sider som vises i en browser Browser kan inneholde skripting som gir mere dynamiske sider Web Server som genererer sider Tilstandsløs kommunikasjon mellom browser og web server (http/s). Tenk på en telefonsamtale hvor vi legger på etter hvert spørsmål/svar Cookie er en informasjonskapsel som sendes frem og tilbake for å holde kontakten Vanskeligere å kontrollere presentasjonen enn på tykk klient INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 23 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 24

Web-applikasjoner asjo e En applikasjon som tillater brukeren å utføre forretningslogikk via en browser Eksempel netthandel er en applikasjon VG er i hovedsak publisering Ofte en applikasjonserver som kjører foretningslogikk Visma Reporting er en applikasjon, ikke statiske sider INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 25 Arkitekturutvikling tu ut Første iterasjon fokuserer vi på arkitektur Leke CRC kort med komponenter akkurat som med klasser Vi lager arkitekturdiagrammer med hovedkomponenter Simulerer på en tavle mest sentrale use cases med arkitekturen (eventuelt med sekvensdiagrammer) Simulerer/Diskuterer i gjennom arkitekturen sett forhold til ikke-funksjonelle krav Iterere til vi har dekket use cases og tror vi har dekket ikke-funksjonelle krav Implementere alle komponenter med lite funksjonalitet i første iterasjon INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 26 En Use Case/User Story Første østeforsøk osø Goals: See his own data in an HTML report Actors: Basic user, System Prerequisite: User logged in Normal flow: 1 User choose company 2 User choose a report 3 System displays parameters defined in the report 4 User fills in all relevant parameters 5 User runs report 6 System displays the report in the web interface in a new window 7 User may choose to change parameters without changing the report 8 User may choose to change report, but will not loose the parameters 9 User can save his own reports and obtaining it later. Alternative ti flows: Hopefully, multiple l companies can be handled d by company groups in VUD and parameters as organizational unit, account in the reports. 1 User prints report 2 User export report to file or Excel Exceptions: 1 System must handle that the report rendering or data access times out 2 When the user has access to one company, it should not be necessary to choose a company at all. INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 27 Bruk Microsoft Reporting Server Gir nesten all funksjonalitet, men noe svak på sikkerhet Gir rask time-to-marked, sparer arbeid Flere komponenter og ansvarsområde er da valgt for oss Følgende er en skisse med prosesser og komponenter er med i løsningen INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 28

Browser client Browser client Web parts Web Server Web parts Web parts Web server Cache Web service Web server MS Applikasjonserver MS Security data RDL Image Security data RDL Image Kilde MS Rapport Rapport Faktura database database definisjoner images INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 29 Kilde Rapport Faktura INF1050 Systemutvikling database definisjoner images Vår 2009 - Copyright Dag Lorås 2009 30 Brukergrensesnitt e For brukerene er grensesnittet selve løsningen. er produktet GUI selger Design, hva du ser, ikoner, farger, fonter etc. Usability, hvordan det er å bruke Implementert i presentasjonlaget INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 31 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 32

Guidelines for good GUI design Brukeren i førersetet Konsistent Kan personifiseres og konfigureres Er tilgivende og gir deg mulighet til å rette opp Gir deg tilbakemeldinger, gjerne forståelige Tilpasset oppgavene og brukergruppen (usability) INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 33 Designmessig tiltalende, uten forstyrrende elementer INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 34 Utvikle GUI Menu Veldig godt egnet til prototyping og iterative utvikling Basert på skisser og mock-ups Liten grad designet ved hjelp av UML i praksis Mye av klassedesign styrt av hvilket rammeverk du velger Param 1 Param 2 Param 3 Rapporttre Run report knapp INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 35 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 36

INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 37 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 38 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 39 INF1050 Systemutvikling Vår 2009 - Copyright Dag Lorås 2009 40