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
   532   533   534   535   536   537   538   539   540   541   542