Stephanie Lenhart

INFSYS 6840:  Systems Analysis

CASE Tools

         A computer aided software engineering tool is also known as a CASE tool (Scotto). ÒThe term CASE was originally coined by software company Nastec Corporation of Southfield Michigan in 1982 with their original integrated graphics and text editor GraphiText.Ó (Arnold) Mark McMurttey et al describe it as Òthe automation of anything a human does to software.Ó  It is being standardized and Òwritten in the form of pre-fabricated pieces that can be reused in different combinations, much as plumbing systems can be tailored for each house yet still be built out of standard pipes, valves, and joints.Ó (Banker et al)

CASE tools allow the parties involved to have a common view of where a project stands at all of the various stages in the systems development lifecycle (Meecham).  Having a common view is important for everyone to be able to work effectively and efficiently. CASE tools are able to provide this common view when used appropriately.  It is very important to be productive in the business world.  The methodology used, project size, experience, and CASE tools all impact productivity (Pendharkar and Subramanian).

Types of CASE tools

         There are different types of CASE tools that can be used throughout the systems development lifecycle. The Upper CASE tools are used during the planning, analysis and design stages of the systems development lifecycle.  While the Lower CASE tools are used during implementation, testing and maintenance The Integrated CASE tools consist of the complete lifecycle, planning, analysis, design, implementation, testing and maintenance.  (Tutorials Point). 

         The Upper CASE tools are used in the planning phases so that the analysts can Òcapture, store, organize, and analyze models of the business.Ó (Tutorials Point)  This is beneficial since they will assist the analyst in being able to define and prioritize

á      ÒBusiness strategies that are being implemented

á      Complementary information systems and information technology strategies to be implemented

á      Databases that need to be developed

á      Networks that need to be developed

á      Applications that need to be developed around the databases and networks.Ó (The Amins)   

Techniques that are used in Upper CASE tools include Òdata modeling, using entity relationship diagrams, process modeling using data flow diagrams, and structured design using structure charts.Ó (Liou and Chen)  An example of an Upper CASE tools is Excelerator (Arnold).

         The Lower CASE tools are focused on supporting implementation and integration (Umar).  They Òsupport database schema generation, program generation, implementation, testing, and configuration management.Ó (Umar)  The products used for Lower CASE tools are focused more on the models and source code (Oracle).  An example of a Lower CASE toll is Telon (Arnold).

         Integrated CASE tools focus on all aspects of the systems development lifecycle.  They help with anything from Òrequirement gathering to testing and documentation.Ó (Tutorials Point)  Integrated CASE tools are Òoften complex and expensive, but offer the developer the greatest integrity of all approaches through the use of a single data encyclopedia throughout the lifecycle (Arnold).Ó  An example of an Integrated CASE tool is Information Engineering Facility (Arnold).

CASE Tool Use

         One of the first steps in analysis is figuring out what is the most appropriate tool.  A person may start with using things like index cards, post it notes, paper and whiteboards for modeling and then move to using a CASE tool (Ambler).  However, CASE tools can be used in each phase of the system development lifecycle.  They are used to help increase the productivity of analysts (Rajaraman).  They are also used to improve quality, speed, implementation, management and implementation of software development (Umar).    While CASE tools are useful, Òthey are no substitute for interactive group discussion.Ó (Robinson and Pawlowski)  Liou and Chen suggest that CASE environments provide a way to facilitate project meetings to allow for better communication between group members.

         CASE tools can be used with various methodologies.  The user needs to know what type of tool is most beneficial for their project.  ÒThe process begins with learning the methodology from a userÕs point of view, then describes the methodology with an entity-relationship diagram so that itÕs components can be determined.Ó (Tagg)  By doing this, CASE tool use can continue to adapt to new methodologies that may arise. 

         When implementing the use for CASE tools it is important to follow a process so the organization can effectively use the tool.  First, an organization needs to recognize the problem and formulate intentions for the CASE tool (Orlikowski).  Then the organization needs to acquire the CASE tools, change policies, practices, structure, operations and role of the clients (Orlikowski).  Finally, after implementation, they need to learn about reactions to the changes from their clients, IS managers, and system developers (Orlikowski). 

Variations of CASE Tools

