Comparing representations with relational and EER models
Communications of the ACM
Designing object-oriented software
Designing object-oriented software
The object-oriented brewery: a comparison of two object-oriented development methods
ACM SIGSOFT Software Engineering Notes
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The Unified Modeling Language user guide
The Unified Modeling Language user guide
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
The unified software development process
The unified software development process
Proceedings of the 22nd international conference on Software engineering
Applying use case driven object modeling with UML: an annotated e-commerce example
Applying use case driven object modeling with UML: an annotated e-commerce example
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
Writing Effective Use Cases
Designing Flexible Object-Oriented Systems with UML
Designing Flexible Object-Oriented Systems with UML
Object Oriented Systems Development
Object Oriented Systems Development
Using Uml: Software Engineering with Objects and Components
Using Uml: Software Engineering with Objects and Components
Uml and the Unified Process: Practical Object-Oriented Analysis and Design
Uml and the Unified Process: Practical Object-Oriented Analysis and Design
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
A web-based support environment for software engineering experiments
Nordic Journal of Computing
An Evaluation of Applying Use Cases to Construct Design versus Validate Design
HICSS '03 Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03) - Track 9 - Volume 9
Conducting Realistic Experiments in Software Engineering
ISESE '02 Proceedings of the 2002 International Symposium on Empirical Software Engineering
Object-Oriented Software Engineering: A Use Case Driven Approach
Object-Oriented Software Engineering: A Use Case Driven Approach
Collecting Feedback during Software Engineering Experiments
Empirical Software Engineering
Experiences from introducing UML-based development in a large safety-critical project
Empirical Software Engineering
Object-oriented Systems Analysis and Design Using UML
Object-oriented Systems Analysis and Design Using UML
Object-Oriented Software Engineering: Practical Software Development using UML and Java
Object-Oriented Software Engineering: Practical Software Development using UML and Java
Practical experience of eliciting classes from use case descriptions
Journal of Systems and Software
Safety Hazard Identification by Misuse Cases: Experimental Comparison of Text and Diagrams
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
UCOT: semiautomatic generation of conceptual models from use case descriptions
SE '08 Proceedings of the IASTED International Conference on Software Engineering
Flexibility in research designs in empirical software engineering
EASE'08 Proceedings of the 12th international conference on Evaluation and Assessment in Software Engineering
Facilitating the transition from use case models to analysis models: Approach and experiments
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Several approaches have been proposed for the transition from functional requirements to object-oriented design. In a use case-driven development process, the use cases are important input for the identification of classes and their methods. There is, however, no established, empirically validated technique for the transition from use cases to class diagrams. One recommended technique is to derive classes by analyzing the use cases. It has, nevertheless, been reported that this technique leads to problems, such as the developers missing requirements and mistaking requirements for design. An alternative technique is to identify classes from a textual requirements specification and subsequently apply the use case model to validate the resulting class diagram. This paper describes two controlled experiments conducted to investigate these two approaches to applying use case models in an object-oriented design process. The first experiment was conducted with 53 students as subjects. Half of the subjects used a professional modelling tool; the other half used pen and paper. The second experiment was conducted with 22 professional software developers as subjects, all of whom used one of several modelling tools. The first experiment showed that applying use cases to validate class diagrams constructed from textual requirements led to more complete class diagrams than did the derivation of classes from a use case model. In the second experiment, however, we found no such difference between the two techniques. In both experiments, deriving class diagrams from the use cases led to a better structure of the class diagrams. The results of the experiments therefore show that the technique chosen for the transition from use cases to class diagrams affects the quality of the class diagrams, but also that the effects of the techniques depend on the categories of developer applying it and on the tool with which the technique is applied.