The growing complexity of the software systems being developed and the use of different methodologies indicate the need for more computer support for automating software development process and evolution activity. Currently, Computer-Aided Software Engineering (CASE), which is a set of software systems aimed to support the set of software process activities, does this automation. While CASE tools prove its importance to develop high-quality software, unfortunately, CASE tools don’t cover all software development activities. This is because some activities need intellectual human skills, which are not currently available as computer software. To solve this shortcoming, Artificial Intelligence (AI) approaches are the ones that can be used to develop software tools imitating these intellectual skills.
This paper presents the definition of Intelligent Computer-Aided Software Engineering (I-CASE). The definition encompasses two steps. The first step is a clear decomposition of each basic software development activity to sub-activities, and classify each one of them whether it is an intellectual or procedural job. The second step is the addressing of each intellectual (un-automated) one to a proper AI-based approach. These tools may be integrated into a package as an Integrated Development Environment (IDE) or could be used individually. The discussion and the next implementation step are reported.
Software Engineering, CASE tools, Artificial Intelligence
The aim of Software Engineering (SE) is to manage the development of software products via structured and systematic approaches known as the software development process. The software development process is a repeatable and predictable formation that comes in several different models or methodologies and used for improving the productivity and quality of producing software. Each model of the software development process has its own organizing and coordinated set of activities that should be performed by engineers, managers, and technical writers to produce the aimed software. We can name assorted common software development processes that are in use today, like a waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, Agile, extreme programming (XP), Lean, and Scrum. No matter how they are coordinated in their software development model, the principle or basic activities that should be performed for software manufacturing are shared among these models, which are Requirement engineering, Software Architectural Design, Implementation, Software Testing, Software Documentation, Training and Support, and Maintenance (Sommerville, 2010) (Pressman, 2010).
Currently, SE is attaining effective techniques like unified modeling language (UML), programming languages like Java & C#, and standardization. Furthermore, Software development is typically achieved with support from Computer-Aided Software Engineering tools, CASE tools for abbreviation. CASE is a set of software systems, which aimed to automate (fully or partially) some software development process activities, especially on a large scale or complex project. An example of the set of software development process activities included in CASE are Data dictionary to manage design entities, Graphical editors to develop system model, Graphical User Interface (GUI) builder to build a user interface, Debuggers to locate the program’s fault, and automated translators (compilers and interpreters) to generate new versions of a program. These tools are available, as separately or as a package like Rational Rose, Figure1 shows the typical CASE toolset architecture (Sommerville, 2010) (Pressman, 2010).
As the software products become large-scale, their maintenance becomes complex, and the growth in the
software industry is increased, the demand for fully automating of software development activities becomes
necessary. Poorly defined application domains, noisy, changing, and conflicting objectives of the developed
software are some of the problems’ properties of the software development process. These properties would
force the software developers to change the development and deployment methods and to get the support of
intelligent software development tools for speeding up the development process and decreasing the cost of the
development. AI techniques prove to be the best answer to these types of problems since they based on imitating
human intellectual skills.
In this paper, we surveyed and analyzed research works, and define I-CASE tools(computer-aided software engineering) based on AI techniques.
The ultimate goal of I-CASE is to speed up and facilitate the efforts of the software development. The survey,
analyzing, and definition of I-CASE tools presented in this research cover the development activities
of requirements engineering, design, coding, testing, documentation, and other processes; highlighting the
problems facing the automation of these activities and the required AI techniques.
The Kavian Scientific Research Association (KSRA) is a non-profit research organization to provide research / educational services in December 2013. The members of the community had formed a virtual group on the Viber social network. The core of the Kavian Scientific Association was formed with these members as founders. These individuals, led by Professor Siavosh Kaviani, decided to launch a scientific / research association with an emphasis on education.
KSRA research association, as a non-profit research firm, is committed to providing research services in the field of knowledge. The main beneficiaries of this association are public or private knowledge-based companies, students, researchers, researchers, professors, universities, and industrial and semi-industrial centers around the world.
Our main services Based on Education for all Spectrum people in the world. We want to make an integration between researches and educations. We believe education is the main right of Human beings. So our services should be concentrated on inclusive education.
The KSRA team partners with local under-served communities around the world to improve the access to and quality of knowledge based on education, amplify and augment learning programs where they exist, and create new opportunities for e-learning where traditional education systems are lacking or non-existent.
FULL Paper PDF file:10.1.1.941.3444
Ayad T. Imam received his Ph.D degree in computer science from De Montfort University, Leicester, UK in
2010. Currently, Dr. Ayad is an Assistant Prof. at Al-Isra University / Amman / Jordan. Dr. Ayad has a number of
published papers in various Computer Science and Software Engineering topics. Dr. Ayad is a reviewer in a number of journals and conferences on Computer and Information related areas.
Ayman J. Alnsour received his Ph.D. degree in Computer Engineering in 1995. Prof. Ayman has a number of
published papers in various areas of Computer Science and Engineering. Prof. Ayman is a chairman of a number
of conferences as well as a reviewer in a number of journals and conferences. Prof. Ayman is a member of IEEE,
ACM, Computing Society (USA), and Jordan Computer Society (Jordan)
Aysh Al-Hroob received his Ph.D. degree in Software Engineering from Bradford University, the UK in 2010.
Currently, Dr. Aysh is an acting head of the SE department / Faculty of IT / Al-Isra University / Amman / Jordan.
Dr. Aysh has a number of published papers on various topics of Software Engineering. Dr. Aysh is a reviewer in a
the number of journals and conferences in the software engineering field. * E-mail of the corresponding author: email@example.com
Journal of Information Engineering and Applications www.iiste.org
ISSN 2224-5782 (print) ISSN 2225-0506 (online)
Vol.5, No.1, 2015
This journal is an international peer-reviewed OPEN ACCESS journal.
OPEN ACCESS means this journal provides immediate open access to its content on the principle that making research freely available to the public supports a greater global exchange of knowledge.
Being OPEN ACCESS means:
- wider and faster knowledge dissemination
- maximized research impact and citation advantage
The journal is licensed under a Creative Commons Attribution 3.0 Unported (CC BY 3.0) License.
The readers of this journal are free:
- to Share — to copy, distribute and transmit the work
- to Remix — to adapt the work
- to make commercial use of the work
More information about the Creative Commons can be found in the following URL:
PDF reference and original file: Click here
Professor Siavosh Kaviani was born in 1961 in Tehran. He had a professorship. He holds a Ph.D. in Software Engineering from the QL University of Software Development Methodology and an honorary Ph.D. from the University of Chelsea.