Sunteți pe pagina 1din 6

OBJECT-ORIENTED REQUIREMENT ANALYSIS FOR DEVELOPING MAPPiCXS MIND MAPPING SOFTWARE Abdurrahman Jalil, Siti Noor Ahmad, Juzlinda

Mohd Ghazali, Farhana Abdullah Asuhaimi, Aisyah Mat Jasin Faculty of Information Science and Technology Selangor International Islamic University College abdurrahman@kuis.edu.my, sitinoor@kuis.edu.my, juzlinda@kuis.edu.my, farhanaabdullah@kuis.edu.my, aisyahjasin@kuis.edu.my Abstract The ability to correctly identify the system requirements is essential to the design and development of effective software. This paper describes the requirement analysis for the development of MAPPiCXS mind mapping software. The objective is to capture the functional requirements which represent the tasks that the system must meet in order to be successful. This paper applies the object-oriented Unified Software Development Process (USDP) methodology framework to specify the system basic functionality and logical internal structure. The use case model produced during this stage is analyzed to identify the objects that are required to support it. Finally, a class diagram is derived from this analysis to describe the proposed mind mapping software. Keywords: Object-oriented methodology, Mind map, Requirement analysis, Use case, Class diagram 1.0 Introduction MAPPiCXS is a research project with the purpose of developing a unique mind mapping software that has several basic functionalities. Before the actual construction can take place, the development process must follow several steps in order to satisfy the needs of the system end user. These user requirements are used to drive all subsequent stages of systems development. Poorly or incorrectly specifying the requirements normally produces the systems that need major revisions or abandoned entirely (Pressman 1996). In the effort to develop this mind mapping software, the requirements represent the tasks that system must meet in order to be successful. Usually these requirements are specified as a set of functions expressed at high level of abstraction and are later refined to the detailed specifications (Edward R. Sim, 2000). In other words, the object oriented requirement analysis presented in this paper is attempting to determine what the MAPPiXCS system is supposed to do. The objective of object oriented analysis is to produce a complete description of problem domain and requirements of proposed system (Fichman and Kemerer, 1992). The advantages of using object oriented approach in analysis are encouraging the reuse of software, decreasing amount of new code that has to be written, reducing development time and leading to a software internal structure that can be maintained in an easier way. Consequently, they are expected to improve software quality by encouraging information hiding, abstraction and proper modularization by leading to the systems that are more understandable, more reliable and more modifiable (Moreira, Freitas and Guerreiro, 1989). A methodology is a collection of methods for developing coordinated by some general philosophy for developing a system (Peters and Tripp, 1977). For MAPPiCXS software development, object oriented methodology is applied that is absolutely based on the concepts of object. This set of steps or procedures need to be performed from the beginning of software development process until the end to make sure the output produced is acceptable and beneficial. Specifically, Unified Software Development Process (USDP) framework

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

292

model is applied to conduct object oriented analysis for the system. This model adopts an interative approach within four main phases which are inception, elaboration, construction and transition. It is claimed that the USDP embodies much of the currently accepted best practice in information system development including requirements driven development (Bennett, McRobb and Farmer, 2002). This paper concentrates on the requirement analysis phase to describe the functionalities of the proposed system. In section 2, this study adopts USDP model to conduct problem domain analysis and then, the result is discusses in section 3. Finally, this paper concludes the study in section 4. 2.0 Methodology The USDP development process starts with requirements capture and modeling. Then, it continues to requirement analysis, system and class design and consequently to the construction and testing phases. However, this paper will cover up to requirement analysis stage only. To model the requirements, Unified Modeling Language (UML) is used as a tool for analysis. It has a set of diagrams for sketching and documenting the design of software. If offers use cases for capturing functional requirements and class diagram for visualizing the structure of software code (Popandreeva, 2007). This section presents the requirement capture and modeling activities where the problem is defined, domain analysis is conducted and requirement list and use case model are generated. Meanwhile for requirement analysis stage, the use case model is analyzed to produce initial system architecture represented by class diagram. 2.1 Problem definition The activities begin by defining problem stated in previous published study on MAPPiCXS. According to Abdurrahman and Juzlinda (2009), the current mind mapping software available in the market does not provide function to create matrix or table in order to organize large volume of data in mind map diagram. Furthermore, there is no local version of mind map software that exists to support Arabic and Jawi characters and to provide Islamic icons. This paper focuses on including the matrix or tables for mind map diagram, in addition to the basic functions. Since the local version aspect encompasses mainly on the design stage, it is catered for later and excluded from this paper scope. 2.2 Domain analysis In order to provide basic requirements for the proposed mind mapping software, the manual process of mind mapping creation need to be understood. For that purpose, the entire previous published document on MAPPiXCS has been scanned to find everything that matters regarding mind mapping techniques and software. Based on the previous published work by Abdurrahman and Juzlinda (2009): The process of creating a mind map begins with a word or image, placed in the middle in the page which symbolizes a topic to think about. The process continues with writing down the subtopics or chapter headings on the thick branches derived from the main topic. As idea emerges, the sub-subtopics are placed on the thinner lines radiating from each of the subtopics or chapter headings. To support the memory of learner, it is recommended to use symbols, images, keywords and colors to indicate emphasis and associations. For MAPPiXCS software, there is a unique feature need to be inserted in the system which is to add matrix or table into the mind map diagram. This feature includes the process of matrix creation and editing. Based on the previous statement and problem definition, a list of user requirements is derived and displayed in the following table. The list describes the functions that need to be embedded in MAPPiCXS software.

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

