Abstract

Assigning class responsibility is a design decision to be made early in the design phase in software development, which bridges requirements and an analysis model. In general, assigning class responsibility relies heavily on the expertise and experience of the developer, and it is often ad-hoc. Class responsibility assignment rules are hard to be uniformly defined across the various domains of systems. Thus, the existing work describes general stepwise guidelines without concrete methods, which imposes the limit in deriving an analysis model from requirements specification without any loss of information and providing sufficient quality of the analysis model. This study tried to grasp the commonality and variations in analyzing the business application domain. By narrowing the subject of the solution, the presented patterns can help identify and assign class responsibilities for a system belonging to the business application domain. The presented pattern language consists of six segmented patterns, including 19 variations of relationship type among conceptual classes. Each sequence of a use case specification could be analyzed as the result of weaving a set of the six segmented patterns. A case study with a payroll system is presented to prove the patterns' feasibility, explaining how the proposed patterns can develop an analysis model. The coverage of the proposing CRA patterns and enhancement of implementation code quality is discussed as the benefit.

Highlights

  • Developing an analysis model is the first phase in software development where abstract solutions are contrived

  • The case study result shows the feasibility of the proposed class responsibility assignment (CRA) pattern language, it is needed to prove how much responsibilities could be extracted from system behaviors in use case specifications by utilizing it

  • Those scenarios realized by utilizing the CRA pattern language are: Select Payment Method / Maintain Timecard / Create Employee Report / Maintain Purchase Order / Create Administrative Report/ Maintain Employee Info / Run Payroll / Login

Read more

Summary

Introduction

Developing an analysis model is the first phase in software development where abstract solutions are contrived. In the analysis model development, the task that is the most challenging and requires high creativity is assigning class responsibilities. The GRASP pattern [2] is remarkable and traditional among several approaches introduced to solve the CRA problem It provides several fragmentary solutions and still requires lots of ad-hoc decision-makings to implement the patterns in a specific system. Since introducing the GRASP pattern, several approaches [3,4,5] that try to lessen the heuristic aspect of the CRA problem have been proposed. Their limitation is that they propose a way to evaluate the CRA results rather than assign responsibility itself. The posterior evaluation cannot reduce developers‟ efforts which are already exerted for CRA

Methods
Results
Conclusion
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