ITO... 5. Problemformulering... 5. Indledning... 5. Organisation og Ledelse... 5. Generel beskrivelse af logistik og produktionssystemer...

Relaterede dokumenter
Database. Pr jekt. Hold CLmul-a14e Gruppe 3 3. semester Vejledere: Tue Becher Ivan R. Frederiksen

23. april Robert Nogal 24. maj Carletti Projekt 2012 Emil Thygesen Mads Pedersen. Carletti A/S 2012

Elaboration fase 2. semester projekt Gruppe 4

2.-semesterprojekt 2014

Løsningsforslag til Camp Let. Case Beskrivelse: Camp Let

Indholdsfortegnelse. Indledning Regnskabsanalyse. Konklusion

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

Bilag 1 Rige billeder Ordremodtagelse

Projekt database. 3 Semester - Mul a Projekt 1. Yaser Osman cph-mo102@cphbusiness.dk. Dan Eskildsen cph-de32@cphbusiness.dk

På nedenstående billede skal du finde den figur som optræder nøjagtig 3 gange.

Erhvervsskolernes Forlag, Logistik i virksomheden Fig. 5.1

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt.

Notater til Systemudvikling. Vidar Jon Bauge 2005

DATABASE Projekt 1-3. semester

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

TMG Webbaseret ressourceallokeringssystem til projektplanlægning

3. SEMESTER 2. PROJECT MULB Gruppe september 2015

Noter til dm529. Jonas Nyrup. 11. november 2011

PROJEKT WEB_DB CROWDFUNDING

Indholdsfortegnelse for kapitel 3

Indhold. Side 2 af 26

Case: Svømmeklubben Delfinen

FAKTABLAD / Report detail form

Virksomhedsøkonomi - fhh10b309

Obligatorisk opgave i objektorienteret analyse og design

Bucket Airlines. SW02 Projekt. Gruppe 2:

Planlægningsprofilerne vedligeholdes under Lagersted Reservedele - Opsætning Planlægningsprofil:

Nyt Teknisk Forlag Logistik i virksomheden. Fig. 5.1 Design af produktionssystemet. Nyt Teknisk Forlag Logistik i virksomheden

Case: Zapier-integration mellem simplero og webcrm hos Videokursus

Undervisningsbeskrivelse, VØ A, 6. Sem. 3B

Secure O matic. Gruppe 5 2. SEMESTERPROJEKT. Udgave. Accepttest-specifikation

Udgangspunktet for designet er informationer fra analysen, samt nedenstående justerede tilstandsdiagrammer: Station. nedlagt H. Købt (dato) nedlagt

Microsoft Dynamics C5

Serviceaftale hos Solcellespecialisten

Betjeningsvejledning. for. UniRace

Anvendelse af BPT til manuel test

Undervisningsbeskrivelse

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Bachelor jan Det Tværkulturelle Forældresamarbejde Lærke Schou I08

Software Design (SWD) Spørgsmål 1

FACITonline. Kundetilfredshedsanalyse for Monacor Danmark A/S. (danske kunder)

Udvikling af IT-system til Midtby Delebilklub - Semesterprojekt 2008

PRØVE - ANVENDELSE KRÆVER LICENS

Indholdsfortegnelse for kapitel 2

LTM 1.1. Modelkørsler

Virksomhedsøkonomi - fhh10a309

Planlægningssystem til autoværksted.

Automatisk Vandingssystem

Kørslen Indlæsning af salgspriser til katalogvarer finder du under Lagersted Reservedele Prisbehandling.

Brancheanalyse Automobilforhandlere august 2011

Projekt 1 - Database. Cphbusiness Lyngby Multimediedesigner, 3. semester. MulB13e, gruppe 4

My Shop. Funktioner, oversigt: Kom i gang: Online shop system

Eksempel: et ordresystem note 5 Lagdeling s. 1

The Design Diaries Project 3 2. Semester. Blog om designprincipper

Nobia Danmark A/S! " Nobia Danmark A/S! Vejledere: XXXXXXXXX" Elever: XXXXXXXXX" Klasse: X.X" Skole: XXXXXXXXX " " " " "

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Årsplan Samfundsfag 9

Krav og Agil Udvikling Knowledge Cube Søren Lauesen, IT-University of Copenhagen

Afsætning b Forberedelse: 30 min Hjælpemidler: Alle skriftlige Citat: Bilag til: HHX Afsætning B

Semester Projekt. DM76 - Christian K, Jesper, Jonathan, Jonas og Maik University College Nordjylland Datamatikeruddannelsen

Automatisk Vandingssystem

Software Design (SWD) Spørgsmål 1

Et KRAM til Danfoss Fokus på kost, motion og sundhed 2008

Strategisk analyse og værdiansættelse af. Rockwool International A/S

kr. 14,- kr. 3,- kr. 18,- kr. 3,- kr. 17,- kr. 13,- kr. 17,- kr. 16,- kr. 19,- kr. 17,-

godt kørende når det drejer sig om reservedele og tilbehør til transportbranchen... Member of the BPW-Group

VALGFAGSKATALOG. Erhvervsakademi Dania Viborg. Autoteknologuddannelsen

Nyt Teknisk Forlag Logistik i virksomheden

166 er % af er % af er % af er % af er % af er % af er % af er % af er % af 800

Integrationsmuligheder

Erhvervsøkonomi Niveau A

Det nye husdyrgodkendelse.dk Sagsbehandlermodulet. 3. Kommunikation med ansøger

Oversigt over artefakter

Transkript:

ITO... 5 Problemformulering... 5 Indledning... 5 OrganisationogLedelse... 5 Generelbeskrivelseaflogistikogproduktionssystemer... 7 Produktionslayout... 7 Funktionslayout... 7 Gruppelayout... 8 Produktstyring... 9 MRP... 9 JIT... 9 Produktionsformer...10 Produktionsfilosofi...11 Fordisme...11 Leanproduktion...12 Logistiskeffektivitet...13 ProduktionslayouthosDanfoss...15 ProduktionsstyringhosDanfoss...16 ProduktionsformerhosDanfoss...17 ProduktionsfilosofihosDanfoss...17 StrategiskanalyseafDanfoss...19 SWOTanalysen...21 Interneogeksterneforhold...21 Styrker...21 Svagheder...22 Muligheder...22 Trusler...22 Konklusion...22 Tværfagligtprojektpå2.Semester 1 SaR afchristian,kennetogmartin

Kravliste...23 SD...24 Inception...24 Systemvision...24 Kravliste...24 Usecases...25 Oversigt...25 Aktørbeskrivelse...25 Usecasebeskrivelser...25 Ordbog...26 Arkitekturforslag...27 Systemetsbetydning...27 Elaboration...27 Krav...27 Usecasemodel...28 Analysemodel...28 Klassediagram...29 Klassebeskrivelser...30 Interaktionsdiagrammer...31 Designmodel...32 Arkitektur...32 Klassediagram...32 Klassebeskrivelser...33 Detaljeredesekvensdiagrammer...33 Brugergrænseflade...35 Ordbog...36 Construction...36 Krav...36 Tværfagligtprojektpå2.Semester 2 SaR afchristian,kennetogmartin

Usecasemodel...37 Analysemodel...37 Klassediagram...37 Klassebeskrivelser...37 Interaktionsdiagrammer...38 Designmodel...38 Arkitektur...38 Revideretklassediagram...38 Klassebeskrivelser...39 Detaljeredesekvensdiagrammer...39 Brugergrænseflade...41 Testrapport...43 ÆkvivalensmængderformetodenberegnDowntidpåMaskine...43 TestafmetodenberegnDowntidpåMaskine...43 TestafmetodenmånedligtForbrugpåstatistik...43 TestcaseafUC2 OpretReparation...44 Brugerrettetdokumentation...44 Status...44 Processen...45 Resumeafforløbet...45 Inception iteration1...45 Elaboration iteration1...45 Elaboration iteration2...46 Elaboration iteration3...46 Construction iteration1...46 Construction iteration2...47 Refleksioner...47 UnifiedProces...47 Tværfagligtprojektpå2.Semester 3 SaR afchristian,kennetogmartin

Udviklingsværktøjer...48 Øvrigeforhold...48 Brugenvenlighed...48 SK...49 Klassemodel...49 Arkitektur...52 Fejlhåndtering...54 Test...55 Specieltinteressantkode...56 FindReservedel...56 Maskine Beregndowntid...57 GuidedTour...59 Fremtidigeløsninger...61 Konklusion...62 CAOS...63 SQLscript...63 Tabeloprettelse...63 JDBC...64 Statistik...65 BeregnMindsteLager...65 MånedForbrug...66 Beregndowntid...67 Fejlreaktioner...68 Mindstelagertrigger...68 Gamledata...69 Fordelingafarbejde...70 Bilag 71 Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 4

ITO Problemformulering FormåletmedITOeratfåenbredforretningsforståelseafdeforskelligevirksomhedsaspekter ierhvervslivet.detteopnåsgennemanalyserlærtoverdeførstetosemestre. ViharfåetetprojektoplægomhandlendeDanfoss,VibyJ.Danfosserenglobalførende markedsleder.dettemedføreretstortansvariplanlægningenafproduktionenfraråvarertil produktogdenorganisatoriskeopbygningsomhelhed.gennemprocesbeskrivelservilvi redegøreforprocesserneivirksomhedenogbelyseproblematikkerneomhandlendelogistik ogproduktion. VivilderudovermedSWOTbeskriveDanfosssomenfortsatførendemarkedslederi fremtiden. Tilsidstvilviudfravoresanalyserkommemedforslagtilforbedringafkommunikationen mellemdeforskelligeinternearbejdsprocesser. Indledning DanfossA/Sereninternationalkoncerndererførendeindenforforskning,udviklingog produktionafmekaniskeogelektroniskekomponenter. 1 VisionenforDanfossA/Seratværeførendepådetglobalemarked.Debyggerderesvisionpå kerneværdieriforholdtilkunderogleverandører.medhenblikpåkundernelæggerdevægt på5grundsten;tillid,troværdighed,innovation,miljøbevidstogforståendepåtværsaf grænserne. OverforleverandørerneharDanfossfrastartenafhaftsomkerneværdiatværeen ansvarsfuldglobalsamarbejdspartneroghandlerstadigderefterideresmådeatomgå leverandørerneogandresamarbejdspartnere. VoresfokuskommerhovedsageligttilatliggepåVibyJ.afdelingenafComfortDivisionensom producererventilertilradiatortermostater. OrganisationogLedelse DanfossA/Serglobaltsetopbyggetefterlinie ogstabsprincippethvilketeretprinciphvor selveorganisationeneropbyggetmedflerelinieafdelingerogstabsfunktioner.linieafdelinger beskriverdetfundamentenorganisationerbyggetpåhvorstabsfunktionererenstøtte funktionmellemenledelseogdensunderafdelinger.mådendettegiversigtilkendepåhos DanfossA/SeropbygningenmeddirektionenøverstbeståendeafKimFausing,NielsB. ChrstiansenogFrederikLotz 2. 1 Jf.http://www.danfoss.com/denmark/ 2Årsrapport2008 Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 5

Mellemdetrelinieafdelingerneogdirektionenerdertostabsfunktioner.DanfossVentures fungerersomdeneneafdetostabsfunktionerogopererermedinvesteringerforledelsen. Denandenstabsfunktion,CorporateFunctions,vejlederogundestøtterdirektionenmed forskelligefunktionerindenforkommunikationogomdømme,økonomiogfinans,jura,fusion ogovertagelserafvirksomheder,strategiogforretningsudvikling,riskmanagementsamt HumanResources. 3 DetrelinieafdelingerbestårafDanfossRefrigeration&AirConditioningDivision,Danfoss MotionControlsDivisionsamtDanfossHeatingDivisionsomerdenafdelingVibyJtilhører. Derudovererderenfjerdelinieafdeling,SauerDanfoss,hvorDanfossejermajoritetenaf aktierne(55,4%).denneafdelingfungererderforpånuværendetidspunktsomdatterselskab påligefodmeddetreandrelinieafdelinger. KiggermanpåDanfossA/Ssometåbentmiljøafhængigtsystem 4 erdermangefaktorerfra fjernmiljøetderpåvirkernærmiljøetsomorganisationendanfossa/serdelaf.netopnår DanfossA/Serenmultinationalvirksomhedudgørfjernmiljøetudenlandslovgivningog mellemstatsligeaftaler.detteharstorbetydningiforholdtildemangeaspekterog beslutningerderskaltagesisamrådmednærmiljøetogikkemindstiorganisationen.her kommerstabsfunktionenindibilledethvorviicorporatefunctionsharpersoneltilat varetagedeforskelligeområdersåsomkommunikationogomdømme,fortilsidstatkunne leveoptildanfoss visionogkerneværdier. DanfossHeatingDivisionsomlinieafdelingeryderligeredeltudpåforskellige underafdelingerindenforvarme.énafdisseunderafdelingererdanfosscomfortcontrolsder bestårafdanfossvibyogdanfosssilkeborg.udfradenudleveredetekst 5 kanproduktionen heropfattessomenmatrixorganisation fordimaniproduktionenkanhaveflere ordrepågulvetsamtidigt.disseordre koordineresafenfysiskplanlæggersom bestemmerhvilkeprocesseredertagersig afengivenordre. Viharhaftmediovervejelserneatden fysiskeplanlæggermereellermindreer selvledende,mendetteharviforkastetda dererenkleprincipielleforskellemellem denfysiskeplanlæggerogenselvledendepersonforståetpådenmådeatdenfysiske planlæggerikkeselvbestemmerhvornårhanmåmødeind.hanmåhellerikkeselvtage størrebemærkelseværdigeinitiativersåsomentotalomlægningafproduktionen.hanhar dogenvisgradaffrihedogansvar,dahanersap søjneogøre.hanskalderforkoordinerer produktionenogsørgeforateffektivisererdenmestmuligt. 3http://www.danfoss.com/Denmark/AboutUs/Financial+Information/Corporate+Governance/Executive+Committee.htm 4Åbentmiljøafhængigtsystem.Organisation4.udgave,Trojka. 5Tværfagligtprojekt2.SemesterDANFOSS Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 6

Generelbeskrivelseaflogistikogproduktionssystemer Idetteafsnitharvivalgtatlæggefokuspåfunktionslayoutoggruppelayoutdadetteer relavantiforholdtildanfoss.dalinielayoutblivernævntflerestederharvivalgtatlaveen beskrivelseaflayoutetogvedlagtdetsom Øvrigebilag. Produktionslayout Detvalgtelayoutafproduktionenharenstorbetydningfordenlogistiskeeffektivitet.Et fejlvalgilayoutetpåproduktionsgulvetkanhavestorindflydelsepåtabafomkostningerog eniregulærkapacitetsudnyttelse. Manharsomhovedmål3forskelligetyperafproduktionslayouts: 1. Funktionslayout 2. Linielayout 3. Gruppelayout Hvermedfordeleogulemper.Vælgesdenrigtigpåproduktionsgulvetkandettehøjne medarbejdernesmoral,effektivisererproduktionskapacitetenogminimereomkostningerne vedlagerneelleromstillingen. Funktionslayout Figur1.ProduktAbehøverproces3og4mensBbehøver1og4. Vedfunktionslayoutetsamlermandeensartedeprocesseriengruppeafmaskiner.Dettevil sigeatmanharstationerrundtomkringpåproduktionsgulvetsomhverharenfunktion. Hertilerderknyttetnoglemedarbejderetilsomselvstyrerprocessen.Produkternebliverher sendtmellemprocessernesomkanværeforskelligestederpåproduktionsgulvet. Medarbejdernekanherspecialiserersigidendelafprocessendeerblevettilknyttet.Manfår vedathaveflerelagreplaceretvedprocessen,tilknyttetflereforskelligeprodukter.detteer enfordeldamedarbejderenkanarbejdepåflereprodukterpåengang.hanråderdervedover hansmaskiner.detteereffektivtogøgerkvaliteten. Ulempenerdogatdetervanskeligtatplanlæggeogkontrolleredaderkanværeflereordre pågulvetsamtidigt.dervedkandergodtskabesflaskehalseoggøreatplanlæggerenforen givenafdelingafprocesserlaverbufferlagre,somkangiveproduktionsforsinkelserogderved medførestorekapitalbindingerihalvfærdigevareriproduktionen.detteerkompletmodsat Linjelayoutethvorkapitalbindingeniproduktionenerforholdsvislavdafloweterkonstant, hvilketdenikkealtiderifunktionslayoutet. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 7

