Return to search

A Concept-Driven Approach to Object-Oriented Analysis and Design

The Unified Modelling Language (UML) and object-oriented analysis and design (OOAD) have become essential topics in both academia and industry. UML is the accepted standard modelling language for describing object-oriented (OO) systems for analysis and design, and many UML CASE tools have been built and are used in academia and industry. OO technology and UML is an ongoing area of research, and many applications have been developed using OO technology. However, observations on current software development practices in some computer companies have shown that many OO software developers are not adopting recognised OOAD techniques. Both information technology (IT) students at higher educational institutions and professionals have in general found difficulty in grasping OO concepts, and the role that UML diagrams play in the design of the analysis and design solution. They particularly find difficulty in performing abstractions of real-world problems within the context of OOAD. They are unable to effectively build class diagrams from the problem domain because they essentially do not know ‘what’ to model. They therefore prefer to start coding software applications before building the analysis and design artifacts. Most of these students invariably prefer to focus on the implementation phase of a software development lifecycle and consider the preceding analysis and design phases superfluous. The overall goal of this thesis is to contribute to a significant improvement in the way students and software developers analyse and design their OO systems. We present a new approach by introducing concept mapping as a tool to help novices in OOAD produce more appropriate UML class and sequence diagrams. The class and sequence diagrams are selected because they represent the essential static and behavioural aspects of a problem domain. The former is fundamental to the OO modelling process and the latter is one of the most widely used dynamic diagrams in UML. Concept mapping is a popular tool used in education for facilitating learning, comprehension and the development of knowledge. Within the context of OOAD, we propose to use concept maps as a graphical representation of fundamental concepts, and their relationships and responsibilities within a problem domain. A static concept map derived from expanded use cases (use case narratives) can subsequently evolve into a class diagram containing information on classes, attributes, associations and generalisation-specialisation hierarchies. A dynamic concept map derived from an expanded use case can evolve into a sequence diagram containing information on the interaction of objects (and their messages) to fulfil the responsibilities of a particular scenario of the use case. In this thesis, a study is initially conducted to investigate in detail the difficulties undergraduate students have when producing UML class and sequence diagrams. The results of the study reveal and confirm some of the fundamental problems that students have with OO modelling. In order to address these problems, a concept-driven approach is developed to help novices produce more appropriate UML class and sequence diagrams. The effectiveness of this approach is evaluated by three different experiments. The data from these experiments is analysed and there is sufficient statistical evidence to support the claim that the participants produce more appropriate class and sequence diagrams after being taught concept mapping techniques. As a result of this positive outcome, a set of guidelines is developed for teaching OO modelling with concept maps. These guidelines could be integrated into existing OOAD courses to help software engineering educators resolve some of the difficulties they face when teaching OOAD.

Identiferoai:union.ndltd.org:ADTP/279693
CreatorsVen Yu Sien
Source SetsAustraliasian Digital Theses Program
Detected LanguageEnglish

Page generated in 0.0018 seconds