Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.

Slides:



Advertisements
Liknende presentasjoner
Trykk på mus eller tastatur for neste bilde…
Advertisements

Guard Tour System Grafisk program for dokumentasjon og presentasjon av
De dårige følelsene. Veiene ut..
Er datasikkerhet viktig for deres firma ? Hva ville dere gjøre hvis alle data plutselig ble borte ved: •Tyveri ? •Brann ? •Datahavari ? •Menneskelig svikt.
Praktisk info til prosjektkunder
Transaksjonskostnader
Programmering i ActionScript - hva er det, og hvordan undervise?
Høgskolen i Oslo - GM Vær metodisk  Definer og forstå problemet  Spesifiser hva du har av hardware  Lag en prototyp av brukersnittet  Design.
1. Om postere Når vi her snakker om Postere mener vi vitenskapelige plansjer til bruk på seminarer, kongresser og i andre faglige sammenhenger. Vi snakker.
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Forelesning IMT Februar 2006
Prosjektstyring In 140 Sommerville kap 4.
Programvaretesting In 140 Sommerville kap 20.
Terje Hjerpbakk Oppgave 2 Vår ING. Problemstilling  Designe en database og lage et program som gjør det mulig å lage fleksible spesifikasjoner/rapporter.
Objektorientert programmering i PHP del 2
Prototyping & Use Case Software Engineering Gruppe
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
IS-102 Klassedefinisjoner
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Utforming av arkitektur
Prosjektstyring In 140 Sommerville kap 4.
Verifikasjon og validering
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Eksamenstips.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Introduksjon til systemutvikling
Kravanalyse og spesifikasjon
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Kartlegging og dokumentasjon
Programvareendring del 2 In 140 Forelesning Nr 22 Sommerville kap 27, 2. Del.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Prosjektledelse In 140 Forelesning Nr 18 a Sommerville kap
Hvorfor er gjenbruk så vanskelig? Brukt i In140 Skrevet av Hans Nordhaug Bygger på ”Architectural Mismatch: Why Reuse Is So Hard" i IEEE Software.
De 222 mest brukte ordene i det norske språket..
Objektorientert utforming In 140 Sommerville kap. 12.
1 Systemering In 140 forelesning nr. 2 Sommerville kap. 3.
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
9. Product information Produktinformasjon. Online kjøp Som vi har sett har vi ikke noe produkt å se på, holde i, prøve ut, … Da må vi ta igjen på andre.
Programvareendring In 140 Forelesning Sommerville kap 27.
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Routing Indices For P2P Systems TDT2 – Avanserte Distribuerte Systemer Lars-Erik Bjørk.
Objektorientert design
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Senter for teknologi, innovasjon og kultur (TIK) - Universitetet i Oslo ORGANIZATIONS AND KNOWLEDGE TIK ESST Module 4 Jon Vatnaland.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
Objektorientert design In 140 Sommerville kap 12 – del 1.
§4. Irrasjonale og komplekse tall
1 Programvaretesting del 2 In 140 Forelesning Nr 18 a Sommerville kap 20 del 2.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
Produktnavn Tittel på presentasjon. Oversikt Gi en kort beskrivelse av produktet eller tjenesten, brukerproblemene som løses, og brukerne produktet eller.
Produktnavn.
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Sett inn bilde av produkt her
Frode Hammer Håvard Gustad
Utskrift av presentasjonen:

Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26

Mål Forstå hva som menes med gamle systemer og hvorfor disse systemene er sentrale i mange organisasjoner Bli kjent med hvordan slike systemer kan være bygd opp Kjenne til funksjonsorientert design. Forstå hvordan man beslutter om slike systemer skal: kasseres, vedlikeholdes, gjenoppbygges eller erstattes

Introduksjon Systemer koster mye og bør derfor ha lang levetid Levetid ofte over 10 år, kanskje over 20 år Slike gamle systemer er ofte forretningskritiske Systemene har utviklet og endret seg Mange endringer over mange år Ingen forstår helt hvordan systemet virker Kassere og erstatte gamle systemer er risikabelt.

