• No results found

Kraninh¨ amtnings inverkan p˚ a mjukvaruprojekt generellt

A.5 Diskussion

F.5.2 Kraninh¨ amtnings inverkan p˚ a mjukvaruprojekt generellt

Hur kan d˚a ett projekt p˚averkas av genomf¨orandet av kravinh¨amtningen? Figur 28 ¨ar h¨amtad fr˚an “Concurrent Engineering”, av J R Hartley (Hartley, 1998)och visar hur kostnaden f¨or att ¨andra n˚agot i implementationen varierar ¨over projektets g˚ang. N¨ar man studerar denna kurva inser man att kostnaden blir h¨og om man m˚aste g¨ora ¨andringar i systemet sent i projektet. Det ¨ar d¨arf¨or viktigt att utvecklare och kund kommer ¨overens om hur kraven ska se ut tidigt i projektet.

Figur 28 – Kostnad

F.6

Diskussion

Nedan kommer mina resultat och min metod att diskuteras.

F.6.1

Resultat

¨

Aven om vi genomf¨orde en ganska bra kravinh¨amtinng finns det givetvis saker vi kunde gjort b¨attre. Jag k¨anner, s˚ah¨ar i efterhand att det kanske var n˚agra krav som vi missade. Vi hade till exempel inga krav g¨allande systemets robusthet, dvs att servern inte f˚ar krascha eller att m¨atenheter inte f˚ar d¨o. En fundamental egenskap med den typen av system som vi utvecklade ¨

ar ju just att de ska fungera en l¨angre tid, helst helt utan att beh¨ova teknisk modifikation. An- ledningen till att vi f¨orbis˚ag detta tror jag ¨ar f¨or att kunden, som var k¨allan f¨or de krav som skulle finnas, t¨ankte att s˚adanna kvalitetskrav inte var n¨odv¨andiga eftersom han inte var expert inom mjukvaruutveckling och d˚a t¨anker man inte alltid p˚a vikten av fels¨aker kod. Vi som skall f¨orest¨alla experter borde givetvis t¨ankt p˚a detta och det blir n˚agot att ta med sig till n¨asta projekt. Jag tycker ¨aven att vi inte var tillr¨ackligt noggranna med den sista aktiviteten i Sommerville’s beskriving av kravinh¨amtningsprocessen, n¨amligen att f¨olja upp kraven under utvecklingsfasen. Det var flera krav som vi inte hann med att utveckla. Den huvudsakliga anledningen till det var att vi under kravframst¨allningen planerade att projektlaget skulle best˚a av sju medlemmar. Vi reducerades med en person i ett tidigt skede av projektet. Vilka krav som vi inte hann genomf¨ora blev ganska slumpartart. Vi borde ist¨allet ha diskuterat detta med kunden mer noggrant, och tillsammans valt ut vilka krav som var mindre viktiga att f¨ardigst¨alla av de som var kvar. De krav som inte genomf¨ordes gjorde dock inte att systemet i stort ej gick att anv¨anda, utan det var krav som att m¨atenheterna skall ha en lysdiod som indikerar vilken mod enheten ¨ar i eller hur enheten skall agera om str¨ommen f¨orsvinner. Kunden har ¨aven sagt att han generellt skulle vilja vara mer involverad i v˚art projekt ¨an vad som blev fallet. Vi s˚ags v¨aldigt s¨allan under f¨orsta halvan av utvecklingsfasen vilket inte var optimalt. G¨allande hur kravinh¨amtingen p˚averkar projektet ¨ar det inte mycket mer att s¨aga ¨an att det straffar sig att ha dispyter med kunden ang˚aende funktionali- tet under senare delar av projektet. I v˚art fall s˚a slapp vi att g¨ora n˚agra st¨orre f¨or¨andringar under

utvecklingsfasen.

F.6.2

Metod

Mitt resultat ¨ar i stora drag baserade p˚a erfarenheter som jag erh˚allit fr˚an detta projekt. Jag tror dock detta projekt kan anses vara ganska typiskt f¨or hur mindre projekt inom detta f¨alt ser ut. Det fanns en kund/best¨allare som efterfr˚agade en produkt/system och utvecklingslaget bestod av 6-7 ingenj¨orer som skulle realisera produkten/systemet med begr¨ansade resurser.

F.7

Slutsatser

Viktiga saker man b¨or ha i ˚atanke n¨ar man specifierar krav ¨ar att • Allokera tillr¨ackligt med tid ˚at kravinh¨amtningsfasen.

• Sitt ner tillsammans med kunden och analysera samtliga krav som skall st¨allas p˚a systemet. • Diskutera stora designbeslut tillsammans med kunden.

