Pienyrityksen työnhallintajärjestelmä: Kehittäminen ja arviointi
Kinnunen, Matti (2021)
Kinnunen, Matti
2021
Johtamisen ja tietotekniikan DI-ohjelma - Master's Programme in Management and Information Technology
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-05-25
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202105134920
https://urn.fi/URN:NBN:fi:tuni-202105134920
Tiivistelmä
Toiminnanohjausjärjestelmät (ERP, Enterprise Resource Planning) ovat yritysten tietojärjestelmiä, joilla organisaatiot voivat integroida erilaiset prosessit ja datan käsittelyn yhdeksi paketiksi. Myös työnhallintajärjestelmät luokitellaan toiminnanohjausjärjestelmiksi, mutta niiden käyttötarkoitus ja laajuus tulkittiin tässä työssä täysimittaisia toiminnanohjausjärjestelmiä suppeammaksi. Työn päätavoite on kehittää selaimessa toimiva, toimeksiantajan vaatimuksiin ja suunnitelmiin perustuva työnhallintajärjestelmän perusversio, jota on tarkoitus laajentaa ainakin varastonhallintaan ja laskutukseen liittyvien toimintojen osalta erillisessä projektissa perusversion valmistumisen jälkeen. Toimeksiantaja on jätevesijärjestelmien huoltoihin ja korjauksiin erikoistunut pienyritys. Tavoitteen saavuttamiseksi työssä kehitetään ensin metodologia, jonka avulla kyseinen ohjelmistoprojekti voidaan toteuttaa etänä toimeksiantajalle, jolla ei ole valmiutta tarkastella ja hyväksyä kehitettävän sovelluksen kehitysvaiheita pelkän lähdekoodin avulla. Metodologian kehittämisen kannalta parhaaksi löydetyistä tietolähteistä arvioitiin tutkimus, jossa kehitetään metodologia websovelluksen kehittämiseksi suoraan etäpalvelimelle ilman kehittäjien tietokoneille konfiguroitavia kehittämisympäristöjä. Metodologiassa käytetään verkossa toimivia koodieditoreja palvelinkoodin editointiin ja vastaavia ohjelmointiympäristöjä sen virheenetsintään. Se poikkeaa tässä työssä kehitetystä metodologiasta siten, että siinä käytetään palvelinkoodin editointiin webhotellin tarjoamaa editointitoimintoa ja sen virheenetsintään käytetään palvelimelta ladatun datan selaimen konsoliin ja näytölle tulostusta sekä kehittäjän tietokoneelle luotavan lokaalipalvelimen konsoliin tulostusta. Virheenetsintään käytetään lisäksi webhotellin tarjoamaa mahdollisuutta seurata tietokantaan tapahtumia muutoksia sovellusta käytettäessä sekä käyttöliittymän havainnointia eri tilanteissa. SPA (Single Page Application) – yhden sivun sovellus on malli, jolla viitataan tapaan toteuttaa websovelluksen käyttöliittymä. Kehitettävän järjestelmän kannalta parhaaksi arvioitiin tutkimus, jossa toteutetaan juuri SPA-mallia noudattava työnhallintajärjestelmän prototyyppi pieniksi ja keskisuuriksi luokiteltaville yrityksille. Se on toteutettu moduulirakenteisena AngularJS-sovelluskehystä käyttäen ja se koostuu muun muassa laskutuksesta ja varastonhallinnasta vastaavista moduuleista. Se poikkeaa tässä työssä kehitettävästä järjestelmästä ensinnäkin siten, että kehitystyössä päätettiin olla käyttämättä sovelluskehyksiä käyttöliittymän kehittämisessä. Lisäksi järjestelmää ei suunniteltu vastaavalla tavalla modulaariseksi, vaikka mahdollinen tarve modulaaristen valmisosien käyttöön tiedostettiinkin. Toimeksiantajan päätyminen valmisohjelmiston valintaan kesken projektin aiheutti tarpeen lisätä työhön projektin itsearviointi mukaan lukien työtulokset sekä kehittämisessä käytetyt työkalut. Työnhallintajärjestelmä kehitettiin siitä huolimatta käyttöönottovaihetta vaille valmiiksi. Projektissa toteutuneiden prosessien arviointikriteerinä käytettiin standardin ISO/IEC 29110 tarjoamaa ohjeistusta, joka sisältää mallit projektinhallinta- ja sovelluskehitysprosesseille mukaan lukien tehtävät niiden toteuttamiseksi. Prosessien arviointi perustuu ohjeistuksen määrittelemien tehtävien vertaamiseen toteutumaan. Työtuloksia eli toteutettua sovellusta arvioidaan muun muassa laajennettavuuden osalta. Kehittämiseen käytettäviä työkaluja arvioidaan niiden käytettävyyden kannalta. Työn tulos on käyttöönottoa vaille valmis työnhallintajärjestelmä sekä edellä kuvattu itsearviointi. Itsearvioinnin tuloksien perusteella tehdyistä johtopäätöksistä keskeisimpiä ovat kehitystyössä toteutettava ohjelmiston jako komponenteiksi, jonka todettiin edistävän muun muassa sovelluksen ylläpidettävyyttä ja testattavuutta. Komponenttijakoa taas pääteltiin edesauttavan sovelluskehyksien käyttö. Kehittämismetodologian suhteen todettiin, että mahdollisuutta verkossa toimivien koodieditorien ja ohjelmointiympäristöjen käyttöä suoraan webhotelliin kehitettävän palvelinsovelluksen kehittämisessä vastaavasti kuin löydetyssä tutkimuksessa kannattaa selvittää. ERP systems (Enterprise Resource Planning) are IT based enterprise systems which can be used to integrate various processes and data processing into a single entity. Work management systems are classified as ERP systems as well but in this master thesis their purpose of use and scope were interpreted to be reduced in comparison with full scale ERP systems. The main goal of this thesis is to develop a base version of a work management system which will be based on the requirements and plans of a customer. The system is required to have a browser user interface and the base version is initially planned to be expanded by invoicing and inventory management functions after this project. Based on ISO/IEC 29110 standard the customer of the system is classified as a very small entity. Its business is to maintain and repair the sewage systems of individual homes and cottages. To achieve the goals of this work a methodology which enables the accomplishment of the project remotely will be developed. The methodology must take account the fact that the customer has no ability to inspect and accept the development stages of the system by using source code only. A study which proposes a method for developing web applications on a remote server was evaluated as best to develop the methodology. The method includes the use of a web editor for editing files on the server and the use of a debugger of a webbased IDE for debugging a program on a remote server. It differs from the method which was developed for this project in such a way that an editing function provided by web hosting service was decided to use for editing files on the server. As to debugging of the server code, it was decided to use a console of a web browser to print and observe data downloaded from the server, printing the data on display as well and if necessary, to use a local server. In addition, it was planned to utilize the observing of database tables and user interface changes during the use and tests of the system. With regard to how the browser-based ERPs for very small enterprise should be made it was found one study where a prototype of SPA-based (Single Page Application) ERP system for small and medium-sized enterprises was developed. It consists of accounting and inventory management modules and it has developed by using AngularJS framework. It differs from the system developed in this work because there were no user interface frameworks used. In addition, the system was planned to develop without the module structure, but it was realized there could be some kind of need to ready-made modules. The customer decided to purchase a ready-made ERP system and not to utilize the system which was under development. That caused a need to include self-assessment part in this work. The development of the system except the deployment stage was finished anyway. It was decided to use ISO/IEC 29110 standard based processes as a criterion of processes which were completed in the development project. Those processes include tasks which are compared with the processes completed in the project. When it comes to the assessment of the system itself, inter alia the expandability of the system is assessed. Also, usabilities of development tools are assessed. Therefore, one of the results of this thesis is a work management system whose deployment stage is omitted. The other result is the self-assessment described above. The main conclusion based on result of the self-assessment is that software must be designed so that it consists of components. That kind of structure was founded to increase maintainability and testability. In addition, the use of web frameworks was concluded to help the identification and design of software components. The recommendation of this thesis is also to find out if the use of a web editor for editing files on the server and the use of a debugger of a web-based IDE for debugging a program on a remote server is possibly on servers provided by web hosting services respectively it was used in the study in which a method for developing web applications on a remote server was proposed.