Risiko ved kassering av gamle systemer –Spesifikasjon er mangelfull eller gått tapt. –System og forretningsvirksomhet er sammenvevd. –Forretningsregler er innebygd i systemet og ikke dokumentert på annen måte. –Ny utvikling er risikabelt i seg selv.

Kostbart å vedlikeholde gamle systemer Mange har vært involvert – dårlig konsistens Laget i foreldet programmeringsspråk som få behersker i dag. Dårlig eller ingen systemdokumentasjon utenom kildekoden eller ikke den heller Vedlikeholdet har ødelagt strukturen i systemet Optimerte systemer er mindre forståelige Data i filer med ulik struktur – dobbeltlagring

Dilemma Fortsatt bruk av gammelt system – stadig økte kostnader Dyrt å erstatte gammelt system og risikabelt Kan noe gjøres for å utvide levetiden for gamle systemer og redusere kostnaden ved å drive dem videre?

Struktur i gamle systemer Ikke bare programvare Sosioteknisk databasert system –Programvare –Maskinvare –Data –Forretningsprosesser

Logiske deler av et gammelt system Maskinvare Støtteprogramvare Applikasjonsprogramvare Applikasjonsdata Forretningsprosesser Forretningsregler

Strukturen i et gammelt system

Lagdelt modell

Endring av lagdelt modell Kan man endre et lag uten å påvirke de andre? Oftest ikke fordi: –Endringer gir nye muligheter som høyere lag vil utnytte... –Endringer kan involvere tyngre programvare... –Endring av hardware fører ofte til endring av operativsystem

Strukturen i gamle applikasjoner

Startet fra ett program Utvidet med flere programmer som delvis deler data med eksisterende Programmene er ikke konsistente En annen løsning er data sentralisert i DBHS –Mindre dobbeltlagring –Transaksjonshåndtering –Teleprocessing monitor

Database-sentrert system

Transaksjonsbehandling

Gamle databasesystemer DBHS kan være foreldet/inkompatibel –Overgang fra Hierarkisk eller nettverksdb – til RDB Teleprocessing monitor er ofte DBHS- avhengig

Utforming av gamle systemer Ikke samarbeidende objekter – samling av subrutiner (funksjoner) Subrutiner kan kalle (bruke) andre subrutiner Avhengig av språk kan data være: –Tilgjengelige for hele systemet –Private for hver subrutine Utformingsstrategien er –Å dele inn programfunksjonaliteten i subrutiner –Felles data (systemtilstand) som deles av subrutinene Teori for utformingsstrategi (70'-start 80') –Top down-design –Structured design

Referanse hvis du kommer til å jobbe funksjonsorientert: The practical guide to structured systems design – Meilir Page-Jones

Funksjonsorientert utforming Algoritmekomleksitet overvinnes ved å dele inn i subrutiner Felles statiske data er et stort problem Funksjonsorientert utforming fungerer bra når –Det er lite statiske data –Deling av data er uttrykt (vist som funksjonsparametre) –Systemet håndterer uavhengige enkle inndata Databehandlingssystemer er ofte postorienterte –De passer godt til funksjonsorientert utforming

Funksjonsorienterte systemer Komersielle databehandlingssystemer er vanlige og deles i to klasser: –Batch-systemer (lønn, faktura, kontoutskrift) –Transaksjonssystemer Kan eksistere sammen og dele data

Input-process-output model

Les data – Behandle data – Skriv data Lese data –Lese en post fra fil –Validere data –Lagre data til validert datafil Behandle data –Lese validerte data –Beregne resultat –Skrive data til resultatfil Skrive data –Lese ferdig beregnede data –Formatere dem som regning –Skrive ut regning på papir

Funksjonell utformingsprosess Dataflytutforming –Modellerer databehandlingen med dataflytdiagrammer Strukturell dekomponering –Modellere hvordan funksjoner dekomponeres med grafiske strukturkart –Viser eksplisitt dataoverføring Detaljert utforming –Funksjonene i strukturkartet beskrives i detalj

Payroll system DFD

Lønningssystem DFD

Lønningssystem - Strukturell dekomponering