Open software architecture evaluation system
University of New Brunswick
Software architecture evaluation is a process of identifying potential issues with the designed architecture for a software system. It is performed prior to the software system’s construction phase, to determine the system's architectural feasibility and to evaluate the system's ability to meet the given quality requirements and business goals. In this thesis, we propose an open and distributed software architecture evaluation system to support standard and user-defined scenario-based software architecture evaluation methods. The system supports three types of software architecture evaluations: conventional scenario-based evaluation, open evaluation, and crowdsourcing based evaluation. The system is composed of six components: evaluation creation management, evaluation methodology management, team organization management, evaluator management, evaluation execution management, and post evaluation management. Those components can be configured for different evaluation types. A prototype of the proposed system has been implemented. A case study is also described in the thesis for architecture evaluation of a real-world software system using the proposed software architecture evaluation system.