ProPlanner. Uppdragsgivare: Torbjörn Jönsson, AstraZeneca. Ett projekt för kursen Programutvecklingsprojekt 2D1954

Relevanta dokument
Preliminär specifikation av projekt

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Användning av handdatorer och trådlösa nät på föreläsningar och i labsalar. Preliminär specifikation

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Projektplan, Cykelgarage

Människa- datorinteraktion, MDI, ht 2011, anvisningar för projekt- /grupparbete

Dokumentation och presentation av ert arbete

Projekt Fake för Virtutech

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

Projektpresentation. Uppdragsgivare: Alex Olwal

Grupper; Gruppindelningar; Vanliga inställningar för modul

Projektet. TNMK30 - Elektronisk publicering

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

DEN KOMPLETTA PROGRAMVARAN FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR PROGRAMVARA FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR LÄTT ATT ANVÄNDA

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Dokumentation och presentation av ert arbete

Projekt Intelligent Indexering

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar

Kravspecifikation Fredrik Berntsson Version 1.1

Testplan Autonom truck

Projektstatus 20 februari 2002

Projektuppgift.

Testning av applikationer

kl Tentaupplägg

Release Notes. Vad är nytt i Easy Planning Nyheter

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

International Olympiad in Informatics July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

Avsnitt 3 Färre mil och mer tid med bättre planering

Preliminär specifikation

Rafel Ridha Projektdefinition

Människa- datorinteraktion, MDI, ht 2012, Anvisningar för projekt- /grupparbete

Projektplan, teaterqlan

1. Etablera projektet

Dokumentation och presentation av ert arbete

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

Obligatorisk uppgift: Simulering av köer i ett trafiksystem

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Årlig utredning. Denna sida finns endast synlig om en årlig utredning har öppnats av SMART-samordnaren.

Dokumentation och presentation av ert arbete

OBS! Lägg till planeringsområde

SCB Räkenskapssammandrag

Objektorienterad Programkonstruktion. Föreläsning jan 2017

Sida Kapitel 11 Vektorfil och linjeskymning... 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Ingenjörsprojekt, TFYY Föreläsning 3. Urban Forsberg Institutionen för Fysik, Kemi och Biologi, IFM

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

SKOLFS. beslutade den XXX 2017.

Kortfattad instruktion för Crystal Reports. Kom i gång med Crystal Reports. Instruktion Crystal Reports 2014

VERSION 5.1/5.2 SNABBINTRODUKTION TILL WEBACCESS HTML 3

Efterstudie. Redaktör: Jenny Palmberg Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Jenny Palmberg

Föreläsning 11. Giriga algoritmer

TDDD92 Artificiell intelligens -- projekt

Inlämningsuppgifter, EDAF30, 2015

Redigering av dokument - SaveToServer

Labrapport över Rumbokningssytemet Grupp:1

PROGRAMUTVECKLINGSPROJEKT

Dokumentation och presentation av ert arbete

Testplanering, test-first, testverktyg

SÅindex 5 i Microsoft Excel 2010

DFA Design For Assembly

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

Sensorteknik Prel schema. Sensorteknik 2016

Projektpresentation Gängbildning

Webbklient för användare

Datastrukturer och algoritmer

Examensarbete Verklighetsbaserat utvecklings- och projektarbete - Automationsteknik med mekatronik

Introduktion till programmering

Projektarbete med IT-verktyg - modulanpassat

Att komma igång rätt i en projektgrupp Utdrag ur och sammanfattning av ett arbetsschema.

DEN HÅLLBARA RÖRELSEN

Sakfrågan Preliminär specifikation

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

BG306A Strukturmekanik, bärverksanalys MT129A Finita elementmetoden

Releasedokument Avser release Verksamhetssystem

Design och konstruktion av grafiska gränssnitt

LiTH, Reglerteknik Saab Dynamics. Testplan Collision avoidance för autonomt fordon Version 1.0