Gruppelayout Gruppelayouterenmellemtingmellemfunktionslayoutetoglinjelayoutetdadenpådenene sideplacereralleprocesser,somilinjelayoutet,sammen,mensprocessernestadigerplaceret istationer,somifunktionslayoutet.dissestationerersomregelplaceretiencirkelelleruformpåproduktionsgulvet.dettemedføreratmedarbejdernekanholdeøjemedsamtlige processerogharderforetstørreoverblikovergulvet. Medarbejderneergrupperetiselvstændigegrupper,somistoredelepassersigselvved maskinerne.dettegiverenjobberigelse,dadekangåindogoverlappehinanden.dogserman ikkealtiddenneoverlapningmellemgruppersomharmedforskelligeordreatgøre.detteer medtilatforringeeffektiviteten,selvomdetburdehavedenmodsatteeffekt. Nukanmannemmereomstilleproduktionentilandrevarianterafsammeprodukt,somogså skerpåfigur3.dettegøratsystemeterfleksibeloverforsmåændringer.dogdelerflere gruppernogengangeomsammemaskiner,hvilketkangiveetdykikapacitetudnyttelsenda dernogengangekangivekødannelsevedprocesser.dogforsøgermanatmindskedenne kødannelsevedatoptimererkapacitetudnyttelsenvedatanalyserersigfremtilhvilkeordre derskalsættesiproduktionsamtidigtforatmindskedennekødannelse.dervedøgerman effektivitetenogkapacitetenenlillesmule. Dettebetyderatmedarbejderneogsåblivermereeffektive.Pådenenesidehardemere overblik,menlayoutetgiverogsåmedarbejderenmerefleksibilitet,hvilkethøjner motivationenoggiverjobberigelse! Dogsesdertitatmedarbejderneharentendenstilikkeatskiftegrupperforathjælpehvisde intetharatlave.detteerenvæsentliggrundtilatmannogengangekanseenlilleforringelse ieffektiviseringen,selvommedarbejdernerentteoretiskskullegåindoghjælpehinanden. Fordeleneratkapitalbindingen,somilinjelayoutet,iproduktionenerlavhvismanudnytter analysenrigtigt.manhardervedenmedarbejderstabderharoverblikogindsigti produktionensamtidigtmedatmaskinernebliverudnyttetforholdsvismeget. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 8

Produktstyring Dettekonceptbrugesafvirksomhedertilatkommemedenstrategiforhvordandevil håndterederesproduktudvikling.detomestanvendtetildetteer: MRP ManufacturingRessourcePlanning. JIT JustinTime MRP AtbrugeMRPsomstyringskonceptvilkortfortaltsigeatudformenogleplanerforforskellige deleafderesproduktionoglagerinventar.disseer:hovedplanlægning,detailplanlægningog finplanlægning.altdettevilværebaseretpåprognoserometforventetsalg.dettevilgøre detsværtatkunneplanlæggepræcistogkanendeudiatvirksomhedenstårmedenmassiv kapitalbindingilagervarer.denneformforstyringbrugerpushprincippet,hvorhverenkelt delheletidenbliverskubbetfremiproduktprocessen.detteskaberenfærdigdelelleret færdigproduktsomerklartilatblivelageretellersendttilkunden. Hovedplanlægningerenoverordnetplanlægningforenproduktgruppesomvirksomheden hariproduktion.denneskalbrugestilatkunnefastlæggehvilkekapitalbindinger, indkøbsbehov,leveringstid,flaskehalseoglikviditetsbehovvirksomhedenhar.denne planlægningudregnesudfravirksomhedensegnesalgsprognoserogaktuellekundeordre. Indenetnytproduktgåriproduktionvilderværeudformetensådanhovedplanlægningfor denneprodukttype,detteskalværemedtilathjælpevirksomhedentilatudregnehvormeget lagerdeskalbrugeistartenforatkunnefølgemeddeordrersomkommerind. Derefterkommerderendetailplanlægningsomudfrahovedplanlægningenskalvisehvilke råvarerogkomponenterderskalbrugestiletspecifiktprodukt,hvorlangtidgennemløbs tidenerfordetteprodukt,hvornårdetskalsættesigangoghvornårdetskalværefærdigtfor atkunneoverholdeleveringstiden.udfradettevildersåblivelavetenstyklisteforet produkt. JIT JITeretstyringskonceptsombrugerelementerfraproduktionsfilosofienLean,somtager udgangspunktikundensbehov.jit shovedkonceptereratdetskalværepårettetid,iden rettemængdeogpådetrettested.dettevilsigeatproduktionenførstsættesigangnårman harenkonkretordrefraenkunde.denneformforstyringerogsågodivisseformerfor masseproduktionsåsomindividuelletilpasningerafbiler.denneformforstyringbrugerpull princippet.hvorhverenkeltdelikkevilblivesatigangiproduktionenførdererbrugfordet. Ogdeterderforkundeordrenidettetilfældesomtrækkerhverenkeltdelgennem arbejdsprocessen.detmedførerenlængereleveringstiddadeleneførstskalgennemalle processer. Eftersomatdennestyreformerstyretafkundenerdenmegetfleksibel,ogerdeltopito formerforfleksibilitet.numeriskogfunktionel. Numeriskerkarakteriseretvedatvirksomhedeneristandtilatleveredensammevarei forskelligeordrestørrelser,somstillerstorekravtilkapacitetsstyringendaordretilgangen bliverujævn. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 9

Funktionelvilsigeatvirksomhedeneristandtilatleveremangeforskelligeprodukter,dette stillerstorekravtildenomstillingsomdervilværepåbådemaskiner,værktøjog medarbejdere. Foratdettevilkunneladesiggørekræverdetenstordelafvirksomhedensansatte,disseskal væremegetfleksibleogværeistandtilatkunneudføremangeforskelligeopgaver.dette kaldesmultifunktionellemedarbejdere.virksomhedersomkørermedmultifunktionelle medarbejderevilistorgradogsåhavedeltmegetafderesplanlægningsarbejdeudimindre produktionsgrupper. Produktionsformer Produktionsformerkanmandeleudi3dele.Projekt,jobshopogflow.Dissevilhverisær høretiletbestemtindustriområde.henholdsvisprocesindustri,produktindustri, serviceindustri. Hvisvinutagerfatiprojektformen,såkandetogsåkaldesenkeltstyksproduktion,hvilketvil sigeatvirksomhedenanvenderallederesressourcerpåenenkeltkunde,deteraltfrasalgtil slutmontagen,ogproduktionenbliverderforførstsatigangnårenkundeafgiverenordre. Derimoderjobshop,ogsåkaldetserieproduktion,byggetoppådenmådeatvirksomhedenud fraderessalgprognoserplanlæggerhvornårdeskaligangsætteenserieafetbestemt produkt.meneftersomensalgsprognoseermegetsværatforudsigekandenneformende medatvirksomhedenbindersigietmegetstortvarelagerhvisderkommerennedgangiden vare.såenmegetvigtigtingidenneformerathaveengodproduktstyringforatkunne minimeredenrisiko. Densidsteformerflow.Dettekanogsåkaldesmasseproduktion,ogsomnavnetsiger,vildet sigeatkøreensproduktionpåen samlebåndslignende form,såproduktionerkonstant.for atdettekanladesiggørevildetafvirksomhedenkræveatmanharetstortogstabilt produktionsapparat. Imangevirksomhedervilmanikkekunbrugeenafdisseformer,menmanvillaveen kombinationafdemtilforskelligeproduktlinjerellerserier.samtidigvilmanogsåkombinere dissemedenformforproduktionsfilosofisåsomlean.dettekanendeudietprincipkaldet, MassCustomization. Iforholdtilflowprincippeterdissetobyggetpåtoforskelligefilosofier: MassProductionbrugerdelefraFordismehvorimodMassCustomizationbrugerdelefra Lean.MassProductionerderforkarakteriseretved:Standardproduktertillaveomkostninger gennemstortvolumenogkortgennemløbstid.hvormasscustomizationerkarakteriseret ved:leveringafindividuelleproduktermedhøjfleksibilitetiforholdtilmarkedsændringer. Dettegiverenvirksomhedenmulighedforatkunnekombinerederesprincipperogderved kunnelevereethurtigtprodukt.uansetomdeteretspecieltproduktelleretstandard produkt. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 10

Produktionsfilosofi Fordisme Fordismeerenmaskinel,hierarkiskfremgangsmådeatorganisereproduktionenafstore volumenerpå.udgangspunkteterat,joflereenhedermanfårkørtigennemsystemet,jo højerebliverproduktiviteten,ogjolaverebliverslutprisenpr.enhed. Forudsætningenhervederatproduktionenikkebliverforstyrretafudeforståendekravom specifikkeprodukter.manmasseproducererderforetstandardproduktudfraprognoser baseretpåkøbersmarked. IenFordmodelbliverproduktionssystemetopdeltismåenkleprocesser,hvorhverproces kanudføresafenmaskineog/ellerenmedarbejder.meningenmedsystemeteratopnåenhøj Figur2.Arbejdsfordelingenogforenklingenafprocesserneførertiltidsbesparelse produktivitetogigennemdenneproduktivitetfåtidsbesparelse.produktionenplanlægges efterprognoserhvorderproducerestillager.dervedforstyrresproduktionskapacitetenikke afomstillingerogmanopnårdervedenmaksimaludnyttelseafproduktionen. Setudfraetmedarbejdersynspunkt,skerderenspecialiseringafhansarbejde,da processernevedfremstillingenerforenkletsåmeget,atindlæringenerforholdsvishurtigt overstået.derefterkanmanfokusererpåatgåidybdenmeddentildeltefunktion. Medarbejderenharderforkunfokuspåsitlilleområdeafproduktionenogdetstørre sammenhængerudenforrækkevidde.planlægningenafproduktionenerderforoverladttil lederne. Produktiviteterheretcentraltemne.Joflereantalenhedermanfårkørtigennem produktionsystemetpr.produktserie,jofærrelønomkostningererderpr.enhed.joflere gangeenmedarbejderbehandlerenenhedindenforsammeproduktserieoverkorttid,jo merevantbliverhanogsåtilbehandlingen.manhardervedenspecialisering,somfremmer produktiviteten.outputteterderforafhængigafproduktivitetenogarbejderensindsats. Hervedbliverslutprisenmindreogmindrevedatkøreflereenhedenigennemsystemet. Manhardervedopnåetetlukket,omstillingsfritsystemder,vedatproducerertiletstort lager,harenhøjproduktivitet,samtenhøjkapitalbindingivarer. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 11

Leanproduktion Leanergroftsagtdetmodsatteaffordisme.Leanerettrimmetkundeorienteret produktionssystemhvormanprøverpåatnedsættespildogfærdigvarelageret. Produktionssystemeteroptimerettilenhurtigomstilling.DetteblivergjortigennemJIT princippet. ILeanerdetcentrale 1. Småordrestørrelser 2. Hurtigomstillingstid 3. Kundensbehov 4. Minimeringafomkostninger 5. Kundeservice 6. Minimeringaflagervarer 7. Minimeringafspild Modsatfordisme,hvorfokuserpåenstor lagerkapacitet,erleanmodellensfokus flyttetoverpåkunden.manundgårilean modellenatskabenogetsomikkehar værdiforkunden.detteblivergjortved Figur3.Syvhovedpunktersomskaleliminererspild trimningafproduktionensomhelstskulle bundeudienreduceringafspild,ogderved enminimeringafomkostningerne,så slutproduktetbliverbilligere.pådennemådeundgårmanatbindekapitalivarelagre.dette erspecieltgodthvismaneretmindrefirmasomikkeharrådtilatenstordelafkapitalener bundetilageret,somdeterifordisme. Leanproduktionenharderfortilformålatreducererdesyvformerforspild,somervistpå figur2.hvilketnedbringeromkostningerne. OverordnetseterLeanmodellenenFordmodelvendtpåhovedet.IFordmodellenskalerer mantiletstortfærdigvarelager,menerefterspørgslenmindreendoutputteterdermeget kapacitetbundetivarelageret.mannedskalererderfor.ileanmodellentrimmerman produktionenoglevererkundetkundenforlanger.forlangerkundenmere,opskalererog omstillermanproduktionen,sådenpassertilbehovet.dervedharmaningenspildiformaf færdigvarerogredundantevarer.rentteoretisksetkunnemangodt,ifordmodellenkomme udforathaveetpartivarerpålager,somligepludseligerforældet,somviludmundeitabt værdipådetpartivarer.detteundgårmanileanmodellen. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 12

Logistiskeffektivitet Logistiskeffektivitetkanmålespåleveringsservicenoglogistikomkostningerne.Foratfåen højlogistiskeffektiviteterdetderforvigtigtatmanopnårdetoptimaleindenfor leveringservicenogdelogistikeomkostninger. Figur4.Figur2.1.Logistik.Trojka.2.udgave. Leveringsserviceomhandlervirksomhedensevnetilatleverevarerogtjenestertil virksomhedenskunderogkanbeskrivesgennemfølgende5punkter. Leveringstidenertidenfrakundenharsendtordrentilprodukteterleverethoskunden.Der erdogflereelementeridetatadminstrationafordren,ekspeditionstidfralageret,indpakning ogforsendelseogsåspillerind.samthvisproduktetikkeerproduceretellerskaffetendnu. Vedf.eksattilbydekunderneenkortereleveringstidendvedkonkurrenternevil virksomhedensleveringsserviceforbedres.danfosslovertypiskdagtildagleveringhvilket skaberenmerværdiderbådeholderpånuværendekunderogskabernye. Lagerservicegradenerdenprocentdelafmodtagnekundeordrersomenvirksomhedleverer direktefralager.denerderforetudtrykforihvorhøjgradvirksomhedenønskeratleverefra lager.danfossharopstilletetmålomathaveenlagerservicegradpå98%somoverholdes nogenlunde.pådenmådeerdesikrepåikkeatbrændeindemednogetpålager.omvendt kanmansigefraetservicemindedsynspunktatderstadiger2%tilbageafkundernesommå ventetilprodukteterfærdigproduceret. Leveringsoverholdelseeretvigtigelementforvirksomhederdersamarbejderi forsyningskæderdadeerafhængigeafatvarerleverestiltidenogatleverancenerkomplet. Erderførsténleverancederbliverforsinketvildetpåvirkedevidereparteri forsyningskæden.danfosserselvmegetafhængigeafleveringsoverholdelse.faktiskhar Danfossleveringskravtilderesleverandørerpåatleverepåetbestemtdatopåetbestemt klokkeslæt.danfossforstårderforvigtighedenileveringsoverholdelseogharogsåvalgtat haveleverandørerfraflerelandeforpådenmådeatminimererhvisénerforsinket. Leveringsfleksibilitetforståesvedenvirksomhedsevnetilatreagereiforholdtilkundens behov.detgiversigtiludtrykgennemproduktfleksibilitet,funktionsfleksibilitet, volumenfleksibilitetogdistributionsfleksibilitet.vedatværefleksiblepådisseområdervilen virksomhedkunneskabemerværdihossinekunderogpådenmådeklaresigikonkurrencen Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 13

medeksisterendeognyekonkurrenter.hosdanfossfåsvarernei400 500varianterdader typiskoverlandegrænsererstorforskelpåkravtilprodukterne.produktionsmæssigterdette selvfølgeligbesværligtmensalgsmæssigtgiverdennefleksibilitetenkonkurrencemæssig fordeloverforkonkurrenterne. Leveringsinformationeretvigtigtlediatskabetillidtilsinekundervedaltidatinformere kundenomleveringstidogevt.forsinkelser. Logistikomkostninger Foratrealisereenvirksomhedsleveringsservicekommerdelogistiskeomkostninger.Disse omkostningerbestårafdelelementerne: Lageromkostningernederomhandlerdriftenaflageret.Pånuværendetidspunkthar Danfossenlagerservicegradpå98%.Sermandetfraetleveringsservicesynspunkterdet megetpositivtdastortsetallekundeordrederkommerindkanbliveleveretdirektefralager. Sermandetomvendtfralageromkostningssysnpunktbetyderdetatderbliverlagtmange pengeietstortlagerogenstorproduktionhvormaniteorienvillekunnebrændeindemed enmasseprodukterhvisefterspørgslenskullefalde.produktionenharligenuen gennemløbstidpå4dage.drømmenomintetlagerogdervedingenstoreudgiftertil lageromokostningernegiversigtilkendevedatgennemløbstidenblivermindreendden leveringstidkundenforventerogpådenmådeundgåudgifternetiletlager.idanfossregier dettebareenmegetsværopgavedadesomnævnttidligereerkendtfordagtildaglevering ogudenetlagerattrækkepånårkundeordrenekommerindbliverdethurtigtenumulig opgaveatproducerehurtigtnok. Transportomkostningerdererdeomkostningerderkommervedtransportafvarertilog fravirksomhedensamtinterntiproduktionen.transportomkostningernehosdanfossliggeri transportentilogfracentrallageretirødekro. Emballageoghåndterings omkostningerharbeggestorbetydningiforholdtil markedsføring,opbevaringogtransportafvarer.hertilkanmiljøkravomeksempelvis emballagenogsåspilleind. Administrativeomkostningeromhandlerkapacitetsomkostningernetilmedarbejderneide forskelligeafdelinger.itaktmeddanfoss overgangtillean filosofienharomstillingenogde heraffølgendeeffektiviseringerlagtetøgetprespådeenkelteansatteiproduktionen.ved f.eksmaskinstopderforsinkerproduktionenmådeansattearbejdeoverhvorweekendertit bliverbrugt.determedfølgerselvfølgeligekstraadministrativeomkostninger. Mangelomkostningernekommerindibilledetnårenkundevælgerkonkurrentenfremfor enselv,vedproduktionsstop,samtnårenproduktionstårstillepågrundafforsinkende leverancerfraensleverandører.vedmaskinstopiproduktionenhosdanfosskandettagefra timeroptildageatfårepareretmaskinerne.detgrundetblandtandetatelektrikerenekun arbejderpådetførsteskifteholdpådagenafialttre.detkanmedførestore mangelomkostningerhvisproduktionenstårstilleifleretimerogiværstetilfældemiste vigtigekunder. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 14

