Page 537 -
P. 537
536 Part Four Building and Managing Systems
the functional requirements of the system, specifying its most important
properties and what the proposed system must do. Interactions between the
system and its users are analyzed to identify objects, which include both data
and processes. The object-oriented design phase describes how the objects will
behave and how they will interact with one other. Similar objects are grouped
together to form a class, and classes are grouped into hierarchies in which a
subclass inherits the attributes and methods from its superclass.
The information system is implemented by translating the design into
program code, reusing classes that are already available in a library of reus-
able software objects, and adding new ones created during the object-oriented
design phase. Implementation may also involve the creation of an object-ori-
ented database. The resulting system must be thoroughly tested and evaluated.
Because objects are reusable, object-oriented development could poten-
tially reduce the time and cost of writing software because organizations can
reuse software objects that have already been created as building blocks for
other applications. New systems can be created by using some existing objects,
changing others, and adding a few new objects. Object-oriented frameworks
have been developed to provide reusable, semicomplete applications that the
organization can further customize into finished applications.
Computer-Aided Software Engineering
Computer-aided software engineering (CASE)—sometimes called
computer-aided systems engineering—provides software tools to automate
the methodologies we have just described to reduce the amount of repeti-
tive work the developer needs to do. CASE tools also facilitate the creation of
clear documentation and the coordination of team development efforts. Team
members can share their work easily by accessing each other’s files to review or
modify what has been done. Modest productivity benefits can also be achieved
if the tools are used properly.
CASE tools provide automated graphics facilities for producing charts and
diagrams, screen and report generators, data dictionaries, extensive reporting
facilities, analysis and checking tools, code generators, and documentation
generators. In general, CASE tools try to increase productivity and quality by:
• Enforcing a standard development methodology and design discipline
• Improving communication between users and technical specialists
• Organizing and correlating design components and providing rapid access to
them using a design repository
• Automating tedious and error-prone portions of analysis and design
• Automating code generation and testing and control rollout
CASE tools contain features for validating design diagrams and specifica-
tions. CASE tools thus support iterative design by automating revisions and
changes and providing prototyping facilities. A CASE information repository
stores all the information defined by the analysts during the project. The reposi-
tory includes data flow diagrams, structure charts, entity-relationship diagrams,
data definitions, process specifications, screen and report formats, notes and
comments, and test results.
To be used effectively, CASE tools require organizational discipline. Every
member of a development project must adhere to a common set of naming
conventions and standards as well as to a development methodology. The best
CASE tools enforce common methods and standards, which may discourage
their use in situations where organizational discipline is lacking.
MIS_13_Ch_13 global.indd 536 1/17/2013 2:31:23 PM

