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>.