Somnævntbestårlogistiskeffektivitetafleveringsserviceoglogistikomkostninger.Beggekan opfattessomtomodsatrettedemålderhiverihverderesretning.vedatforbedre leveringsservicenvillogistikomkostningerautomatiskrygeopf.eksvedatkøbemereindfor atforbedrelagerservicegradenvillageromkostningerneogtransportomkostningernem.m stige.ligeledesvilleveringsservicenfaldehvismansænkedelogistikomkostningerneiogmed atmanvillehavefærreprodukterklarpålageretc. ProduktionslayouthosDanfoss Jegtroratdetermegetsvært,udfrateksten,atsigehvilkelayoutDanfossudnytter.De udnytterhellerikkebareetlayoutgennemheleproduktionen.deudnytternoken kombinationafflerederhvordeermesteffektive. Jegkankunkommemedgætpåhvilkelayoutsdebruger,dogeretsikkert.Jegtrorikkede brugerdetrenelinielayoutdadenneformforlayouteraltforlåst.bådemaskinelog medarbejdermæssigt.dekanikkeidettelayoutomstillehurtigt.medarbejderneerherlåsttil enfunktion. Etlinielayouthængerogsåmeresammenmedenvirksomheddermasseproducerertilet markedudfraprognoserbaseretpåmarkedet.detteerikkeligefremdetdanfossgør.de producererdetkundernegernevilhave,ogdetteertiltiderskiftende.medderesmange varianterskaldehaveenproduktionderkanomstillesogoptimeres.hergårdetikkeathave enellerflerelinielayoutsdererfastlåsttilenstillingogsomkunkanproducereren produktvariant.derformådanfossudnytteetgruppelayoutelleretfunktionslayouthvor omstillingenermereifokus. Kiggermanpåmedarbejderne,ogherogsådenfysiskeplanlægger,hvorplanlæggerenselv stårforatfådetmesteudafproduktionenogmedarbejderneereffektiveidenformatdeer multifunktionelle,altsåatdekanskiftemellemflereforskelligeprocesseraltafhængigaf produktionen.såkunnemanhældetilatdanfossentenudnytterengruppelayoutelleren funktionslayout,hvorprocesserneersamletogdenmultifunktionellemedarbejderkan udnyttesfuldtud.denfysiskeplanlæggerkanmedkompetencematrixenstyre produktionsgulvetogsørgeforataltkørersåoptimaltsomsituationentilladerdet. Itekstensnakkerdeogsålidtommellemlagre,desåkaldtedecentralebufferlagremellem processerne,somrentteoretiskikkeeksistererietlinielayoutdaproduktionenbarekører derudadpåetsamlebånd. KonklusionenmåværeatDanfossudnyttergruppe ellerfunktionslayout,dadisselayouts passermeretilderesmådeatproducerepå. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 15

ProduktionsstyringhosDanfoss ForatkunnefåetindblikihvordanDanfossstyrederesproduktionvilvistartemedattageet lillekigpåhvordandekommerfremtilderesproduktionsplanergennemmrp. TilatstartemedbliverordredatalagtindiSAPafproduktionsplanlæggeren,dettevilvære tingsomvaretype,antal,ogleveringstidspunkt.udfradissedatalaverkiggersystemetpå hvadderskalbrugesafmaterialeisidsteendeforatkunnelaveordren.ogderfraarbejder densigbagudgennemalledeprocessersomeriproduktionen,sådenhvorhvernyproces denkommertilvillaveenmaterialeoversigtoverhvaddennedelafproduktionenskalbruge foratkunnelavedensarbejde.pådennemådevilsystemetkunneopdageevt.flaskehalsei produktionen,ogkunnegiveenadvarselomdette.nårheledenneprocesergennemførtvil derbliveprintetenlisteudoverdisseberegningersåproduktionsmedarbejdernekansehvad deskallave. HvisviholderteorienopmodDanfossmådeatgøredetpå.Kanviseatdenendeligeplander kommerudgiverenbeskedvideretilhverafdelingsomsåvedhvaddeskalhentefremog lave.ogpådennemådevilstartprocesserneautomatiskskubbederes færdigvare videretil næsteafdelingsomsåstårklartilatbehandledemogsendedemvidereisystemet. Samtidigmedatdebrugerdennedelafproduktstyring,hardeogsåtagetendelindfraJIT princippet.dennedelvilværedemultifunktionellemedarbejdere. NårMRPberegningernekommerudideenkelteafdelingerbliverdissemodtagetafen produktionsmedarbejder,somtjekkerigennemomdehardedeleklarderskalbruges.hvis medarbejderenpådettetidspunktfinderudafatmanikkeharalledeleneklar,skalderså tagesstillingtilommanskalventepådedeledermangler,ellertageenandenordreoggåi gangmedindtilmanhardeleneklartildenordre.hersesetatdeproblemersomsapikke kantagehøjdefornårdenudformerenberegningpåenordre.systemetkanikkesehvisder manglerenspecifikdeltilenmaskine,nedbrudpåenellerflereproduktionsmaskiner,forat kunnelaveordren,ogvilidettetilfældekommeudmedenforkertberegningpåhvornår ordrenburdeværefærdig. Denmedarbejdersomtagerimodordrennårdenkommerindiafdelingenvilindgåietteam afmedarbejdere.idetteteamvilmangeafmedarbejderneværeistandtilatkunnetilgå mangeforskelligeopgaverogpådenmådenemtkunneflyttesrundtmellemprocesserneidet team.danfossharudfrahverenkeltmedarbejderudarbejdetenkompetencematrixsom viserhvadhverenkeltmedarbejderkanoghvordennevilkunnebruges. Dennekompetencematrixskalkunnebrugestilhurtigtatkunneoverskuehvemderkantage overhvor,itilfældeafpludseligændringiproduktionen,sygdomoglign.hverafdelingharen kompetencematrixoverallesinemedarbejdere. Derudoverhardeenmatrixtilatkunneholdestyrpådemedarbejderesomharkompetencer mellemafdelingerne.dettegiverdemenmulighedforogsåatkunnerykkemedarbejdere hurtigoverienafdelingdererpresset. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 16

ProduktionsformerhosDanfoss HvisviskaltageetnærmerekigpåDanfoss,ogdenmådedebrugerproduktionsformerpå, kanvitageudgangspunktideresproduktionafventiler.hvismankiggerpådenne produktionvildenførstetankederkommerværeatdekørerefterenformforfordisme, retteresagtmassproduction.dettekantildelsogsåværesandt. ProduktionenharenmasseegenskaberogprocedurertilfællesmedMassProduction.F.eks. atdeharnogetafdereskapitalbundetilagervarer,atdeharenformforsamlebånds produktionhvorhvertelementiprocessenbliverskubbethurtigtvideretildennæste. Mennårmansåkiggernærmerepåhvordanderesproduktionellerserbyggetopkommer manlidtvækfraprincippetbagmassproduction,ogkommeristedettilattænktepåmass Customization. MedMassCustomizationkræverdetjoatvirksomhedenatdekanomstillesighurtigaltefter hvordanmarkedetserud.dennemulighedhardanfossiformafatderesproduktioner fleksibelogkanlevereforskelligeordrestørrelser.dogerderesproduktionsudstyrikkenok tilatkunneomvendesignoktilatkunnelaveenstørreændring.såfordevilkunneomstille sig100%tilmasscustomizationkræverdetatdeskalhaveindkøbtnytogmerefleksibelt udstyr.dogkommerdetsåmedetvalgsomdanfossskaltræffe.kandetbetalesigatindkøbe detteudstyrforatkunneomstillesig?hvisdetteudstyrskalindkøbessåmankanomstillesig mere,skaldetjogiveenvisprofittilvirksomheden.spørgsmåleterbare,erdenneprofitstor noktilatdetkanbetalesig? SåudfradettekanvikonkludereatDanfossbrugerdelefradetoproduktionsformerogdisse gørdemistandtilbådeatkunnemasseproducereenenkeltvare,samtidigmedatdekanlave individuelleordretilenspecifikkunde. ProduktionsfilosofihosDanfoss HvilkenproduktionsfilosofiharDanfoss?LeanellerFordisme?Hvisviførstantagerat produktionsfilosofienerfordisme,såmåvikunnefindetydeligesporafdennefilosofii produktionen.jegsiger,tydeligespor,fordijegmåantage,somalleandreteorieromsattil praksisateneventuelproduktionikkekunertilsatoggennemsyretafenteori,menmåske kunbrugerdedeleafdensomledelsenmenerbrugbare. Denoverordnedeproduktionbliver,udfraprognoser,fastsathvertkvartalså underleverandørerneharnogetatgåudfra.detteskerogsåifordisme.herbaserermanens produktionpådeforegåendeårsprognoser,ogbyggervarelageretudfradenne. Selveprocessernetilskabelseafhvertenkeldeltilprodukteter,somiFordisme,separeretså megetathverprocesharenfunktion.hersermandog,modsatfordisme,enforholdsvis hurtigomstillingstidformangeafmaskinerne.altsåatproduktionennemtkanomstillehvis derskeretskiftiordrelinjen.dettetydeliggøratproduktionenikkeerfastgjort,somdeneri Fordisme.Derforfaldervoresantagelseherigennem. VivedatFordismeharenhierarkiskopdelingmellemledereogmedarbejdere,dogserviat nogleafdelingerharenfysiskplanlægger,somsnakkersammenmedendelaf Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 17

Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 18 produktionsledelsen.dettevisertydeligtatdanfossikkehardenneopdeling.denfysiske planlæggerfortællerligefremhvadhansgruppeafmedarbejdereskalgøreogindvierdem dervedidetlidtstørrebilledeafproduktionen.voresantagelseomfordismefalderigen igennem,damedarbejderenimereellermindregradindviesiproduktionen. MedarbejderenerhellerikkesåfastlåstsommaneriFordisme.Dennespecialiseringsomen fordistisk medarbejderfårerendanfossmedarbejderforuden.idanfosssermanhelsten multifunktionelmedarbejder,somkommertiludtrykviadereskompetencematrix.dettehar atgøremedatdanfossskalværeeffektiveogfleksibleideresproduktion,hviseneventuel omstillingskalske.dethjælperogsådenfysiskeplanlæggermedlettereatkunne effektivisererproduktionen.fordismengårigenibaggrunden,hvorspecialiseringbliver udskiftetafdetmultifunktionelle. Udefraseendeserenfærdigvare,somblivermasseproduceret.Dennemasseproduktionkunne godthældeovermodfordismedadeharenlagerservicegradpå98%.dadanfosskanlevere 400til500forskelligevarianterkandenetopikkegøresomiFordisme,hvormanproducerer nokafalt,dadettefordetførsteviltagelangtidpgadenstoreomstilling,ogfordetandetville skabeenrigtigstorekapitalbindingidereslagerpårødekro.danfossfølgermere efterspørgslenpåmarkedetogderigennemleankonceptetideresproduktion. DereraltsåikkelagtsåstorvægtpåFordisme,andetendiprognosen,iDanfoss produktion. MenhvadmedLean?HarLeanenstørrebetydningforDanfoss produktion? IDanfosshardeenforholdsvishurtigomstillingstid.Dererkunnoglefåmaskinersomtager fleredageatomstilleogdetteerfaktiskkunispecialtilfældehvordeskalproducereen variantsommegetsjældentbliverbrugt.omstillingstidenerifokusienleanproduktion.hos Danfosssermandennehurtighediomstillingenviafleksiblemultifunktionellemedarbejdere, effektivefysiskeplanlæggereogfleksiblemaskiner,somalleermedtilatkorte omstillingstidenned.maneraltsåikkeidanfosslåsttilenproduktionslinje,menkanveksle mellemflereforskelligevarianteraltafhængigafsituationen.manforsøgeraltsåherat minimereomkostningernevedikkeathaveflereafdesammemaskinertilatindgåi forskelligeproduktionsserier,menkunathaveetparfleksiblemaskinersommankan omstillealtafhængigafproduktionen. BindingafkapitalivarelagerskerikkepåDanfossandetideressikkerhedslagerogdesmå decentralelagere,somopstårmellemtoprocesser.deharikkeetfærdigvarelager.dogkunne jegforstillemigatdegerneifremtidensåendnumindrekapitalbindingidecentralelagereda demegetgernevilhaveomsatderes nursing strategitilenforebyggelsesstrategiså maskinnedbrudmindskes.denneomstillingsstrategiliggerogsåmegettætopaflean,daman ileananserdetforspildatventetidenpåenmaskineerhøj. JegmåkonkludereatderfindesmereLeaniDanfossendFordisme.Dettekommertiludtryki Danfoss hurtigeomstillingstid,demultifunktionellemedarbejdere,defysiskeplanlæggere, servicelagergradenogomstillingenfranursingtilforebyggelse.detenestefordismeder findesidanfosserprognoseplanlægning,hvormanileankunproducererefterkundens behov.dogerdenneprognoseplanlægningmererettetmodunderleverandørerneenddener rettetmodenmasseproduktiontiletmarked.retteresagterdenfaktiskkunrettetmodat indberettehvaddanfosstrorbliverbestiltafkunderidefortløbendemåneder.danfoss masseproducereraltsåikkevarer.deproducererkunefterkundensbehov.dogfortæller

denneprognosebehandlingogsåatdekankommetilatbrændeindemedformangeråvarer. DetteerDanfossvedatretteoppåvedatopkøbeflereafderesunderleverandørersådekan haveendnumerekontroloverproduktionen. StrategiskanalyseafDanfoss VivilvoresinterneanalysevalgtatlaveenøkonomiskanalyseafDanfossiperioden2004til 2007.TalleneharvihentetfraDanfoss årsrapporteri2008,2006og2005. Vivilprøveatbestræbemigpå,ikortfattedeogfastevendinger,atbeskrivehvadde forskelligenøgletalviserforengivenvirksomhed.hvaddetfortælleromdanfoss,viljegvente medatfortælletilsidstienopsummeringhvorjeghivernoglerelevantenøgletalfremsom jegherefterlaverensammenligningogkonklusionover. Selveudregningernekansesibilag2.Vivilherkunkommemedenopsummeringover tallene. Deninterneogeksterneanaylseharvivalgtatvedlæggesombilag,menresultatetherfra, altsåswotanalysen,harvivalgtathavemedirapportendavimeneratdeterdenneanalyse derermestrelavant. DeinterneogeksterneanalyservirefererertiliSWOTanalysenkanfindesibilaget Øvrig underderesrespektiveoverskrifter.enesteviharvalgtathivemederopsummeringenafden interneøkonomiskeanalyse. Opsummeringoverdenøkonomiskeanalyse Foratfindefremtilsvaghederogmulighedervilvihivenoglenøgletaludafanalysenog kommentererudfra. 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% 5% 2003,5 2004 2004,5 2005 2005,5 2006 2006,5 2007 2007,5 Aukastningsgrad Overskudsgrad Indekstalfor omsætningens udvikling Indekstalfor omkostningerne sudvikling Tagerviførstetkigpåindekstalleneforomsætningogomkostninger,kanviseatdissetalfra 2004til2007stigerretvoldsomt,samtidigmedatdeharflereomkostningerneoverstiger omsætningenmereogmere.dettekunnetydepåatdeekspandererelleratmarkedetændrer sig.markedetharnokændretsig,forservipåoverskudsgradenogafkastningsgraden,så falderdefra2006til2007,selvomviharsetstigningerfra2004til2005.dettefaldkommer Tværfagligtprojektpå2.Semester 19 SaR afchristian,kennetogmartin

påsammetid,2006,hvoromkostningernesudviklingtageretekstrahakopadhvor omsætningensudviklingsættersig.omsætningensudviklingerfaktisklidtnegativiforhold tilomkostningernesudvikling. Grundlagetforatmarkedetharændretsigmarkant,kommernoklidtbedretiludtryki varedebitorernesomsætningshastighed,somfortællerosomhvorlangtidenkundeeromat betaletilbage.dennetidmåhelstikkeværeforlang,dadettebetyderentabikapitalda pengeneellerskunnehaveværetforrentet.omsætningshastighedenstigerlidtfra2006til 2007,hvorderharværetetfaldfra2004. Årstal 2004 2005 2006 2007 Varedebitorernes omsætningshastighed 6,02 5,36 5,29 5,92 LikviditetsgradenfortællerosogsåatDanfosserblevlidtmindretroværdigtilatkunnebetale eneventuelgæld.dettetyderpåatdeharfåetflereomkostninger,ogmindreomsætning, Årstal 2004 2005 2006 2007 Likviditetsgrad 1 120,03 120,57 97,16 76,81 Likviditetsgrad 2 189,04 184,76 145,69 124,30 Enmulighedkunneværeatdeharværetnødtilatsættefærdigvarernesprisnedforatkunne følgeeventuellekonkurrenterudenatomkostningernevedatlavevarerneerfaldet.detteer dogforkert,dadenokbareharsolgtmindrefra2006til2007,somvarelagrenes omsætningshastighedogsåfortæller, Årstal 2004 2005 2006 2007 Varelagrenes omsætningshastighed 4,83 4,95 5,02 4,83 Herserviatderfra2006til2007eretfald,hvilkettyderpåatdeharsolgtmindre.Dette kunneværeethintomatdetikkeerpågrundafkonkurrenteratderesomsætningfalder,og dederformåsænkeprisernepåderesvarersåderesomkostningerstigerkraftigt.dettetyder merepåatmarkedetikkeharværetsåkøbevilligesomdeharværetdeforegåendeår. ManskullenutroatDanfosserblevetøkonomisksvagerepgademindreinteresse,doger deressoliditetsgradfra2006til2007stegetlidt, Årstal 2004 2005 2006 2007 Soliditetsgrad 58,16% 58,12% 48,75% 49,07% Denerikkestegetmeget,hvismankiggerpågradenfx2005.Dogerdeblevetlidtbedrefra 2006til2007tilathåndteretab.Dette,sammenmeddeåbenbarefaldiomsætningenog Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 20

