The First Malaysian Software Engineering Conference (MySEC’05)
Evaluation of the MyCL: A Simplified CBSD Process Model Hazleen Aris College of Information Technology Universiti Tenaga Nasional
[email protected]
Siti Salwah Salim Faculty of Computer Science and Info. Technology University of Malaya
[email protected]
ABSTRACT Component-based software development (CBSD) has gained much attention from the researchers in the past years. Amongst the focus of the research is the development of the CBSD process model, which intends to facilitate as well as encourage software developers to adopt the CBSD methodology in their software application developments. This paper explains the MyCL process model, a simplified CBSD process model that is clear and easy to be understood and hence, applied. It does so by demonstrating the development of a web-based online pharmacy store that follows the MyCL process model and uses the Expresso, a component-based application framework. This development of the MyCL process model is motivated by the fact that even though a number of CBSD process models have been proposed, a clear and step-by-step guidance in applying the models are still lacking. Besides, the models vary from one another and some are even complicated and difficult to be applied. Other than demonstrating the application of the model as a way to evaluate its ease-of-use, interview sessions with the experts in this field are also conducted and described in this paper.
KEYWORDS Software process model, component-based software development, software engineering, process model evaluation and the actions taken in improving the process model in response to the comments given.
1. Introduction This paper presents the evaluation made on the MyCL process model, a component-based software development (CBSD) process model that was developed in the previous study done by Aris and Salim [1]. The development of the model was motivated by the fact that even though many CBSD process models have been developed, not many of them are currently being applied by the software developers [2]. Thus, the development of the MyCL process model began by reviewing the strength and weaknesses of the existing CBSD process models, which was summarised in [3]. A study on the impracticalities of these process models were then performed and also presented in [3], and as a result, the MyCL process model was proposed.
2. Process Model Application To demonstrate the application of the MyCL process model, an online pharmacy store has been developed using the process model. In this paper, the processes that constitute the model have been divided into two broad stages; the requirements analysis and architectural design, and the component development and composition.
2.1 Requirements Analysis and Architectural Design The development begins with the requirements analysis process that takes the requirements definition as its input and produces the component specification of the system as the output as shown in Figure 1, producing the business process model, business concept model, use case model and business type model in the process. The business process model determines the responsibilities of the online pharmacy store, which are to store order, confirm order details and notify the billing system. The business concept model is developed to get a clear idea of the terms introduced by the business process model such as order, customer and store. These terms become the elements in the business concept model.
The evaluation on the model was done in two ways, first by applying the model in developing a system and second by interviewing the experts in this field. The former approach was mainly to demonstrate the process model’s ease-of-use while the latter was to attain their opinions on the easy-to-use feature of the process model. The features to be included that will constitute an easy-to-use process model has also been stated and explained in [3]. Section 2 of this paper explains the application of the process model by going through each process in developing a system. Section 3 presents the results of the interview sessions conducted with the experts
24
The First Malaysian Software Engineering Conference (MySEC’05)
to determine the required components based on the attached interfaces. This step eventually produces the component specification of the system as shown in Figure 2. Architectural design process binds the interface dependencies of the component specifications directly onto their corresponding component specification interfaces as shown in Figure 3.
With the help from the use case descriptions in the use case model, the business concept model is refined by adding and removing its elements until the scope of the system is correct, following the guidelines suggested by Cheesman and Daniels [4]. The refined business concept model with the business interfaces attached to the elements is called the business type model. The last step in the requirements analysis process is
Application software
Component updates
updated components
Component repository
tested program
Domain engineering Testing specific languages, application generators, candidate components
design models domain models
working program
Requirements analysis
component specification architecture, business interface
Architectural design
component specification
Component development
components
Component composition
Requirements definition/ change request
Figure 1: MyCL process model IViewItem
OrderSystem
2.2 Component Development and Composition
IPlaceOrder
Components development and composition of the online pharmacy store system are done using the Expresso [5] component framework. The component development process consists of the component selection, component adaptation and component engineering subprocesses as elaborated in [6]. In the component selection subprocess, a list of components that the Expresso has to offer is browsed through with the aim of finding the components that perform the required functionality. The components that offer the services that match the specifications in the component specification architectures produced in the architectural design process are selected.
IBilling BillingSystem
ICustomerMgmt IStoreMgmt
Figure 2: Component specification of the online pharmacy store system OrderSystem
StoreMgmt
IViewItem IPlaceOrder
IStoreMgmt
CustomerMgmt
ICustomerMgmt
BillingSystem
The first component selected is the DBObject. DBObject provides a means to map relational database tables to Java objects, as well as to associate the action of business objects with their data storage [7]. In other words, given the
IBilling
Figure 3: Component specification architecture of the online pharmacy store system
25
The First Malaysian Software Engineering Conference (MySEC’05)
In the component composition process, a collection of database objects are gathered together into a schema to generate database tables defined by each database object, as well as to set up the required configuration values and reports. This eliminates the need to tediously create the database tables individually. The next step in the component composition process is to map the controller’s states to the appropriate user interface, which is accomplished by means of an extensible markup language (XML) file. A configuration file, named pharmacystoreconfig.xml is hence defined where the default interfaces for each state is used.
required inputs, this component will generate the corresponding tables in the relational database. Another component selected is the DBMaint, which is a controller. Controller objects provide a means for a sequence of interactions to be encapsulated in a way that makes them available to virtually any kind of user interface such as Java server pages (JSP) and applet [8]. It can be thought of as a finite-state machine where the flow from one state to another is directed by the controller itself and the actions taken by the user. It gets its work done by transitioning from one state to the other. DBMaint is an extension to the base controller object, which has the states that enables database maintenance of the specified database object.
Figure 4: Schema object registration do this as they are also occupied with their own work.
The final step in component composition is to register the schema object defined using the interface provided by the Expresso as shown in Figure 4. A click on the Save New Record button begins the necessary initialisation and setting up processes. Once they are done, a link to the application will appear on the left frame, bearing the name of the schema object defined in the Schema Description field. Clicking on this link takes us to the functional online pharmacy store application.
Furthermore, understanding the model for application will require the candidates to thoroughly understand the whole of this research, which is not practical due to the time constraint. Unidirectional evaluation approach, such as questionnaires distribution, will not be suitable either, as in the process of understanding the model, questions need to be asked and examples need to be shown to provide proper understanding of the model. Even though supplementary information on the model can be placed on the web pages, it is found that these web pages are hardly referred to. Therefore, it has been decided that the most suitable evaluation approach is through interview and discussion sessions with the experts in this field. For this purpose, five interview sessions have been conducted. The interviewees are chosen amongst those who have high level of knowledge on CBSD. Two of them are an associate professor and a lecturer in the Faculty of Computer Science and Information Technology at the University of Malaya. The other one is a senior lecturer in the College of Information Technology at the Universiti Tenaga Nasional, and the last two are the executives in the Information Technology Division of the
3. Interview Sessions No doubt, the best way to evaluate the feasibility of a process model is to gather a group of people with good understanding on CBSD and to ask them to apply the model in developing an application system. However, this approach is impractical because of the following constraints: (i) Looking for suitable candidates to evaluate the model is difficult due to the fact that CBSD is still an ongoing research and its development and progress are constrained to a very limited group of people within this field. (ii) Even if suitable candidates are found, asking them to apply the model in developing an application system is even more difficult. Not many of these candidates would agree to
26
The First Malaysian Software Engineering Conference (MySEC’05)
On top of answering the questions, interviewees can also provide comments on other aspects of the model during the discussion that follows each interview session. Thorough example on the application of the model is also shown and explained during the interview. This enables the interviewee to have a better understanding on the model, which will lead to a more accurate evaluation.
Malaysian Institute of Microelectronic Systems (MIMOS) Berhad. The primary goal behind this evaluation is to assess the success level of the MyCL process model with respect to its easy-touse feature. The interviewees are required to comment on whether or not all the features have been included in the model.
1.
2.
3. 4.
5.
6.
7.
8.
9.
Comments More processes need to be added in component development to enable component reuse. These processes are, however, mentioned in the application example. Misleading name is used for component development process, as it does not imply that some components are reused from existing ones. It cannot be seen clearly in the model where the existing components are being reused. Consideration needs to be given in the model to the fact that in real life, most existing components cannot be directly reused. Notes need to be attached to the inputs and outputs of each process shown in the model for better description.
Misleading step with respect to the link from domain engineering process to architectural design. Domain engineering process shown is not very descriptive.
Explanation on how the link between requirements analysis and design and implementation is established for newly created components needs to be given.
Outputs from application software to component updates process are not indicated. 10. Individual component testing process should be included prior to component composition process. 11. Need to mention that the focus is on the processes and not on the components, to avoid confusion.
Actions and/or Justifications These comments are concerned with the component development process. Generally, they point out that the process is ambiguous, and it cannot be clearly seen from the process that there is a place for considering existing components before developing new components. Actually, this process is further divided into three subprocesses. These subprocesses are component selection, component adaptation and component engineering. Since a number of comments are made concerning these subprocesses, there is an obvious need to include them in the model. Therefore, they have been included in the revised version of the MyCL process model.
Since the description on how to produce each input and output will be too lengthy to be incorporated in the model, it has been decided at first that the purpose of each input and output will be attached as notes instead. Unfortunately, the addition of notes attached to each input and output cannot be made because they will clog up the model’s figure and make it more complex. Complexity in the model is against the objective of this research. Domain engineering is a very broad research discipline on its own. With reference to these comments, it is important to mention again here that to extensively cover this topic is beyond the scope of this research. However, the necessary explanation on the domain engineering process has been included in constructing the model, which leads to the creation of a link between it and the architectural design process. This comment points out that the explanation on how the link between requirements analysis and design is established for newly created components is not given. While applying this model in developing an application system, all of the required components are already offered by the Expresso framework as part of its available components. Coincidently, when the application system is extended in the later part of this research, the existing components are already sufficient to fulfil the new requirements. Therefore, there is no necessity to engineer new components and hence, this link is not shown in the example. To engineer a new component on the other hand will require a more detailed study on component characteristics and model, which is beyond the coverage of this research. Tested components have been added to the link in the revised MyCL process model. A component testing process is added in the revised MyCL process model before the component composition process in response to this comment. The fact that this research is focusing on the processes that constitute the model and not on any other specific aspects of components is already stressed in the research objectives.
Table 1: Comments pointed directly on the MyCL process model
27
The First Malaysian Software Engineering Conference (MySEC’05)
by them are summarised in Table 1. Aris and Salim [1] also include the actions taken in response to the comments in the second category. The experience gained in applying the process model in developing the online pharmacy store and the comments given and actions taken in response to the comments have resulted in the revised version of the MyCL process model as shown in Figure 5.
3.1 Feedbacks The feedbacks and comments received have been divided into two categories. The first category is on those, which are pointed directly to the model and the second category of comments are more general and indirect. This paper presents only the first category of comments, which mainly addresses the possible problems of applying the model. These comments followed by the actions taken to avoid the possible problems addressed
Component updates
updated components
tested components
Application software
Component repository
tested program
specific languages, application generators, candidate components
Domain engineering
Component Development Testing
Component selection domain models
design models working program
Requirements met?
Yes Component composition
No Requirements analysis
component specification
Architectural design
component specification architecture
Component adaptation Requirements met?
Yes
Component testing
components
No Requirements definition/ change request
Component engineering
Figure 5: The revised version of the MyCL process model software. This kind of research effort can be a significant contribution in fostering the transition towards software development based on components.
4. Conclusion Software development based on components is perceived as a competitive solution towards producing cheaper, faster and more reliable software products. In this paper, the evaluation made on the MyCL process model, a CBSD process model developed, is presented. The evaluation is done in two ways with the first approach demonstrating the process model’s easy-to-use feature by using it to develop a system, an online pharmacy store system, as explained above.
5. References [1]
[2] [3]
In the latter approach, a group of experts in CBSD have been interviewed to evaluate and give some ideas on the simplicity and feasibility of the initial version of the MyCL process model. Their comments have been taken into consideration in producing the improved version of the MyCL process model, the one shown at the end of this paper. Such a simplified process model can encourage software developers, to apply CBSD methodology in developing
[4]
28
Aris, H. and Salim, S. S., Technical Report on Component-based Software Development (CBSD) for Web-based Applications, University of Malaya, March 2004. Allen, P., Ebiz Components, Objective View, Issue 6 2003, pp. 12-20. Aris, H. and Salim, S. S., “MyCL: A Simplified CBSD Process Model”, Proceedings of the Joint International Conference on Informatics and Research on Women in ICT, University of Malaya, Kuala Lumpur, 2004, pp. 285-294. Cheesman, J. and Daniels, J., UML Components A Simple Process for Specifying Component-Based Software, Addison-Wesley, Upper Saddle River, 2001.
The First Malaysian Software Engineering Conference (MySEC’05)
[5]
[6]
Lloyd, D., Rimov, M. and Hamel, L. et al., “Expresso Developers Guide”, http://www.jcorporate.com/expresso/doc/edg /edg.html, 2005. Aris, H., “Component Development and Composition for Web-based Applications”, Proceedings of the International Conference on Information Technology and Multimedia, Universiti Tenaga Nasional, Selangor, 2005.
[7]
[8]
29
Hamel, L., Pilgrim, P., Nash, M., Rimov, M., Traum, M., and Cann, S., “Chapter 9. Database Objects”, http://www.jcorporate.com/expresso/doc/edg /edg_dbobjects.html, 2005. Ramani, G., Rimov, M. and Traum, M., “Chapter 14. Database Maintenance”, http://www.jcorporate.com/expresso/doc/edg /edg_dbmaint.html, 2005.