Att inte utf¨ora en fullst¨andig kravinh¨amtningsprocess kommer att straffa sig under senare delar av projektet. Att implementera om saker n¨ar mycket kod ¨ar skriven tar mycket l˚ang tid. Och i dessa sammanhang ¨ar tid pengar. I v˚art projekt missade vi att strukturera upp kvalitativa krav i h¨og grad vilket gjorde att systemets robusthet inte fick tillr¨acklig prioritet. Vi kunde ¨aven varit noggrannare g¨allande att f¨olja upp kraven ¨over projektets g˚ang (speciellt med tanke p˚a att vi fick ett avhopp) s˚a att vi kunde prioritera de krav som var v¨ardefullast f¨or kunden p˚a ett optimalt s¨att.

Referenser

1-tier architecture. (u. ˚a.). H¨amtad fr˚an http://www.techopedia.com/definition/17374/one -tier-architecture

2-tier architecture. (u. ˚a.). H¨amtad fr˚an http://www.techopedia.com/definition/467/two -tier-architecture

About Berners Lee. (u. ˚a.). H¨amtad fr˚an http://www.w3.org/People/Berners-Lee/Longer .html

About Node.js. (u. ˚a.). H¨amtad fr˚an https://nodejs.org/about/ About npm. (u. ˚a.). H¨amtad fr˚an https://www.npmjs.com/

Agila manifestet. (u. ˚a.). H¨amtad 2013-05-15, fr˚an http://agilemanifesto.org/

Agilealliance - Daily meeting. (u. ˚a.). H¨amtad 2013-05-15, fr˚an http://guide.agilealliance .org/guide/daily.html

Ahmed, A. (2012). Software Project Management: A Process-Driven Approach. Auerbach Publi- cations.

Alpha State Cards. (u. ˚a.). H¨amtad 2015-06-12, fr˚an http://www.ivarjacobson.com/ alphastatecards/

Andres Ojamaa & Karl Duuna. (2012). Assessing the Security of Node.js Platform. I The 7th inter- national conference for internet technology and secured transactions. H¨amtad fr˚an http:// ieeexplore.ieee.org.e.bibl.liu.se/stamp/stamp.jsp?tp=\&arnumber=6470829 Apache MPM. (u. ˚a.). H¨amtad fr˚an http://httpd.apache.org/docs/2.2/mpm.html

Artho, C. & Biere, A. (u. ˚a., maj). Advanced unit testing. I Proceedings of the 2006 international workshop on automation of software test - ast ’06 (s. 92). New York, New York, USA: ACM Press. doi: 10.1145/1138929.1138947

Awad, M. (2005). A comparison between agile and traditional software development methodolo- gies. University of Western Australia, 10. H¨amtad fr˚an https://xa.yimg.com/kq/groups/ 71601056/324265895/name/A\ comparision\ between\ Agile\ and\ Traditional\ SW\

development\ methodologies.pdf

BeagleBoard System. (u. ˚a.). H¨amtad fr˚an http://makelinux.net/lib/ti/BeagleBoard\ SRM\ C4/

Best Practices of RUP. (u. ˚a.). H¨amtad 2013-05-15, fr˚an http://www.my-project-management -expert.com/the-advantages-and-disadvantages-of-rup-software-development .html

Client server architecture. (u. ˚a.). H¨amtad fr˚an http://searchnetworking.techtarget.com/ definition/client-server

Collins, E. F. & de Lucena Jr., V. F. (2012, juni). Software test automation practices in agile development environment: an industry experience report. I (s. 57–63). IEEE Press. H¨amtad 2015-05-03, fr˚an http://dl.acm.org/citation.cfm?id=2663608.2663620

Companies using Node.js. (u. ˚a.). H¨amtad fr˚an https://nodejs.org/industry/

Cortex-A8 processors (forskningsrapport). (u. ˚a.). H¨amtad fr˚an http://infocenter.arm.com/ help/topic/com.arm.doc.subset.cortexa.a8/index.html\#cortexa8

David Andersen. (u. ˚a.). Lecture 6 - Datalink-,Framing,Switching. H¨amtad 2013-05-15, fr˚an http://www.cs.cmu.edu/~srini/15-441/F06/lectures/06-datalink.pdf

Flera magsjuka av eget brunnsvatten (forskningsrapport). (u. ˚a.). H¨amtad fr˚an http://www.st .nu/medelpad/sundsvall/flera-magsjuka-av-eget-brunnsvatten

Hartley, J. R. (1998). Concurrent engineering. Productivity Press. H¨amtad fr˚an http://www.amazon.com/Concurrent-Engineering-Shortening-Raising-Lowering/ dp/1563271893

