Towards E-CASE Tools for Software Engineering

CASE tools are having an important role in all phases of software systems development and engineering. This is evident in the huge benefits obtained from using these tools including their cost-effectiveness, rapid software application development, and improving the possibility of software reuse to name just a few. In this paper, the idea of moving towards E-CASE tools, rather than traditional CASE tools, is advocated since these E-CASE tools have all the benefits and advantages of traditional CASE tools, and add to that all the benefits of web technology. This is presented by focusing on the role of E-CASE tools in facilitating the trend of telecommuting and virtual workplaces among software engineering and information technology professionals. In addition, E-CASE tools integrate smoothly with the trend of E-learning in conducting software engineering courses. Finally, two surveys were conducted for a group of software engineering professionals and students of software engineering courses. The surveys show that ECASE tools are of great value to both communities of students and professionals of software engineering.


I. INTRODUCTION AND LITRETURE REVIEW Computer-Aided
Software/Systems Engineering (CASE) tools are a group of computerized programs designed to aid software engineers in computerizing different tasks and activities involved in software development, including all phases of software development, starting from information and data gathering and ending with software system testing, deployment, operation, and maintenance.
CASE tools benefits and advantages include speeding up the software development process, automating repeated tasks like reports and screen layouts, automating completeness and consistency checks, improving the possibilities of software reuse, improving software engineers productivity, and helping in the standardization of all processes and reports.
CASE Tools have been used in software systems development for a very long time.Many CASE tools have been developed since the term Software Engineering was casted.Some of them aid in all phases of software development, starting from requirements analysis, design, testing and implementation.These CASE tools are called integrated CASE (I-CASE) tools or full-life cycle CASE tools.For example, Rational Rose UML CASE tool is considered an I-CASE tool that is used in all phases of software development [1].Other examples of CASE tools that are not considered full-life cycle CASE tools include UMLet, QuickUML, and MiniUML.UMLet is used for small models only and it has a subset of UML that can be used for teaching of object orientation [2].QuickUML is a very simple UML/CASE tool for beginners in object oriented development with support to only design class diagrams.It has a very limited functionality in terms of forward and reverse engineering.QuickUML has no checks for validation and consistency [3].MiniUML includes a small subset of the UML notation intended for introducing object-oriented classes.It supports design class diagrams only [4].Other CASE tools are geared towards certain phases of software development.For example, a CASE tool for normalizing a relational database schema, called Normalizer, is presented in [5].A CASE tool for generating an entity-relationship (ER) model from a relational database schema, called, ERRDS, is presented in [6].Another CASE tool for implementing a logic system for testing functional independent normal form in relational databases is presented in [7].The previous CASE tools are used to automate the process of dealing with relational databases.There are CASE tools that automate other parts of a software system development process.For example, a CASE tool to automate the process of obtaining a static class diagram from software requirements is presented in [8].This CASE tool is called Static Class Diagram Constructor (SCDC) and is used to identify classes, their data members and member functions from a narrative description of the software requirements after the description is processed by natural language processor software.
These CASE tools have long been used in software engineering and have proved to be very beneficial in terms of productivity and cost saving.However, these CASE tools are all built as traditional two-tier client/server software applications.These software applications are installed on computers and the installation needs to be repeated every time a new version of the CASE tool software is released.
With the spread of web technology and its ease of implementation, many software systems are deployed using the web technology, in addition, to their use in traditional two-tier client/server environments to benefit from the many advantages of web applications and technology.Therefore, it is natural to consider moving CASE tools to the web, in what we called E-CASE tools.
An Online CASE tool for web application development is presented in [9].The tool is limited in the sense that it focuses on web applications and not all types of applications.
The benefits and advantages of E-CASE tools are presented by focusing on two communities of software engineering, namely, software and information technology PAPER TOWARDS E-CASE TOOLS FOR SOFTWARE ENGINEERING professionals and students of software engineering courses.For students, online support to E-learning courses has been used in many engineering courses as presented thoroughly in [10].
These are not the only two fields where E-CASE tools are beneficial.For example, software development outsourcing is another field where E-CASE tools are of great value.To reduce costs, many software development companies are considering outsourcing as alternative means for developing software solutions and products.The development teams need to communicate with each other during all phases of software development.Therefore, having an E-CASE tool that is accessible using the Internet is of great value to all information technology professionals related to the software project being developed.Therefore, an E-CASE tool is a great asset to software companies benefiting from outsourcing.In addition, E-CASE tools make it easier for software developers to communication easily with the company outsourcing to them.
II. E-CASE TOOLS MAIN ADVANTAGES AND BENEFITS Traditionally, CASE tools have proved to be very beneficial in all phases of software systems development.In this paper, the focus is not on the traditional benefits that are well-documented in software engineering literature, but rather on the benefits that can be obtained using and benefiting from the E-technology in supporting the E-CASE tools.

