Quality-oriented software architecture development

Master's thesis

Antti Evesti

Research output: Book/ReportBook (author)Scientificpeer-review

Abstract

Producing software products of good quality requires that quality requirements are taken into account as early as possible. In theory, the first place in which quality requirements can be addressed is architectural models of software. However, in practice, the software's architecture is only used to describe the functionality of the developed software. This means that the implemented software may not fulfil its quality requirements and some parts of the implementation process might be useless. The main research problem in this work is how to define and connect quality requirements with the software architecture in such a way that the requirements can vary between software components and software family members. An environment for defining and collecting software's quality requirements was designed and implemented in this work. The environment consists of three main parts: quality meta-data management, quality modelling and quality evaluation. The quality meta-data management provides a possibility to define each quality attribute into an ontology form. These ontologies are utilized when quality requirements are defined in order to define the requirements in a uniform way in the quality modelling phase. Quality requirements are defined according to the UML profile developed for that purpose, so that it would be possible to represent these requirements in the architectural models. Finally, the architecture's quality is evaluated using evaluation tools. The purpose was to implement the whole environment on the Eclipse platform using available open source components. The Eclipse was selected because it is a widely used open source platform, which makes it easier to distribute the software developed during this work. The Eclipse tool evaluation confirmed that TOPCASED is the best available UML tool for the Eclipse and the best Eclipse ontology tool is EODM. However, EODM does not fulfil all the desired requirements of this work and this enforced the use of the Protégé ontology tool. The implemented environment was tested using the defined test scenarios. The tests proved that the implemented environment works as expected. In addition, the developed quality profile offered an appropriate way to connect the defined quality requirements to the architectural models. There are still many things that need additional research and development before the environment and the quality profile can be utilized in software design in industry.
Original languageEnglish
Place of PublicationEspoo
PublisherVTT Technical Research Centre of Finland
Number of pages86
ISBN (Electronic)978-951-38-7011-9
Publication statusPublished - 2007
MoE publication typeC1 Separate scientific books

Publication series

NameVTT Publications
PublisherVTT
No.636
ISSN (Print)1235-0621
ISSN (Electronic)1455-0849

Fingerprint

Software architecture
Ontology
Metadata
Information management
Software design
Industry

Keywords

  • quality-oriented software architecture
  • software development
  • quality requirements
  • ontologies
  • quality meta-data management
  • quality modelling
  • quality evaluation
  • Unified Modeling Language

Cite this

Evesti, A. (2007). Quality-oriented software architecture development: Master's thesis. Espoo: VTT Technical Research Centre of Finland. VTT Publications, No. 636
Evesti, Antti. / Quality-oriented software architecture development : Master's thesis. Espoo : VTT Technical Research Centre of Finland, 2007. 86 p. (VTT Publications; No. 636).
@book{bc591a64e879460ea0d331b8aa8ce8ff,
title = "Quality-oriented software architecture development: Master's thesis",
abstract = "Producing software products of good quality requires that quality requirements are taken into account as early as possible. In theory, the first place in which quality requirements can be addressed is architectural models of software. However, in practice, the software's architecture is only used to describe the functionality of the developed software. This means that the implemented software may not fulfil its quality requirements and some parts of the implementation process might be useless. The main research problem in this work is how to define and connect quality requirements with the software architecture in such a way that the requirements can vary between software components and software family members. An environment for defining and collecting software's quality requirements was designed and implemented in this work. The environment consists of three main parts: quality meta-data management, quality modelling and quality evaluation. The quality meta-data management provides a possibility to define each quality attribute into an ontology form. These ontologies are utilized when quality requirements are defined in order to define the requirements in a uniform way in the quality modelling phase. Quality requirements are defined according to the UML profile developed for that purpose, so that it would be possible to represent these requirements in the architectural models. Finally, the architecture's quality is evaluated using evaluation tools. The purpose was to implement the whole environment on the Eclipse platform using available open source components. The Eclipse was selected because it is a widely used open source platform, which makes it easier to distribute the software developed during this work. The Eclipse tool evaluation confirmed that TOPCASED is the best available UML tool for the Eclipse and the best Eclipse ontology tool is EODM. However, EODM does not fulfil all the desired requirements of this work and this enforced the use of the Prot{\'e}g{\'e} ontology tool. The implemented environment was tested using the defined test scenarios. The tests proved that the implemented environment works as expected. In addition, the developed quality profile offered an appropriate way to connect the defined quality requirements to the architectural models. There are still many things that need additional research and development before the environment and the quality profile can be utilized in software design in industry.",
keywords = "quality-oriented software architecture, software development, quality requirements, ontologies, quality meta-data management, quality modelling, quality evaluation, Unified Modeling Language",
author = "Antti Evesti",
note = "Project code: 562",
year = "2007",
language = "English",
series = "VTT Publications",
publisher = "VTT Technical Research Centre of Finland",
number = "636",
address = "Finland",

}