Since CASE tools are utilized throughout the systems development lifecycle, there are many different types that are used.  There are diagram tools, process modeling tools, project management tools, documentation tools, analysis tools, design tools, configuration management tools, change control tools, programming tools, prototyping tools, web development tools, quality assurance tools and maintenance tools (Tutorials Point).  The diagram tools Òrepresent system components, data and control flow among various software components and system structure in graphical form.Ó (Tutorials Point)  Process modeling tools are selected when managers need to choose a process model or modify it (Tutorials Point).  Project management tools help store and share information in real-time (Tutorials Point).  Documentation tools are used to explain the how-to of the system (Tutorials Point).  Analysis tools Òhelp gather requirements, automatically check for any inconsistency, inaccuracy in the diagrams, data redundancies or erroneous omissions.Ó (Tutorials Point) Design tools help design the structure and modules of the software (Tutorials Point).  Configurations management tools work to track all of the baseline versions of the software (Tutorials Point).  Change control tools track the different versions after the baseline (Tutorials Point).  Programming tools Òconsist of programming environments, in-built modules-library and simulation tools.Ó (Tutorials Point)  The prototyping tools work to provide a sneak peek into how the end product will look and feel (Tutorials Point).  Web development tools help with designing web pages (Tutorials Point).  Quality assurance tools monitor the processes and methods used to make sure it is up to company standards (Tutorials Point).  Maintenance tools focus on logging errors in the product (Tutorials Point).  These are all options when looking to use CASE tools.  The choice just needs to be made for what is most appropriate to the clientÕs particular project.

Costs

There has been little empirically based research on CASE tools resulting in journals presenting the use of CASE tools as a success (Guinan, Cooprider and Sawyer).  However, more recently, the use of CASE tools have had mixed reviews.  Some report high costs and with little gains, while others report high gains and high quality (Lending and Chervany).  It is very difficult to calculate the value of the CASE tools being used.  Things to be taken into consideration vary from:

á      ÒInitial training and education

á      Evaluation costs

á      Maintenance of the model over time

á      Upgrade costs

á      Maintenance fees

á      Time lost waiting for the tool to do its job

á      Time lost over-using the tool

á      Migration costs to port models to another tool

á      Increased effort to synchronize models with other artifacts such as source code

á      CASE tools often promote syntax over communication between developers

á      Generated code is often too simplistic, or cluttered with extraneous information required by the tool

á      Poor user interfaces often hamper the modeling effort

á      Inadequate integration with other tools reduces productivity and/or requires integration work

á      Complex tools are often prevent the inclusion of non-developers in your modeling efforts.Ó (Ambler)

Wanda Orlikowski suggests in her research that rather than focusing on outcome expectations, Òthe adoption and use of CASE tools should be conceptualized as a form of organizational change and that such a perspective allows us to anticipate, explain, and evaluate different experiences and consequences following the introduction of CASE tools in organizations.Ó

Advantages and Disadvantages

         As with any product there are varying levels of advantages and disadvantages.  CASE tools have the Òpotential to alleviate the applications systems development bottleneck (McMurtrey et al).Ó While, Òengineering software has traditionally been developed by large groups and its development has often been costly, slow and inflexible,Ó CASE tools enable a small team to build complex software (Hazony and Zeidner).  The ultimate goal of using CASE tools is to increase productivity (McMurtrey et al). 

The common benefits of CASE tools are that the technology:

á      Òincreases productivity and quality;

á      enables uniformity among the design team during the analysis and design process;

á      enables ease of making changes during the various systems development lifecycle phases;

á      can restructure poorly written code;

á      simplifies programming maintenance;

á      enforces software/systems engineering standard;

á      aids project management

á      provides for a central data repository and reference encyclopedia

á      simplifies drawing a systemÕs architectural diagrams;

á      decreases application development time;

á      provides the capability to sold larger and more complex problems; and

á      generates code automatically.Ó (McMurtrey et al)

The common drawbacks of CASE tools are that the technology:

á      Òmay cause extreme amount of sales and press hype;

á      leads to reliance on structured methodologies;

á      necessitates a long learning curve;

á      has limited functions;

á      does not provide integrated central repository;

á      may cause poor integration among different vendor products;

á      requires working knowledge of the underlying methodology;

á      may cause user resistance; may cause a change in job roles and relationships and the quality of work life; and

á      has benefits which are difficult to measure.Ó (McMurtrey et al)

The Future of CASE Tools

ÒBusinesses seeking to be as cost-efficient as possible, the need for CASE tool knowledge, complex in itself, will continue to be important (Software Engineer).Ó  CASE tools will be able to adapt to new methods being used and different focuses of users.  It will also work to support many different types of applications and well as provide better repository capabilities (Loucopoulos and Karakostas).  CASE tools will continue to evolve and be utilized as the use of information technology continues to become one of the most used tools in business practices. 

References

Ambler, Scott. "Simple Tools for Software Modeling -OR- It's "Use the Simplest Tool" Not "Use Simple Tools"" Agile Modeling. N.p., n.d. Web. 02 Nov. 2014. <http://www.agilemodeling.com/essays/simpleTools.htm>.