stigningeniomkostningerne,tyderpåatde,trodsetfald,altialterbliverlidtbedre økonomiskselvomdeikketjenersåmegetsomfør. SWOTanalysen GrundlagetforSWOTanalysenbyggerpådeninterneogeksterneanalyseviharlavetover Danfosssomfindesibilagene. VoresSWOTanalyseindeholderfølgendefrabilag: Internanalyse 1. Økonomiskanalyse 2. Bostonmodellen 3. Værdikæden 4. Portersværdikæde Eksternanalyse 1. Portersbranchestrukturmodel Interneogeksterneforhold Styrker Omstillingsstærkøkonomi Multifunktionellemedarbejdere Markedsledere Internationalvirksomhed Effektivtproduktionsflow Godlagerservicegrad Flereuafhængigeleverandører Muligheder Købafunderleverandører Nyemarkeder DanfossVentures,investeringer Produktudvikling Innovation Interneforhold Svagheder Brugerweekendsombuffer StjernepositioniBostonmatricen Poul Markedsledere Reservedelssystem Dagtildagleveringkontradrømmenomintetlager 400 500forskelligevarianter Multinationalvirksomhed Eksterneforhold Trusler Ustabilemessingpriser Konkurrenter Politiskerestriktioner Finanskriser Alternativevarmekilder HvisEU stoldmurblivernedlagt Styrker SommarkedsledermedeninternationalvirksomhedharDanfoss,selvundernedgangisalg, engodøkonomidadeeromstillingsstærke.dehareteffektivtproduktionssystem,med multifunktionellemedarbejderedernemtkanfungereiflereledafproduktionen. Danfossharenstærkleveringsservicedadestræberefteratleverefradagtildagogharen lagerservicegradpå98%,somdeprøverpåatoverholde. SomInternationalvirksomhedrammerDanfossmangemarkederogpådenmådeharde sikretomsætningen,hvisefterspørgslenietlandskullefalde. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 21

Svagheder SelvomDanfossharmultifunktionellearbejdere,såpressesdemegetpga.deresløfteomdag tildagleveringnårweekendenbrugessombuffer.depålæggermegetansvarpånoglefå medarbejdere,såsompoul.dettegørproduktionenafhængigafenkeltepersoner.itaktmed deresdagtildagleveringspolitikafskriverdesigogsåfraatkunneskrottelageretogundgå lageromkostninger. Deresstjernepositionpåmarkedetlæggerogsåmegetprespåvirksomheden,daderskal megettilforatbeholdedennestatus,derforskalderheletidenmarkanteforbedringertil,så somproduktionsomlægning,produktudviklingogmarkedsføring. Deresproduktionsfleksibilitet,hvordeproducerer400til500forskelligevarianter,kankoste demmegetitidogomstillingafmaskiner,mendetskalstadigvæksigesatfleksibiliteteneret plusforkunden. Dadeeretmultinationalvirksomhedskaldetagehøjderformangeting.Herunderpolitiske restriktionerpådeforskelligemarkeder.kommunikationen,ogkulturenkanogsåherbliveen barriererforyderligereeffektiviseringerivirksomhedensorganisation. Muligheder MulighederneermangeforenstormultinationalvirksomhedsomDanfossmendetervigtigt heletidenatværeibevægelseiforholdtilekspansion,innovationogsøgenafnyemarkeder. Dadeermarkedslederehardeogsåetstørreforspringiatsælgenyeproduktertilkunder verdenover.danfossharogsågjortsigdefornødneforholdsreglerogoprettetenfunktioni virksomhedenkuntilinvesteringerinyeteknologier,somkanbidragetilenstadigstørre mulighedfornyeudvidelserognyskabelserindenfordetteknologiskefelt. Trusler Danfossstoretrusselpåradiatortermostatmarkedeterdeustabilemessingpriser.Detteeren omkostningsmæssigstorafhængigvariabelsomstadfæstersigideresøkonomi.danfosseren nichevirksomhed,somproducererogudviklertiletsmaltkundesegment,nårdetkommertil produktionaftermostater,derforerderaltidfrygtenforatennykonkurrentmeldersigpå markedetsomkanunderbydedanfoss. MankunneogsåfrygteatDanfosslidersammeskæbnesomArla,daMuhammedkrisenvarpå sithøjeste.dadeerpåmangeforskelligeinternationalemarkedermedforskelligekulturerer deraltidenpotentielfareforattrædenogenoverfødderne.mankunneogsåfrygteatdanfoss rammesafenkriseforsagetafdetdanskesamfund. Ienverdenhvorinnovationstårhøjtpådagsordnenformangevirksomhederertruslenomet substituerendeproduktaltidligeomhjørnet. Konklusion Etgennemgående tillægsord viharbrugtpådanfosseratdeermarkedsledere.deer placeretsomstjerneibostonmatricenjvnfbilag.deeropmærksommepåkonkurrenceni deresbrancheogandrebranchergennemportersfiveforcesjvnfbilag.idetstorehelekan manbeskrivedanfosssomenagilvirksomhed.envirksomhedderharenevnetilatpræstere ienverdenderhurtigtændrersig.dettehardanfossopnåetgennem4egentligretbasale Tværfagligtprojektpå2.Semester 22 SaR afchristian,kennetogmartin

strategier:1:kundernesbehovgennemkundefokus.2:samarbejdemedkunder,leverendører ogkonkurrenter.3:organisationsændringerderfølgermedtiden.4:samtdetatkunne udnyttemedarbejdernesviden.danfossharpræsteretatsammensættedissefirepunkterså degåropienhøjereenhedogergrundlagfordetdanfossstårforidag. Danfossifremtidenkanikkebeskrivesmedkunenstrategiskmulighedmennærmere4som Danfossmereellermindrealleredestårfor. Markedspenetrering Markedsudvikling Produkudvikling Diversifikation Markedspenetreringvedatopkøbekonkurrenterindendebliverforstore. Markedsudviklingenvedsøgenyemarkeder.Dettekanværenyekundesekmenterligesåvel somnyegrafiskeregioner. Produktudviklingvedatinvestererinyteknologi,ogskabeetnytmarked.Pådennemåde udnytterde firstmover effektenogkandervedkommenærmere detblåocean gennem kendskabtilkundernesbehov,kunderneskøbsadfærdogdanfoss innovation. Kravliste Reservedelssystemeterpt.baseretpåenmandskendskabtilbranchenigennem25år. Systemetbestårtodele.Dererenlagerbeholdningafreservedeleogenrødskuffetildefekte dele.foratkunnetageenreservedelskaldendefektedellæggesidenrødeskuffe.herefter kommerpoulindibilledet.hannotererdedefektedeleoglaverlagerstyringenvedatholde styrpåhvorlavenbeholdningderertilbagepåreservedelslageret.erderlavbeholdningpå noglereservedelesørgerhanforatbestillenyehjem.pådennemådeskullederaltidvære reservedelenoktileventuellenedbrud. DettereservedelssystembestårkunafPouloghansviden.DennevidenvilPoulgernehave omsattiletitsystem.vivilherlaveenkravlistesombelyserdeforskelligeområdersom kunnefåsådanetsystemtilatfungereroptimalt. Navn Beskrivelse Prioritet K1 Søgningpåmaskine K2 Tegningpåmaskinemeddeforskelligereservedele K3 Søgningpåreservedelsnummer K4 Søgningpåreservedelsnavn K5 Visningafreservedel K6 Visningafreservedelstegning K7 Opretningafnyereservedele K8 Opdateringafreservedel K9 Statistikoverlagerbeholdning K10 Automatiskbestillingafnyereservedele K11 Muligforallemekanikereatbruge K12 Tilgangviahttp K13 Maskinerneskalværeselvbevidstesådeselvkanbestilleenreservedelnårdenervedatgåitu. K14 Historikovermaskinerssammenbrud DetteITsystemgørDanfossuafhængigeafPouldahansvidennufungererfrasystemet. Systemeterogsåmedtilatgøredethelemereoverskueligtforopstillerne.Informationen Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 23

omkringreservedeleneerblevetmeretilgængelige,damannunemmereoghurtigerekan findedataomkringenspecifikreservedel. Itaktmeddeprognoser,historikersamtstatistikkerderregistreresbliverbestillingenaf reservedeleogsåmerepræcisiformafvolumenogleveringstid. MedsystemeterPoulikkelængereenløsningpåreservedelsproblemet,menmeregjorttilen delafløsningen.derudoverbliverpoulogsåenvigtigbrikiudformningen,opbygningenog videreudviklingenafsystemet. SD Inception Systemvision ViønskeratudvikleetsystemderstyrerreservedelehosDanfoss.Systemetskalkunne behandledevæsentligsteområderindenfordedagligeopgaversåsomatoprette,opdatere samtstatistikvisning. Kravliste Navn Beskrivelse Prioitet Funktionelle krav K1 Skal med SaR kunne registrer maskintyper M K2 Skal med SaR kunne registrerer tegningsnumre til en maskintype S K3 Skal med SaR kunne registrerer reservedele til en maskintype M K4 Skal med SaR kunne registrerer en reparation M K5 Skal med SaR kunne beregne downtid for den enkelte maskine fordelt på måneder S K6 Skal med SaR kunne udregne forbruget af de enkelte reservedele fordelt på måneder S K7 Skal med SaR kunne udregne forslag til mindste lager S K8 Skal med SaR kunne søge på reservedele via tekstbaseret søgning M K9 Skal med SaR løbende kunne opdatere en reparation med reservedele M K10 Skal med SaR kunne slette en reparation C K11 Skal med SaR kunne slette en reservedel C K12 Skal med SaR kunne slette en maskintype C Ikke-funktionelle krav K13 SaR skal være et meget pålideligt system med en oppetid på 98% M K14 SaR skal have mulighed for senere at kunne blive udvidet C K15 SaR skal hurtigt kunne håndtere oprettelsen af reparationer med tilhørende reservedele M K16 SaR skal kunne styrets via en touchscreen C K17 SaR skal kunne udvides med PDA til opstillere og reparatører W Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 24

Usecases Oversigt Aktørbeskrivelse DererflereaktørerhosDanfoss.PLsomadministrererreservedelslageret,værkførenALog sådeforskelligereopstillere.voressystemskalværeetenkeltståendesystemderkunbruges afenbrugerafgangen.dertagesikkehøjdeforomdeteral,plellerenafopstillerneder anvendersystemet. Usecasebeskrivelser Use Case Name Trigger Event Brief Description Actors Precondition Postcondition Beregn downtid ID: UC7 Opstiller vil informeres om en bestemt maskines downtid Beskrivelse af beregning af downtid Opstiller At reparationerne for den ønskede periode er afsluttet At Opstiller får den ønskede viden om downtiden for en given maskine Flow of events Actor Vælger maskine, ønskede måned samt år for downtid. System Returnere downtiden for den ønskede periode. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 25

Use Case Name Trigger Event Brief Description Actors Related use cases Precondition Postcondition Navn: Tilknyt reservedel til reperation ID: UC1 Opstilleren trykker på tilknyt reservedel Opstilleren har fundet ud af hvad reservedele han skal bruge til en reparation og vil nu tilknytte disse reservedele til reparationen Opstiller Opret Reparation Reperationen er oprettet Reservedelene og antal er tilknyttet til reperationen Flow of events Exceptional Flows Actor 1 vælger hvad for reparation det skal være 2 Vælger reservedel og skriver antal 3 trykker på opret 3.2 giver en fejl hvis færre reservedele på lager end der er skrevet af antal System 1.1 lister reservedele der hører til maskinen via reparationstypen 3.1 tjekker om der er nok af den givne reservedel på lager 3.3 tilknytter antal og reservedel til reperation Use Case Name beregnmindstelager ID: UC8 Trigger Event Brief Description Actors Stakeholders Precondition Postcondition Virksomheden skal bruge et antal af en reservedel for at kunne vide hvor meget de skal have på lager Beskrivelse af hvordan systemet udregner mindstelager Bruger PL, opstiller Der findes reservedelstyper og reparationer i systemet Systemet returnerer resultatet af udregningen Flow of events Actor Brugeren vælger statistik for at udregne mindste lager System.1 Systemet udregner mindste lager.2 Returnere resultatet Exceptional Flows Der findes ikke nogen ReservedelsType i systemet. Systemet tilbage at der ikke findes nogen af den reservedelstype Ordbog Udtryk Aktør Reservedelstype Mindstelager Downtid System Definition Opstiller En given reservedel Antallet der som minimum skal være på lager Den tid som en maskine har været til reparation SaR Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 26

Arkitekturforslag Iførsteomgangvilviopbyggesystemetefterentolagsmodel, hvorviharbrugergrænsefladen,herguiogenunderliggende modelleringafproblemet,hermodel.bindingenmellemdetolag skerherviaetservicelag,somegentlighørertilmodellen.i Serviceklassenskeropbevaringenafsystemetsdata. GUI Service Model Systemetsbetydning Davoressystemeretenkeltståendesystemsomikkeskal integreresmeddeøvrigesystemersomdanfossalleredehar,erdenøkonomiskerisicifor implementeringenminimal. ForatfåetkørendesystemforventerviatDanfossogfolkenepåreservedelslageretskal brugetidpåatfåindregistreretallederesnuværendemaskinerogreservedele.detteer essentieltforatfåetsystemdererfuldtudintegreretmedrestenaflageret. Bliversystemetindkørtrigtigt,vilbetydningenværeatmændenepåreservedelslageretfåret størreoverblikovermaskinernesstabilitetsamtforbrugetafreservedele.detbetyderogsåat systemetmedtidenvilkunneovertagepl sarbejdeogpådenmådegørereservedelslageret uafhængigafkunenpersonmedmangeårserfaring. Elaboration Krav Viharvalgtatsebortfraatman,løbende,kanopdatereenreparationmednyereservedele. Manskalvidehvilkereservedelemanskalbrugetilenreparationnårmanopretter reparationenjvfkrav18.derforharvinedprioiteretkrav9tilenc. Navn Beskrivelse Prioitet Funktionelle krav K18 Skal kunne tilføje reparationslinier til en reparation lige efter reparationen er blevet oprettet. M Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 27

Usecasemodel FraUsecasemodelleniinceptioniterationenerdernukommet opretmaskintype på.denne erinkludereti opretmaskine somskalforståespådenmådeatnårduopretterenny maskinehardumulighedenforatopretteenmaskintypehvismaskinenerafenukendt maskintype. Analysemodel Viharielaborationlavettreiterationer.Vilavedeanalyseklassediagrammetom3gangeda vihavdeendelproblemermedhvordanantalletafreservedeleskullestyres.altså lagertilgangenoglagertilførsel.viharhervalgtatvisedetførsteudkastsomvilavede,og undladtiteration2 sklassediagram 6 davihellerevilfokusererpåresultatet,somkomi iteration3.iteration3 sklassediagramharnoglesmåændringeriforholdtiliteration1 s klassediagram. 6 Bilag1Elaborationanalyseklassediagramiteration2 Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 28

Klassediagram Figur5.Iteration1. Antalletafreservedelebliverifigur1gemtiLagerBeholdning.Lagerafgangenskernåren reparationopretterenreparationslinie,hvorproblemetogsåopstår,forreparationslinienhar ingenkendskabtillagerbeholdningen. Figur6.Iteration3. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 29

Imodsætningtiliteration1klassediagrammet,harlagerbeholdningenifigur2enassociering tilreparationslinieogkannuopretholdeantalletafenreservedelvedlagerafgang.viharogså gjortsådanatmaskintypergodtkanhave0tegninger,daviikkemenertegningerover maskinetypererdetessentielleisar1.0.derimodburdedetteændresiversion1.1hvor netoptegningerneerifokus. VoresassocieringfraReparationsLinietilLagerBeholdningharvimeddavipådette tidspunktvedatlagerafgangenskalstyresfrareparationslinie.reparationsliniegemmer ikkeetlagerbeholdningsobjekt,mendenbrugerobjektettilatlavelagerafgangenmed.det vilsigeatassoceringenfaktiskgodtkunnesparesvæk,dogharvivalgtathaveassoceringen medforatretfærdiggørelagerafgangen. Klassebeskrivelser Tegning Formål:Modellererentegningoverenmaksintype.Pånuværendetidspunktbestårdettekun afetnummer.menkansenereudbyggesmedbillederoverdennemaskintype. Maskintype Formål:Modellererenmaskinetype.Maskintypeindeholderenlisteoveralledetegningerder ertilknyttetdenne.egentligburdemaskintypevidehvilkereservedeledertilhører maskintypennårdenneoprettes.viharvalgtatdeleprocessenop.iførstedelafprocessen oprettesmaskintypen.nårdenneeroprettet,kanmantilknyttereparationstyper.dettesker vedatmankantilknyttealleredeoprettedereparationstypertildenoprettedemaskintype, elleroprettenyereparationstyperogtilknyttetilmaskintypen.deterviadissetilknyttede reparationstyperatmaskintypenbliverbevidstomhvilkereservedeledenindeholder. Maskine Formål:Modellererenmaskine.Maskineindeholderpånuværendetidspunktetuniktid nummersamtetnavn.dennemaskineerendelafenmaskintype. Reparationstype Formål:Modellererenreparationstype.Reparationstypenindeholderreservedeleogetantal, iformafreservedelslinier.denindeholderydermereenforklaringpåreparationen. Reparation Formål:Modellererenreparation.Denneindeholderetunikidnummer,endatoforhvornår reparationenerstartet,endatoforhvornårdenforventesfærdig,enreparationstype,ogen listeafreparationslinier. Reparationslinie Formål:Modellererenreparationslinie.Linienindeholderetantalogenreservedel. Reparationslinienharansvaretforatlavelagerafgangen.Dennelinieerdetfaktiskbrugtepå enreparation. Reservedel Formål:Modellererenreservedel.Reservedelindeholderetuniktidnummer,etnavn,en placeringhvordenliggerpålageretoghvilkentypedenneeraf. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 30