Inlä sning äv bokfo ringsorder viä Excelerätor

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson

ELVIS & SURF Test version 5.0

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg

TDP Regler

Wise Business Support Ms Office Kursinnehåll För nybörjare och därefter

Webbtjänster med API er

Kravspecifikation. UB02 Bevakningsuppdrag slutbetyg Version: 1.00.

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB

Åtkomst och användarhandledning

Creo Customization. Lars Björs

Webservice & ERP-Integration Rapport

Projektpresentation. Kungliga Tekniska Högskolan 2D1954 Programutvecklingsprojekt Vårterminen 2002

Utöver projektdirektivet ska en teknisk dokumentation för projektet arbetas fram.

IT-kurser Office IT-Partner Våren 2015

Innehåll. Projekt Greed. Projekt definition. Projekt Greed En introduktion till projektmodellen LIPs

Transkript:

ProPlanner Projekt medlemmar: Björn Sundman, Projektledare Pierre Evans, Webbansvarig Christer Wanngård, sekreterare Tymon Pigon, Juridikansvarig Alireza Golestanizadeh Bernt Nylin Uppdragsgivare: Torbjörn Jönsson, AstraZeneca Ett projekt för kursen Programutvecklingsprojekt 2D1954

Innehållsförteckning 1. Problemstruktur...3 1.1. Bakgrund...3 1.2. Syfte...3 1.3. Problembeskrivning...3 1.4. Krav och avgränsningar...4 1.4.1. Funktioner...4 1.4.2. Datormiljö...4 1.4.2.1. Hårdvara...5 1.4.2.2. Mjukvara...5 1.4.3. Användare...5 2. Förslag till lösning...5 2.1. Systemskiss...5 2.1.1. Moduler...5 2.1.2. Algoritmer...5 2.1.2.1. Definitioner...6 2.1.2.2. Indata...6 2.1.2.3. Beräkningar...6 2.1.2.4. Utdata...6 2.2. Användargränssnittet...7 3. Genomförande...8 3.1. Systematiska metoder...8 3.1.1. Hjälpmedel...8 3.2. Ansvarsfördelning i gruppen...8 3.3. Tidsplanering av aktiviteter...9 3.4. Administration...9 3.5. Implementation...9 3.6. Arbete med dokumentation...9 3.6.1. Projektbeskrivning...9 3.6.2. Användarhandledning...10 3.6.3. Systembeskrivning...10 4. Riskanalys...10

1. Problemstruktur 1.1. Bakgrund Tillverkning av aktiv läkemedelssubstans karakteriseras idag av högt ställda krav på produktkvalitet och leveransförmåga. Utvecklingen av datortekniska hjälpmedel för att modellera och simulera kemiska och fysikaliska processförlopp har under senare år varit stark. För AstraZeneca är det viktigt att relevanta datortekniska verktyg utnyttjas som hjälpmedel för att effektivisera arbetet med att säkerställa processtabilitet, produktkvalitet och leveransförmåga. Därför görs nu en satsning inom området. Ett led i detta arbete är att öka samarbetet med högskola/universitet, t ex i form av exjobb och projektarbeten. För produktionsplanering (logistikhantering och kapacitetssimuleringar) saknas dock idag lättanvända verktyg speciellt anpassade för AstraZenecas processer och behov. 1.2. Syfte Syftet med detta projekt är att ta fram mjukvara i form av makron skrivna i Visual Basic och makrona skall köras i Microsoft Project. Makrona skall underlätta produktionsingenjörernas arbete med att schemalägga läkemedelsproduktionen på AstraZeneca. I dagsläget finns inget allmänt vedertaget system för schemaläggningen, eller med andra ord alla arbetar enligt egen metodik. Projektet kommer att leverera en enhetlig metodik för schemaläggning och planering av produktion. 1.3. Problembeskrivning Tillverkningen sker batchvis och kan delas upp i processteg som tar olika lång tid och som tar olika resurser i anspråk (tankar, reaktorer, centrifuger etc.). Den totala ledtiden för en batch kan uppgå till flera dygn och bestå av ett flertal processteg. Normalt tillverkas flera batcher efter varandra (kampanjvis). Det möjliggör att tillverkningen kan saxas, vilket gör att den sammanlagda ledtiden blir kortare än summan av de enskilda batchernas ledtid var för sig. Flera produkter kan vanligen köras i en processanläggning. Utrustningen saneras vid byte till ny produkt. Normalt sker ingen tillverkning under helg. Enbart vissa intermediat (mellan produkter) i en process är stabila för lagring, vilket är viktigt att ta hänsyn till vid planeringen av produktionen. Planerar man illa kan man till exempel vara tvungen att bryta produktionen redan på onsdag eftermiddag, för att man inte hinner tillverka nästa stabila intermediat före helgen. Detta innebär att dyr processutrustning blir stillastående.

