You are on page 1of 3

Addressing Quality requirements in software architecture

Kiran Moses Katamreddy


19861114-7219
Kika09@student.bth.se
Ronneby

ABSTRACT inconvenience, system properties (quality requirements) are


This paper is written as a report for addressing quality required to specify in SRS. According to [4] without
requirements in software architecture. Since quality experience or guidance, an architect could easily pick
requirements play a crucial role in influencing software wrong details to expose in the architecture and could miss
architecture, it should be considered at the initial stages of the important ones. Previous architects experience will be
system. Lack of quality requirements results in the helpful for architectural design. But there is no effective
difficulties in the system. In this paper we focused on methodology to support and guide software architectural
research questions and proposed relevant methodologies to design. However it is quite difficult activity to transform
give a solution. SRS into software architecture. The main task behind the
challenge is to develop software architecture with desired
Aim quality levels. The software architecture of a system is the
The main research aim of this project is to identify, analyze, structures of the system, which comprise software
and propose a method for addressing quality requirements components and relationships between them. Quality
during software architecture design. This paper also attributes can be addressed by the combination of
discusses the impact of quality requirements on software components.
architecture. According to [4], Hofmiester proposed a method which
Objectives depicts four views in Software architecture. Conceptual
 view handles some quality requirements such as
 Putting software architecture in the context of performance, maintainability or dependability and makes
quality requirements. architecture available to different stakeholders. In Module
 Identification and improve the way that quality view the functionality of the system is mapped and
requirements handled in the software architecture. controlled. In this view software architect addresses how
 The quality attributes specified in the requirement the conceptual solution can be realized in today’s software
specification and their relationship with quality platforms and technologies. An execution view describes
requirement is discussed. how modules are mapped to elements provided by the
runtime platform. It also describes the flow of control. The
Keywords final view in software architecture is code view in which the
Quality requirements, Quality attributes, Software elements are mapped to the implementation.
architecture design. According to [4] The Quality requirements and desired
quality attributes are forwarded to software architecture
1. Background through development tasks like domain analysis,
In the field of software engineering, architectural design requirements analysis and risk analysis.
plays a vital role to describe functionality of a system. The .
characterization of software systems are done based on their
functionality (what the system will do) and by their non- 2. Definition of software architecture
functionality (how the system does with respect to quality There were quite confusions with synonyms like
attributes like reliability, efficiency, performance etc.,) architectural pattern is also known as architectural style and
[6].Despite of the fact that both concepts are equally active quality requirements as Non-functional requirements or
and influences for the software development, but non- system properties. Perhaps to avoid this confusion it will be
functionality requirements are often neglected in many better to have a single standard definition. Many authors,
cases during specification. Even though well-specified researchers and architects provided their own experiences
functional and interface requirements, many software and definitions on software architecture. But there is still no
projects failed because they had a poor set of quality standard definition on software architecture. Even though a
attribute requirements [1]. This actually results in the lack wide popular definition of software architecture is “A
of quality attributes in software architecture. The quality software architecture for a system is the structure or
requirements help to make a boundary for the final quality structures of the system, which comprise components, their
of a designed system. So to strictly avoid these
externally visible behavior and the relationships among requirements impact on the software system. By
them” [2]. considering above Fig1 it exhibits new conflicts. It should
3. Software requirements be performed in the earlier point of specifying SRS and it is
Software requirements are specified in SRS during the early a good approach of balancing quality requirements.
point of software development process of the system. It
consists of Functional and Non-functional requirements 5. Software architecture Patterns
(quality requirements) which provides as input for the In order to balance the fulfillment of requirements software
software architect design. As per previous authors architect would be supported by the predefined problems
Functional requirements is described as “statements of solutions and the previous experience to handle the
services the system should provide, how the system should situation. Patterns are best suitable tool for designing
react to particular inputs and how the system should software architecture. It appears as documentation consists
behave in particular situations”[7].In past the authors were of recurring design problems with the particular solution.
concentrating on Functional requirements of software but Due to predefined documentation of solutions to the
now non functional requirements are increasing their recurring problems it supports the development and
importance towards software architecture. To avoid the maintainability of large software architecture systems.
confusion, one of the goals of this research is to reveal the Previous experiences concluded patterns into different
importance of quality requirements in software architecture types of categories and these helps to address development
and to ensure they are always taken into account during a quality requirements.
design. .
A software system consists of different quality
characteristics. The quality of these software systems 6. Research Gap
characteristics is a quality attribute. A quality attribute is The main problem domain of this paper is the fulfillment of
“a characteristic of software, or a generic term applying to quality requirements in software architecture at high
quality factors,quality subfactors, or metric values” [5]. abstraction level. According to [4] abstraction manages
The quality attributes exhibits any one of the three kinds of complexity and many of the details needed are abstracted
impacts like passive impact, positive impact, negative and encapsulated during software architecture. To evaluate
impact each other. By considering the previous authors this domain author focused on the related researches
reviews we have a diagram explaining about quality through literature survey. Buschmann et al. [8]. Categorized
attribute impact and relationships. eight architectural patterns to provide guidance and support
for the architect designers. There is a gap in this research
like it is difficult to identify the suitable pattern to
implement for solving problems..