Reservedelslinie Formål:Modellererenreservedelslinie.Linienindeholderenreservedelogetantal.Denne linieeropskriftenpåenreparationstype. Interaktionsdiagrammer Figur7.UC8. Dettediagramviserhvordanbrugerenudnyttersystemettilatfindefremtiletmindstelager forengivenreservedel.systemetfåretinputindfrabrugerenomhvilkenreservedelderskal findesmindstelagerfor.derefterudregnersystemetmindstelagerfornetopdenne reservedelogreturnererresultatettilbrugeren. Figur8.UC1. Detteersekvensdiagrammetforusecase1tilknytreservedeltilreparation.Systemet returnererenalleredeoprettetreparationtilbrugeren.brugerenkandereftertilføjede Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 31

ønskedereservedelesamtantaltilreparationen.systemetkontrollererhvorvidtdetermuligt attagedetønskedeantalfrabeholdningogmeddelerbrugerherom. Figur9.UC7 SekvenkvensdiagramforUC7derberegnerdowntidforengivenmaskine.Opstillervælgeren maskinesamtdenmånedogdetårforhvilkethanønskerberegnetdowntid. Designmodel Arkitektur Eftersomatarkitekturenidennefaseikkeerændretkanviherhenvisetilarkitekturafsnittet iinception. Klassediagram Figur10.Bilag4. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 32

Herservidetfærdigeklassediagramsomvinåedefremtil.Aldatablivergemtiservice klassen. Klassebeskrivelser KlassernesformålerbeskrevetfuldtudunderanalyseafsnittetafElaboration.Hervilvinu beskrivedeklassersomharinteressantemetoderogvariabler. LagerBeholdning Variabler:intantal antalletafdengivnereservedelsomerpålager Operationer:voidtagReservedel(intantal) tagerdifferencenmellemantalletpåklassenog antalletsomdenfårmedindsomparameter.erdifferencenstørreendellerlig0,såskalden tælleantalletpåklassenned.erdenmindreend0,skaldensmideenruntimeexceptionhvor denfortælleratderikkeernokafdengivnereservedelpålager. Reparation Operationer:voidtilføjReparationsLinie(ReservedelsTypereservedelsType,intantal) denne funktiontilføjerenreparationslinietildenslisteafreparationer.førsttjekkerdenomder rentfaktiskerenreparationslinietilføjet.erderdettællerdenbareopiantallet. ReparationsLinie Operationer:ReparationsLinie(ReservedelsTypereservedelsType,intantal) Denne constructorharfaktiskansvaretforattjekkeomantalletafdengivnereservedelstypeerpå lager.erderdetbliverlinienoprettetoglagerettaltnedvedatkaldetagreservedel(intantal) pålagerbeholdningen.erderikkebliverdersmidtenruntimeexception. Maskine Operationer:intberegnDowntid() beregnermaskinensdowntid.detteblivergjortvedat kiggepåalleafsluttedereparationersomerpåmaskinensreparationsliste. Detaljeredesekvensdiagrammer Figur11.Bilag5.UC1 Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 33

Hersesdesignsekvensdiagramfor Tilføjreservedeltilreparation.Jegharvalgtatlægge megetvægtpåatmanfåretobjekttilbagefraserviceeftermanharoprettetreparationen. Detteharjeggjortvedatladeservicereturnereretobjektidiagrammet.Deterderefterdette objektmanoperererviderepåforattilføjereservedeletilreparationen. Figur12Bilag6.UC8 Dettediagramviseridetaljerhvordansystemethenteroplysningergennemdeforskellige klasserforatkunneudregneetmindstelagerforengivenreservedel. Brugerengiversystemetenreservedelderønskesetmindstelagerfor.Detteinputbliver sendttilservicesomkaldervideretilstatestik.denneklasseliggerindemeddenmetodetilat udregnemindstelageret. Statestikfårfatidenlistederliggeriservicemedallereservedelei,udfradenneudregner statestikmindstelageretfordennereservedelogreturnererdettilbrugeren. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 34

Figur13.Bilag7.UC7 Hersesdesignsekvensdiagrammetforberegndowntid.Opstillervælgermaskinesamt månedogårforhvilkenhanønskerberegnetdowntid.serviceklassenkaldersåmetoden beregndowntidpådenønskedemaskine.maskinenhenterenreparationslisteoveralle reparationerdererpåmaskinen.forhverreparationdererafsluttetkaldesmetoden hoursbetweenderudregnerdowntidenpåenreparationforenbestemtmåned.nårlistener løbetigennemreturneresdensamlede downtidfordenønskedemåned. Brugergrænseflade ViharvalgtatbrugeEclipsesVisualEditor tiludformningenafvores brugergrænseflade. Viharhertagetførsteudkastafvores Mainframemed.Detteskærmbilledeblev udarbejdetunderanalysen. Voresskærmbillederblevudformetudfra desimpleusecasesoggavosdetførste helhedsindtryk,somvikunne videreudviklefra. Viharbesluttet,somdetsespådette skærmbilledetilhøjre,atsystemetskal væremenubaseret,medenmenuøverst,hvorframankantilgådeforskelligedeleaf systemet.viharvalgtatmainframenskalvisevoresstatistikkerogdata,sådeernemmeat tilgå.manskalaltsåikketastesigenlangvejigennemsystemetforatsehvaddatasystemet Tværfagligtprojektpå2.Semester 35 SaR afchristian,kennetogmartin

indeholder.derforvalgteviatsmidelisterindpåmainframensomindeholdtedissedata, samteninfoboksunderdisselistersomkunnevisemeredetaljeretinfoomkringetvalgt emneienaflisterne. Skærmbilledetviserdetførsteudkasttil opretmaskintype.nårmanvilopretteen maskineskalmanvælgeenmaskintypefra endropdownmenu.hvismaskintypen ikkefindeskanmanopretteenny maskintype. Eftermanharoprettetenmaskintypekan mantilknyttereservedelesamtde tegningerderhørertildennye maskintype. Ordbog Udtryk Lagerafgang Lagertilgang Det faktisk brugte Opskriften Construction Definition Sker når en reservedel bliver taget fra lageret Sker når en reservedel kommer på lageret Er det antal af reservedele der trækkes fra lagerbeholdningen. Det faktisk brugte henviser egentlig til reparationslinien Er det antal der i teorien skal bruges til en given reparationstype. Opskriften henviser egentlig til reservedelslinien. Krav FradeoprindeligekravhavdevitresletfunktionerikravK10,K11ogK12.Alletrekrav prioriteredevisom couldhave eftermoscowmetoden.underconstructionbesluttedevios foratdissetrekravikkevilleværedetvæsentligsteforetvelfungerendesystemogvihar derforvalgtatudeladedissetrekravellerihvertfaldomprioritererdemtil Wouldhave så deistedeteretforslagtiludvidelserafsystemetsenerehen. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 36

Navn Beskrivelse Prioitet Funktionelle krav K10 Skal med SaR kunne slette en reparation C->W K11 Skal med SaR kunne slette en reservedel C->W K12 Skal med SaR kunne slette en maskintype C->W K19 Data skal kunne tilgåes på en uniform måde. S K19betyderatvigernevilhaveenuniformmådeattilgåvoresdatapå.Detteudformervi somenspecifikationsomgiverretningslinierforhvordandataoprettes,opdateresoghentesi voressystem.dennespecifikationharvivalgtatmodelleresometinterfaceivorestilfælde Dao. Usecasemodel DaderikkeerkommetyderligerecasespåvoresusecasehenviservitilUseCaseModelleni Elaboration. Analysemodel Klassediagram Viharvalgtatføjeekstratilvoresklassediagram.Vi vilfaktiskføjeetekstralagtiliformafetdaolag,som tilgåesfraserviceklassen.dettebetyderatservice ikkekommertilathusealdatafremover.service klassenbliverenmererenkoblingsklassemellemgui ogmodellen,hvordaoklassernesåvilkommetilat husealdata. ViharherimplenteretDaosometinterfacederhar enassoceringtilserviceklassen. Klassebeskrivelser Dao:specificererhvordandataskaltilgåes. AbstractDao:skalindeholdedemetoderderensfor ModelDaoenogDb4oDaoen. ModelDao:dataergemtilister.Metoderneerimplementeretspecielttildatahåndteringi lister. Db4oDao:dataergemtienobjektorienteretdatabase.Metoderneerimplementeretspecielt tildatabasehåndtering. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 37

Interaktionsdiagrammer Daderikkeernogenændringerhenvisestilinteraktionsdiagrammerielaboration. Designmodel Arkitektur Arkitekturenernuyderligereblevetopdeltmedendnuetlag.Dettelag erdao.daoenereninterfacespecifikationsomspecificererhvordanvi håndterervoresdata.detvilsige,hvordanvigemmer,opretter, opdatererogslettevoresdataivoresmodel. Revideretklassediagram GUI Service DAO Model Figur14.Bilag8. HeroversesvoresreviderededesignklassediagrameftervihartilføjetDao.Selvomnogle enkeltemetodergårigenimodeldaoogdb4oharvivalgtikkeatimplemtereenabstractdao derellersvilleindeholdedissemetoder.manvilsenerehenkunneimplemteredenne abstracteklasse. SelvomdetikkefremgårafdiagrammetsåimplementererModelDaoogDb4oDaode specifieredemetoderidaointerfacet. SelveModelDaoogDb40Daoindeholdernudeforskelligedatastrukturersomellersvarat findeiserviceklassentilstartemed.serviceklassenharnubareenassoceringtildao interfacetogerdermedblevetenrenkoblingsklasse. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 38

Klassebeskrivelser Herbeskrivervidemetoderogvariablersomerinteressante Dao Operationer:voidgetReparationsId() dennemetodestårforaltidatskaffeid enpåden næstereparationsomderkanoprettesisystemet.dettebliverimplementeretentenvedat denhenterdensidsttilføjetreparationiendatabaseellerientabel,henterid enudogaddere entil. SammemådeeregentliggjortvedgetMaskinIdoggetReservedelsIdforhenholdsvisMaskine ogreservedel. Detaljeredesekvensdiagrammer Figur15.Bilag9.UC8 IforholdtildesignsekvensdiagrammetielaborationerhernutilføjetDAO.Dettebetyderat servicenukalderigennemdao.statestikhenternulistenmedreservedeleframodeldaoog beregnermindstelageret. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 39

Figur16.Bilag10.UC1 Diagrammetskitsererfunktionskaldeneimodelkodenfortilføjelseafreparationsliniertilen reparation. Prekonditioneneratbrugerenharoprettetenreparationmedenreparationslinie.Derefter returneresdetteobjektigennemdaoogservice,ogbrugerenkansåtilknytteflere reparationsliniertilreparationen. Tjekketomantalletderskalbrugesfaktiskerpålagerskerilagerbeholdningen. Lagerbeholdningenharansvaretforatlavelagerafgangen.Hvismanprøverpåattagefor megetkastesenfejlogbrugerenfårbesked.hvisderderimodernoktrækkesantalletfra beholdningenogbrugerenkangåvideremedattilknytteflereliniertil. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 40

Figur17UC7 IgenseshvordanvihartilføjetDaotildesignsekvensdiagrammetfraElaboration. Brugergrænseflade Ielaborationvistevidetførsteudkastpå opretmaskintype.eftermangeovervejelserblevvi enigeomatnårmanopretterennymaskintypekendermanikketildereservedeleen maskintypehar.nårmanopretterenmasintypekanmantilknyttetegningertilen maskintype. Nårmanviltilknytteenreservedeltilenmaskintypeskalmannuopretteenreparationstype påmaskintypenogsåtilknyttereservedelene. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 41

Påmainframeskærmbilledetfraelaborationharvilavetendelom,davigernevillegøredet merebrugervenligmht.knapperogtryk.detlavedevivedmannubareskalmarkereret emneietaflisterneforatfådetaljeretinfoop.infopaneletnederstharviogsålavetmere tydeligvedatlavedenomtilenfaneblad,såenbrugerkansehvadfornogetinfoderkan blivevist.iconstructiondelenharvialtså,pånogenområder,trimmetmainframenså brugerenskaltagefærrevalgforatkommefremtilmålet,hermerespecifikinformation omkringdeforskelligedatadererilisterne. DenenesteafknapperneviharladetståerStatestikknappenforreservedele.Detteharvi gjort,damanbådekanvælgeenreservedelilisten,ogdervedfåmerelagerinformation omkringdetvalgteemnefremnederst,mensmanogsåkantrykkepåstatestikknappenogfå forbrugetpr.måned,halveogheleårfrem.denneopdelingharvilavetdavisynesatdetville bliveforrodetathavealdata,bådestatestikoglagerdata,samletienfaneblad. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 42

Testrapport ÆkvivalensmængderformetodenberegnDowntidpåMaskine Emne Ækvivalensmængde Testdata: Maskine Oprettedemaskiner Id.Nr.1,2og3 År Frasystemetblevoprettettil 2008og2009 d.d Måned 1 12 1,2,3,4,8,9og12 ReparationsPerioder Reparationmedstartdatoog slutdatoiønsketmåned. Reparationmedkunstartdatoi ønsketmåned. Reparationmedkunslutdatoi ønsketmåned. Flerereparationeriønsket måned. Reparationmedstartdatoog slutdatoiønsketmåned. Reparationmedkunstartdatoi ønsketmåned. Reparationmedkunslutdatoi ønsketmåned. Flerereparationeriønsketmåned. TestafmetodenberegnDowntidpåMaskine nr Maskine Måne År Reparation(er)somer Forventet Aktuel d afsluttet downtid 1 Maskine1 12 2008 15/12/2008 17/01/2009 384 384 2 Maskine1 1 2009 15/12/2008 17/01/2009 408 408 3 Maskine2 2 2009 18/2/2009 14/3/2009 240 240 4 Maskine2 3 2009 18/2/2009 14/3/2009 336 336 5 Maskine3 4 2009 10/4/2009 25/04/2009 360 360 6 Maskine3 1 2009 30/12/2008 14/01/2009 336 336 7 Maskine3 8 2009 14/7/2009 14/9/2009 744 744 8 Maskine3 9 2009 14/07/2009 14/09/2009 456 456 15/09/2009 20/09/2009 Undertestnr1ogtestnr3blevdetaktuelleresultateenformangealtsåhenholdvis385og 241.Detvistesigatværenårenslutdatolåefterdenvalgtemåned.Præcishvaddervarårsag tildettteerikkefundetmenenifsætningdertalteenenkelttimenedpånetopdisse situationerharløstprobelmetogikkeberørtdeandretestdata.dogerdetikkeen tilfredsstillendeløsningogiensenereudgaveafsystemetskulleberegningafdowntidgerne forbedresogårsagentildenekstraadderingfindes. TestafmetodenmånedligtForbrugpåstatistik Dennemetodeerbyggetoppådenmådeatdenatdenudregnersidstemånedsforbrugudfra dagsdato.dettegøratdetblivermegetsværtattestepådette,daresultatetvilblive forskelligtforhverdag. SåistedetforatlaveJunittestpådennemetode,harvitestetmetodenvedatkørerselve voresprogramogtjekkeopmodomdetpasser. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 43

TestcaseafUC2 OpretReparation TestcaseID: TestSource: Input: Expectedresults: Actualresults: UC2 1 UC2 a) opstillerindtasterinitialer. Enopstillervil opretteen reparationmeden reparationstype. b) Opstillerindtasterstartdato samtforventetslutdatofor reparation c) Opstillervælgermaskintype b) Systemvalidererdatoerneruntime c) Systemviserdenvalgte maskintypesmaskinersamtde tilhørendereservedele. d) Opstillervælger reparationstype d) Systemviserreservedeleneforden ønskedereparationstype. UC2 2 UC2 e) Opstillervælgeren reservedelsamtantalog trykkeropret a) opstillerindtasterinitialer. e) Systemviserreservedelenunder valgtereservedele. Enopstillervil opretteen reparationudenen reparationstype. b) Opstillerindtasterstartdato samtforventetslutdatofor reparation c) Opstillervælgermaskintype d) OpstillervælgerenMaskine, reservedelsamtantalog trykkeropret b) Systemvalidererdatoerneruntime c) Systemviserdenvalgte maskintypesmaskinersamtde tilhørendereservedele. d) Systemviserreservedelenunder valgtereservedele. MankannugåtilUseCase1Tilknytreservedeltilreparation. TestcaseID: TestSource: Input: Expectedresults: Actualresults: UC1 1 UC1 Enopstillerhar fundeten reservedelhannu viltilknyttetilen alleredeoprettet reperation a) opstillervælgerantalog trykkertilknyt. b) Opstillervælgerevten andenreservedelsamtantal ogtrykkertilknyt. a) Systemtællerdetgivneantaloppå denønskedereservedelunder valgtereservedelesamtviserdet resterendeantalpålager. b) Systemviserdennyvalgte reservedelsamtantalhosdeandre reservedeleundervalgte reservedele. Brugerrettetdokumentation Vihenvisertilsektionen guidedtours ISKdelensomviaskærmbillederviserhvordan systemetvirker. Status VihariSaRsystemetnåetdeoverordnedefunktionellekravmedundtagelseafK10,K11og K12somvedrørersletningafhenholdsvisreparation,resevedelogmaskintype. Mankannuregistrerenyemaskintyperogtilknyttetegningertildisse.Mankanregistrereren reparationogtilknyttereservedeletildenne.statistikkenerlavetsåmannu,forenreservedel Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 44

