QAExtractor: A Quality Attributes Extraction Framework in Agile-Based Software Development

Author(s):  
Mohsin Ahmed ◽  
Saif Ur Rehman Khan ◽  
Khubaib Amjad Alam
2016 ◽  
Vol 14 (38) ◽  
pp. 74-86
Author(s):  
Flor de Maria Hernández Pérez ◽  
Julio Ariel Hurtado Algeria

The architecture software has become a key asset for software organizations because it facilitates achieving quality goals and developing of easy evolvable products. However, in small organizations, software architecture is usually a vague idea about the structure of solution. In this paper, a case of applying several methods of architecture (QAW, ADD and VaB) with small teams constituted by software developers, during a course of software development, is presented. Some difficulties to trace and correctly document the rationale associated with quality attributes, tactics architectural and selected patterns, were identified. It was established the difficulty of following an architectural process and to let consistent evidence about that, especially when the same specification generates conflict between the established attributes and tactics and patterns that going establishing..


2017 ◽  
Vol 10 (13) ◽  
pp. 122
Author(s):  
B Sathis Kumar

Every software development organization strives for customer satisfaction. It is universally accepted that the success of software development lies in the clear understanding of the client requirements. During requirement elicitation and analysis stage, the system analyst identifies the functional and non-functional requirements from the customer. Security, usability, reliability, performance, scalability and supportability are the significant quality attributes of a software system. These quality attributes are also referred as non-functional requirements. Only a few functional and quality attributes requirement help to identify and shape the software architecture. A software system’s architecture is the set of prime design decisions made about the system. If the requirement influences the architectural design decision then, it is referred as Architecturally Significant Requirement (ASR). Identifying and specifying all the possible ASR are important tasks in the requirement elicitation and analysis stage.In this research, general problems that are faced while capturing and specifying ASR in requirement elicitation and analysis is studied. Among the different requirement elicitation techniques, use case diagram has been identified and enhanced to solve the problem of capturing and specifying ASR during the requirement elicitation and analysis phase 


2014 ◽  
pp. 1264-1288
Author(s):  
Patrick H. S. Brito ◽  
Ig Ibert Bittencourt ◽  
Aydano Pamponet Machado ◽  
Evandro Costa ◽  
Olavo Holanda ◽  
...  

The construction of Educational Recommender System (ERS) demands the incorporation of quality attributes at the software design, such as availability for preventing the service to be unavailable for a long time, and scalability for preventing the system from going offline due to a large number of simultaneous requests. The incorporation of such characteristics makes ERS more complex and expensive, but existing strategies for designing ERS do not consider quality attributes in an explicit way. This chapter presents an architecture-centered solution, which is partially supported by tools and considers quality attributes as early as possible in the software development process in a systematic way, from requirements to the source code. The feasibility of the proposed process is showed in terms of a case study executed in a “step-by-step” fashion, presenting how the software architecture can be designed and gradually refined until it achieves the level of object-oriented classes generated based on design patterns.


Author(s):  
Ibrahim Mohammad Ba’abbad ◽  
M. Rizwan Jameel Qureshi

The quality of a product is one of the major interests of the manufacturing process in all industries. The software industry imposes to construct a project with several phases to ensure producing high-quality software. A software development company estimates time, effort and cost of the project during planning phase. It is important to have accurate estimations to reduce the risks of project failure. Several cost estimation methods are practiced in the software development companies such as Function Point (FP), Use Case Points (UCP), Constructive Cost Model I and II and Story Points (SP). UCP cost estimation method is taken in this research to improve the accuracy of its estimation. UCP estimation depends on the use case diagram of the proposed system. A use case diagram describes the main functional requirements of the proposed system. UCP partially considers non-functional requirements through the technical and environmental factors. There is a lacking in the UCP method to consider the importance of quality attributes in the estimating process. This paper proposes an extended version of the existing UCP method named Quality Extended Use Case Point (QUCP) method in which quality attributes are included to improve the accuracy of cost estimation. A questionnaire is used to validate the proposed QUCP method. It is found after data analysis that seventy five percentages of the participants are agreed that the proposed method will not only help to improve the accuracy of cost estimation but it will also enable a software development company to deliver high-quality products.