Evesti, A 2007, Quality-oriented software architecture development: Master's thesis. VTT Publications, no. 636, VTT Technical Research Centre of Finland, Espoo.

Quality-oriented software architecture development : Master's thesis. / Evesti, Antti.

Espoo : VTT Technical Research Centre of Finland, 2007. 86 p. (VTT Publications; No. 636).

Research output: Book/ReportBook (author)Scientificpeer-review

TY - BOOK

T1 - Quality-oriented software architecture development

T2 - Master's thesis

AU - Evesti, Antti

N1 - Project code: 562

PY - 2007

Y1 - 2007

N2 - Producing software products of good quality requires that quality requirements are taken into account as early as possible. In theory, the first place in which quality requirements can be addressed is architectural models of software. However, in practice, the software's architecture is only used to describe the functionality of the developed software. This means that the implemented software may not fulfil its quality requirements and some parts of the implementation process might be useless. The main research problem in this work is how to define and connect quality requirements with the software architecture in such a way that the requirements can vary between software components and software family members. An environment for defining and collecting software's quality requirements was designed and implemented in this work. The environment consists of three main parts: quality meta-data management, quality modelling and quality evaluation. The quality meta-data management provides a possibility to define each quality attribute into an ontology form. These ontologies are utilized when quality requirements are defined in order to define the requirements in a uniform way in the quality modelling phase. Quality requirements are defined according to the UML profile developed for that purpose, so that it would be possible to represent these requirements in the architectural models. Finally, the architecture's quality is evaluated using evaluation tools. The purpose was to implement the whole environment on the Eclipse platform using available open source components. The Eclipse was selected because it is a widely used open source platform, which makes it easier to distribute the software developed during this work. The Eclipse tool evaluation confirmed that TOPCASED is the best available UML tool for the Eclipse and the best Eclipse ontology tool is EODM. However, EODM does not fulfil all the desired requirements of this work and this enforced the use of the Protégé ontology tool. The implemented environment was tested using the defined test scenarios. The tests proved that the implemented environment works as expected. In addition, the developed quality profile offered an appropriate way to connect the defined quality requirements to the architectural models. There are still many things that need additional research and development before the environment and the quality profile can be utilized in software design in industry.

AB - Producing software products of good quality requires that quality requirements are taken into account as early as possible. In theory, the first place in which quality requirements can be addressed is architectural models of software. However, in practice, the software's architecture is only used to describe the functionality of the developed software. This means that the implemented software may not fulfil its quality requirements and some parts of the implementation process might be useless. The main research problem in this work is how to define and connect quality requirements with the software architecture in such a way that the requirements can vary between software components and software family members. An environment for defining and collecting software's quality requirements was designed and implemented in this work. The environment consists of three main parts: quality meta-data management, quality modelling and quality evaluation. The quality meta-data management provides a possibility to define each quality attribute into an ontology form. These ontologies are utilized when quality requirements are defined in order to define the requirements in a uniform way in the quality modelling phase. Quality requirements are defined according to the UML profile developed for that purpose, so that it would be possible to represent these requirements in the architectural models. Finally, the architecture's quality is evaluated using evaluation tools. The purpose was to implement the whole environment on the Eclipse platform using available open source components. The Eclipse was selected because it is a widely used open source platform, which makes it easier to distribute the software developed during this work. The Eclipse tool evaluation confirmed that TOPCASED is the best available UML tool for the Eclipse and the best Eclipse ontology tool is EODM. However, EODM does not fulfil all the desired requirements of this work and this enforced the use of the Protégé ontology tool. The implemented environment was tested using the defined test scenarios. The tests proved that the implemented environment works as expected. In addition, the developed quality profile offered an appropriate way to connect the defined quality requirements to the architectural models. There are still many things that need additional research and development before the environment and the quality profile can be utilized in software design in industry.

KW - quality-oriented software architecture

KW - software development

KW - quality requirements

KW - ontologies

KW - quality meta-data management

KW - quality modelling

KW - quality evaluation

KW - Unified Modeling Language

M3 - Book (author)

T3 - VTT Publications

BT - Quality-oriented software architecture development

PB - VTT Technical Research Centre of Finland

CY - Espoo

ER -

Evesti A. Quality-oriented software architecture development: Master's thesis. Espoo: VTT Technical Research Centre of Finland, 2007. 86 p. (VTT Publications; No. 636).