kanfåhalvoghelårligforbrugop,samtmånedligforbrug.mankanogsånufåvistdowntiden forenmaskine.reparationstyperkanogsåoprettesmedenreservedelogetantaltilknyttet. Dererogsåenfejliopretreparationstypedamannemtkanopretteentypemed10afen givenreservedel.dettegårfint.fejlenkommerførstdamannukanvælgesammereservedel igen,tasteetnegativtantalindogtrykketilknyt.dettenegativeantalvilsåblivetrukketfra dengivnereservedelsliniesantal.herburdemannoksmideenfejl. Manskalvidehvadreservedelemanskalbrugenårmanskalopretteenreparation,mankan altsåikkeløbendetilknyttereservedeletilenreparation.detteerikkeenfejl,menenmulig udvidelsesomkankommeisenereversioner. Månedligtforbrugtagerforsenestemåned.Manburdemåskekunnevælgeenvilkårligmåned ogårstal.detteerenfejl,menviopdagededetførstdennefejlsentiopgaven,ogharderfor ikkehafttidtilatlavedetom. Processen Resumeafforløbet Inception iteration1 Herlavervideførsteudkasttilsystemet.Vivalgteheratviherisærgerneskulleendeudmed sammeopfattelseafsystemet.dettegrebviansåledesatvifælleslavedeetførsteudkasttil analyseklassediagram,valgtenoglesammenhængendeklasser,lavedeførsteudkasttiluse casenebagoglavedederefterskærmbillederhertil.detteblevhængtoppåenvæghvorvialle sammensadogsnakkedeomdeforskelligedele. Resultatetherfrablev4skærmbillederog7usecases.Vifikdettilatpassesammensådanat deusecasesvivalgteatlaveskærmbillederudfravarsimple,davisåhavdenogetatgåudfra ielaboration,hvorvigikidybdenmeddissecases. Tilhverusecaseproduceredeviogsådeførsteanalysesekvensdiagrammer. Elaboration iteration1 DavistartedepåElaborationdelenlavedeviførsteudkasttilklassediagrammetsammen udfradeovervejelservihavdegjortosiinceptiondelen,mensvihverisærarbejdedepåvores 3klasserogpåsammetidudbyggedevoresusecases.Daviallevarfærdigemedvoresklasse modelleringcommitedevidetviasvnogopdaterededethverisær.pådennemådesattevi kodensammen,ogvihavdedervedvoresførsteudkasttilmodelkodensamtnogetstartup data. DetvarherMartin,somstodforudarbejdelseafReparationogReparationsLinie,fandtfejleni klassediagrammetsomfårfatalefølger.klassenreparationslinie,somstårforlagerafgangen, virkerirealitetenikkedadenpåingenmåderkenderlagerbeholdningen.dettevarnemlig ikketestetførsammensætningenafmodelkodendakennethavdeansvaretforoprettelseog modelleringenaflagerbeholdningen.dettekunneikketestesførsammensætningen.havde vikunnedet,havdedetsparetosformegettid. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 45

Elaboration iteration2 Detteblevrettetifølgendeiteration.Vivardogselvmegetpresset,forpådenenesidestodvi medetsystem,somnæstenvirkede.enesteproblemvarproblemetmedlagerafgangensom skullerettes. Vikommeropmedetnytforslagtiletklassediagramsomharenekstraklasse, ReservedelsLager,medenHashMapsomindeholdtereservedeleogetantal.Pådennemåde blevalfunktionaliteten,ogansvaret,flyttetfraservicetilreservedelslageret. ReparationsLinienkannu,vedatkendeReservedelsLageret,sørgeforenordentlig lagerafgang. Vistårnumedetkørendesystem,somvirker. Elaboration iteration3 Denneiterationgikudpåatflyttedatalageringen,oghåndteringen,overidaolaget,såvi kunnefåenklar3lagsmodel. Vigikigangmedatudformeanalysediagrammet,ogdesigndiagrammetfordaodelen.Da funktionalitetenogdesignklassediagrammetvarpåplads,gikviigangmedatlaveompå serviceklassenpåsammetidmedatvioprettededeforskelligedeleafdao en. Davierfærdigmeddette,stårvimedenfærdig3lagsmodel,medetguilag,enmodellagog endaolag.daolagetindeholdernuinterfacedaosamtdenkonkreteklasse,modeldao. Serviceklassenernuenrenkoblingsklassemellemmodelogguilaget. Dagui envarrettettil,villeviigangmedatkobledatabasenpå.dettevariteorienligetil,da vibareskulleopretteklassendb4odaoogkobledentilservice.teorienvarlet,praksisvar umulig,hvilketmargrethefortalteos.pga.enekstrafunktionalitetvihavdei ReservedelsLageret(HashMap en),vardetikkemulig,udenvidere,atimplementererdb4oi systemet,udenenremodelleringafmodelkodenogdettegavoshovedpine,daviligehavde lavetenremodellering. Doghavdeviiforegåendemodelleringafprøvetendel,såvigikitænkeboksen,ogsåatvi faktiskkunnelaveenlilleassoceringomivoresførsteudkast,medlagerbeholdningen.på dennemådekomviudafproblemetmeddenekstrafunktionalitetireservedelslageret,ogvi kunnebrugemodelkodenibådemodeldaoogdb4odao.såvigikigangigen.vihavde alleredeklassediagrammerne,ogusecaseneparat.vimangledekunenlilleekstraassocering fralagerbeholdningtilreparationslinie.pådennemådekunnereparationslinienstadig opretholdelagerafgang. Klassediagrammetblevetlavet. Construction iteration1 Daaltvarpåplads,gikviigangmedremodelleringen,igenigen.Altforbeholdblevovervejet ogprogrammeret.dadettevarfærdigkørtevivorestestsmedmodeldao. Dadettevarpåplads,mangledevibareattesteheleGUI en,ogretteeventuellefejl. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 46

Construction iteration2 Tilretningenogfinpudsningenlavesnu.Virettededefejlvikunnefinde.Dervarnoglefåfejl sombundedeiremodelleringeniforgåendeiteration.dissefikvihåndom,ogvigikderefteri gangmedatkiggevoresusecasesigennem.dissevarblevetglemtidethektiskeforløbmed remodelleringen. Virettedetilmedklassediagrammerneordentligtilsådepassederigtigt.Dervarkunnogle enkleændringersomviikkehavdefåetmedunderdensidsteremodellering. Refleksioner UnifiedProces ViharaldrigførbrugtUPmodellentiludviklingafsoftware.Detteerdenførsteganghvorvi sådanrigtigprøveratkøredenigennem.istartenvardetmegetsværtatoverskueatman ikkegjordesomivandfaldsmodellen,altsåanalyseredeførstoglavedediagrammerog derefterprogrammerede.mensomvikomigangkunnevigodtsedetgodeveddet,forvi fangedemangefejliopløbet.dettekunnevigørefordivitogisolerededeleafprojektethver især.fandtvienfejlkunnevinemtrettedetikodenogderefterkøreentestpådetforatse omdetnuogsåvarrigtig. VihardoghaftsværtvedatskriveSDløbendesammenmedprogrammeringen. Diagrammerneogusecaseneblevløbendeopdateretunderiterationerne,menvihavdeisær haftsværtvedatskrivehvadviharlavetideforskelligeiterationer.viharkunskrevet overfladiskenoter,menvitroratvinæstegangskrivernogetmeredetaljeretomhver iteration,sommansåefterfølgendekancuttened. Viharogsåværetforivrigemedatkode.Forivrigefaktisk.Dettegjordeatviharværetnødt tilatrettestoredeleafvoresmodelkodetil(viharfaktiskrettetdettil3gange).dissefejl vardogmegetsværeatopdage,dafejleneeksisterendepåtværsafdeforskelligedelevihver isærhavdefåettildelt.isoleretsetvirkedehvervoresdel,detvarførstdavisattekoden sammeatfejleneopstod.dettesåviisærmedproblemetmedlagerafgangenogmed hashmappen.dogtrorviatdetvaroverblikketvimangledefrastart,mereendendårlig udviklingsmodel.upharhjulpetosigennemdisseomstruktureringerpådenmådeatvi langsomtharkunnebyggedeforskelligedeleopmedaltligefraanalyse,testtil programmeringhvilkethargivetosetsolidtgrundlagtilatlaveomstruktureringen.uphar heletidenudvidetvoreshorisont.bådemedgodeting,menogsåmeddårlige,forståetpåden mådeatviheletidenharlærtafvoresfejl.dettehargjortvoresomstruktureringvarmeget lettere.somførpåtalt,vardetenestevimangledeenmererenopdelingafemnerneimellem ossådissefejlikkeførstopstodisammenkoblingenafdeforskelligeklasser.vikunnenok godthavebrugtmeretidpåanalyseniupsådissefejlvarkommetoptiloverfladenog medregnetiprocessen. Udviklingsmodellenharværetsværtatvendesigtilistarten,mennårmanligelærerat manøvrersigrundtogbrugemodellensforskelligedeleordentligsåermodellenmedtilat skabeoverblikogstrukturering.detteernogetvihartagettilos,ogvilheltsikkertbrugeup, ellerdeleherfra,fremover. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 47

Udviklingsværktøjer Viharherbrugtdb4otillagring,Eclipsetilprogrammeringen,Subversiontilkildekodestyring ogvisualparadigmtiludformningafdiagrammer. Øvrigeforhold VihartilSK,SDogCAOSforløbetlavetdenneoversigtforatfånogletidsrammerpå. Viharvalgtatsplitteopgaverneopimellemos,hvilketharvirketrigtiggodt.Derharingen projektlederværet.dogharvilavetnoglesimpleaftaler,såsomatvimøderind08.30og Uge 2 Uge 3 Uge 4 Uge 5 Uge 6 Mandag SD SD SK SK CAOS Tirsdag SD SD SK SK CAOS Onsdag SD SD SK SK Gennemlæsning Torsdag SD SD SK SK Gennemlæsning Fredag SD SK SK CAOS Udprint Lørdag CAOS Søndag CAOS Fag Dage Timer Iterationer Farvekode CAOS 5 25 Inception 1 Gennemlæsning 2 10 Elaboration 2 SD 9 45 Construction 2 SK 10 50 CAOS 0 I alt 26 130 5 arbejderindtilviharlavetdagensopgaver.disseopgavererblevetvedtagetifællesskab. Viertilfredsemedvoresopgave,ogvisynesatviharnåetvoresmål.Viserpådetteudfraet 6ugersperspektiv,davi,reeltset,godtkunnehavebrugtmeretidtilligeatfinpudsekoden ogrettenoglesmåfejl.mensetfradenandenside,hvismanvarudeiden virkeligeverden, såvoresopgavehernokkundækket overenmegetlilledelafnogleafde førsteiterationerietrigtigt reservedelssystem. Brugenvenlighed Foratgiveeteksempelpå brugervenlighedharvivalgtopret Reparationsomeksempel,dadette skærmbilledeindeholder fejlmedlelsertilbrugeren, informativfeedbackoger forholdsviskonsistent. Viharprøvetpåatindkapslede forskelligeinformationersammen, sådetforbrugerenkommertilat blivelidtmereoverskueligtatgåigangmed.påskærmbilledetharviprøvetatholdealtdet Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 48

derskalindtastestiloprettelsenivenstreside,ogaltdetderskalvælgestilhøjre.dette gælderdogikkenårmanbegyndertilknyttelsenafreservedeletilreparationen. Nårmantrykkerpåopret,harvivalgtatdisabletyperne,valgafmaskine,opretknappenog reparationsidtifikationen,såenbrugerikketrorathankanrettemereideindtastededata. Dogstårdata enstadigfremmeifelternesåhankansehvadhanharindtastet.herbliver tilknytknappenenablet,såhankanbegyndeattilknyttereservedeletilreparationen. Tagervifejlbeskederne,vilbrugerenfxbliveindformerethvishanharglemtatindtastesin initialernårhanopretterenreparation Detteergennemgåendeforallefeltermankanskrivei.En optimeringvilledogværeatfeltetmanhavdeglemt indtastningenpåblivermarkeret. og invalid. Informativfeedbackskerflerestederpåbilledet.Detførste stederveddatoerne,senr.1,hvorbrugerenkanseomdet erenvalidellerinvaliddatohanharindtastet.dettesker bådevedstartogslutdatoen.dettegøratbrugerenikke skalhelevejenigennemoprettelsenogdereftertilbagetil datoerneforatrettedemtilhvishanikkeligehavdetastet enrigtigdatoind.vedbeggedatoerkanderbådestå valid Etandetstedviharvalgtatlaveinformativfeedbackervedtilknyttelseafreservedele.Senr. 4.Herfårbrugeren,hvisderervalgtenreservedel,informationomlagerstatusfor reservedelenminusdetantalhanhartastetind.fontfarvenskifterogtekstenskifterherefter. Mankanfåenafde3beskedersomerindrammetvednr.4. Herservihvordandetserudhvisderermangetilbagepålager.Såfårbrugeren grøntlys Tasterbrugerenetet talmereindskifterlagerstatusmeddetsamme.dogerderstadig grøntlys selvomfarvennokburdeskiftetilnogetmerealarmerende.udskriftenkunnenemt optimeresmednogetligende mindstelagereternået,bestil40nyehjem.foratfortælle brugerenathvishanopretter/tilknytternu,såskalhannoktilattænkeoverlageretsstatusi dennærmestefremtid.dettekunneogsågældefornultilfældet,atbrugerenfårbeskedomat bestillesåogsåmangehjem.kommermantilatgåoverlagergrænsenfårmanet rødlys og manfårpåsammetidatvidehvorstortetantalmanharpålager.dettekunnenoknemt krydresmedattilknyt/opretknappenbliverdisablet,såbrugerenoverhovedetikkekan oprettenogetsålængedetskrevneantalersåstort. SK Klassemodel FraReparationsLinietilLagerBeholdningharvienenkeltrettet*til1assocering.Denne assoceringharvivalgtathavemedforattydeliggørereparationsliniesarbejdemed LagerBeholdning.ReparationsLiniegemmeregentligikkeLagerBeholdningenpåsig.Den Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 49

Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 50 gemmerkunlagerbeholdningensreservedelstype.detteharvivalgtatgøredaviikkekanse nogengrundtilatenreparationsliniekendertillagerbeholdningen.deteneste ReparationsLinieskalgøremedbeholdningeneratlavelagerafgangen.Gåraltgodt,gemmer densåreservedelstypen. FraReparationsLinieogReservedelsLinietilReservedelsTypeharvitoenkeltrettede0..* til1assoceringhvordisselinierhver kansehvadforenreservedelstypede har.reservedelslinienerselve opskriften påhvadmankunnebruge tileneventuelreparationstype,hvor ReparationsLinieer detfaktisk brugte.dissetolinierlignerderfor hinandenmeget.enesteforskelerat ReparationsLinieharansvaretforlagerafgang.Beggeklassereropbevaringsklassermeden enkelvariabelreservedelstype+etantal. VoresModelDaoogDb4oDaoimplementererfraDaointerfacet..DettegørDaotilen specifikation,somspecificererhvaddataderkantilgåesog hvordandetskaltilgåes.dettegøratvoresdatakantilgåes påenuniformmåde,ogtilmedudbyggestilflereandre datalagringsmedier,udenatødelæggesystemet,bare Dao ensspecifikationeroverholdes. FraServicetilDaoharvienenkeltrettet1til1associering, hvorservicekansedetdaoobjektdenharfåettilknyttet. DettegøratServicefaktiskbareerenkoblingsklassemellem datalaget(herdaolaget)ogrestenafsystemet. Serviceklassenharansvaretforatmankanoprettetingisystemet.Hvordandetbliver oprettet,oghvordetbliveroprettet,bestemmerdetspecifikkedaoobjektderertilknyttettil Serviceklassen. ModelDaogemmerdeoprettedeobjekterilister,mensDb4oDaogemmerobjekterneien objektorienteretdatabase. FraReparationtilReparationsTypeerderenenkeltrettet0..1til0..*hvorReparationkan sereparationstype.enreparationkanhaveenreparationstypehvismanvilgøredetklart hvadderskalbrugesireparation.mankanogsåladeværemedatspecificereren ReparationsTypehvismanbarevillaveenhurtigreparation. FraReparationtilReparationsLiniehar vien1..*til1aggregering.dettegør ReparationsLiniemegettætknyttettil Reparation.DeterfaktiskReparationder opretterreparationslinier.hvisoprettelse afenreparationsliniegårgodt,bliverdet add ettilenlisteafreparationslinierpå Reparation.

FraReparationsTypetilReservedelsLinieerderen enkeltrettet1til1..*kompositionhvorreparationstypekanse ReservedelsLinie.ReparationsTypeståraltsåforatoprette ReservedelsLinier.Hvisoprettelsengårgodt,gemmer ReparationsTypedisselinierienliste. FraMaskinTypetilTegningharvien0..* til1aggregering.detbetyderaten MaskinTypekanhave0tilmangetegninger tilknyttet.dukandogikkehavenogle tegningerisystemetsomikkeertilknyttet noglemaskinetyper.enmaskinetype gemmerdenstilknyttedetegningerien liste. FraMaskinTypetilMaskineharvien dobbeltrettet1til0..*assocering.en maskinegemmerdensmaskintypeien variablepåsammetidmedaten maskintypeharenlisteafdenstilknyttede maskiner.mankandervedfåalle tilknyttedemaskinertilengivenmaskintypesimpeltvedatgåtypenslisteigennem. FraMaskinTypetilReparationsTypeharviendobbetrettet1til0..*assocering.Engiven maskinetypegemmerdenstilknyttedereparationstyperienliste.denneassoceringsørgerfor atvialtidkansehvilkereservedelederertilknyttettilenmaskinetype,daenreparationstype harreservedelsliniermedetantalogenreservedeltilknyttet. Hvisvivilvidehvilkereservedelederertilknyttetengivenmaskine,erdettesimpelt.Viløber dentilknyttedemaskinetypesreparationstyperigennem,oghenterallereservedelslinierfra typerne. FraServicetilStatistikharvienenkeltrettet1til1assoceringhvorServicekanseStatistik. Statistikklassenharansvaretforatlave voresstatistikkerforos.denhar metodertilatudregnesenestemåneds forbrugsamthalvårligtoghelårligt forbrugforenreservedel.statistikkan ogsåberegnemindstelager,indenfor desidste12måneder,forengiven reservedel. SpecifikationenforStatistiksersådanud Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 51

