Improving the quality of software design through pattern ontology
Boyer, Marc Guy
Software engineers use design patterns to refactor software models for quality. This displaces domain patterns and makes software hard to maintain. Detecting design patterns directly in requirements can circumvent this problem. To facilitate the analogical transfer of patterns from problem domain to solution model however we must describe patterns in ontological rather than in technical terms. In a first study novice designers used both pattern cases and a pattern ontology to detect design ideas and patterns in requirements. Errors in detection accuracy led to the revision of the pattern ontology and a second study into its pattern-discriminating power. Study results demonstrate that pattern ontology is superior to pattern cases in assisting novice software engineers in identifying patterns in the problem domain.
software, design, cognition, patterns, engineering, education, analogy, abstraction, ontology, requirements, refactoring, qualities, method, models, machine-learning, classifier, software-development, software-engineering