A. E-CASE Tools' Benefits toTelecommuting and Virtual Workplace
The term telecommuting has been used widely in the literature with varying definitions and meanings.Some people are using the term "telecommuting" to mean remote working, virtual working, e-work and other equivalent terms and phrases.Most people agree that telecommuting is a distributed work arrangement and setup in which a group or a team of persons conducts the work separately from each other in terms of time and/or space, benefiting from the advances and recent trends in information and communication technologies.
There are two general types of telecommuting that are common.The first type is telecommuting from home and the second type is telecommuting through a center setup by the office [11].The most well-known and wide spread forms of telecommuting that most people prefer are homebased.In this form, the employees perform their work and assigned tasks from their homes.The center-based telecommuting is an equipped center or place physically close to the employee place of residents, where employees can go and perform their work and tasks at this center rather than commuting to the office.This involves linking to the employees' company offices using the information and communication technology available at the center.The success or failure of telecommuting depends largely on the information and communication technology equipments of the remote working setting.These equipments include a computer system with a fast internet connection.
Most businesses and industries are considering telecommuting and virtual workplaces as a viable alternative to the traditional way of conducting business.Most of the time, their failures are due to the lack of computer training and information and communication technology knowledge and understanding.However, software industries' workers are the creators of these technologies and are powerful users of them.Therefore, telecommuting fits software industries' employees the most.
Most software development companies have opted to allow software engineering and information technology employees to work from home, benefiting from the hours saved commuting to and from work, in cities having high traffic jams.Thus, most software engineering and information technology professionals involved in software development prefer telecommuting.The main obstacle for software developers was their inability to access the models and designs of the software system being developed.However, E-CASE tools resolve this obstacle and enable the software developers to benefit from the E-CASE tools in the same way as if they are working form their company premises.
Software professionals and employees working from home have access to all models, designs, and diagrams that document the project using an E-CASE tool that is accessible from the web, and thus tend to have high productivity in comparison with other peer employees.
In fact, most software project managers prefer to manage by objective rather than controlling the number of hours software professionals write on their timesheets.Therefore, a software project manager assigns a task to software professional and a deadline and doesn't care that much about the physical presence of the software professional but rather on the accomplishment of the task within the deadline.
A survey to obtain software engineers and information technology professionals feedback regarding the use of E-CASE tools was conducted.The survey uses a similar approach as presented in [12].The survey consists of a number of questions regarding the use of traditional CASE tools and E-CASE tool as part of their software development experience.The questions used in the survey include: 1  1 where the blue bar represents a "Yes" answer and the red bar represents a "No" answer.The X-axis represents the question number, and the Y-axis represents the frequency of each answer.As given in the graph, there is an agreement that the software engineering professionals feel comfortable using CASE tools in general.There is also an agreement that the CASE tools documentation is written clearly and the CASE tools procedures are easy to follow.There is a major problem in using the traditional CASE tool when working from (telecommuting).There is a total agreement among all software engineering and information technology professionals that they prefer to use the E-CASE tool, as part of their software engineering career.In addition, E-CASE tools have increased software engineering professionals interest in telecommuting as opposed to work from company premises and that their productivity has improved greatly using the E-CASE tools.Finally, software engineering professionals support the use of E-CASE tools in general.

