22 resultados para komponentbaserad systemutveckling
Resumo:
Viljan att hålla en hög kvalitet på den kod som skrivs vid utveckling av system och applikationerär inte något nytt i utvecklingsvärlden. Flera större företag använder sig av olika mått för attmäta kvaliteten på koden i sina system med målet att hålla en hög driftsäkerhet.Trafikverket är en statlig myndighet som ansvarar för driften av bland annat de system somhåller igång Sveriges järnvägsnät. Eftersom systemen fyller en viktig del i att säkra driften ochse till att tågpositioner, planering av avgångar och hantering av driftstörningar fungerar dygnetrunt för hela landet anser de att det är viktigt att sträva efter att hålla en hög kvalitet påsystemen.Syftet med det här examensarbetet var att ta reda på vilka mått som kan vara möjliga attanvända under systemutvecklingsprocessen för att mäta kvaliteten på kod och hur måtten kananvändas för att öka kvaliteten på IT-lösningar. Detta för att redan på ett tidigt stadie kunnamäta kvaliteten på den kod som skrivs i både befintliga och nyutvecklade system.Studien är en fallstudie som utfördes på Trafikverket, de olika måtten som undersöktes varcode coverage, nivån på maintainability index och antalet inrapporterade incidenter för varjesystem. Mätningar utfördes på sju av Trafikverkets system som i analysen jämfördes motantalet rapporterade incidenter. Intervjuer utfördes för att ge en bild över hur arbetssättet vidutveckling kan påverka kvaliteten. Genom litteraturstudier kom det fram ett mått som inte kundeanvändas praktiskt i det här fallet men är högst intressant, detta är cyclomatic complexity somfinns som en del av maintainability index men som även separat påverkar möjligheten att skrivaenhetstest.Resultaten av studien visar att måtten är användbara för ändamålet men bör inte användassom enskilda mått för att mäta kvalitet eftersom de fyller olika funktioner. Det är viktigt attarbetssättet runt utveckling genomförs enligt en tydlig struktur och att utvecklarna både harkunskap om hur man arbetar med enhetstest och följer kodprinciper för strukturen. Tydligakopplingar mellan nivån på code coverage och inflödet av incidenter kunde ses i de undersöktasystemen där hög code coverage ger ett lägre inflöde av incidenter. Ingen korrelation mellanmaintainability index och incidenter kunde hittas.
Resumo:
I avhandlingen behandlas förutsättningar och effekter av kalkylprogramanveckling (KPA). KPA utförs av anvecklare, som fungerar både som användare och utvecklare. Anvecklare har djup verksamhetskunskap och viss verktygskunskap. Systemet, som anvecklaren utvecklar med kalkylprogram, kallas kalkylsystem. Den grundläggande forskningsfrågan i avhandlingen är: "Vilka nya möjligheter får användare att utföra arbetsuppgifter då de själva kan bygga informationssystem?" Avhandlingens syfte är att formulera en begreppsmodell över vilka förutsättningar och effekter, som gäller för kalkylprogramanveckling. Avhandlingens strategi kan sägas vara kvalitativ, hermeneutisk, abduktiv och empirinära. Fyra empiriska studier har genomförts. Empiri har i stor utsträckning styrt studier av relaterad teori. Den praktikgeneriska modellen har använts som referensmodell i avhandlingen, vilket har lett till ett synsätt, som innebär att när anvecklaren anvecklar, agerar han i minst två praktiker, utvecklarpraktiken och huvudpraktiken. Varje praktik har sin uppsättning av förutsättningar, t ex kunskap, normer och verktyg. Den integrerade karaktären på anveckling, gör interaktivitet i utvecklingsarbetet möjlig, vilket i sin tur innebär att anvecklaren snabbt kan växla mellan utveckling och användning. Ökad verktygskunskap kan innebära att anvecklaren ökar sin verksamhetskunskap. Då anvecklarens verksamhetskunskap ökar, ökar möjligheterna att analysera och ifrågasätta verksamheten. Anveckling innebär också att hänsyn kan tas till svårformaliserbara mål och normer, samt att formalisering av tyst kunskap möjliggörs. Anveckling i en miljö med lokala nätverk förenklar möjligheterna att distribuera kalkylsystem för granskning och verifiering. Kalkylsystemets transparens underlättar analys och diskussion. I avhandlingen diskuteras anveckling som ett sätt att hantera kontinuerlig omvärldsförändring på ett sätt som kan innebära omprövning av normer i verksamheten. Då anveckling betraktas som en form av systemutveckling, skiljer sig anveckling starkt från traditionell systemutveckling i och med att anveckling kännetecknas av integration, medan traditionell systemutveckling kännetecknas av specialisering.
Resumo:
Mänskliga faktorer som till exempel kommunikation och tillit påverkar hur människor interagerar med varandra. I agil systemutveckling ingår relationer, samspel och samarbete mellan människor och dessa påverkar om systemutvecklingsprojektet anses framgångsrikt eller ej. Men ofta i systemutvecklingsprojekt så läggs det mer tid på själva tekniken än de sociala aspekterna, där de mänskliga faktorerna i många fall är en avgörande faktor för projektets slutresultat. Syftet med det nuvarande arbetet är att beskriva vilka mänskliga faktorer som är viktiga för att effektivisera samarbete i agila systemutvecklingsprojekt, samt att beskriva hur agil systemutveckling på Trafikverket utförs. Trafikverket ville ha studien genomförd för att resultatet av studien skulle hjälpa till att minska antalet mindre framgångsrika systemutvecklingsprojekt på Trafikverket. Huvudfrågan i arbetet är: Vilka mänskliga faktorer är viktiga för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt? En fallstudie utfördes vid Trafikverket genom sju semistrukturerade intervjuer som följdes upp av enkäter och dokumentstudier. Det sammanlagda resultatet tyder på att för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt på Trafikverket krävs fokus på följande fem mänskliga faktorer: kommunikation, tillit, ledarskap, kunskap och motivation.
Resumo:
Mänskliga faktorer som till exempel kommunikation och tillit påverkar hur människor interagerar med varandra. I agil systemutveckling ingår relationer, samspel och samarbete mellan människor och dessa påverkar om systemutvecklingsprojektet anses framgångsrikt eller ej. Men ofta i systemutvecklingsprojekt så läggs det mer tid på själva tekniken än de sociala aspekterna, där de mänskliga faktorerna i många fall är en avgörande faktor för projektets slutresultat. Syftet med det nuvarande arbetet är att beskriva vilka mänskliga faktorer som är viktiga för att effektivisera samarbete i agila systemutvecklingsprojekt, samt att beskriva hur agil systemutveckling på Trafikverket utförs. Trafikverket ville ha studien genomförd för att resultatet av studien skulle hjälpa till att minska antalet mindre framgångsrika systemutvecklingsprojekt på Trafikverket. Huvudfrågan i arbetet är: Vilka mänskliga faktorer är viktiga för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt? En fallstudie utfördes vid Trafikverket genom sju semistrukturerade intervjuer som följdes upp av enkäter och dokumentstudier. Det sammanlagda resultatet tyder på att för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt på Trafikverket krävs fokus på följande fem mänskliga faktorer: kommunikation, tillit, ledarskap, kunskap och motivation.
Resumo:
Continuous delivery (CD) is a software engineering approach where the focus lays on creating a short delivery cycle by automating parts of the deployment pipeline which includes build, deploy-, test and release process. CD is based on that during development should be possible to always automatically generate a release based on the source code in its current state. One of CD's many advantages is that through continuous releases it allows you to get a quick feedback loop leading to faster and more efficient implementation of new functions, at the same time fixing errors. Although CD has many advantages, there are also several challenges a maintenance management project must manage in the transition to CD. These challenges may differ depending on the maturity level for a maintenance management project and what strengths and weaknesses the project has. Our research question was: "What challenges can a maintenance management project face in transition to Continuous delivery?" The purpose of this study is to describe Continuous delivery and the challenges a maintenance management project may face during a transition to Continuous delivery. A descriptive case study has been carried out with the data collection methods of interviews and documents. A situation analysis was created based on the collected data in a shape of a process model that represent the maintenance management projects release process. The processmodel was used as the basis of SWOT analysis and analysis by Rehn et al's Maturity Model. From these analyzes we found challenges of a maintenance management project may face in the transition to CD. The challenges are about customers and the management's attitude towards a transition to CD. But the biggest challenge is about automation of the deployment pipeline steps.
Resumo:
Test av mjukvara görs i syfte att se ifall systemet uppfyller specificerade krav samt för att hitta fel. Det är en viktig del i systemutveckling och involverar bland annat regressionstestning. Regressionstester utförs för att säkerställa att en ändring i systemet inte medför att andra delar i systemet påverkas negativt. Dokumenthanteringssystem hanterar ofta känslig data hos organisationer vilket ställer höga krav på säkerheten. Behörigheter i system måste därför testas noggrant för att säkerställa att data inte hamnar i fel händer. Dokumenthanteringssystem gör det möjligt för flera organisationer att samla sina resurser och kunskaper för att nå gemensamma mål. Gemensamma arbetsprocesser stöds med hjälp av arbetsflöden som innehåller ett antal olika tillstånd. Vid dessa olika tillstånd gäller olika behörigheter. När en behörighet ändras krävs regressionstester för att försäkra att ändringen inte har gjort inverkan på andra behörigheter. Denna studie har utförts som en kvalitativ fallstudie vars syfte var att beskriva utmaningar med regressionstestning av roller och behörigheter i arbetsflöden för dokument i dokumenthanteringssystem. Genom intervjuer och en observation så framkom det att stora utmaningar med dessa tester är att arbetsflödens tillstånd följer en förutbestämd sekvens. För att fullfölja denna sekvens så involveras en enorm mängd behörigheter som måste testas. Det ger ett mycket omfattande testarbete avseende bland annat tid och kostnad. Studien har riktat sig mot dokumenthanteringssystemet ProjectWise som förvaltas av Trafikverket. Beslutsunderlag togs fram för en teknisk lösning för automatiserad regressionstestning av roller och behörigheter i arbetsflöden åt ProjectWise. Utifrån en kravinsamling tillhandahölls beslutsunderlag som involverade Team Foundation Server (TFS), Coded UI och en nyckelordsdriven testmetod som en teknisk lösning. Slutligen jämfördes vilka skillnader den tekniska lösningen kan utgöra mot manuell testning. Utifrån litteratur, dokumentstudie och förstahandserfarenheter visade sig testautomatisering kunna utgöra skillnader inom ett antal identifierade problemområden, bland annat tid och kostnad.
Resumo:
Mänskliga faktorer som till exempel kommunikation och tillit påverkar hur människor interagerar med varandra. I agil systemutveckling ingår relationer, samspel och samarbete mellan människor och dessa påverkar om systemutvecklingsprojektet anses framgångsrikt eller ej. Men ofta i systemutvecklingsprojekt så läggs det mer tid på själva tekniken än de sociala aspekterna, där de mänskliga faktorerna i många fall är en avgörande faktor för projektets slutresultat. Syftet med det nuvarande arbetet är att beskriva vilka mänskliga faktorer som är viktiga för att effektivisera samarbete i agila systemutvecklingsprojekt, samt att beskriva hur agil systemutveckling på Trafikverket utförs. Trafikverket ville ha studien genomförd för att resultatet av studien skulle hjälpa till att minska antalet mindre framgångsrika systemutvecklingsprojekt på Trafikverket. Huvudfrågan i arbetet är: Vilka mänskliga faktorer är viktiga för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt? En fallstudie utfördes vid Trafikverket genom sju semistrukturerade intervjuer som följdes upp av enkäter och dokumentstudier. Det sammanlagda resultatet tyder på att för att effektivisera samarbetet mellan verksamhetskunniga och utvecklare i agila systemutvecklingsprojekt på Trafikverket krävs fokus på följande fem mänskliga faktorer: kommunikation, tillit, ledarskap, kunskap och motivation.