VAASAN YLIOPISTO Tekniikan Ja Innovaatiojohtamisen Yksikkö Tekijä: Minne Paljakka Diplomityön Nimi: Vaatimusmäärittely Verkkosovellukselle Valvojan Nimi: Prof
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF VAASA SCHOOL OF TECHNOLOGY AND INNOVATIONS SOFTWARE ENGINEERING Minne Paljakka REQUIREMENTS SPECIFICATION FOR A WEB APPLICATION Master´s thesis for the degree of Master of Science in Technology submitted for inspec- tion, Vaasa, 29th March 2018. Supervisor Prof. Jouni Lampinen Instructor M.Sc. Kenneth Widell 2 ACKNOWLEDGEMENT The research behind this master’s thesis was made in collaboration with Wärtsilä Finland Oy. As a result, the research produced a requirements specification for an internal web- based business application that will next continue to be developed. Overall the whole requirements engineering process required a lot of interactions with the different stake- holders of the target software as well as support from others as well, being quite a human- centered process. Therefore, the research would not have been possible without all the people who participated in the realization of this project. In conclusion, I would like to thank everybody who were part of the meetings where this research topic or the related subjects were discussed and the requirements were discov- ered. In addition, special thanks go to Mikael Ehrs and Asko Vakkila, who gave me the topic for this thesis, and most of the support and co-operation during the whole research and its requirements engineering activities. Thank you also goes to the thesis instructor Kenneth Widell, as well as the supervisor Jouni Lampinen for their support and partici- pation. 3 CONTENTS ACKNOWLEDGEMENT 2 CONTENTS 3 ABBREVIATIONS 5 TIIVISTELMÄ 7 ABSTRACT 8 1 INTRODUCTION 9 1.1 Background 9 1.2 Objectives and structure 10 2 THEORY 12 2.1 Web applications and the Web 12 2.1.1 The Web 12 2.1.2 Web applications 14 2.2 Software engineering 18 2.2.1 Software engineering activities 19 2.2.2 Software process models 20 2.3 Requirements engineering 25 2.3.1 Different types of requirements 28 2.3.2 Requirements engineering activities 29 3 DESCRIPTION OF THE EXISTING APPLICATION 37 3.1 Overview 37 4 3.2 System architecture 41 3.3 Technical framework 42 3.4 Application logic 45 4 RESEARCH DESIGN 58 5 REQUIREMENTS SPECIFICATION 68 5.1 Application user profiles 69 5.2 Prototype representation 70 5.3 Functional requirements 83 5.4 Non-functional requirements 86 6 DISCUSSION AND CONCLUSIONS 89 REFERENCES 92 APPENDIXES 98 5 ABBREVIATIONS ADO ActiveX Data Objects ALM Application Lifecycle Management API Application Programming Interface ASP Active Server Pages DB Database DBMS Database Management System DLL Dynamic-link library EF Entity Framework GUI Graphical User Interface HTML HyperText Markup Language HTTP HyperText Transfer Protocol IDE Integrated Development Environment IEEE Institute of Electrical and Electronics Engineers IIS Internet Information Services MDA Model-Driven Architecture MDAC Microsoft Data Access Components MS Microsoft MVC Model-View-Controller NFR Non-Functional Requirement ODBC Open Database Connectivity OLE DB Object Linking and Embedding Database PI Product Information (Wärtsilä organizational unit) RE Requirements Engineering RDBMS Relational Database Management System RDS Remote Data Service RUP Rational Unified Process SE Software Engineering SNAC SQL Server Native Client SQL Structured Query Language SRS Software (or System) Requirements Specification 6 SSO Single Sign-On SysML Systems Modeling Language TCP/IP Transmission Control Protocol / Internet Protocol TDS TechDataSearch (Target application) UI User Interface UML Unified Modeling Language URI Uniform Resource Identifier URL Uniform Resource Locator VB Visual Basic VPN Virtual Private Network WWW World Wide Web XP Extreme Programming 7 VAASAN YLIOPISTO Tekniikan ja innovaatiojohtamisen yksikkö Tekijä: Minne Paljakka Diplomityön nimi: Vaatimusmäärittely verkkosovellukselle Valvojan nimi: Prof. Jouni Lampinen Ohjaajan nimi: M.Sc. Kenneth Widell Tutkinto: Diplomi-insinööri Koulutusohjelma: Tietotekniikan koulutusohjelma Suunta: Ohjelmistotekniikka Opintojen aloitusvuosi: 2012 Diplomityön valmistumisvuosi: 2018 Sivumäärä: 97 TIIVISTELMÄ Tämä tutkimus on osa ohjelmistotuotantoprojektia, jonka tarkoituksena on parantaa jo olemassa olevaa yrityskäyttöön suunnattua verkkosovellusta, jota käytetään moottoritek- nisen tiedon hakuun moottorityypeittäin. Tarve täysin uudelle järjestelmälle ja projektille on syntynyt, kun yrityksen liiketoiminta on kehittynyt ja sitä myöten synnyttänyt uusia ohjelmistovaatimuksia, jotka ylittävät olemassa olevan ohjelmiston ylläpidolliset rajat, sillä järjestelmän nykyinen teknologia on vanhentunut eikä näin ollen enää tue tarvitta- vien muutosten toteuttamista. Tutkimuksen päätavoitteena on tuottaa sekä toiminnalliset, että ei-toiminnalliset vaatimukset sisältävä vaatimusmäärittely tälle uudelle parannetulle ohjelmistolle. Lisäksi, tavoitteena on tarjota suosituksia projektin jatkumiselle sekä oh- jelmiston toteuttamisessa käytettäville teknologioille ja työkaluille. Tutkimus jakautui teoreettiseen ja empiiriseen osaan. Teoreettisessa osassa tutustuttiin sekä verkkosovellusten, että ohjelmistotekniikan teoriaan, keskittyen tarkemmin ohjel- mistojen vaatimusmäärittelyyn. Empiirisessä osassa, tutustuttiin ensin olemassa olevaan järjestelmään, jonka jälkeen tehtiin yksityiskohtainen tutkimussuunnitelma, joka edelleen toteutettiin. Käytännössä ohjelmiston eri sidosryhmät tunnistettiin, jonka jälkeen vaati- mukset kartoitettiin hyödyntämällä keskustelumuotisia haastatteluita yhdessä nopean prototypoinnin kanssa. Tuloksena saatiin materiaalia ohjelmiston vaatimuksista, josta analysoinnin, dokumentoinnin sekä vahvistamisen vaiheiden kautta toteutettiin lopulli- nen vaatimusmäärittelydokumentti. Lopuksi, esitettiin suositukset projektin jatkumiselle. Tutkimuksen tärkeimpänä tuloksena saavutettiin vaatimusmäärittely uudelle parannetulle verkkosovellukselle. Toteutettu vaatimusmäärittely esittää sekä toiminnalliset, että ei-toi- minnalliset vaatimukset järjestetyssä ja priorisoidussa luonnollisen kielen muodossa, sekä sisältää lisäksi tuotetun prototyypin, eli eräänlaisen paperimallin ohjelmiston käyttöliitty- mästä. Prototyyppi vaatimusmäärittelyn osana tarjoaa vaatimuksille visuaalisen esitysta- van helpottamaan kommunikointia eri sidosryhmien välillä. Lisäksi, tutkimus tarjoaa suo- situkset ohjelmiston toteutuksessa hyödynnettäville verkkoteknologioille, sekä projektin etenemiselle. Kaiken kaikkiaan, tulokset toimivat syötteenä seuraaville ohjelmistotuotan- toprojektin vaiheille, ja antavat vahvan pohjan projektin jatkumiselle. AVAINSANAT: Ohjelmistotuotanto, verkkosovellus, vaatimusmäärittely, ohjelmisto- prototyyppi 8 UNIVERSITY OF VAASA School of technology and innovations Author: Minne Paljakka Topic of the Thesis: Requirements specification for a web application Supervisor: Prof. Jouni Lampinen Instructor: M.Sc. Kenneth Widell Degree: Master of Science in Technology Degree Programme: Degree Programme in Information Technology Major of Subject: Software Engineering Year of Entering the University: 2012 Year of Completing the Thesis: 2018 Pages: 97 ABSTRACT This research is part of a software development project that aims to improve an existing web-based business application that is used to access engine technical data per different engine types. The need for a completely new application and development project has occurred, because the organization’s business has evolved and emerged new requirements that go beyond the maintenance of the existing system as the currently used technology is outdated and does no longer support the needed changes. The main intention of this research is to provide a requirements specification for the new improved application, in- cluding both the functional and non-functional requirements. Other objectives include giving recommendations for the continuation of the project as well as proposing the tech- nologies and tools to be used in the actual implementation. The research was divided into theoretical and empirical research. In the theoretical part the theory behind the web applications and software engineering were explored, concen- trating more in detail on the requirements engineering activity. In the empirical part, the existing application was first inspected, and then the detailed research design was made and executed. In practice, the different stakeholders for the application were identified, and requirements were discovered by utilizing conversational interviews in combination with early prototyping. As a result, the requirements in their raw form were discovered, and finally turned in to the final requirements specification through analysis, representa- tion and validation. Last, the recommendations for the project’s continuation were given. As a main result of this research, a requirements specification for the new enhanced web application was established. The produced specification gives both the functional and non-functional requirements in a prioritized and organized natural language form, but also includes the produced user interface mock-up prototype to provide more visual rep- resentation to easy the communication between the different stakeholders. In addition, the research gives recommendations for the web technologies and tools to be used in the implementation of the software, and provides suggestions for the continuation of the de- velopment project. Overall, the results will work as an input for the following develop- ment activities and give a good base for the project to proceed. KEYWORDS: Software engineering, web application, requirements engineering, soft- ware prototyping 9 1 INTRODUCTION Changes in software