Higuera, R. P., Dorofee, A. J., Walker, J. A. & Williams, R. C. (1994, juli). Team Risk Ma- nagement: A New Model for Customer-Supplier Relationships. Carnegie Mellon Univer- sity. H¨amtad fr˚an http://oai.dtic.mil/oai/oai?verb=getRecord\&metadataPrefix= html\&identifier=ADA283987

sity. H¨amtad fr˚an http://oai.dtic.mil/oai/oai?verb=getRecord\&metadataPrefix= html\&identifier=ADA310913

Jiantao Zhao & Liujie Qin. (2014). Design and Implementation of Static Ser- ver Based on Event-driven. I Software engineering and service science (s. 679– 682). H¨amtad fr˚an http://ieeexplore.ieee.org.e.bibl.liu.se/stamp/stamp.jsp?tp= \&arnumber=6933659\&tag=1 doi: 10.1109/ICSESS.2014.6933659

John Hunt. (2003). Guide to the Unified Process Featuring UML, Java and Design Patterns. Springer. H¨amtad fr˚an http://library.books24x7.com.e.bibl.liu.se/assetviewer .aspx?bkid=16238\&destid=1019\#1019

JSON. (u. ˚a.). H¨amtad 2015-05-13, fr˚an http://www.json.org/

Kai Lei, Yining Ma & Zhi Tan3. (2014). Performance Comparison and Evaluation of Web Deve- lopment Technologies in PHP, Python and Node.js. I 17th international conference on com- putational science and engineering (s. 661–668). H¨amtad fr˚an http://ieeexplore.ieee .org.e.bibl.liu.se/stamp/stamp.jsp?tp=\&arnumber=7023652

Kim H. Pries and Jon M. Quigley. (2011). Scrum Project Management. CRC Press.

Marcus Olsson, S. H. (2014). Experimentell j¨amf¨orelse av Cassandra, MongoDB och MySQL (doktorsavhandling, Blekinge Institute of Technology). H¨amtad fr˚an http://sea-mist.se/fou/cuppsats.nsf/all/d278348433255a3dc1257d060049cd01/ \$file/BTH2014Hevosmaa.pdf

Microsoft market share. (u. ˚a.). H¨amtad fr˚an http://news.microsoft.com/bythenumbers/ index.HTML

Node.js is taking over the Enterprise – whether you like it or not. (u. ˚a.). H¨amtad fr˚an https://www.centurylinkcloud.com/blog/post/node-js-is-taking-over -the-enterprise-whether-you-like-it-or-not/

N-tier architecture. (u. ˚a.). H¨amtad fr˚an https://msdn.microsoft.com/en-us/library/ bb384398.aspx

Paulson, L. D. (2005). Building Rich Web Applications with Ajax. IEEE Computer Soci- ety. H¨amtad fr˚an http://ieeexplore.ieee.org.e.bibl.liu.se/stamp/stamp.jsp?tp= \&arnumber=1516047 doi: 10.1109/MC.2005.330

Perry, D. E., Staudenmayer, N. A. & Lawrence G. Votta, J. (1994). Understan- ding Software Development Processes, Organizations, and Technologies. IEEE softwa- re. H¨amtad fr˚an http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.322 .9866\&rep=rep1\&type=pdf

Pritchard, C. L. (2014). Risk Management: Concepts and Guidance (Fifth edit utg˚avan). CRC Press. H¨amtad fr˚an https://books.google.com/books?hl=sv\&lr=\&id=soyZBQAAQBAJ\ &pgis=1

Questions with Creator Ryan Dahl. (u. ˚a.). H¨amtad fr˚an http://bostinno.streetwise.co/ 2011/01/31/node-js-interview-4-questions-with-creator-ryan-dahl/

Robert Ryan McCune. (2011). Node.js Paradigms and Benchmarks. Univer- sity of Notre Dame. H¨amtad fr˚an http://netscale.cse.nd.edu/cms/pub/Edu/ GradOSF11FinalProjects/final.pdf

Scrum alliance. (u. ˚a.). H¨amtad 2013-05-15, fr˚an https://www.scrumalliance.org/why-scrum/ core-scrum-values-roles

Silberschatz, A., Galvin, P. B. & Gagne, G. (2014). Operating System Concepts, Ninth Edition. John Wiley and Sons Inc. H¨amtad fr˚an http://codex.cs.yale.edu/avi/os-book/OS8/ os8c/

Slideshare - Unified Process. (2009). H¨amtad 2013-05-15, fr˚an http://www.slideshare.net/ guy\ davis/unified-process

