Measuring software design quality
Measuring software design quality
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
An introduction to genetic algorithms
An introduction to genetic algorithms
Applying UML and patterns: an introduction to object-oriented analysis and design
Applying UML and patterns: an introduction to object-oriented analysis and design
Applying use cases: a practical guide
Applying use cases: a practical guide
Data mining: concepts and techniques
Data mining: concepts and techniques
Program design by informal English descriptions
Communications of the ACM
Writing Effective Use Cases
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
Software Design
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Software requirements modularization using partitioning clustering technique
ACM-SE 45 Proceedings of the 45th annual southeast regional conference
Scenario support for effective requirements
Information and Software Technology
Hi-index | 0.00 |
Due to the increasing complexity of today's software applications, design methodologies are of great concern to the software community. The design phase of the software lifecycle is a major factor to the success of a software system. Some studies have shown that the majority of errors detected during the testing phase are related to design. Therefore, it is very critical to assess the quality of the design. The correct top-level modularization of the software is critical to the design quality.Software modularity is not a new concept in the software engineering field; it has been a design issue since the earliest days of software development. Because the software designer cannot be expected to conceptualize a complex software application as a whole, it is usual to create a top-level design which has been decomposed into a set of modules. The degree of modularization is a subjective concept that is difficult to measure; however, coupling and cohesion are two well-known concepts that are used to characterize software modularization.In this paper we will illustrate how requirements scenarios can be clustered based on attributes identified in the scenarios. The technique uses heuristic clustering methods that cluster scenarios so that those scenarios within a cluster have a strong functional relationship with one another and weak relationships to the scenarios in other clusters. Hence, cohesion within clusters is maximized while coupling between clusters is minimized. Consequently, software modularization based on these clusters should provide a good initial design.