293

Table 1: Requirement List No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Requirement To create, print and save a mind map in a file Use Case(s) Create mind map file

To open existing mind map file Open mind map file To insert nodes that connected with each other through arcs or Add a new node lines. To remove nodes from the mind map Remove node To resize the selected nodes To insert and edit matrix or table in mind map diagram To edit matrix or table in mind map diagram To remove the selected table or matrix To insert Roman, Arabic, Jawi text on a node Resize node Add a new table Edit table Remove table Add a new text

To edit colors, styles and size of Roman, Arabic and Jawi text or Edit text keywords in a node To remove Roman, Arabic and Jawi text from mind map Remove text To insert image on a node in a mind map diagram To resize selected image on a node To remove selected image from node To insert Islamic icon on a node To resize selected Islamic icon in node To remove selected Islamic icons in node To view a complete mind map diagram To zoom in the mind map diagram in a view To zoom out the mind map diagram in a view Add a new image Resize image Remove image Add a new icon Resize icon Remove icon View mind map Zoom in Zoom out

2.3 Use case model On the basis of the requirement list in the previous step, a use case diagram is formulated as in the following figure to visually model the requirements:

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

294

Figure 1: Use Case Diagram for MAPPiCXS.

After the formulation of use case model, nouns and verbs are identified to derive objects and methods needed to support each of the use case. 2.4 Class diagram Based on the objects and methods identified in the use case diagram, a conceptual class diagram is developed to describe the initial system architecture. This initial architecture shows all the classes those will be used to create objects and their relationships. The analysis class diagram is as follows:

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

295

Figure 2: Class Diagram

3.0 Discussion This paper finally lays out initial system architecture of MAPPiCXS in the form of a class diagram. The functional requirements have been modeled using a use case diagram that shows the overall functionality of the system. Based on the use case, the user can create a new file to draw a new mind map. To draw a mind map, the user can add nodes, texts, tables, icons and images in the file. The nodes are the container or places that hold the texts, icons and images. These nodes, icons and images can be resized according to the user needs. Meanwhile, the table and text can be edited to change the attributes of the font such as style, size and color. All these items can be removed from the diagram if the user wishes to do so. After the drawing takes place, the user needs to save the mind map by saving the file and optionally can print it. The user can view the complete mind map and has the options to zoom in and zoom out. In addition, the user also can open an existing mind map file to edit or print the mind map diagram. From the use case, the potential objects and methods can be identified using key concepts. These key concepts (when occurring as nouns) are good indicators for objects while verbs can be used to indicate the associated methods. Objects that share the same characteristics are grouped into class. To establish the relationship among different classes, the class diagram is developed. The class diagram produced in this stage shows aggregation or composition relationship. A file consists of a mind map object. This mind map object is composed of several nodes, tables, texts, icons and images. It is the whole-part relationship

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

296

among those classes. Moreover, there are some basic methods are recognized for each class in this initial analysis class diagram. 4.0 Conclusion and Future Works This study is the first step towards developing MAPPiCXS using object oriented methodology. This methodology promotes a smooth transition from problem definition all the way to the analysis class diagram. Adopting this approach give a great advantage of converting the user requirements into fundamental architecture of MAPPiCXS system. Moreover, this approach is supported by UML diagram to visualize the requirement and class models. However, the class model needs to be refined again and again until all the attributes and methods necessary to support the solutions are defined. To achieve that in the future, this research must apply object oriented design in order to define the implementation details for producing the complete overall system architecture. References Abdurrahman Jalil and Juzlinda Mohd Ghazali (2009). MAPPiXCS: A Proposed Mind Mapping Software. International World Conference on Muslim Education 2009. Popandreeva, A. (2007). Object Oriented Analysis and Design Using UML of a Test Rotation With Sample. International Conference on Computer Systems and Technologies. Bennett, S., McRobb S. and Farmer R. (2002). Object-Oriented System Analysis and Design Using UML. 2nd Edition. United Kingdom, McGraw-Hill. Pressman, R.S. (1996). Software Engineering: A Practitioners Approach. 3 rdEdition. New York, McGraw-Hill Fichman, R. and C. Kemerer (1992). Object Oriented and Conventional Analysis and Design Methodologies. Computer (Oct), 22-39. Moreira, A., Frietas M. M. and Guerreiro P. (1989). Using Object Oriented Requirement Analysis for a High Reliability Message Switching System. Portugal Peters, L. and L. Tripp (1977). Comparing Software Design Methodologies. Datamation (Nov), 89-93.

Proceedings of Regional Conference on Knowledge Integration in ICT 2010

297

S-ar putea să vă placă și