Font Size: a A A

Requirements clustering for architecture-level modularity assessment

Posted on:2005-11-02Degree:Ph.DType:Dissertation
University:Florida Institute of TechnologyCandidate:Al-Otaiby, Turky NayefFull Text:PDF
GTID:1458390008987223Subject:Computer Science
Abstract/Summary:
Software architecture is a vital artifact of the software development lifecycle, and a good architecture contributes heavily to the success of a software system. Because of the criticality of software architecture to the success of a system, various software architecture assessment methods have been proposed focusing mainly on assessing external quality attributes of the architecture, such as maintainability and reliability. The emphasis on external attributes of software architecture is countered by a lack of attention to internal quality attributes such as modularity, in spite of the recognition of its importance to software design.; In this work, we have exploited the use of a very well known quality tool, Quality Function Deployment (QFD), for documenting and quantitatively assessing software architecture modularity and other internal quality attributes. Our method assesses software architecture modularity through assessing important internal quality attributes: coupling and cohesion. The method helps a software architect in making the proper decisions regarding further enhancements to a specified architecture. The advantage of using such an approach not only resides in its ability to help in assessing the architecture, but also in its simplicity in documenting all attributes in one easy-to-read document.; For assessing modularity at the architecture level, we cluster requirements, represented by scenarios, into functionally related groups using heuristic clustering and data mining clustering techniques based on attributes identified in the scenarios. However, since the data mining clustering techniques (partitioning and hierarchical) do not automatically identify the best modularization (clustering), we also present an approach to determine the best modularization of the requirements using an objective function referred to as the Modularization Quality Index (MQI). In the case of the existence of multiple alternative architectures, we use a multi-factor decision tool referred to as Analytical Hierarchy Process (AHP) to select the best among the alternatives.
Keywords/Search Tags:Architecture, Modularity, Clustering, Internal quality attributes, Requirements
Related items