Object Oriented Technique “A classroom learning approach using UML with and without CASE tool”
Md.Istiaque Shahriar1, Md.Rejaul Karim Chowdhury2,Rezwana Kursia3
1Department of Electronics & Computer Science, JahangirnagarUniversity,
Dhaka,Bangladesh,
2Department of Computer Science, University of Northern British Columbia,
Prince George, Canada,
3Department of Computer Science & Engineering,International Islamic University Chittagong, Dhaka, Bangladesh,
Abstract
In this paper, we present a fast and efficient learning process of object oriented (OO) technique. Perceptions of the difficulties in learningthis technique have also been elaborated. Class-room learning process is chosen as a model for this purpose from where the students learn most of their academic materials.We have explored the class-room learning of OO technique for both using CASE tools and without using CASE tools. In this experiment, a CASE tool, ArgoUML is employed.
Key Words: OO Technology, CASE tool, ArgoUML, Analysis, Class-room learning.
Introduction
A lot of organizations are still using structured methodologies for their system development. Others are using OO methodologies. There are lots of OO approaches with their own features. The mostly known ones are Booch, Coad-Yourdon (OOA/OOD) [1], Jacobson (OOSE)[2], Rambaugh(OMT)[3], Coleman(Fusion)[4] and Booch-Rambaugh-Jacobson(UP/UML)[5]. So, when a learner starts with these he or she has lots of options. All the methodologies are furnished with their own features. But the common things are almost same, all the methods have to find the objects involved in the system and identify
the relationships among the objects. Another key point is that the system analysis and design, whatever method is used, should conform to all the requirements of the user.
Different methods have different notations for describing and visualizing the proposed system’s model. We used UML, a common modeling language, so that the underlying methodology is transparent.
Modeling using UML
The Unified Modeling Language (UML) helps a software engineer to specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements.[6]
UML provides a spectrum of notations for representing different aspects of a system and has been accepted as a standard notation in the software industry.
System development focuses on three different models of the system:
The functional model, represented in UML with use case diagrams, describes the functionality of the system from the user’s point of view.
The object model, represented in UML with class diagrams, describes the structure of the system in terms of objects, attributes, associations, and operations.
The dynamic model, represented in UML with sequence diagrams, statechart diagrams, and activity diagrams, describes the internal behavior of the system. The sequence diagram describes behavior as a sequence of messages exchanged among a set of objects. The state chart diagram focuses on the transitions between states as a result of external events for an individual object. The activity diagram describes a system in terms of activities. Activities are states that represent the execution of a set of operations. The completion of these operations triggers a transition to another activity. [11]
These models are used in main phases of software development life cycle, namely initial study/conceptualization, requirement analysis, detailed design and system design.
Figure:1 summarizes the diagrams used for each phase
The Case Study
For our testing purpose we decided to study a real life system that is to be developed by the department of Electronics and Computer Science, Jahangirnagar University (JU), Bangladesh for its exam system.
Initially this department had yearly exam system. Now it is switching from yearly exam system to semester exam system.
This new system is different from the previous one in different ways. It has a fixed time constraint. The duration of class period is 13 weeks. All assignments and tutorials must be conducted within this time period. Grading is introduced instead of percentage of marks. The exam control office of JU has to change a lot in their existing system. Unlike yearly system, they have to arrange the exam facilities twice in a year.
Moreover, this new semester system puts bindings on ‘number of classes’ and duration of semester counted as ‘number of effective weeks’. If a class is missed for any reason it is to be made up. Students are to be assessed in a number of ways that are not present in the current system.
This was the initial case study of the exam system of the dept of Electronics and Computer Science.
Phases covered
For our current purpose we have considered only up to the requirement analysis phase. Up to this phase the diagrams produced are the use case diagram, sequence diagram, state chart diagram, activity diagram,preliminary object diagram and class diagrams. The rest of the phases are yet to be studied.
Student’s Activities
The case study was initially provided to the group of students for initial study and later on for analysis purpose. Students were divided intofour groups. They were asked to make an initial study formally to simulate industrial procedure of software development life cycle (SDLC). After making an initial study they made a feasibility study based on different categories. They investigated the technical feasibility to find out whether the construction of the proposed system is within the state of art, resource feasibility to justify whether the resources required to construct and deploy the system are available when they are needed, and also economic feasibility to make sure that the benefits of the new system are greater than the cost of developing and operating it. At last, they submitted the formal report of feasibility study and requirements from the initial study/ conceptualization.
At the time of initial study, they made formal appointments and followed formal business approach to collect those information. Then they started requirement analysis phase.
Learning UML with and without Tool
The same case study was observed for different groups. Two of the groups advanced with CASE tool, ArgoUML and the rest started with manual diagrams using pen and paper. So, we had the opportunity to observe their class-room presentation and evaluatetheir performance.
ArgoUML was the choice as a CASE tool for various reasons.
ArgoUML
ArgoUML is a Java based Universal Modeling Language tool that helps to do software design using UML. It is able to create and save most of the standard UML diagrams.
It also has the ability to reverse engineer compiling Java code and generate UML diagrams for it.
ArgoUML is based on UML v1.3, which was adopted by OMG[9] in November 1999.
ArgoUML is different because
i) it makes use of ideas from cognitive psychology
ii) it is based on open standard
iii) it is 100% pure java and
iv) it is an open source project[10]. From the point of view of cognitive psychology it provides novel features that increase productivity by supporting the cognitive needs of object-oriented software designers and architects. Due to open standard it allows easy inter-working between applications and the degree of flexibility. It gets the support of Java Virtual Machine(JVM) and due to open source project anyone can have a free copy of ArgoUML and can change it and use it for new purposes.
Considering all these, ArgoUML is a very good choice as a CASE tool for the use of UML classroom learning process.
Group Performance Comparison
Four groups were formed. Two of the groups, using ArgoUML, are termed as Tool group. The other two are termed as non-Tool group. At the end, a performance comparison of the groups was conducted based on learning time, efficiency and accuracy.
a)Learning time
When the learning time was observed it was found that UML without using CASE tool (ArgoUML in this case) needed less time. It is obvious that it needs extra time to learn ArgoUML. Moreover, use of CASE tool is not well practiced in our institutions as well as in software industry. There was a declination to learn the CASE tooldue to the psychological reason and hence, the students were slow to learn the CASE tool. A total of four weeks time was allocated for submission of the requirement analysis result. After two weeks, two groups from the non-Tool type showed significant progress in work,but other two groups using CASE-tool were able to show little progress in their work. At the end, we had an indication that after the initial declination was over, the learning time for the groups using the tool was dramatically improved.
Fig 2: Comparison between CASE tool group and non CASE tool group in terms of learning time versus progress in work
b) Efficiency
It is very difficult to find out all the requirements at the beginning of the project.
Negotiating the appropriate requirements for the product can be a complex process involving all system users. This is not an easy activity, since the users rarely have clear picture of their own requirements, especially since different individuals may have conflicting viewpoints.
When automating overall system, users can not specify the requirements fully because some of the tasks were done manually and some were not done at all, as a result the clients do not have clear view about the system. Some thing may not be vital requirement for manual system, but it may be vital for automated system.
The users, sometimes, even come up with vulnerable requirements at the beginning. The reason is that they can not understand the area, scope and the ability of automated system. As time goes on, their conception about automated system starts to improve after several meetings with the developers. As a result, their requirements change frequently in course of time.
Normally the requirements are fixed up by the trial and error process by the communication between the client and the developers. Hence, we need to change the models and diagrams several times.
Correcting models and diagrams using pen and paper is tedious and time consuming. So, in terms of efficiency the groups using ArgoUML were well ahead of their counter part. Whenever corrections and modifications were expected, the groups without using CASE tool were very slow in progress in comparison to their counter groups.
Fig 3: Comparison between CASE tool group and non CASE tool group in terms of efficiency
c) Accuracy
Accuracy level was almost same for both of the groups. It can be further tested in the next phases. Accuracy is defined as the conception development of the application domain and the learning of the OO technology. At times the conception development is slowed down when the tool-based group additionally learns the CASE tool ArgoUML.
But most of the time, accuracy is almost same.
Fig 4: Comparison between CASE tool group and non CASE tool group in terms of accuracy
Future Plan
In this work we have tried to find an efficient and time-effective way to learn and implement OO methodology using a common language UML. For this purpose we set a case study based on the exam system of the Department of Electronics and Computer Science. Observations are made only based on the requirement analysis phase. In future this work will be tested against detailed design and system design phases of Software Development Life Cycle.
Conclusion
The aim of this study was to find an effective, efficient, accurate and quick learning method for Object Oriented Technology. For this purpose students were grouped to develop a system based on their own departmental exam system. They proceeded according to the formal industrial approach. Only a limited part of the software development life cycle has been explored and some sort of observationis being performed.Based on these observations, our current work suggests that for quick learning process (e.g. for ad-hoc basis projects), UML can be used without CASE tools to save time.But for larger projects, the best option is to use CASE tools.
References
[1] Peter Coad et. al. Object Models Strategies, Patterns & Applications, Yourdon Press, Prentice Hall Building, Englewood Cliffs.
[2] Derek Coleman et. al. , Object-Oriented
[3]Rambaugh et. al., Object Oriented Modeling and Design, Prentice
Hall, Eaglewood Cliffs, 1991.
[4]Derek Coleman et al., Object Oriented Development: The Fusion Method, Prentice
Hall, Eaglewood Cliffs, 1994.
[5] Unified Modeling Language for Object Oriented Development Documentation Set,
version. 1.0 Addendum, Grady Booch, James Rambaugh, & Ivar Jacobson, Rational
Software Corporation.
[6] Ian Graham, , Triteme International Limited
[8] Mohammad Z.R., Helena B., Zaitun A. B. and M. Yaacob, “Object Oriented
Modeling: An Experience using UML Approach.”,National Conference on Research
and Development in Computer Science and its Application.,1997.
[9] website
[10] ArgoUML user manual copyright@2001,2002 Jeremy Bennett
[11] Bernd Bruegge, Allen H Dutoit et al., Object –Oriented Software Engineering, Pearson Education,2002
[12] G. Irwin, D.P. Tegarden, H.J. Nelson and D.E. Monarchi, “Exploring the Difficulties of Learning Object-Oriented Technique,” Journal of Management Systems, 1997.
[13] I. Michiels and J. Borstler, K.B. Bruce, “Tools and Environments for Learning Object-Oriented Concepts,” Proceedings of the Workshops and Posters on Object-Oriented Technique, ECOOP 2002.
[14] J. Offutt and A. Abdurazaik, “Generating Tests from UML specifications,” Proceedings of Second International Conference, Fort Collins, USA, 1999
1