[ieee 2002 student conference on research and development. scored2002.. global research and...

4
2002 Student Conference on Research and Development Proceedings, Shah Ah, Malaysia CASE Technology Augustina Aegidius Sitiol School of Engineering andlnformation Technology Universiti Malaysia Sabah, Locked Bag No. 2073, 88999 Kota Kinabalu, Sabah, Malaysia Abstract - This paper describes a state of the art in the field of Computer .Aided Sofiware Engineering (CASE) technology. The objective of this paper is to provide an overview of the current state and direction of CASE. The term CASE emerged in the late 1970s when computer companies began to borrow ideas from the hardware manufacturing process and apply them to software development. There are y y CASE tools available and becoming available that can improve the productivity of progynmers. Survey of object- oriented (00) CASE tools was conducted to provide an overview of 00 CASE tools and the methods supported as well as their vendors. 1. INTRODUCTION CASE is an acronym that stands for Computer Aided Sofhvare Engineering. There are variations of CASE as illustrated in Table 1. Table 1 Variations of the Acronym CASE I c I Computer I The two key ideas of CASE giving two benefits: CA computer assistance in software development SE' an engineering approach to software and/or maintenance development and/or maintenance. A CASE environment can be referred to as a system providing some kind of graphical tool for supporting recording, documentation and representations of objectgentities of an application domaidcomponent for a single technique. A CASE environment may also support and integrate the techniques in every stage of the information systems life cycle. CASE is meant to bring clarity into the software architecture and thus producing systems which are maintainable over a long period of time.' CASE tools assist in modelling project functions, information flows, data entities and other information regarding the proposed system requirements [l, 2,4,3, 5, 61. A CASE system can be characterised by the set of offered functionality, e.g. editing, execution, debugging, testing, and verification [7]. Basic characteristics of CASE tools as defined in [SI are as follows: 0-7803-7565-3/02/$17.00 02002 EEE. . . . . . . . . . Enable the user to draw diagrams for planning, analysis, or design on a workstation screen. Solicit information about the objects in the diagram and relationships among the objects so that a complete set of information is built up. Store the meaning of the diagram, rather than the diagram itself, in a repository. Check the diagram for accuracy, integrity, and completeness. The diagram types used should be chosen to facilitate this. Enable the user to employ multiple types of diagrams representing different facets of an analysis or a design. Enable the user to draw programs with diagrams, showing conditions, loops, CASE structures, and other constructs of ~t~cr~ral programming. Enforce structured modelling and design of a type that enables accuracy and consistency checks to be as complete as possible as a whole. Co-ordinate the information on multiple diagrams, checking that they are consistent, and have accuracy, integrity, and completeness. Store the information built up at workstations in a central repository shared by all analysts and designers. Coordinate the infomation. in the central repository, ensuring consistency among the work of all analysts and designers. 2. HISTORICAL BACKGROUND AND EVOLUTION OF CASE The term CASE emerged in the late 1970s when computer companies began to borrow ideas from the hardwaie manufacturing process and apply them to software development. In the early 1980s, CASE was referred to stand-alone tools to help program diagramming and documentation [3,5]. With the widespread adoption of desktop computer technology, CASE was really caught in the middle 1980s when computerised tools for creating, storing and manipulating pictorial and text descriphons of information systems started to appear [9]. Developers produced graphical diagrams during the planning and co-ordinating sessions to show function blocks, storage and lines of communication. With the aid of graphical representation, sofhvare designs can be easily understood, and therefore easily checked [4]. Thus, the capabilities of system analysis and design diagramming tools had broadened to include automatically checking designs. During that time, the 54

Upload: aa

Post on 09-Feb-2017

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2002 Student Conference on Research and Development. SCOReD2002.. Global Research and Development in Electrical and Electronics Engineering - Shah Alam, Malaysia (16-17 July

2002 Student Conference on Research and Development Proceedings, Shah A h , Malaysia

CASE Technology

Augustina Aegidius Sitiol

School of Engineering andlnformation Technology Universiti Malaysia Sabah,

Locked Bag No. 2073, 88999 Kota Kinabalu, Sabah, Malaysia

Abstract - This paper describes a state of the art in the field of Computer .Aided Sofiware Engineering (CASE) technology. The objective of this paper is to provide an overview of the current state and direction of CASE. The term CASE emerged in the late 1970s when computer companies began to borrow ideas from the hardware manufacturing process and apply them to software development. There are y y CASE tools available and becoming available that can improve the productivity of progynmers. Survey of object- oriented (00) CASE tools was conducted to provide an overview of 00 CASE tools and the methods supported as well as their vendors.

1. INTRODUCTION

CASE is an acronym that stands for Computer Aided Sofhvare Engineering. There are variations of CASE as illustrated in Table 1.

Table 1 Variations of the Acronym CASE I c I Computer I

The two key ideas of CASE giving two benefits: CA computer assistance in software development

SE' an engineering approach to software and/or maintenance

development and/or maintenance.

A CASE environment can be referred to as a system providing some kind of graphical tool for supporting recording, documentation and representations of objectgentities of an application domaidcomponent for a single technique. A CASE environment may also support and integrate the techniques in every stage of the information systems life cycle. CASE is meant to bring clarity into the software architecture and thus producing systems which are maintainable over a long period of time.'

CASE tools assist in modelling project functions, information flows, data entities and other information regarding the proposed system requirements [l, 2 ,4 ,3 , 5, 61. A CASE system can be characterised by the set of offered functionality, e.g. editing, execution, debugging, testing, and verification [7]. Basic characteristics of CASE tools as defined in [SI are as follows:

0-7803-7565-3/02/$17.00 02002 EEE.

. .

. .

.

.

.

.

.

Enable the user to draw diagrams for planning, analysis, or design on a workstation screen. Solicit information about the objects in the diagram and relationships among the objects so that a complete set of information is built up. Store the meaning of the diagram, rather than the diagram itself, in a repository. Check the diagram for accuracy, integrity, and completeness. The diagram types used should be chosen to facilitate this. Enable the user to employ multiple types of diagrams representing different facets of an analysis or a design. Enable the user to draw programs with diagrams, showing conditions, loops, CASE structures, and other constructs of ~ t ~ c r ~ r a l programming. Enforce structured modelling and design of a type that enables accuracy and consistency checks to be as complete as possible as a whole. Co-ordinate the information on multiple diagrams, checking that they are consistent, and have accuracy, integrity, and completeness. Store the information built up at workstations in a central repository shared by all analysts and designers. Coordinate the infomation. in the central repository, ensuring consistency among the work of all analysts and designers.

2. HISTORICAL BACKGROUND AND EVOLUTION OF CASE

The term CASE emerged in the late 1970s when computer companies began to borrow ideas from the hardwaie manufacturing process and apply them to software development. In the early 1980s, CASE was referred to stand-alone tools to help program diagramming and documentation [3,5].

With the widespread adoption of desktop computer technology, CASE was really caught in the middle 1980s when computerised tools for creating, storing and manipulating pictorial and text descriphons of information systems started to appear [9]. Developers produced graphical diagrams during the planning and co-ordinating sessions to show function blocks, storage and lines of communication. With the aid of graphical representation, sofhvare designs can be easily understood, and therefore easily checked [4]. Thus, the capabilities of system analysis and design diagramming tools had broadened to include automatically checking designs. During that time, the

54

Page 2: [IEEE 2002 Student Conference on Research and Development. SCOReD2002.. Global Research and Development in Electrical and Electronics Engineering - Shah Alam, Malaysia (16-17 July

importance of having an information repository, dictionary, or encyclopaedia as the centre of a CASE system became more widely appreciated. The-history of CASE tools is described in Table 2. Some CASE tools support the concepts of structured programming and similar organised development methods. Recently, CASE tools encompass analysis and design and accommodate visual programming and 00 programming.

Table 2 History of CASE Tools I I Comuuter aided documentation. I

Software Through

Automatic design analysis and

Automated system information

lntmdive D~dopment Consists of a component-based modeling approach for 00 methods.

3. SURVEY OF CASE TOOLS

Simply Oble

Objea Studio

Axiom-SA, AxiomSys,

A CASE tool is a drawing tool used to produce and manage diagrams representing a software system's design. A CASE tool typically embodies the definitions of one or more sofhmre development methodologies. The tool allows the designer to enter diagrams in the method's notation, checks the diagrams for consistency, and may generate code to produce diagrams from preexisting code.

Ud and . Class Prototype based on Eiffel language repository. Technology PIy U d - .

Vmark Inc.

Sflvctvred ' Technology Group Supports Nuetured analysis, system analysis and soRware design.

software An Analysis and design tool supporting obj& modelling, use cases, CRC trapping, and tighrly bound to ENFIN develop" environment for bi-directional eode generation. ENFIN is a Multi-plitfah Smalltllk development environment.

There are many CASE tools available and becoming available that can improve the productivity of programmers [lo, 11, 12, 131. .The list of CASE tools depicted in Table 3 provides an. overview of 00 CASE tools and the methods supported as well as their vendors. Many vendors of 00 CASE tools are aggressively expanding their 'roles to address the functionality of object-oriented analysis and design (OOAD). Muck of the literature on CASE tools has tended to focus on the productiviiy, systems quality [14], and development costs,

AxionDm

Wi*.C'y

Table 3 List of 00 CASE Tools . .

. . Inc.

Mim&ld soflwareInc. 1

Supports UML. It reverse mgheers Ct+, Java, Visual Basic, and Delphi, It can gen.wate most 00 languages through its scripting capabilities, revem engineer relational databask and "OLE paste" into Word and other OLE compatible donunnas.

I , _ 1 Available on most PC and h X platforms. Rational I Rational Soflwm I A tool lhit suppoa Unified Modelling Language (UML). Available for SunOS, AIX, MS Windows,

Advanced Software Technologies Inc.

custom methodology can be m t e d as needed to e ~ p r e s s high and low-level desi& in a graphical format. . Generates C++, C and Ada d e : Also provides elrZpnsive diagram layout features and user

. . 1 extensible spbd sets. -. . .. . . I Mark V Swtems I Anal& and him. Multiole methods and new methods can k added. C d e ieneration and reverse

55

Page 3: [IEEE 2002 Student Conference on Research and Development. SCOReD2002.. Global Research and Development in Electrical and Electronics Engineering - Shah Alam, Malaysia (16-17 July

Much of the literature on CASE tools has tended to focus on the productivity, systems quality [14], and development costs. Many of the CASE tools available support Unified Modelling Language (UML). It was originally conceived by Grady B w h , James Rumbaugh and Ivar Jacobson, ,thereafter Rational Software Corporation was established. The language has gained support from various organisations and has been approved by the Object Management Group [HI. The major components of the CASE tools include the following utilities: graphical editor (with built-in support for common diagramming methodologies); Design checking program; and Document repository. There are many existing CASE tools failed because the tools are hard to learn, inaccessible from programmers’ working environment, enforce a process, e.g. design then coding,. etc.. Therefore, dozens of 00 analysis and design CASE tools have been widely circulated.

4. OBJECT-ORIENTED ANALYSIS AND DESIGN METHODS

The popularity of OOAD has been overwhelming in years. Analysis stage concerns with classes and scenario which describe the behaviour of a real-world system. The design stage implements the classes created in the analysis stage. Design is about implementation decisions. 00 analysis consists of modelling the application domain, whereas 00 design consists of modelling the objects and class structure of the application itself The needs for CASE tools for WAD are as follows:

helps in understanding software through the use of diagram and notations helps to determine the high-level strncture of applications before coding makes software understkdable to developers or maintenance programmers.

Large projects adopting 00 analysis and design have produced many positive results, and thus has convinced many organisations to adopt this new paradigm. However, OOAD methods are still in the growing phase and continues to evolve. Five OOAD methods are discusseQ namely B w h , Coad and Yourdon, Martin and Odell, Rumbaugh et al., as well as Shlaer and Mellor. The criteria for selecting these methodologies were:

The methodologies accepted by the community as OOAD methodologies

* The methodologies have been published in textbook in order to obtain sufficient information.

Booch‘s method, i.e. Object-Oriented Design with Applications (OODA) [16], describes a number of general properties of well-structured, complex systems. In OODA, the problem domain is modelled in the logical strncture and physical structure of the system. OODA provides a set of graphical notations and various techniques to accomplish the tasks. Object-Oriented Analysis and Object-Oriented .Design (OONOOD) by Coad & Yourdon [17, 181 is

based on a number of general principles for managing the complexity of systems. Graphical notations are used for depicting the model of the problem domain, the dynamic behaviour of objects, and the functional structures. Object-Oriented Analysis and Design (OOAD) by Martin & Odell 1191 is based on the logic and set theory. This methodology focuses on the behaviour of objects and techniques which have been developed to identify objects and their relationships, to describe the dynamic behaviour of objects and to capture the high- level business process. Object Modelling Technique (OMT) by Rumbaugh, et al. [20] aims to create stable programs by placing the emphasis on data instead of functions. It provides techniques to describe the problem domain from the static structure of objects and classes, the dynamic behaviour of objects and the functional structures. Object-Oriented Systems Analysis (OOSA) by Shlaer & Mellor [21] covers 00 analysis and provides techniques to overcome problems that are faced in the Structured Analysis approach. This method focuses on the static aspects of the objects and only brief description on the dynamic and functional aspects.

5. BENEFITS OF CASE

The introduction of CASE into any organisation can cause considerable changes to the time taken by each phase and the distribution of cost within the software life cycle. CASE has a greater emphasis on analysis and design, thereby having a vast impact on reducing maintenance costs [ I , 1 1 , 22, 231. The benefits of CASE are: Encourages an interactive and workstation environment; Reduces cost, especially maintenance; Improves software quality; Speeds up the development process; Makes structured techniques practical; Increases productivity; Increase in user participation; Quck response to requirement change; Enhancement in software ‘reuse; Reduction of errors; an Improvement in programmers’ productivity. Although CASE tools are often expensive, it is believed that they are essential to the new 00 process [5, 1 I]. Without proper tools, software engineers waste effort and creativity on trivial task instead of the analysis and design of the software system.

6. THE FUTURE OF CASE

CASE will continue to evolve to meet the needs of today’s software engineers [lo]. CASE is re-achieving its former popularity as businesses discover a need to develop critical, enterprise-scale application. Such applications need the emphasis on analysis and design that is required by CASE tools, as opposed to the emphasis on quick, small-scale development that came with the rapid applications development tools that have been used in the past for less critical projects. CASE vendors are now incorporating functions of software applications into their CASE tools. At the same time, application vendors are incorporating CASE technology into their products, as well. As this continues, we will move toward CASE and application

56

Page 4: [IEEE 2002 Student Conference on Research and Development. SCOReD2002.. Global Research and Development in Electrical and Electronics Engineering - Shah Alam, Malaysia (16-17 July

Conference on Engineering of Complex Computer Systems, pp 47-50, 1996.

[SI J. Martin, Information Engineering. Book I : Introduction, Prentice-Hall, Inc., 1989.

[9] E. J. Chikofsb, Software Development Computer-Aided Sojiware Engineering (CASE), IEEE Computer Society Press Technology Series, 1989.

[IO] A. W. Brown, “CASE in the. 21“ Century: Challenges Facing Existing CASE Vendors”, Proceedings of the Eighth IEEE International WorkshoD on Software Technolow and

tools that so well integrated that changes in one are immediately reflected in the other. CASE tools will he integrated so that each tool will be able to perform several functions and eventually will lead to a point where a CASE environment will provide support for the entire project life cycle [2, 24, 251. With the advent of the Internet, a typical CASE tool’s functions according to [IO, 23, 251 will be: Generate database schema; User interface design; Database optimisation; Data distribution and replication; Provide remote access to the server; Generate browser-aware interfaces; and Server to web-page translation. In the future, organisations will move towards greater reuse of the results of previous development efforts. Developers of CASE tools and technologies must provide solutions.

7. CONCLUSION

With the rapid advancement of technology today, the cost of hardware is decreasing considerably. On the other hand, the cost of software is increasing. The main reason for the high cost of software is that software technology is very much labour intensive. Software projects are often very large and involving a huge number of people and span over many years. Hence there is an urgent need for proper methodologies, techniques and tools. CASE offers an opportunity to alleviate these problems. CASE tools and methodologies will’change the way people think about systems in future. Some progressive companies are already changing how they think about developing, maintaining and enhancing their systems, and are finding strategic advantage in doing so.

8. REFERENCES

J. 0. Jeon, C. H. Choo and D.H.Lee, “Relationship between Perceived Benefits and Growth Stages of CASE Technology”, IEEE International Conference on Systems, Man, and Cybernetics, vol. 5 pp. 48964900, 1998. A.Fugetta, “A Classification of CASE Technology”, Computer, vol,! 26 12, pp. 25-38, 1993. G.Gritfiths, “CASE in the Third Generation”, Software Engineering Journal, vol. 9 no. 4 pp. 159-166, 1994. A. Endres and H. Weber, “Software Development Environments and CASE Technology”, Proceedings of the European Symposium Konigswinter, Germany, 1991. S . McGinnes, “CASE Support for Collaborative modeling: Reengineering Conceptual Modeling Techniques to Exploit the Potential of CASE Tools”, Software Engineering Journal, pp. 183- 189, 1994. C. Gaskell and R. Phillips, “Executable Specifcation and CASE, Software Engineering Journal, vol. 9 no. 4, pp. 174-182, 1994. M. Pezze and S. Silva, “A Software Architecture Approach for ‘Designing CASE Systems”, Proceedings of the Second IEEE International

57 ,*’

~- Engineering Practice (Incorporating CASE), pp. 268-278. 1997.

[I 11 C. E.Altick and C. P. Satterthwaite, “CASE From the Engineers Point of View”, P roh l ings of the IEEE International Aerospace and Electronics Conference, vol. 1 pp. 515-519, 1993.

[I21 T. Church and P. Mathews. “An Evaluation of Object-Oriented CASE Tools: The Newbridge Experience”, Proceedings of the Seventh International Workshop on CASE, pp 4-9, 1995.

[I31 Spectrum Staff, “The Case for CASE Tools”, IEEE Spectrum, vol 27, issue 1.1, pp. 78-81, 1990. ,

[I41 G. Low and V. Leenanuraksa, “Software quality .and CASE tools”. Proceedings of Software Technology and Engineering, .pp. 142 -150, 1999.

[I51 S. S. Alhir, UML in a Nutshell: A Desktop Reference, O’Reilly & Associates, Inc., 1998.

[ 161 G. Bwch, Object-Oriented Analysis and Design with Applications, BenjamidCummings Publishing Company Inc., 1994.

[I71 P. Coad and E. Yourdon, Object-Oriented Analysis, Yourdon Press, 1991

[I81 P. Coad and E. Yourdon, Object-Oriented Design, Yourdon Press, 1991.

[ 191 J. Martin and J. Odell, Object-OrientedMethods: A Foundation, Prentice Hall, 1925.

[20] J. Rumbaugh, M. Blaha, W.Premerlani, F. Eddy and W. Lorensen, Object-Oriented Modelling andDesign, Prentice Hall, 19911

[21] S. Shlaer and S. J: Mellor, :Object-Oriented Systems Analysis: Modelling th4, World in Data, Yourdon Press: Prentice Hall, 138.

1221 M. Daneva, “ABest Practice Based Approach to CASE-tool Selection”, Proceedings of the 4th IEEE International Symposinm:,and Forum on Software Engineering StandardS, pp. 100-1 10, 1999.

[23] R. T. Coupe and. N. M. Onodu; “Evaluating the impact of CASE: an Empirical Comparison of Retrospective and Cross-segtional Survey Approaches”, European Journal of Information systems, vol. 6, pp. 15-24, 1997;-

[24] R. T. Yeh, CASE Technology: A Special Issue of the Journal of System Integration, Klnwer Academic Publishers, 1992.

“CASE .. 2000: The Future of CASE Technology”.

Software Engineering Journal, vol. 9 no. 4 ,pp 138-139, 1994.

[25] S. King, P. Layzell and S.Williams,