1.4. Krav och avgränsningar Programmet skall klara schemaläggning av en eller flera batcher av samma produkt. Flera olika produkter kommer alltså inte kunna schemaläggas parallellt. Det kommer att finnas stöd för tre olika typer av arbetsskift: 3-skift, 4-skift och 5-skift. Programmet ställer vissa krav på indata: Användaren kan receptet. Det står angivet vilken resurs som ska användas. Tidsåtgången för varje delsteg. Vilka processer som är beroende av varandra 1.4.1. Funktioner Den primära funktionen kommer att vara att optimera brytpunkternas längd i en given sekvens av olika steg och moment. Optimeringen kommer att minimera tidsåtgången för att köra dessa steg i den ordningen som är angiven av produktionsingenjörerna på AstraZeneca. För att programmet ska vara så flexibelt som möjligt så anropas alla beräkningar manuellt, på så vis undviker man störande och oönskade automatiserade moment. I samma anda är alla funktioner uppdelade i atomära delar så att användaren får full kontroll. Den funktionalitet som erbjuds är huvudsakligen: Brytpunktsoptimering med anpassning för lediga dagar. Detta innebär att programmet försöker ändra brytpunkternas längd, inom dom givna intervallen, så att den kortaste totala tillverkningstiden kan uppnås, processerna förskjuts även så att ingen tillverkning är schemalagd på en ledig dag (röda dagar). Men även Överbokning av resurser. Programmet kan kontrollera så att inga processer körs samtidigt på samma maskin. Notera att alla funktioner är av rådgivande karaktär. Det går t ex fortfarande att dubbelboka en resurs. Observera även att programmet inte på något sätt beräknar vilken ordning som delstegen ska köras i. Detta är en möjlig uppgift för programmet men som valdes bort pga. problemets komplicerade natur. Se Bilaga 1 NP-reduktion för mer detaljer. 1.4.2. Datormiljö Nedan följer en beskrivning utav den datormiljö som finns tillgänglig för processingenjörerna på AstraZeneca.

1.4.2.1. Hårdvara Makrona skall kunna köras på den hårdvara som finns tillgänglig på AstraZeneca. I princip räcker det med en dator som klarar ett Microsoft operativsystem samt att datorn kan köra programmet Microsoft Project 2000. 1.4.2.2. Mjukvara Programmet kommer att vara ett antal makron i Microsoft Project. Programmet ska fungera på Microsoft Project 2000, som används på AstraZeneca. Makrona är skrivna i Visual Basic 6. 1.4.3. Användare Programmet kommer att användas av produktionsingenjörer på AstraZeneca som redan har kunskap i Microsoft Project samt är väl insatta i problematiken. En betaversions demonstration för de presumtiva användarna kommer att hållas någon gång i mitten av projektet. 2. Förslag till lösning 2.1. Systemskiss Se Bilaga 3 - Systembeskrivning. 2.1.1. Moduler Vi har en huvudmodul vid namn fitalgorithm som utför själva arbetet av att anpassa arbetsmomenten till arbetstiderna. Dessutom kan man modifiera kalendern för olika skift och införa ledigheter under arbetsdagar. En debug-ruta finns tillgänglig som visar meddelanden under körning. Det går även att få upp en ruta där man kan se och redigera beroenden mellan olika delsteg av schemaläggningen. Man kan också be programmet hitta resurskrockar i schemaläggningen som tydligt kommer att markeras. Modulerna är helt fristående från varandra och det enda som är av intresse är deras algoritmiska aspekter. Dessa diskuteras närmare i nästföljande kapitel. 2.1.2. Algoritmer Nedan följer en beskrivning av hur vårat program beter sig, vad för slags indata den nyttjar och vilken sorts utdata den returnerar.

