CASE verktøy. Systemutviklingsverktøy. Verktøyenes rolle. Hvorfor CASE verktøy. Eksempler på verktøy. Verktøyenes rolle



Like dokumenter
1 Kodegenerering fra Tau Suiten

UNIVERSITETET I OSLO

SQL Server guide til e-lector

NOVUG 3 februar 2009

Tekniske krav. Installasjonsrekkefølge. Operativsystem og web-server. Maskinvare. .Net Framework 2.0. ASP.Net AJAX 1.0

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

1. Å lage programmer i C++

CORBA Component Model (CCM)

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

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

AGENDA. En produktiv arbeidsplass Ja, derfor Office 365 Hege Line Arnstein Andreassen. Office 365 del 2. Avslutning. Marie Johansen, Microsoft

Introduksjon til Eclipse

1. Å lage programmer i C++

1. MSI fra Group Policy

Presentasjon 1, Requirement engineering process

Gruppe 43. Hoved-Prosjekt Forprosjekt

Prosjektliste Steinar Mollgard Aasheim. Sist oppdatert: CV:

Publiseringsløsning for internettsider

Intelle har siden starten i i leverandør av av programvare for data- og og systemintegrasjon.

Våre tekniske konsulenter kan bistå slik at din bedrift får en best mulig tilpasset Handyman installasjon ut fra deres infrastruktur.

(MVC - Model, View, Control)

Software Development Plan

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

Tekniske Krav Aditro Lønn

Klientadministrasjon og universelle utskriftsløsninger

Policy vedrørende informasjonskapsler og annen tilsvarende teknologi

Forelesning inf Java 1

MBS 12 & Mamut Online Desktop. Ole M Hasven - Product Manager, Marketing Partnersamling, 9 oktober 2008 oleha@mamut.com

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

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

Kontakt oss i Egroup for mer informasjon!

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

INF 5120 Obligatorisk oppgave Nr 2

Innledende Analyse Del 1.2

Hewlett Packard - mobile utskriftsløsninger

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

Brukerdokumentasjon for LabOra portal - forfattere

Public 360 KDRS

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

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Fungerer applikasjonene våre på Windows 7!? Microsoft Application Compatibility Toolkit

A Study of Industrial, Component-Based Development, Ericsson

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner

Klientadministrasjon og mobil utskrift

Installere JBuilder Foundation i Mandrake Linux 10.0

Aleksander Thanem Bjøru Seniorkonsulent MCSE og Citrix CCIA

Hvorfor ikke bruke Word?

Håvard Strøm Senior Technical Consultant

Velkommen til EWAT CMS 6

Design og dokumentasjon

Installasjonsveiledning Visma Avendo, versjon 5.2

Programvareutvikling (store systemer)

Konfigurasjonsstyring

Tjenestebeskrivelse Webhotelltjenester

Installere JBuilder Foundation i Windows XP

Eksport og innsending

ZTE MF636 USB-modem Hurtigbrukerveiledning. NetCom Privat/Bedrift: / 05051

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

Forelesning inf Java 1

1. Introduksjon til J2ME

INF2120 Tools at your fingertips

STYRKEN I ENKELHET. Business Suite

Distributed object architecture

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

Releaseskriv versjon Vedr. INSTALLASJONSPROSEDYRER. Versjon Pr. 30. MARS 2012 Copyright. Daldata Bergen AS

Altinns nye tjenesteverksted. Lars Vegard Bachmann, produkteier portal og tjenester, Altinn

Kjenn din PC (Windows 7)

CASE-verktøy og utviklingsomgivelser

NextBridge referansen innen Business Intelligence

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Gruppetime INF3290. Onsdag 23. september

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Hvordan bedømmer Gartner de lange linjene?

Installasjonsveiledning

Alt-i-ett-dekning for bedriften din

Installasjonsveiledning

AlgDat 10. Forelesning 2. Gunnar Misund

Hva, Hvorfor og litt om Hvordan

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

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

fleksibilitet når det gjelder geografisk plassering og etablerte arbeidsrutiner. Qubic cms

Office365 -innføring i utvalgte programmer

Din verktøykasse for anbud og prosjekt

Oppgradering av Handyman til ny versjon

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

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

1. NetBeans IDE: Lage en enkel mobilapplikasjon

my good friends uke

Forelesning IMT mars 2011

Brukerveiledning For Installasjon Av PCKasse. v1.01

Kravspesifikasjon MetaView