Sommerville, I. (2010). Software engineering (9th ed.). Addison-Wesley. H¨amtad fr˚an http:// www.amazon.com/Software-Engineering-9th-Edition-Sommerville/dp/0137035152 TRANSMISSION CONTROL PROTOCOL. (1981). Information Sciences Institute at University

of Southern California. H¨amtad 2013-05-15, fr˚an https://www.ietf.org/rfc/rfc793.txt uml. (u. ˚a.). H¨amtad 2015-05-24, fr˚an https://http://www.uml.org/

Valueatwork - Vattenfallsmetodiken en kostsam myt. (2013). H¨amtad 2013-05-15, fr˚an http:// valueatwork.se/vattenfallsmetodiken-en-kostsam-myt/

w3c. (u. ˚a.). H¨amtad fr˚an http://www.w3.org/

Watkins, M. & Betancourt, C. (u. ˚a.). Ensuring real-time predictability. Texas Instruments. H¨amtad fr˚an http://www.ti.com/lit/wp/spry264/spry264.pdf

What is Scrum? An Agile Framework for Completing Complex Projects - Scrum Alliance. (u. ˚a.). H¨amtad 2015-05-10, fr˚an https://www.scrumalliance.org

Williams, R., Bertsch, B., Dale, B., van der Wiele, T., van Iwaarden, J., Smith, M. & Visser, R. (2006, januari). Quality and risk management: what are the key issues? The TQM Maga- zine, 18 (1), 67–86. H¨amtad fr˚an http://www.emeraldinsight.com/doi/full/10.1108/ 09544780610637703 doi: 10.1108/09544780610637703

Yodaiken, V. (u. ˚a.). The RTLinux Manifesto. Department of Computer Science at New Mexico Institute of Technology. H¨amtad fr˚an http://www.yodaiken.com/papers/rtlmanifesto .pdf

Bilaga A

Bilagor

dddddddddddddddddddddddddddddddddddddddddddddddddd

5 555555 5 5 555555 ?ddd?d?dddddddddd?dddddddddd?dddddddddd?d?ddddddd??d?ddddddddddddddd???ddddddd? ... a a a k 5 s 55 ?ddd?d??ddddd?dddddd?dd?ddddddddd?ddd?d?d?dd?ddddddddddddd? ... a j da 5 ?ddd?d???d?ddddd?ddddddddddddddddd?d??dddddddd?dd? ... a j 5 ?ddd?d??d?ddd?d???d?ddddddd?d?d?dddddddd?dddddddddddddddddddddddd?dddd??d?ddddddddd? ... s l s l a s l a s 5 ?ddd?d?dddddddd?d?dddddddd??ddddd?dddddddddddd??dddddd?d?dddddddddddd?ddd?ddddd?ddd? ... a l a l a l j 55

?ddd?dtddddd . j 5 55 ????ddddddd?d?d?dddddd?dddddd?dd?ddd?d?ddddddd?dddddddd?ddddddddddd?d??ddddd? ... t 5 t 55 ????ddddddd?d?d?dddddd?ddddddd???ddddddd?dddd?ddddddddddd?d?d?d??dddddd??d?ddddddd ?d?dddddddddddd?ddddd? ... . g . . . g 5 ????ddddddd?d?dtddddd . j 5 5 ?ddddddddd?d?ddddddddd?d??dddddd?ddd?dd?dddddddddd?dd? t l l ... a j da 5 5

?ddddddddd?d?dddddd?dddddd?dd?ddddddddd?ddddddd?dddddddd?ddd??dd?d??ddddddddddddd?? dddddddd???dddd?dd?d?dddddddd?dd?ddd? 555 ?ddddddddd?d??ddddd?dddddd?d??dddddddddddddddddd??dddddddddddddd?dddd?d?dddddd?ddddddddd?d?d ?d? ... a j 5 5 ?ddddddddd?dtddddd . j 5 5 5 ?d?dddd?d??ddddd?dddddd?d?dddddddd??dd?ddddddddddddddddddddd?d??dddddddd?dd? ... a j a 5 5 ?d?dddd?d??ddddd?dddddd?dd?ddddddddd?d?ddddddddddddddddddddd?d??dddddddd?dd? ... a a l j 555

5 g g ?d?dddd?d??ddddd?dddddd?d?ddddddd??d?ddddddddd? ... a l a l j 555 ?d?dddd?d??ddddd?dddddd?d?dddddddd???dddddddddd??d? ... a l a l j 555 ?d?dddd?d??ddddd?dddddd?d?dddddddddddddd?ddddd?dddddddd??dddddddddddd??dddddd?ddddddddddd? ... a l a l j 5 5 ?d?dddd?d?dddd?d?dddddddd??d?ddd?dddddd? ... j l a a a j l a a 5 5 ?d?dddd?dtddddd . j 5 5