Abstract

Although much evidence exists to suggest that conceptual software engineering design is a difficult task for software engineers to perform, current computationally intelligent tool support for software engineers is limited. While search-based approaches involving module clustering and refactoring have been proposed and show promise, such approaches are downstream in terms of the software development lifecycle - the designer must manually produce a design before search-based clustering and refactoring can take place. Interactive, user-centered search-based approaches, on the other hand, support the designer at the beginning of, and during, conceptual software design, and are investigated in this paper by means of a case study. Results show that interactive evolutionary search, supported by software agents, appears highly promising. As an open system, search is steered jointly by designer preferences and software agents. Directly traceable to the design problem domain, a mass of useful and interesting conceptual class designs are arrived at which may be visualized by the designer with quantitative measures of structural integrity such as design coupling and class cohesion. The conceptual class designs are found to be of equivalent or better coupling and cohesion when compared to a manual conceptual design of the case study, and by exploiting concurrent execution, the performance of the software agents is highly favorable.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call