public class Statestik public int månedligforbrug(reservedelstype reservedelstype); public int halvårsforbrug(reservedelstype reservedelstype); public int helårligforbrug(reservedelstype reservedelstype); public int mindstelager(reservedelstype reservedelstype); } Hvermetodekanbrugesafeneventuelandenprogrammørpga.derespublicidentifiers.Hver afde3førstemetoderreturnererenheltalssumafoverentenmånedlig,halvårligeller helårligforbrugfordengivnereservedelstypesommangivermedsomparametertil metoderne. Densidstemetodereturnererenheltalssumformindstelageret,beregnetudfraforbruget overdeforegående12månederafreservedelstypengivetmedsomparameter. BeregnelsenafdowntidforenmaskineharvivalgtatflytteudpåMaskinen.Davimenerat determaskinenderharansvaretforatvidehvorlængedenselvharværetnede.dettekan densepga.dendobbeltrettede0..*til1associeringframaskinetilreparation.enmaskineer opmærksompåhvadforreparationerdenharhaft.detteveddendaallereparationer,udført påmaskinen,blivergemtienliste.pådenmådeerdetletatgåigennemdenne reparationslisteogsepåstartogslutdatoerneforreparationerneformaskinen. ForatudregnedowntidenformaskinenharvidissetometoderpåMaskine: public class Maskine public long beregndowntid(int måned, int år) private long hoursbetween(calendar startdato, Calendar slutdato, int måned, int år) } Forklaringentilkodenkommeriafsnittetomhandlendespecieltinteressantkode. Arkitektur Hvisvitagerudgangspunktienoprettelseafen reparation,ogantageratbrugerenderopretter reparationenhartastetaltkorrektindognutrykker påknappenopret. Nårbrugerenslipperfingerenframusenkalderopret knappensintilknyttedeactionlistenerklasse,som denharfåettilknyttetdadenblevoprettet private JButton getjbuttonopret() jbuttonopret.addactionlistener(opretcon troller); } Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 52

VoresActionListenerklasseharenoverloadetmetode,actionPerformed,somdefinererhvad derskalgøresnårknappenblivertrykketpå.voreslistenerklassekaldermetoden opretreparationpå Service public class Service private Dao dao; public Reparation opretreparation( ) return dao.opretreparation( ); } } Viharnubevægetosnedilagetunderguilaget,nemligModellaget.Modellagetmodellerer hvordanvoressystemserud,oghvordanvoresdataerknyttettilhinanden.detteharjegikke gjortsåmegetudafibilledetforoven,dajegmerevilbeskrivehvordanlagene snakker sammen. ServiceklassenkaldernuautomatiskvideretilDaolaget.Serviceklasseneraltsåenren koblingsklassemellemguiogrestenafsystemet.hererbilledetforovenlidtmisvisendeda detgodtkanseudtilatmodeldaoogdb4odaokalderdao,detteerdogforkert,dadetskal forståessådanatdetentenkanværemodeldaoellerdb4odaomankalderfraservicepå runtime.detenesteservicemedsikkerhedvedomdaolageteratservicekankaldede metodersomliggeridaolagetsinterface,dao. public interface Dao public Reparation opretreparation(string opstiller, Date startdato, Date slutdato, Maskine maskine, LagerBeholdning beholdning, int reservedelsantal); } public Reparation opretreparation(string opstiller, Date startdato, Date slutdato, Maskine maskine, ReparationsType reparationstype, LagerBeholdning beholdning, int reservedelsantal); Daolagetsinterface,Dao,fortælleraltsådeoverliggendelaghvadformetoderdererstillettil rådighedtildatahåndtering.interfacetfortællerintetomhvordanhåndteringenblivergjort. Deterherdetounderliggendeklasser,IDaolaget,ModelDaoogDb4oDaokommerindi billedetdadetenafdissetoklasserderbestemmerhvordanvoresdataskalgemmes. DeteregentligenafdissetoklasservikalderiServiceklassen,mendeterServiceklassen egentligligegladmed.detenestedenharbrugforatvideeratinterfaceterimplementeretpå denklassedenkalderpåruntime. PåruntimekalderServiceklassenaltsåvideretildaolaget,ogServiceklassenkanentenkalde opretreparationmetodenpådb4oklassenellermodeldaoklassen,somsågemmervores reparation. DetviharprøvetpåatopnåmedvoresinterfaceiDaoeratvipåenuniformmådekan gemme,hente,opdatererogslettedataivoressystem.modellagetogguilageterderfor Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 53

ligegladmedhvordandettesker.detenesteguilagetbehøveratvideeratdererenservice klasseimodellaget.detenesteserviceklassenimodellagetbehøveratvide,eratdereren klasseidaolagetsomimplementererdaointerfacet.dettegiverosmulighedfor,ifremtiden, atlaveandremåderathåndteredatapåudenatødelæggevoresguilagellervoresmodellag. Fejlhåndtering Pådestederimodelkoden,hvorvigernevilbringeenbeskedvideretilbrugeren,Eventuel hvisetantalreservedeleikkekunnetagesfralageret,harvivalgtatimplementerer fejlhåndteringenmedruntimeexceptions.lagerafgangenforegårvedoprettelseafen ReparationsLinieogsersådanud: public class ReparationsLinie private int antal; private ReservedelsType reservedelstype; public ReparationsLinie(LagerBeholdning beholdning, int antal) try beholdning.tagreservedel(antal); this.reservedelstype = beholdning.getreservedelstype(); this.antal = antal; } catch(runtimeexception e) System.out.println("Reparationslinien kan ikke oprettes."); throw e; } } } HerservitydeligtatReparationsLinie,veddenoprettelse,prøverattageantalafreservedele fraengivenlagerbeholdning.tagreservedelpålagerbeholdningkontrollereromderer reservedelenok, public class LagerBeholdning. public void tagreservedel(int antal) int diff = this.antal - antal; if(diff < 0) throw new RuntimeException("Der er ikke nok af reservedelen " + this.reservedelstype); else setantal(diff); } } Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 54

Altsåregnerdendifferencenud.Erderikkenok,bliverdersmidtenRuntimeException.Deter denneexception,sombliverfangetireparationslinienogsmidtviderehvisantalletikke eksistererpålageret.denneexceptionbliverisidsteendevisttilbrugeren. VikasterogsåmedenExceptionfxhvisenMaskinTypealleredefindes.DetteskeriModelDao. Sådanharvivalgtatlavealfejlhåndteringiallelag,altsåvedatkasteExceptionsentenaf typenexceptionellerruntimeexception. Test Viharherlavetentestovervoresdeafvoresstatisitkmetoder,somvifandtvikunneteste. DetteomfattertestafmindsteLagerogmånedligForbrugpåklassenStatistik public class StatestikTest private Service service = Service.getInstance(); private Date dato; @Before public void setup() throws Exception dato = new Date(2009-1900,4,25); } @Test public void testmindstelager() assertequals(10, service.mindstelager(service.getreservedeltypelist().get(3), dato)); assertequals(3, service.mindstelager(service.getreservedeltypelist().get(7), dato)); } @Test public void testmånedligforbrug() dato = new Date(2008-1900,11,25); assertequals(1, service.månedligforbrug(service.getreservedeltypelist().get(3), dato)); dato = new Date(2009-1900,3,25); ), dato));, dato)); assertequals(10,service.månedligforbrug(service.getreservedeltypelist().get(3 dato = new Date(2209-1900,8,25); assertequals(2,service.månedligforbrug(service.getreservedeltypelist().get(4) } } Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 55

Specieltinteressantkode FindReservedel Disse3funktionerfindesbådeiModelDaoogDb4oDao.Derforlisterjegdembaresommetoder her. public List<ReservedelsType> søgreservedele(int target) ArrayList<ReservedelsType> resultlist = new ArrayList<ReservedelsType>(); List<ReservedelsType> templist = getreservedeltypelist(); } for(int i = 0; i < templist.size(); i++) ReservedelsType tempres = templist.get(i); String tal = tempres.getidnummer() + ""; String targettal = target + ""; if(find(tal, targettal) == true) resultlist.add(tempres); } return resultlist; private boolean find(string sm, String m) boolean found= false; int i = 0; while (!found && (i<=sm.length()-m.length())) if (match(m, sm)) found= true; else i++; } if (found) return true; else return false; } private boolean match(string m, String sm) int j= 0; boolean found = false; while (!found && (j<m.length())) if (m.charat(j)!=sm.charat(j)) found = true; else j++; } return!found; } Denførstemetodereturnererenlistemedreservedelstypersommatcherdelvispådetid nummersommetodenharmedindsomparameter.dennemådedengørdettepåeratkalde videretilfindmetodensomprøveratfindeetmatchmellemdetidnummersomermedind somparameterisøgreservedelogdettargetsomvierudeefteratfinde.detteskervedat findkaldermatchsomprøveratsammenlignedetotal,oghvisdepassersammenreturneres derettruesombliversendthelevejentilbagetilsøgreservedelsomdereftergemmer reservedelstypeniennyliste. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 56

Metodenmatchsammenlignerdetotalsammen,ogvilstartemedatkiggepådeførstetal strengen.dettebetyderathviskundetoførstetalmatchervildenstadigkommemediden liste.dettegørdetmuligtforosatkunnelaveenlistetilbrugerensomindeholderallemulige reservedelstypersomstartermeddetinputbrugerenharsendtmed. Maskine Beregndowntid public class Maskine. public long beregndowntid(int måned, int år) long timer = 0; for (Reparation r : reparationsliste) if (r.erafsluttet()==true) long start = r.getstartdato().gettime(); long slut = r.getslutdato().gettime(); Calendar startdato = Calendar.getInstance(); startdato.settimeinmillis(start); Calendar slutdato = Calendar.getInstance(); slutdato.settimeinmillis(slut); timer += hoursbetween((calendar)startdato.clone(), (Calendar)slutDato.clone(), måned, år); } } return timer; } MetodenberegnDowntidfårdetoparametremånedogårindsomstårforhvilkenmåned manønskerdowntidberegnet.dernæstgennemløbesreparationslistenformaskinen.for hverreparationdererafsluttetberegnesdetantaltimersdowntidderliggerindenforden ønskedemånedgennemmetodenhoursbetween.metodenhoursbetweenfårmånedogårind fordenønskededowntidsamttocalendardatoerstartdatoogslutdato.dareparationslisten hardateobjectsogmetodenhoursbetweenkrævercalenderobjecterlavesdateobjecterne omvedatlavetonyecalendarobjecterogsættederesværditildetodateobjectsværdier.nu kanmetodenhoursbetweenkøre. private long hoursbetween(calendar startdato, Calendar slutdato, int måned, int år) Calendar valgtmåned = Calendar.getInstance(); valgtmåned.set(år, måned, 0, 0, 0, 0); Calendar månedeftervalgtmåned = Calendar.getInstance(); månedeftervalgtmåned.set(år, måned + 1, 0, 0, 0, 0); long hoursbetween = 0; ImetodenhoursBetweenlavesderførsttonyecalendarobjecteretmeddenvalgtemånedog årsamtetformånedenefterdenvalgte.beggefårsatdatoentilnårderesrespektivemåned starter.daenreparationgodtkanspredesigoverfleremånederskalreparationensperioden delesop.detteergjortvednoglekriterier. if(startdato.before(valgtmåned) && slutdato.after(månedeftervalgtmåned)) while(valgtmåned.before(månedeftervalgtmåned)) Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 57

} valgtmåned.add(calendar.hour,1); hoursbetween++; } Hvisstartdatoenforreparationenerførdenønskedemånedogslutdatoenerefterden ønskedemånedstrækkerreperationensigoverhelemåneden.derforskaldenvalgtemåned tællesopmedénsålængedenvalgtemånedikkeerblevettilmånedenefter. else if (slutdato.after(månedeftervalgtmåned)) while (startdato.before(månedeftervalgtmåned)) startdato.add(calendar.hour, 1); hoursbetween++; } Hvisslutdatoenerimånedenefterdenønskedemånedervikuninteresseretidetimerder erfrastartdatoentildenpågældendemånederslut. } else if (startdato.before(valgtmåned)) while (valgtmåned.before(slutdato)) valgtmåned.add(calendar.hour, 1); hoursbetween++; } Hvisstartdatoenerimånedenførdenønskedemånedvilvikunhaveudregnetdetimerder erfradenønskedemånedsstarttilslutdatoenforreparationen. } else if (slutdato.before(månedeftervalgtmåned)) while (startdato.before(slutdato)) startdato.add(calendar.hour, 1); hoursbetween++; } Davihartjekketomstartdatoenforreparationenerførdenvalgtemånedbehøvervikunat spørgeomslutdatoeneridenvalgtemånedvedattjekkeomdenerførmånedenefterden valgtemåned.dettebetyderatstartogslutdatoforreparationenerisammemånedog timerneimellemdetodatoerkantællesvedattilføjeéntimetilantalletindtilstartdatoen ikkelængereerførslutdatoen. } } return hoursbetween; TilsidstkanantalletaftimerreturnerestilberegnDowntidmetodenderkantælledet samledetimeantalopforenmaskinesdowntididenønskedemåned. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 58

GuidedTour Viharvalgtatlaveentouroveroprettelseafenreparationogoprettelseafenmaskine.Dette skervedatstarteprogrammet.dereftersesdettebillede. DerefteråbnermanMenuenReparationogvælger OpretReparation DerefterkommermanindpåskærmbilledetOpretReparation Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 59

SomennotekanjeghenvisetilSDdelenhvorviforklarerbrugervenlighed.Herharvibrugt netopoprettelseafreparationsomeksempelogviserherhvordanskærmbilledetgiver informativfeedback. Detførstemangøreratudfyldenr.1,3og4.Nr.2bliverautomatisksat.Dernæstkanmannu vælgemaskintyperinr.5.nårdetteervalgtvildropdownboksennr.6,listennr.9oglistennr 11bliveudfyldtmedhenholdsvisdereparationstyper,demaskinerogallereservedelefraalle reparationstyper,derhørertildenvalgtemaskinetype.hvismanvil,kanmannuvælgeen reparationstypeinr.6.hervilreservedelslistennr.11bliveydereligerereduceretogvilnu kunvisedereservedelederhørertildengivnereparationstype.mankannuvælgeen maskine.denvalgtemaskinevilautomatiskkommetilatfremgåitekstfeltetnr.8.manvælger nudenførstereservedelilistennr.11ogskriverantalletmanskalbrugeitekstfeltetnr.10. Nukanmantrykkepånr.13,knappenopret.Dereftervilnr.13blivedisablet.Nr.7vilblive opdateretmeddenvalgtereservedelfranr.11.nukanmansåtilknytteflerereservedeletil reparationenvedatvælgeenreservedelfranr.11,skriveantalletitekstfeltet,nr.10ogtrykke påknapnr.12,tilknyt.dettegørmanindtilmanerfærdig.mankannulukkevinduet. Ivoressystemkanviogsåopretteenmaskine.DetteskervedatvendetilbagetilMainframen ogvælge,framenuen,maskineogderefter OpretMaskine.Manvilnukommetildette skærmbillede Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 60

Manstartermedatvælgeenmaskintypeidropdownlistennr.1.Derefterskriverman maskinensnavnitekstfeltetnr.2.mantrykkernuopret,ogmaskinenoprettesisystemet.vil manopretteenmaskineisystemet,somikkeligeumiddelbartkanfåtildeltenmaskintypei dropdownboksen,nr.1kanmanvælgeselvatopretteden.detteskalgøresførst,førman oprettermaskinen.manstartermedatskrivemaskintypensnavnitekstfeltnr.4ogtrykker påknappennr.5,opret.manvilnumødedetteskærmbillede. Hervælgermandetfornyligeskrevnenavntildennyemaskintypeidropdownboksennr.6, ogmarkeredentegningduvilhavetilknyttettilmaskintypenilistennr.1.derefterkandu trykkepåknappennr.5,tilknyt,ogmaskintypenvilnufåtiknyttettegningentilsig,og tegningenvilblivevistilistennr.2.mankanmarkererentegningilistennr.2ogtrykkepå knappennr.4,fjern.dettehardenmodsatteeffektaftilknyt.denvilfjernetegningenfra listennr.2ogsættedenoverilistennr.1.denvilligeledesfjernedenmarkeredetegningfra denvalgtemaskintype.dettekangøresindtilmanhardefornødnetegningertilknyttettil maskintypen. Derafsluttesvedattrykkepåknapnr.3,ok.Mankommernutilbagetilskærmbilledetfrafør, hvormankanopretteenmaskine.hereftererdetsomatopretteennymaskine,fornukan manvælgedennyemaskintypeidropdownboksennr.1. Fremtidigeløsninger Foratgøresystemetbedrekunnemangøreguikodenmerekonsistentoggennemskuelig. Somdetserudligenuharhverframeenupdatemetodetilhverafdenslister.Denneupdate metodesørgerselvforatkaldeserviceoghentedensrespektivelisteiframensliste.dette betyderatmanharoverladtmegetafansvaretpåframenselv,hvilketiteorienerlidtforkert. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 61