B. E-CASE Tools' Benefits toE-learning support
Great efforts and endeavors have been conducted in the last years to provide E-learning frameworks, portals, etc.However, many E-learning course completion failures have been attributed to lack of motivation to the learners, a boring functionality and other sources and reasons of frustrations.In software engineering courses that are supported by E-learning, one of the major skills and intended learning outcomes that are required form the students enrolled in such courses is the use and mastery of CASE tools.To have a hands-on experience in using the CASE tools, students have to switch from the E-learning system to a desktop application that represents the CASE tool.In addition, students don't have easy access to the CASE tools installed in their teaching institute' labs.To improve the learning process, an E-CASE tool that provides a more dynamic and interactive learning experience should be used.In addition, an E-CASE tool integrates smoothly with E-learning in teaching a software engineering course.Finally, an E-CASE tool is easily accessible from students' place of residence which makes it easy for them to access while they are using the software engineering E-learning system.
A survey to obtain software engineering students feedback regarding the use of E-CASE tools was conducted.The survey uses a similar approach used with software engineering professionals.The software engineering course is blended with an E-learning support.The survey consists of a number of questions regarding the use of E-CASE tool as part of their software engineering course and E-learning experience.The questions used in the survey include: 1. Did you feel comfortable using CASE tools in your software engineering course?2. Were the CASE tool experiments clearly written? 3. Were the CASE tool experiments procedures easy to follow? 4. Did you have difficulties in using the help and documentation of the CASE tool? 5. Didn't you experience difficulties in switching between the E-learning platform and the CASE tool?The survey included a group of students consisting of 14 students studying a software engineering course that is supported by E-learning platform.The results of the survey are illustrated in Figure 2 where the blue bar represents a "Yes" answer and the red bar represents a "No" answer.The X-axis represents the question number, and the Y-axis represents the frequency of each answer.As given in the graph, there is an agreement that the software engineering students feel comfortable using CASE tools in general.There is also an agreement that the CASE tools documentation is written clearly and the CASE tools experiments are easy to follow.There is a major problem in using the traditional CASE tool when switching between the E-learning platform and the traditional CASE tool.There is a total agreement among all software engineering students that they prefer to use the PAPER TOWARDS E-CASE TOOLS FOR SOFTWARE ENGINEERING III.CONCLUSIONS CASE tools have proved very beneficial in software and computerized systems development.They are of great value in all phases of software systems development and engineering.This is evident in the huge benefits obtained from using these tools including its cost-effectiveness, rapid software development, standardization of most of the reports and templates, building software systems in a systematic method.In this paper, the idea of moving towards E-CASE tools is advocated.E-CASE tools have all the benefits and advantages mentioned so far and add to them all the benefits and advantages of web applications in terms of accessing the E-CASE tool from any place having an internet connection.This is presented by focusing on the role of E-CASE tools in facilitating the trend of telecommuting and virtual workplaces among software engineering and information technology professionals.In addition, E-CASE tools integrate smoothly with the trend of E-learning in conducting software engineering courses.Finally, two surveys were conducted for a group of software engineering professional and students of software engineering courses.The surveys show that E-CASE is of great value to both communities of students and professionals of software engineering.

Figure 1 .
Figure 1.E-CASE Tool Survey Results for Software Engineering Professionals 6. Do you prefer the use of E-CASE tools rather than traditional CASE tool? 7. Will the use of E-CASE tool software increase your interest in the E-CASE tool labs? 8. Do you think that the use of E-CASE tool is very valuable in terms of simplifying the learning process both on campus and from the place of residence (home)?9. Overall, do you support the use of E-CASE tools in software engineering courses rather than traditional CASE tools?10.Overall, do you support the use of E-CASE tools in software engineering courses blended with Elearning?

Figure 2 .
Figure 2. E-CASE Tool Survey Results for Software Engineering Students E-CASE tool, as part of their software engineering course.In addition, E-CASE tools have increased software engineering students' interests CASE tools labs and improved their learning process.Finally, software engineering students support the use of E-CASE tools in general and the use of E-CASE tools in software engineering courses blended with E-learning.
CASE TOOLS FOR SOFTWARE ENGINEERING difference software development companies.The survey consists of 15 software engineering professionals.The results of the survey are illustrated in Figure