Arnold, G. Roy Antony. "Case Tools." Slideshare. N.p., 3 Mar. 2011. Web. 10 Nov. 2014. <http://www.slideshare.net/arnoldindia/case-tools>.

Banker, R. D., et al. "Automating Output Size and Reuse Metrics in a Repository-Based Computer-Aided Software Engineering (CASE) Environment." IEEE Transactions on Software Engineering 20.3 (1994): 169-87. ProQuest. Web. 2 Nov. 2014.

Guinan, P. J., J. G. Cooprider, and S. Sawyer. "The Effective use of Automated Application Development Tools." IBM Systems Journal 36.1 (1997): 124-39. ProQuest. Web. 2 Nov. 2014.

Hazony, Yehonathan, and Lawrence Zeidner. "Customized Systems for Engineering Applications." IBM Systems Journal 31.1 (1992): 94. ProQuest. Web. 2 Nov. 2014.

"JD Edwards World CASE Guide." (n.d.): n. pag. Oracle. Oracle. Web. 02 Nov. 2014. <https://docs.oracle.com/cd/E24096_01/eacs.pdf>.

Lending, Diane, and Norman L. Chervany. "Case Tool use and Job Design: A restrictiveness/flexibility Explanation." The Journal of Computer Information Systems 43.1 (2002): 81-90. ProQuest. Web. 2 Nov. 2014.

Liou, Yihwa Irene, and Minder Chen. "Using Group Support Systems and Joint Application Development for Requirements Specification." Journal of Management Information Systems 10.3 (1994): 25. ProQuest. Web. 2 Nov. 2014.

Loucopoulos, P., and V. Karakostas. "CHAPTER 6: C.A.S.E." (n.d.): n. pag. Web. 02 Nov. 2014. <https://www.utdallas.edu/~chung/RE/RE_chapters/Chapter%206.pdf>.

McMurtrey, Mark E., et al. "Current Utilization of CASE Technology: Lessons from the Field." Industrial Management + Data Systems 100.1 (2000): 22-30. ProQuest. Web. 2 Nov. 2014.

Meecham, Bill. "What Is Computer-Aided Software Engineering (CASE)?" Tech Target. N.p., Sept. 2005. Web. 2 Nov. 2014. <http://www.softwareengineerinsider.com/articles/case-tools.html#.VGAWSYdGUyF>.

Orlikowski, Wanda J. "CASE Tools as Organizational Change: Investigating Incremental and Radical Changes in Systems Development." MIS Quarterly 17.3 (1993): 309. ProQuest. Web. 2 Nov. 2014.

Pendharkar, Parag C., and Girish H. Subramanian. "Connectionist Models for Learning, Discovering and Forecasting Software Effort: An Empirical Study." The Journal of Computer Information Systems 43.1 (2002): 7-14. ProQuest. Web. 2 Nov. 2014.

Rajaraman, V. "Systems Analysis and Design/Case Tools." Indian Institute of Science Bangalore (n.d.): n. pag. Web. 02 Nov. 2014. <http://nptel.iitk.ac.in/courses/Webcourse-contents/IISc-BANG/System%20Analysis%20and%20Design/pdf/module14.pdf>.

Robinson, William N., and Suzanne D. Pawlowski. "Managing Requirements Inconsistency with Development Goal Monitors." IEEE Transactions on Software Engineering 25.6 (1999): 816-35. ProQuest. Web. 2 Nov. 2014.

Scotto, Marco. "More on Analysis." N.p., n.d. Web. 02 Nov. 2014. <http://pro.unibz.it/staff/mscotto/SE/SE%20-%20More%20on%20Analysis.pdf>.

"Software Case Tools Overview." Tutorials Point. N.p., n.d. Web. 2 Nov. 2014. <http://www.tutorialspoint.com/software_engineering/case_tools_overview.htm>.

Tagg, Bradley S. "Implementing Tool Support for Box Structures." IBM Systems Journal 29.1 (1990): 79. ProQuest. Web. 2 Nov. 2014.

Umar, Abdulsalam. "Computer Aided Software Engineering (CASE)." Salamturas Blog. N.p., 6 Apr. 2012. Web. 09 Nov. 2014. <http://blog.salamtura.com/post/computer-aided-software-engineering/>.

"Uppercase Tool." The Amins. N.p., n.d. Web. 02 Nov. 2014. <http://www.theamins.com/template.asp?pid=38>.

"What Is Computer-Aided Software Engineering (CASE)?" Software Engineer Insider. N.p., n.d. Web. 02 Nov. 2014. <http://www.softwareengineerinsider.com/articles/case-tools.html#.VGAWSYdGUyF>.