Mankunnehaveenklasse,ListUpdater,somsørgedeforatstilleforskelligeDefaultListModels tilrådighedmeddetsenestedatafradao en.detvilsigeatforhverjlistmanhariensguilag hørerendefaultlistmodelmed,somlistenharfåetfralistupdater.fxhvisjeghavdetojlistsi toforskelligeframesisystemet,somskalrepræsenteredeforskelligemaskinerdereri systemet.dissetolisterharsåkaldtgetmaskinmodel()metodenfralistupdateroghar dervedfåetendefaultlistmodeltilknyttetmeddissemaskiner.forhvergangjegtilknytteren nymaskinetilsystemet,sørgerjegforatkaldemetodenupdatemaskinmodel()pålistupdater. DennemetodevilfyldeDefaultListModellenop,ogpåsammetidsørgeforatdetnyedataogså blivervistidetolisterigui en.dettekanladesiggørefordidefaultlistmodelhar implementeretetobserverpattern,ogdervederopmærksompåhvadforjlistsderer tilknyttetmodellen. Daolagetkunneogsåtrimmeslidtvedatindføreenabstraktklasse,AbstractDao,imellem interfacet,daoogdensimplementationer.denneabstrakteklasseskalimplementereraltdet sommanvederfællesfordeunderliggendeklasser.deunderliggendeklasserimplementerer nudenabstrakteklasseistedetforinterfacet. Denabstrakteklassekunneivorestilfældeindeholdefunktionernefindogmatch.Denkunne ogsådefinerevoresstatiskeidvariabler.vilmanfxretteifindmetodenogimplementerer denpåenandenmådeskaldettekungøresengangidenabstrakteklasse.ligenuskalman gøredetforhverrealiseringmanharlavetafmetodenideunderliggendeklasser. Viharfaktisklavetengraf,somvisueltkanvisedata,mendenneerdogikkeimplementereti voressystem,daviikkeharhafttidentilatlavedetsidste.denvirkerdog.viharbareikke kunnefindetidentilatfådenimplementeretiguilaget.dogkunnedetteværeennær fremtidigopgraderingafsystemet,hvorbrugerensåkunnefåmulighedforatfåvistdataien lidtmerevisuelthåndgribligformistedetforbareatfåtallenepræsenteret. Godtnokharjegbrugtnogleudtrykikildekodentilgrafensomkunnehentydetilatgrafen kunkanbrugestildowntidpåmaskine,dadetvardettejegudviklededentiliførsteomgang. Dogkandenbrugetiletvilkåliglisteafdata. Kodentilgrafenervedlagtibilag11. Konklusion Viharnåetdetviskulleforathaveenversion1.0. Selveprogrammeringsforløbeterforløbetrigtiggodt.Viharuddelegeretarbejdetmellemos, hvilketharvirketrigtiggodt.enesteproblemvihavdevaratvi,midtitilføjelsenafdb4o databasenfandtenfejl,somsendteostilbagetilskrivebordet.detteharvidogbeskrevetisd rapportenunder Processen.Viklaredeosdogigennemdettehektiskeforløb,både programmeringsmæssigtogdesignmæssigt.vikunnehavegemtenversionafsystemetog lavetenseparatsystemsombrugtedb4odatabasen.dettevillevidogikke,daduplikeringen afkodenvilleblivemegetstor.vibrugtederforendagpåatlavedeomstruktureringerder skulletilforatvikunneforenedb4oindivoressystem,ogviviaminimaleændringeriservice klassekunneswitchefrahenholdsvismodeldaotildb4odaoogtilbageigen. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 62

CAOS SQLscript Idennedelvilvibegyndeatomformulerevoresklassediagramtiltabellersomkanbruges nårvivilgemmedataien relationeldatabase. Foratkunnegøredetteharvitil atstartemedlavetet tabeldiagram.somskalillustrere hvordanvihartænktosatbygge vorestabellerop. Allekasseridettetabeldiagram repræsentererentabeli databasen.øverstihverkasse harvinavnetpåtabellen. Understregedenavneerprimary keyforrespektivetabelog stregernemellemtabellerne viserforeignkeys.f.eks. maskinesforeignkeyer maskintypeid. Tabeloprettelse Vivilnubyggealletabellerneop.Foratforklaredetteharvivalgtattageopbygningenaf reparationogvise. create table reparation ( reparationsid int identity(0,1) unique, maskineid int, reparationstypeid int, startdato datetime, slutdato datetime, opstiller varchar(9), constraint foreignmaskine foreign key(maskineid) references maskine(maskineid), constraint foreignreparationstype foreign key(reparationstypeid) references reparationstype(reparationstypeid), primary key(reparationsid) ) Dennedelafscriptetopretterentabeltilreparationersomvillesesådanudhvisdenblev åbnet. Reparationsid Maskineid Reparationstypeid Startdato Slutdato Opstiller Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 63

Deconstraintsomviharderpåerlavetforbedreatkunnefånoglegodefejlmeddelelser tilbageitilfældeaffejl. Enlilletingatliggemærketilatreparationsid,denneeretunikttalsomskalindikererid nummerforenreparation.denneskalværeunikforikkeatkunnefå2reparationermed sammeidnummer.derforharvivalgtatsætteenidentitypå.somautomatisksørgerforat hvergangderbliverindsatennyreparationvilderfåetnytidnummersomer1størreenden dersidsterblevettilføjet. JDBC VivilnulaveetJavaprogramtilatkunneindsætteenreparationslinieidatabase.Udover dettevilvilaveentriggertilattjekkeefteromderernokreservedelepålagertilaten reparationsliniekantagederfraoghvisderernokviltriggerengivelovtilattællelageretned meddetgivneantalderskalbruges. Førstvilvikiggepåtriggeren: create trigger forbydtagreservedel on reparationslinie for insert as if (select inserted.antal-reservedelstype.antal from inserted, reservedelstype (UPDLOCK) where reservedelstype.reservedelstypeid = inserted.reservedelstypeid) > 0 begin raiserror('du har ikke nok på lager',16,1) rollback tran end else begin update reservedelstype set antal = antal - (select antal from inserted) where reservedelstypeid = (select reservedelstypeid from inserted) end Dennetriggervilhvergangderforsøgesatindsættenogetienreparationslinietjekke igennemforatseomderernokantalpålagerafdenreservedelstypemanforsøgerattagefra. Hvisikkederernokvildenmeldeenfejltilbageomatderikkeernokpålager.Ogderefter laveenrollbacktranpåalleøvrigereparationsliniesomskullekunnehaveindgåetidenne transaktion. Hvisderernokpålagervildenindsættereparationslinienogtælleantalletnedpåden reservedelstypesomdenerknyttettil. Foratundgåproblemermedatflerebrugereforsøgeratbrugeafdensammereservedelstype påsammetid,ogdervedikkefåetrigtigtsvarpåomderernoktilstede,harvilaveten UPDLOCKsomlåserendelafdatabasenforandreevtbrugere.Dettegåratdenførstebruger somvillavenoget,fårdetlåstsådetkunerhamderkanlavenogetidatabasen.ogførstnår hanerfærdigogharcommitedvilandrebrugerefålovtilatfåoplysningerderfra,ogderved ervisikrepåathverbrugerfårderigtigeoplysninger. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 64

VoresJavaprogramindsætterenreparationslinieogtriggerenbliverdervedaktiveret.Forat kunnetestepåomviharfåetvoressamtidighedskontroltilatvirkeharvilavetenstop sætningivoresprogram: String pause=inline.readline(); Dennesætninggørdetmuligtforosatkunnestoppetoaktiveversionerafprogrammetpå præcissammestedogdervedværesikkerpåatbeggestarterfrasammested.dettebrugervi tilattesteombruger2bliverlåstrigtigtogdervedomvoressamtidighedkontroleropfyldt. Forligeattageetlillekigpåhvordanvorestestblevlavetkommerderherenlilleoverblik overengennemgang. Toprogrammerstartessomhverskaltrækkeennediengivenreservedelsbeholdning.Nårvi kørerdetosideløbendeprogrammerskaldettehelstmundeudiatderikkekommernogen deadlocks,daviharbrugtenupdlockpåvoresupdates.nårdetoprogrammerharlavetsit gennemløb,skallagerbeholdningenfordevalgtereservedelehelstværetalttoned. Vorestestresultaterviserfølgende Reservedel Før Efter Forventet 1000009 41 39 1000008 19 17 Forventes at kører normalt begge to. Og antallet på den 10000010 21 19 givnereservedelertrukketnedmed2. 1000002 13 11 Somvikanseherblevdenialle4tilfældetrukketnedmed2somvardetforventede,dermed opretholdessamtidighedskontrollen. Statistik ForatkunnefålavetnogetstatistikoverdatabasenharviiSQLlavetnoglestoreprocedures somudregnerdisse.vivilherstartemedberegnmindstelager. BeregnMindsteLager Foratkunneudregnemindstelageretharvistartetmedatlaveetviewsomskalskabeenny tabelmedpræcisdeoplysningerviskalbrugeforatkunneudregnemindstelager. create view view_lager as select rl.reservedelstypeid, max(antal) as maximum,max(startdato) as startdato, max(slutdato) as slutdato from reparationslinie rl left join reparation r on r.reparationsid = rl.reparationsid where datediff(dd,startdato,getdate()) <= 365 group by reservedelstypeid,year(startdato),month(startdato) Detteviewvillaveennytabelsomvilkommetilatsesådanherud: Reservedelstypeid Maximum startdato slutdato Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 65

Vilavernuenstoredproceduresomrenderigennemvoresførnævnteoprettedeview.Det enestedenskalgøreeratsummeigennemheletabellenogsplittesummenmed12foren givenreservedel.derskalikkemeretildavoresviewkunindeholderreservedelstypersomer brugtindenfordetsidsteår. Voresstoredprocedurebliveroprettetpåfølgendemåde create proc sp_mindste_lager @reservedelsid int, @sum int output as select @sum = sum(maximum)/12 from view_lager where reservedelstypeid = @reservedelsid Vikannukaldedennestoredproceduremedenreservedelstypeid.SP envælgersåalle reservedelstypermedligepræcisdetidivoresview,summeroverdenogsplittermed12.vi kankøreprocedurenpådennemåde, declare @mindstelager int exec sp_mindste_lager 1000000, @mindstelager output select @mindstelager as lager Nufårvimindstelageretudfor1000000ivores mindstelager variabelogudskriverden tilsidstmedvoresselect sætning. MånedForbrug Igenherharvibrugtetviewtilatlaveennytabeltilatudregnefra.Denneergivetved: create VIEW view_lager as select reparationslinie.reservedelstypeid as reservedelstypeid, month(reparation.slutdato) as slutmaaned, year(reparation.slutdato) as slutaar, reparationslinie.antal as antal from where reparationslinie, reparation reparationslinie.reparationsid = reparation.reparationsid Ogidettetilfældevildenkommeudmedennylistedervilsesådanherud: Reservedelstypeid Antal startdato slutdato Denstoredproceduresomskaludregnedetmånedligeforbrugergivetved: create proc månedsforbrug2 @reservedelstypeid int, as select sum(antal),slutaar,slutmaaned Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 66

from view_lager l where l.reservedelstypeid = @reservedelstypeid group by slutaar,slutmaaned Foratkunneudregneetmånedsforbrugskaldennestoreprocedurehaveetidnummerpåen reservedelmedindogudfradenneudregnerdenmånedsforbrugforallemånederialledeår somvihartilatliggeidatabasen.vedatbrugeenexeccommandpådenneprocedurevilden returnereenlistefordeltpåmånederogår.vikannusedetmånedligeforbrugforalle måneder. Beregndowntid dropprocberegndowntid go createprocberegndowntid @maskineidint as selectmonth(startdato)asmåned,year(startdato)asår,count(*)as'antalreparationer', sum(datediff(hh,startdato,slutdato))as'downtiditimer'fromreparation wheremaskineid=@maskineid groupbymonth(startdato),year(startdato) Dennestoredprocedureudregnerdowntidenforenmaskinefordeltpåmåneder.Dentagereninteger formaskineidmedindforatkunnesepåénbestemtmaskine. Month()ogyear()erbeggeDatefunktionerderreturnererenIntegerværdifordenpågældende månedellerår.count(*)funktionenreturnererdetantalafrækkersomopfylderkravetatdeskal matcheinputparameteretmaskineid. Datediff()erogsåenDatefunktion.Denreturnererdetantalafdatepartssomdelertodatoer.Herer datepartsattilatværetimer(hh)ogdetodatoerforhvilkenmanvilfindetimerneimellemer henholdvisstartogslutdatoforenreparation.damanønskeratfåforenhelmånedtagessummen sum()afdiffenrencenmellemdatoerne. Groupbybenyttesvedaggregatesfunktioneridettetilfældesum().Pådenmådekanmangruppere denudregnededowntidfordeltpåmånederogår. ForMaskinenmedid=3: Execberegndowntid3 Måned År Antalreparationer Downtiditimer 1 5 2007 2 144 2 10 2007 2 144 3 12 2007 2 144 4 5 2008 1 72 HvisenreparationdelersigoverfleremånederudregnerBeregnDowntidpånuværendetidspunkt downtidentildenmånedreparationenharstartdatoi.hvismansenereskulleudvidedennestored procedurekunnemandelereparationenopsådowntidenafenreparationblevfordeltudpåde respektivemånedermaskinenernede. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 67

Fejlreaktioner Idennedelvilvilaveetlilleprogramsomkanindsætteenreparationivoresdatabase.Dette programvilviudbyggemedenmasseexceptionstilatkunnefånoglemereforståeligefejl meddelelserudomhvadderergalthvisikkeatreparationenblevindsat. Disseharvideltopifejlkategorier. fejl-kode 547 svarer til en foreign key fejl case 547: if (e.getmessage().indexof("foreignmaskine")!= -1) System.out.println("maskine er ikke oprettet"); constraint til insert af reparation else if (e.getmessage().indexof("foreignreparationstype")!= -1) System.out.println("reparationstype er ikke oprettet"); contraint til insert af reparation else if (e.getmessage().indexof("foreignreparationsid")!= -1) System.out.println("reparation er ikke oprettet"); constraint til insert af reparationslinie else if (e.getmessage().indexof("foreignreservedelstype")!= -1) System.out.println("reservedel er ikke oprettet"); constraint til insert af reparationslinie break; } Alledissefejlkommerafforeignkeyfejl.Såsomatdenmaskinemanforsøgeratlaveen reparationpåikkeerfindesidatabaseniforvejen.altsåkanmanikkelaveenreparationspå dennemaskineogbliverderfornødttilatvælgeenanden. fejl-kode 2627 svarer til primary key fejl case 2627: System.out.println("primary key fejl"); break; } Dennefejlvilkommevedenfejlpådenprimarykeyireparationen.Dennefejlerenafdefejl somkunkanskyldesenbrugerfejl.daviidatabasenharsatenidentitypåvoresprimarykey somgøratdenaltidvilblivetaltopmed1. fejl-kode 8101 svarer til identity fejl case 8101: if (e.getmessage().indexof("reparationslinie")!= -1) System.out.println("fejl id på reparationslinie (identity fejl)"); if (e.getmessage().indexof("reparation")!= -1) System.out.println("fejl id på reparation (identity fejl)"); break; } Mindstelagertrigger Vivilnuopretteentriggerpåvoresreparationstabel.Derhvergangderindsættesenny reparationstjekkerigennemomdetantalafreservedelen,derblivertaget,erkommetunder Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 68

mindstelager.oghvisdeterdetskalderudskrivesenfejlmeddelelseomatderskalbestilles nogetnyt. create trigger checkmindstelager on reparationslinie for insert as declare @mindstelagerantal int declare @insertedantal int declare @reservedelsid int select @insertedantal = antal, @reservedelsid = reservedelstypeid from inserted exec sp_mindste_lager @reservedelsid, @mindstelagerantal output if (@mindstelagerantal) < @insertedantal begin insert into skalbestilles values('bestil ny', @reservedelsid) end Dennetriggervillaveenfejlmeddelelseientabelsomhedder,skalbestilles.Dennetabelvil kunindeholdeoplysningerombestillinger.dervilkommeetreservedelstypeidnummermed foratkunnesehvilkenreservedelderskalbestillesnyeaf. Gamledata Foratkunneoverskueogholdestyrpådatabasenselvefteretlangtstykketidharvihervalgt atlaveenstoredproceduresomskalryddeopigamledata.ivorestilfældeharvivalgtat sletteallereparationersomermereend5årgamle. create proc eraser as exec sletreparation delete from reparationstype where reparationstypeid not in (select reparationstypeid from reservedelslinie) delete from maskintype where maskintypeid not in (select maskintypeid from maskine) Reparationstypenbliverslettethvisikkedenindeholderenreservedelslinie,hvisen maskintypeikkeindeholderenmaskinesåbliverdennemaskintypeogsåslettet. create proc sletreparation as delete from reparationslinie where reparationslinie.reparationsid in (select reparationsid from reparation where year(reparation.slutdato) < (year(getdate())-5)) delete from reparation where year(reparation.slutdato) < (year(getdate()-5)) Hersesdenstoredproceduresombliverkaldtfraeraser.Mankanikkesletteenreparation derindeholderenreparationslinie,derforskalreparationslinienførstslettes. Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 69

Fordelingafarbejde ITO Område Navn SD Område Navn SK Område Navn CAOS Område Navn Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 70

Tværfagligtprojektpå2.Semester SaR afchristian,kennetogmartin 71