Font Size: a A A

Collaborate Requirements Analysis Driven Architecture Pattern Selection Approaches Research

Posted on:2015-12-06Degree:DoctorType:Dissertation
Country:ChinaCandidate:X H ChenFull Text:PDF
GTID:1318330461953061Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The design of software architecture depends mainly on the functional requirements and quality requirements of software system. Compared with functional requirements, quality requirements are usually more difficult to satisfy, and often neglected by software architect. Meanwhile, software architecture design is a knowledge-intensive design activity. The satisfaction of quality requirements in software architecture is mostly decided by the personal knowledge and experience of software architect. There are few existent systematic methods to guide architectural design. Applying software architecture pattern is an important method for designing software architecture of high quality. The choice of software architecture is closely related to the quality requirement of the under development. Appling software system structure model can usually help meet part of the quality requirements, thereby optimizing the design of software architecture.However, most of the software quality requirements are acquired through customer. The acquired quality attribute classification cannot be tested or evaluated. In architectural design, the differences of system quality requirements are not considered. There is no accepted method for evaluating the importance of system quality requirements. To address these problems, we propose a software architecture choosing method based on collaborative requirement acquisition. The main contributions are in the following four aspects:(1) We propose a systematic quality classification for architectural structure pattern selection.We construct system quality classification and metrics system for designing software architecture on the base of existent quality requirements classification. We describe 21 quality requirements in the architecture design. They are divided into seven quality attributes, and we also give out the sub-quality attributes and metrics of these quality attributes. This classification system in the architecture design stage help to identify the type of the system quality requirement, and is also easier to be measured or evaluated. It provides the basis for the subsequent collaborative requirement acquisition and representation.(2) We propose a system quality requirement representation method based on collaborative requirement Elicitation.Based on our previous study on RGPS requirements meta-model framework and Reqwiki demand element model, we construct a meta model for system quality requirement representation based on collaborative requirement elicitation. The meta-model framework is centered in requirement. Particularly, in addition to describing the composition of requirement, requirement classification, requirement association and other elements of requirement in collaborative environment, it describes the quality of the requirement, and the corresponding sub-requirement for the quality requirement. And requirement related examples, operation and associations are given. Collaborative requirement acquisition method describes various aspects of requirement. It can capture users'requirements more comprehensively. The formal representation method also helps to provide a variety of requirements elicitation template for the later importance evaluation.(3) We propose system quality requirement importance assessment methods based on instance aggregation.We propose a subjective and an objective assessment method which derive the importance of a quality requirement instance, according to comprehensive evaluation of both subjective and objective importance. An aggregation algorithm is given to calculate the importance of quality requirement by aggregating the importance of its instances. The computation method for relative importance is given, in order to assess the weight of a specific quality requirement in the all quality requirements. Thus, clearer judgement can be made as for the relative importance of each quality requirements in the overall requirements of the system and more sensible choice can be made on pattern selection.(4) We propose an approach for architectural pattern selection based on the importance of quality requirementsBased on the existing software architecture pattern recommendation method build upon quality requirements, with further considerations on importance weights problem, the collaborative cluster characterization parameters and its importance obtained from (2) and (3) are used as part of the input of software architecture model recommendation. Arichtectrual patterns are recommended by the means of quantitative calculations. This approach can help new architect avoid blindness in architectural design. More accurate and efficient software architecture pattern recommendation and selection is possible.Finally, based on the above proposed related requirement acquisition, representation and architectural pattern selection approaches, we design cloud publishing platform based on collaboration, as a practical implementation of the above method.The collaborative requirement Elicitation method provided here can help developers have more comprehensive understanding of stakeholder needs for quality attributes. It bridges the gap between requirements analysis and system design. System architects can be guided with more accurate architectural pattern choices when making architecture design decisions, so that the system built is more in line with user needs.
Keywords/Search Tags:Software Quality Requirements, Collaborative Requirement Elicitation, Quality Requirement Importance Assessment, Software Architecture Pattern Selection, Cloud Publishiing Platform
PDF Full Text Request
Related items