Virheraportointijärjestelmä
Junnila, Niko (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201905109081
https://urn.fi/URN:NBN:fi:amk-201905109081
Tiivistelmä
Tämä opinnäytetyö dokumentoi virheraportointijärjestelmän suunnittelun ja toteutuksen. Järjestelmä koostuu kolmesta erillisestä osasta: ohjelmakirjastosta, raportointiohjelmasta ja pilvipohjaisesta rajapinnasta. Toimeksiantajana työlle toimii GoodLife Technology Oy, jonka tuotteiden tueksi järjestelmä kehitetään.
Tavoitteena oli luoda järjestelmä, jolla voidaan kerätä ja tallentaa tietoja ohjelmissa esiintyvistä vikatilanteista. Kerättyjä tietoja voidaan myöhemmin hyödyntää virheiden paikantamisessa ja korjaamisessa, ja niistä voidaan muodostaa tilastoja luotettavuuden ja laadun mittareiksi. Järjestelmän ohella tahdottiin tutustua erilaisiin mekanismeihin, joiden päälle toteutus rakennettiin, ja tuottaa yleishyödyllistä ohjelmakoodia.
Toteutuksessa käytettiin hyväksi Microsoft Windows -käyttöjärjestelmän sovelluskehityspaketin kirjastojen tarjoamia toimintoja käsittelemättömien poikkeuksien havaitsemiseksi ja kaatumisvedoksien luomiseksi. Raportointiohjelman tekemisessä hyödynnettiin Windows Forms -kirjastoa ja .NET-komponenttikirjastoa. Rajapinta rakennettiin Microsoft Azure -pilvipalveluita käyttäen.
Tuloksena syntyi toimintakykyinen ja helposti laajennettavissa oleva ohjelmistokokonaisuus, joka hyödyntää yrityksen muissa tuotteissa käytettäviä teknologioita. Lisäksi järjestelmän tueksi syntyi runsaasti ohjelmakoodia, jota voidaan hyödyntää järjestelmän ulkopuolella esimerkiksi järjestelmätietojen hakemisessa ja lokiviestien kirjaamisessa. This thesis covers the design and implementation process of a crash reporting system. The system consists of three distinct modules which are a library, a reporting program, and an API running in the cloud. The development was commissioned by a company called GoodLife Technology Oy of which products the system aims to support.
The objective was to create a system that would collect and store information about detected faults in software. The collected data could then be analyzed and utilized in debugging, and statistical data could be composed to measure quality and reliability. Along with the system, the aspiration was to familiarize with the mechanisms the system relies upon, and to produce general-purpose code.
The implementation utilizes functionality provided by the SDK for Microsoft Windows operating systems to catch unhandled exceptions and to write memory dumps. The reporting program was built with .NET software framework and Windows Forms class library. The API was deployed on the cloud services provided by Microsoft Azure.
As a result, a functional and expandable crash reporting system came about. The system utilizes the same set of tools and technologies as the company’s products. Furthermore, a considerable amount of source code was generated in support of the system. The resulting code base could be employed outside the system to query system information or to implement logging into software, to name a couple of examples.
Tavoitteena oli luoda järjestelmä, jolla voidaan kerätä ja tallentaa tietoja ohjelmissa esiintyvistä vikatilanteista. Kerättyjä tietoja voidaan myöhemmin hyödyntää virheiden paikantamisessa ja korjaamisessa, ja niistä voidaan muodostaa tilastoja luotettavuuden ja laadun mittareiksi. Järjestelmän ohella tahdottiin tutustua erilaisiin mekanismeihin, joiden päälle toteutus rakennettiin, ja tuottaa yleishyödyllistä ohjelmakoodia.
Toteutuksessa käytettiin hyväksi Microsoft Windows -käyttöjärjestelmän sovelluskehityspaketin kirjastojen tarjoamia toimintoja käsittelemättömien poikkeuksien havaitsemiseksi ja kaatumisvedoksien luomiseksi. Raportointiohjelman tekemisessä hyödynnettiin Windows Forms -kirjastoa ja .NET-komponenttikirjastoa. Rajapinta rakennettiin Microsoft Azure -pilvipalveluita käyttäen.
Tuloksena syntyi toimintakykyinen ja helposti laajennettavissa oleva ohjelmistokokonaisuus, joka hyödyntää yrityksen muissa tuotteissa käytettäviä teknologioita. Lisäksi järjestelmän tueksi syntyi runsaasti ohjelmakoodia, jota voidaan hyödyntää järjestelmän ulkopuolella esimerkiksi järjestelmätietojen hakemisessa ja lokiviestien kirjaamisessa.
The objective was to create a system that would collect and store information about detected faults in software. The collected data could then be analyzed and utilized in debugging, and statistical data could be composed to measure quality and reliability. Along with the system, the aspiration was to familiarize with the mechanisms the system relies upon, and to produce general-purpose code.
The implementation utilizes functionality provided by the SDK for Microsoft Windows operating systems to catch unhandled exceptions and to write memory dumps. The reporting program was built with .NET software framework and Windows Forms class library. The API was deployed on the cloud services provided by Microsoft Azure.
As a result, a functional and expandable crash reporting system came about. The system utilizes the same set of tools and technologies as the company’s products. Furthermore, a considerable amount of source code was generated in support of the system. The resulting code base could be employed outside the system to query system information or to implement logging into software, to name a couple of examples.