7. Related Research work


In order to research on this topic, author made a literature
survey and found various research articles related to this
domain. Previous authors proposed different methods to
address quality requirements in software architecture.
Xavier French et.al. [3] proposed an approach to put non-
functional requirements in software architecture. They
proposed a notation to describe non-functionality in a
systematic manner, and used it to analyze two particular
aspects of the meeting scheduler case study, user interaction
and performance.

8. Research Questions
Relations between Quality Attribute impact and relationships
[McCall 1994][2] 1. How to enhance the way of handling quality
requirements in software architecture?
4. Trade off analysis 2. How to choose an architectural pattern which suits
It is a design analysis process framed with benefits and best for the given quality requirements?
liabilities of quality requirements in architectural design. It 9. Research Approach
will be beneficial for further analysis of quality
In order to perform further research we would use rules described because the feedback received from different users depends
in [8]. Here case study is performed on user interaction and on their expertise in the concerned field of study. We focus
performance to address non-functional requirements in software on the importance of software architecture evaluation as a
architecture. To accomplish this author uses mixed method of
method of identifying potential risks and verifying that the
study where an empirical approach with systematic result is
obtained. We use risk analysis to validate our results.
quality requirements have been addressed during the
design. It was expected to produce similar results. To
The research question RQ1 can be answered by conducting an overcome this threat the selection process of guidance from
qualitative methodology of extensive literature survey performed
well experienced software architects and developers has
on all the related articles and books collected by the author. This
extracts the knowledge of proposing a enhanced way to handling been taken.
quality requirements. The solution of this question classifies
qualitative factors. As author proposed literature survey in related 12. REFERENCES
research work and further information regarding problem would [1] B. Boehm, H. In, “Identifying Quality Requirement
become a solution of this research question. Conflicts”, in IEEE Software 13(2):25-36, 1996.
The second research question RQ2 is prepared by a design [2]Bass, L, clements, P,& Kazman,R.Software Architecture
support method questionnaire is prepared quantitatively. The in practice. Reading, MA: Addison-Wesley Longman,1998.
designed questionnaire consists of different parts. Initial part is [3]Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad,
prepared by the questionnaire technique to encourage and make M. Stal, Pattern-Oriented Software Architecture. A System
people for participation. Next part consists of introduction of of Patterns, John Wiley and Sons, 1996.
participants to analyze their experience in software architecture
[4]Hofmiester c.et.al, “Applied software architecture”,
regarding quality requirements. Further parts consist of few
necessary sub questions about choosing an architectural pattern to
From a book.
consider on given quality requirements. The architects experience [5]Institute of Electrical and Electronics Engineers, IEEE
helps them to fill the questionnaire completely. By following the Standard 1061-1998:A Standard for a Software Quality
questionnaire expected solution can be identified. Metrics Methodology, New York, 1998.
[6]Svanbherg, M. In, “Quality Aspects of Software
10. Goal Systems”, From lecture notes.
This paper mainly focuses on the fulfillment of quality [7]Sommerville, I.,Kotonya G., Requirements Engineering:
requirements in software architecture with the help of various
Processes and Techniques, John Wiley and Sons, 1998.
literature surveys. Author proposed a method of case study on
user interaction and performance to address non-functional
[8]Sorensen, C. “This is Not an Article, just some thoughts
requirements in software architecture. The design support method on how to write one”, 17th Information systems Research
questionnaire is prepared with different parts and takes the seminar In Scandinavian at Syöte Conference Centre,
guidance support of architects for further research. Finland, August 6–9, Syöte, Finland, ed. Penti Kerola, Antti
Juustila, and Janne Järvinen. Oulu University, vol. I, pp. 46-
59.
11. RISKS
We will do risk analysis and will identify various threats to
validity. We will take counter measures for the identified
risks and will validate our results. In the selection of
participants for quality requirements is a fundamental threat

You might also like