oss? Hva må webredaktører kunne om universell Aud Marie Hauge, ekspert i brukervennlighet og

Beskrivelse for hvordan en kan digitalisere og importere musikk inn i Variations på TEST server EINER.UIB.NO (for installasjonen 17.

Office 365, din nye kommunikasjonsplattform og samarbeidsløsning.

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

WebSmart. Trond E. Nilsen Select AS

Et nyttig verktøy for innsikt i sykehusenes legemiddelforbruk Skule Ingeberg, Utviklingssjef for statistikk og analyse, Sykehusapotekene HF

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,

Transkript:

CASE verktøy Systemutviklingsverktøy og litt om.net 09.03.04 Kirsten Ribu Computer Aided System Engineering: data-verktøy til utvikling og vedlikehold av data-systemer Eksempler: Microsoft Project Microsoft Visio Modellator (norsk) Rational Rose Poseidon 1 2 Verktøyenes rolle Verktøy har alltid vært viktig for menneskeheten Verktøy har vært sentralt i informatikken siden 50-tallet Hvorfor CASE verktøy Effektiviserer arbeidet Letter endringer Skaper et logisk sammenhengende system Unngår feil som inkonsistente navn Standardiserer beskrivelser Standardiserer arbeidsmetoder Kommunikasjon innad i teamet blir enklere Letter dokumentasjon 3 4 Verktøyenes rolle Eksempler på verktøy God systemutvikling kjennetegnes blant annet ved hensiktsmessig bruk av verktøy Tenk over hvilke verktøy som vil kunne hjelpe på de ulike stadier i en konkret systemutviklingskontekst Viktig å få et bevisst forhold til verktøy 5 6 1

CASE-klassifisering Klassifisering gjør det mulig å vurdere og sammenligne CASE-verktøy CASE-verktøy kan klassifiseres i henhold til: Funksjonalitet hvilke funksjoner tilbys Prosess-støtte hvilke utviklingsaktiviteter støttes Kvaliteten på støtten (generelt ikke trivielt å angi, krever empiri/systematisk erfaring fra bruk) 7 Verktøy-klassifisering Tool type Examples Planning tools PERT tools, estimation tools, spreadsheets Editing tools Text editors, diagram editors, word processors Change management tools Requirements traceability tools, change control systems Configuration management tools Version management systems, system building tools Prototyping tools Very high-level languages, user interface generators Method-support tools Design editors, data dictionaries, code generators Language-processing tools Compilers, interpreters Program analysis tools Cross reference generators, static analysers, dynamic analysers Testing tools Test data generators, file comparators Debugging tools Interactive debugging systems Documentation tools Page layout programs, image editors Re-engineering tools Cross-reference systems, program restructuring systems 8 CASE - eksempler Verktøy Støtte for individuelle prosesser som tekstbehandling etc. Arbeidsbenker (work benches) Støtte for en fase i utviklingsprosessen som spesifikasjon, design. Vanligvis flere integrerte verktøy Omgivelser Støtte for hele eller deler av Verktøy, arbeidsbenker, omgivelser Analysis and design File comparators Programming Integrated environments Multi-method Single-method General-purpose Language-specific workbenches workbenches workbenches workbenches 9 10 utviklingsprosessen (RUP ) Editors Tools Compilers CASE technology Workbenches Environments Testing Process-centred environments Ulemper CASE-verktøy passer ikke for alle og i alle prosesser Kan virke sementerende på prosessen Kostbart Høy læringsterskel Kan ikke løse alle problemer Integrert CASE Individuelle CASE-verktøy er nyttige, men bedre effekt oppnås hvis verktøyene kan fungere sammen, f.eks. i form av CASE-arbeidsbenker Spesialiserte verktøy kan kombineres og dermed gi bedre støtte for prosess-aktiviteter, f.eks.: Integrering av design-verktøy med dokumentasjonsverktøy Integrering av verktøy for analyse, design og programmering med konfigurasjonsstyringsverktøy 11 12 2

CASE-arbeidsbenker Analyse og design arbeidsbenk Verktøysamling som gir omfattende støtte i bestemte faser av systemutviklingen. Arbeidsbenker for analyse og design (Rational ROSE, Poseidon etc.) Arbeidsbenker for programmering (JBuilder, Borland Delphi etc.) Arbeidsbenker for testing (JUnit) 13 14 Programmeringsarbeidsbenk Arbeidsbenk for testing 15 16 Kode-konvensjoner Java kodekonvensjoner 80% av utgiftene i hele livssyklusen (levetiden) går med til vedlikehold. Software vedlikeholdes av andre enn de som lager det Kode-konvensjoner forbedrer lesbarheten Lar andre programmerere forstå ny kode raskere og lettere Verktøystøtte: QStudio Java http://www.qasystems.com/products/qstudioforjava CodeCompanion (http://www.jenssoft.com/) 17 18 3

QStudio Java Oppsummering: Valg av verktøy Inneholder en rekke sjekker som kan slås av og på, f.eks. Dårlig programmerings praksis Konsistens med kodestandard Misbruk av Java Dårlig kodestruktur Potensielle bugs i tidlige stadier Men mangler muligheten for å definere egne regler 19 Hvilke verktøy, metoder og teknikker skal bedriften anvende? Valg vil avhenge av: hvilke oppgaver skal løses for hvilke utviklere i hvilke omgivelser til hvilken pris 20 CASE-verktøy - potensielle fordeler Krav til CASE-verktøy med tanke på vedlikehold Enklere oppsetting, integrasjon og vedlikehold av systemspesifikasjoner Kontroll av systemspesifikasjoner Økte muligheter for gjenbruk av systemspesifikasjoner Automatisk systemgenerering Billig produksjon av prototyper Innføring av standarder Bedret prosjektstyring og kostnadskontroll Letter gruppearbeid, også over avstand Høyere kvalitet på det ferdige datasystemet Vedlikehold og tilpasninger bør skje ved å endre eller re-generere brukersystemet tilpasse data, dvs. datakonvertering Viktig: Sporbarhet av endringer (hvem, hva, hvor, hvorfor?) Konfigurasjons- og versjonskontroll Funksjoner for overføring av data til ny versjon av systemet Husk at vedlikehold koster! (80%...) 21 22 Poseidon Spørsmål? Problemer? Diagram med vannmerke 23 24 4

Uten vannmerke bruk Save graphics Diagrammer for kodegenerering 25 26 Les dokumentasjonen Fullversjonen - kodegenereringsvindu Java code generation is usually based on the classes of a model and other information displayed in the respective Class Diagrams. Select Generate Classes of Model and a dialog will appear. Here you can select or deselect model elements from the tree, specify an output and a template folder, indicate if the destination folder should be cleared (and select either Java for code generation or HTML and UMLdoc for the documentation generation ikke i demo versjonen) 27 28 Kodegenerering eks. Kodeskjelettet /** Java class "Kunde.java" generated from Poseidon for UML. */ package package_1; import java.util.*; /** protected class Kunde { // attributes /** * Represents... */ public static int attribute_1; // operations 29 void finnkunde() { /** lock-end */ // your code here } // end finnkunde /** lock-begin */ public void operation_2() { /** lock-end */ // your code here } // end operation_2 /** lock-begin */ } // end Kunde 30 5

Hvorfor generere kodeskjelett? http://www.microsoft.com/net/ Støtter standarder Letter vedlikehold og lesbarhet Effektivisering - kostnadsbesparelser Programvare for å kople informasjon, folk, systemer og mobile enheter 31.NET: Microsofts nye programvareplattform. 32 Web services Ved hjelp av den nye innebygde støtten for XML Web services (XML-webtjenester) kan ulike programmer kommunisere med hverandre og dele data, uavhengig av operativsystem og programmeringsspråk..net-plattformen inneholder en rekke produkter som bygger på XML og bransjestandarder for Internett. Disse letter alle trinn i utviklingen, håndteringen og bruken av webtjenester. 33.NET-plattformen: Organisasjonskoplinger Org A Mobile ansatte 34 Org B Mobile ansatte Pasienter, Pasienter, pårørende Leverandø Leverandører, rer, partnere Myndigheter 35 Verktøy Servere XML Web services Klienter.NET-opplevelser 36 6

Verktøy Servere Visual Studio.NET er en løsning for å bygge XML Web services Visual Studio.NET er neste generasjons utviklingsverktøy. Nytt programmeringsspråk: C#. I dette programmeringsspråket er C++, Visual Basic og Java kombinert. 37 Serverne utgjør infrastrukturen og grunnmuren i den nye teknologien Microsofts.NET Enterprise-servere (inkludert serverfamilien Windows 2000) danner infrastrukturen for å utvikle, håndtere og realisere XML Web services. Serverne er designet for høy prestasjonsevne. De gir bedriften din den hurtigheten og fleksibiliteten som kreves for å kunne integrere ulike systemer, applikasjoner og partnere via XML Web services. Teknologien tilpasses skiftende forretningsbehov. 38 Klienter Klienter kan være stasjonære eller bærbare datamaskiner, arbeidsstasjoner, telefoner, håndholdte PC er, tynne klienter, spillkonsoller eller andre smarte enheter. Det som gjør disse klientene (eller enhetene) smarte, er evnen til å støtte webtjenester. På denne måten er det mulig å få tilgang til data uavhengig av hvor klienten er, hvilken type klient det er eller antallet klienter som Tjenester XML Web services Websidene er serverens kommunikasjonskanal. De gir deg informasjonen direkte, uavhengig av om du er bruker eller besøker. Med XML Web services (XML-webtjenester) er det mulig å integrere applikasjoner med andre applikasjoner både eksterne og interne. De kan fritt kommunisere med hverandre via Internett ved å bruke XML meldinger. benyttes. 39 40 Opplevelser.NET knytter informasjon, datamaskiner, XML Web services (XML-webtjenester) og mennesker sammen på en enhetlig måte. Noen eksempler på ferdige.netløsninger er MSN, Passport og Microsoft Visual Studio.NET..NET løsninger i dag: Eksempel 1: SAS SAS fikk mobilt Internett med.net Ved hjelp av Visual Studio.NET og Microsoft Mobile Internet Toolkit har SAS utviklet mobilt Internett Reisende kan kontrollere flystatus og forandre bilettbestillingen på fra mobiltelefoner og håndholdte PC er. 41 42 7

Eksempel 2: skoleporten.no Grunntanke En distribuert løsning bygget på.net Skoleporten.no er et offentlig nettsted for kvalitetsvurdering og kvalitetsutvikling i grunnskolen og videregående opplæring. 43 Skoleporten.no er et nettsted som samler informasjon om skolen. Portalen legger til rette for en vurdering av tilstanden i grunnopplæringen ved å kartlegge læringsutbytte, læringsmiljø, gjennomstrømming, ressurser og rammefaktorer. Denne kunnskapen skal bidra til å vurdere forbedringstiltak i skolesektoren. Nettstedet inneholder videre hjelp og veiledning til aktuelle tiltak gjennom å ha relevante rapporter, artikler og undersøkelser lett tilgjengelig. På den måten blir det et samspill mellom kvalitetsvurdering og kvalitetsutvikling. 44 Utfordringer: Teknologivalg Prosessering av store datamengder, og visning av dette samtidig som man har god ytelse rett etter publisering av nye tall og ivaretagelse av personvernet 45 Datavarehus Verktøy for massering av innsamlet data Aggregering på alle tenkelige nivåer Umiddelbar respons på uthenting av data Web Services Integrasjon mot fremtidige systemer EPI Server Grei publiseringsløsning 46 Løsningsarkitektur Sykehusløsning med.net 1. Bruker klikker seg inn på Akershus EPI Server Portal User Controls Web service client Brukeradministrasjon Datavarehus web services SQL Web service client web services SQL OLAP 2. Portalen bygger forespørsel, og sender denne til Datavarehuset 3. Datavarehuset kontrollerer tilgang 4. Tallmaterialet hentes ut av kubene 5. Data prikkes ihht regler 6. Data returneres til portalen 7. Portalen genererer side til brukeren 47 Utvikling og salg av mobile elektroniske dataløsninger for helsesektoren 48 8

Journalen Papirjournal medfører at originaldokumenter er på kontinuerlig reise i sykehuset Elektronisk pasientjournal basert på stasjonære terminaler dekker ikke behovet for tilgang Ikke nok terminaler Ikke terminal der jeg trenger det Løsning: Distribuér pasientdata til personalet ved hjelp av rimelige mobile enheter og trådløst nettverk 49 50 Funksjonalitet Oversikt over sengeposter 51 52 Oversikt over dokumenter Digital diktering 53 54 9

Løsningen Ukeoppgave: Moderne flerlags-arkitektur Integreres mot eksisterende systemer for journal, laboratorie osv. Ingen datalagring lokalt gir økt sikkerhet Digital diktering, labrekvisisjon og prøvesvar, samt løpende journal i én enhet 55 Angi hvilke systemutviklingsverktøy dere benytter i prosjektet Beskriv fordeler og ulemper med bruk av disse verktøyene i forhold til oppgavene som skal løses. 56 Neste gang Mer om UML - aktivitetsdiagrammer, tilstandsdiagrammer, pakker UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 57 10