2012 ◽  
pp. 512-532
Author(s):  
Adel Taweel ◽  
Gareth Tyson

From the outset, service-based systems offer several advantages, including the promise of shortening the development life cycle, reducing the costs of software development and faster utilisation of recent technical improvements in the software industry in terms of capability, reliability, compatibility, performance, and so forth. However, this is rarely realised in practice. An important issue of service-based systems is that they are likely to be (or perhaps already being) used in domains where human life and/or economic loss are possible and the need for a highly reliable system is a must. However, would it be possible to build reliable service-based systems that meet such domains’ requirements? Does it necessarily mean that composing a system from highly reliable services produce a highly reliable system? Is it possible to predict quality attributes of a service-based system from its services before building it? In this chapter, the complexity of this issue is highlighted, focusing on reliability, in an attempt to answer some of these questions. The chapter outlines various approaches that attempt to address this issue, and proposes a possible way forward for predicting the reliability of service-based systems from its individual services.


Author(s):  
S. A. Golovin ◽  
S. V. Zykov ◽  
Yu. P. Korablin ◽  
D. A. Kryukov

In most software engineering approaches, software design begins with defining functional requirements, which is well suited to web-based software development projects. When designing high-critical large-scale software intended for industrial use, accounting for non-functional software requirements is also required. The main idea of the proposed document-oriented approach is to design a stable architectural solution as early as possible, taking into account the nonfunctional characteristics of the software: reliability, security, maintainability and performance (quality attributes). At the same time, the key issue is the coordination of functional requirements, taking into account technical limitations and business requirements achieved during the steady interaction of customer and developer teams. To increase the flexibility of the designed solutions and prevent crisis situations when developing highly critical large-scale software, it is proposed to use the approach integrating the architecture-centric design method (ACDM), the architecture-tradeoff analysis method (ATAM) with a matrix enterprise architecture matrix (EAM). This allows getting a result that is adequate to the required level of responsibility and reliability. Consideration of quality attributes within the framework of the method of compromise analysis makes it possible to select and make certain decisions in software design taking into account the scale of the software and its scope. The main attributes of product quality are highlighted (ISO 25010 standard), critical scenarios are defined for each of them (templates and use cases). The use of these templates for detailed software design with the necessary parameters of functional requirements, business conditions and technological limitations reduces the risk of developing unpredictable and uncertain system behavior. Based on the proposed approach, an architectural solution is presented for highly critical, responsible, large-scale software for managing autonomous robotic open-pit mining of minerals. Critical attributes for creating the specified software were identified and ranked, and the architecture of the solution according to the SWEBOK software development standard was described. Further, taking into account the nature, scale and scope of the software solution, recommendations are given on high-level architectural templates for the system design, including layers, pipelines and microservices. The proposed architecture-oriented development method is suitable for industrial-level software in various subject areas.


2019 ◽  
Vol 8 (2S11) ◽  
pp. 2129-2132

Non-Functional requirements elicitation is one of the most important activity in requirements engineering. Non-functional requirements define the quality attributes of software system. If this analysis is not done properly, it may cause for problems in further phases that in turn may lead to failure of the software. Hence the non-functional requirements analysis has to be given at most priority in software development. This paper presents survey on different approaches proposed for Non-Functional requirements analysis


Author(s):  
Adel Taweel ◽  
Gareth Tyson

From the outset, service-based systems offer several advantages, including the promise of shortening the development life cycle, reducing the costs of software development and faster utilisation of recent technical improvements in the software industry in terms of capability, reliability, compatibility, performance, and so forth. However, this is rarely realised in practice. An important issue of service-based systems is that they are likely to be (or perhaps already being) used in domains where human life and/or economic loss are possible and the need for a highly reliable system is a must. However, would it be possible to build reliable service-based systems that meet such domains’ requirements? Does it necessarily mean that composing a system from highly reliable services produce a highly reliable system? Is it possible to predict quality attributes of a service-based system from its services before building it? In this chapter, the complexity of this issue is highlighted, focusing on reliability, in an attempt to answer some of these questions. The chapter outlines various approaches that attempt to address this issue, and proposes a possible way forward for predicting the reliability of service-based systems from its individual services.


Sign in / Sign up

Export Citation Format

Share Document