2.1.2.1. Definitioner Tillverkningen sker på maskiner av olika slag som vi har valt att kalla resurser. Minsta möjliga tidsenhet kallas för ett moment. Ett moment har en specificerad tidsåtgång och tar en eller flera resurser i anspråk. Varje resurs kan bara köra ett moment i taget. Tillverkningen sker i delsteg som består av ett eller flera moment. När produktionen av ett delsteg har påbörjats kan den bara pausas på speciellt angivna platser, så kallade brytpunkter. Brytpunkterna kan ha olika tillåten längd. Under det att produktionen av ett delsteg befinner sig i en brytpunkt så är den respektive resursen upptagen. När delstegen är färdiga är de antingen färdiga för leverans eller så er de sig i en så kallad vilotid, som liksom brytpunkten har en given tidsram men som inte tar några resurser i anspråk. 2.1.2.2. Indata Programmet använder sig av MSProjects kalender funktion. Där ska anges vilka dagar och tider som man arbetar. Programmet läser från ett MSProject ark där varje delsteg deklareras som en task och arbetsmomenten deklareras som subtasks. I arket måste också alla beroenden finnas angivna samt använda resurser och tidsåtgång för varje moment. Brytpunkterna ska deklareras som milestones. Brytpunkter deklareras alltid med namnet brytpunkt och dessutom kan man ange minlängd och maxlängd. Detta görs genom att lägga till en anteckning i MSProject. Anger man ingen maxlängd så används ett fastställt standardvärde. Vilotider deklareras som milestones som beror av sina respektive delsteg. Vilotider deklareras på samma sätt som brytpunkter. En viss restriktion på indata är att det inte får existera några cykliska beroenden mellan följder av steg. 2.1.2.3. Beräkningar Våra moduler finns förklarade i våran systembeskrivning. Se Bilaga 3 - Systembeskrivning. 2.1.2.4. Utdata Utdata presenteras på samma form som indata. Visualisering av resultatet sker på konventionellt sett i MSProject. Förhoppningen är att visualiseringsfunktionaliteten i MSProject är tillräcklig för användarens behov.

2.2. Användargränssnittet Vi kommer att skapa en toolbar med ikoner för våra makron, ett fönster där man kan se de olika beroendena som man har angivit och ett kalenderfönster där man kan välja olika skiftformer. Dessa kommer att finnas tillgängliga i vår Microsoft Project mall. Toolbar: Lista beroenden: Välj kalender:

3. Genomförande 3.1. Systematiska metoder Vi kommer att använda Praktisk Projekt Styrning (PPS) som projektstyrningsmetod och Extreme Programming som produktionsmetod. 3.1.1. Hjälpmedel Gruppen använder sig av flera tekniska hjälpmedel för att samordna arbetet och kommunikationen bland medlemmarna. En webbplats för projektet etablerades tidigt. Där kan medlemmarna hitta och lägga upp användbara länkar samt lägga upp arbetet i en lätt tillgänglig form. Adressen till webbsidan är: http://www.nada.kth.se/projects/proj03/proplanner/ CVS - Concurrent Versions System används för att samordna redigeringen av filer och kod. CVS håller koll på olika versioner och sammanfogar dokument som är redigerade av olika användare. Vi använder oss även flitigt av e-post kommunikation för att samordna arbetet så väl som möjligt. 3.2. Ansvarsfördelning i gruppen Vi har fördelat ansvaret i gruppen på följande sätt: Björn Sundman, projektledare och samordnare Pierre Evans, webbansvarig. Ansvarar för att information finns tillgängligt i lämpliga format på projekthemsidan. Christer Wanngård, sekreterare. För protokoll vid möten. Tymon Pigon, juridikansvarig. Arbetet har delats upp inom gruppen, i 3 subgrupper, på följande sätt: Björn Sundman och Christer Wanngård ansvarar för den matematiska modellen och algoritmkonstruktionen. Bernt Nylin och Pierre Evans står för GUI/Interface Tymon Pigon och Alireza Golestanizadeh ansvarar för input och output formatering i MSProject och Visual Basic.

3.3. Tidsplanering av aktiviteter Vecka Händelse 6 Möte med uppdragsgivare. Projektstart 7 Möte där riskanalys färdigställs. Fördelning av arbetsuppgifter. Algoritmanalys. Preliminär specifikation ska vara klar senast fredag. 8 Programutvecklingen påbörjas. Algoritmer ska vara fastställda. 9 10 Deadline för inlämning av preliminär specifikation. 11 12 13 Preliminär demonstration av betaversion för användare fredagen den 28/3. 14 Bokning av förhandsvisning 15 Återbesök på Astra för demonstration av Demo 16 Ytterligare finesser och uppdatering läggs till 17 Ytterligare finesser och uppdatering läggs till 18 Dokumentation färdigskrivs 19 20 Slutgiltig presentation 21 Utvärdering 3.4. Administration Tabell över möten: Datum Beskrivning Fredagen den 31/1 Initialt möte. Diskussion kring mål och val av projektroller. Torsdagen den 6/2 Möte med uppdragsgivare Måndagen den 10/2 Riskanalys och fördelning av arbetsuppgifter. Fredagen 14/2 Möte på AstraZeneca med Torbjörn Jönsson och Espen Eiesland 3.5. Implementation Funktionen fitalgorithm implementeras först av två gruppmedlemmar för att känna lite på VB och få en känsla för de problem som finns. Denna implementation påbörjades i vecka 9. Övriga funktioner kommer att implementeras senare och kommer då att involvera fler gruppmedlemmar. 3.6. Arbete med dokumentation 3.6.1. Projektbeskrivning Projektet är hela examinationen på kursen Programutvecklingsprojekt 2D1954 och går ut på att vi skall känna på och prova hur det är att arbeta i form av projekt.

3.6.2. Användarhandledning Se Bilaga 2 - Användarhandledning 3.6.3. Systembeskrivning 4. Riskanalys. Se Bilaga 3 - Systembeskrivning. Under projektets början gjordes en riskanalys av projektmedlemmarna och följande risker identifierades: 1. Vi projektmedlemmar saknar kunskap och erfarenhet av MSProject och Visual Basic. 2. Versionskompatibilitet mellan olika versioner av MSProject. 3. Konflikter inom gruppen. 4. Sjuka medlemmat/barn. 5. Brist på engagemang hos oss gruppmedlemmar eller hos Torbjörn Jönsson. 6. Dålig kontakt/kommunikation med Torbjörn. 7. Dålig kontakt med presumtiva användare. 8. Ofullständig och dålig planering. 9. Problemet är inte lösligt under rimlig tid (datalogiskt: problemet ligger i NP) Efterföljande diskussion angående händelsernas sannolikhet att inträffa samt hur stor inverkan respektive händelse har på projektet resulterade i följande riskmatris: Sannolikhet att händelse inträffar Hur stor inverkan en händelsen har på projektet hög medel låg Hög 2 medel 9 4 låg 5,6,7,8 1 3