Download applications of computer-aide d software engineering tools and more Slides Software Engineering in PDF only on Docsity! APPLICATIONS OF COMPUTER-AIDE D SOFTWARE ENGINEERING TOOLS : SURVEY OF CURRENT AN D PROSPECTIVE USER S DONALD L . BURKHARD, PH.D ., UNIVERSITY OF VIRGINIA PER V. JENSTER, PH .D ., IMEDE, SWITZERLAND Computer-Aided Software Engineering (CASE) tools burdened by many manual tasks . Given the are a relatively new technology that promises to have a unpredictability of task efforts, it is not uncommon to hea r significant impact on the way systems professionals of organizations having as much as a two-to-five year develop and maintain information systems . This article backlog of systems development projects [11] . In one reports on a study of the experience and expectations of study, the backlog was extimated to be 374% over existin g current and prospective users of CASE tools . After an capacity to develop systems, and this did not include th e introductory discussion of CASE tools and their uses in an " invisible" backlog [1] . In addition, only a small percen t organizational context, the article presents the findings of of projects are completed on time, within budget, an d a recent study of 46 organizations . The research focused according to specifications [15] . Data on the issue o f on three major areas : expectations of CASE technology, successful project completion are questionable given tha t reasons for acquiring CASE, and implementation issues . most project requirements are often redefined on an ongoing In conclusion, areas in need of further exploration are basis with schedules altered accordingly . In addition, identified. definitions of success differ . For example, some projects may be considered successful if overruns do not exceed 30 % or if the user only junks a quarter of the result [9] . Most organizations have addressed these shortfall s largely as productivity problems - How can we speed u p software development while maintaining or increasing th e quality of the final system? Productivity can be viewed a s having two competing dimensions : quantity and quality [4] . Curve A in Figure 1 depicts this trade-off. A certai n level of productivity may be achieved with a wide range o f quality and quantity combinations . If higher quality i s desired while maintaining the same level of productivity , then the quantity must suffer . Ideally, organizations woul d like to be able to shift the curve so that gains in on e dimension are not offset by losses in the other . Some previous efforts to shift the curve outwar d appear not to have been very successful . For example , efforts to increase the quality of systems led to the use of systems development methodologies (SDMs) . Albert Cas e concludes that development techniques improve syste m quality but not necessarily the efficiency of the developer s [4] . Theoretically, the result was a change in th e productivity curve shape (Curve B), rather than a shifting of the curve . Consequently, after the introduction of a n SDM, some organizations discontinued rigid enforcemen t of the methodology's procedures, essentially reducing them to "shelfware . " Conceptually, the various tools or components o f CASE technology are designed to shift the productivity curve as shown in Figure 1 (Curve C) . One compan y reports that systems are being generated so fast that th e end-users are not able to adjust or adapt to the system s before even more new systems are provided [13] . Although this is only one anecdote in which CASE has affected th e quantity side of the productivity issue, it is hoped tha t CASE address both the quantity and quality issues i n systems development . INTRODUCTIO N Computer-aided Software Engineering (CASE) tool s are a relatively new technology that promises to have a significant impact on the way systems professional s develop and maintain information systems withi n organizations . However, only a small number (2%) of potential users are using CASE currently [15] . How organizations take advantage of this emerging technology , and the degree of their success in doing so, is not widel y known . This article reports on a study of current an d potential users of CASE that identifies important issues i n this emerging field . The study focused on three majo r questions : user expectations of CASE technology, reasons for acquiring CASE, and issues relating to th e implementation of CASE . After an introductor y discussion of CASE tools and their uses in an organizational context, this paper presents the findings o f the study and identifies areas in need of further inquiry . COMPUTER-AIDED SOFTWAR E ENGINEERING The term "Computer-aided Software Engineering, " or CAS E 1 , has been used for several years to denote a wid e assortment of automated tools developed to help system s analysts and programmers do their work . In the past, a systems developer's job was labor intensive and wa s 1 The term CASE was coined by John Manley, directo r of the Software Engineering Institute at Carnegie-Mellon University . 28 DATA BASE Fa111989 support has been available for many years in CA D (computer-aided design) form . However, most CAS E products integrate the graphics with other tool capabilities . PROJECT MANAGEMENT Diagramming Methodolog y Suppor t C >- Z 0 SDM SHIF T PRODUCTIVIT Y LEVEL Figure 2 . CASE Environment QUALITY Figure 1 . Effects on Productivit y ANATOMY OF CAS E Many specific, automated tools have been available and used independently over the years to improve development productivity (e .g ., by editors, compilers, an d debuggers) . Thus, a broad definition of CASE technology includes all automated support for producing software [16] . A more specific portrayal of CASE technolog y identifies several kinds of tools that can be integrated to form a tool kit and/or an analyst workstation . The key, and most recent focus, is on the notion of integration , suggesting that the tools must be able to work together t o provide a total support environment . The various tool s include diagramming tools, syntax verifiers, an informatio n repository, prototyping tools, and code generators [12] . Some proponents of CASE take a broad perspective an d include project management tools in the CASE tool ki t [6], and others advocate that CASE must support a development methodology [5,14] . Figure 2 depicts th e various components that make up the CASE tool kit . Diagramming Tools The adage, "A picture is worth a thousand words" describes the use of graphics or diagrams in systems analysis an d design [8] . For example, data flow diagrams show th e processes and the flow of data among the processes in a system. Analysts and users easily understand the diagram s and can validate the correctness of the data flow diagram . One study showed that the communication between user s and the analyst was improved through the use of data flo w diagrams [3] . Drawing data flow diagrams for years was an intensive, manual process . Changes in the system required extensive work to redraw the diagram . Diagramming tool s provide automated support for drawing data flow diagrams , structure charts, and other graphics typically used i n structured approaches to software design Diagramming The structured approaches on which diagrammin g techniques are based have specific rules supporting th e technique or approach . Data flow diagrams require that a process have both inputs and outputs . Structure charts heuristically allow a module to have up to seven sub - modules . Most products provide a limited capability to verify proper use of the techniques . These capabilities often are referred to as error checkers, validators, syntax verifiers, or design analyzers, and performing such tasks as consistency checks, level balancing of data flow diagrams , and other error checking procedures . Information Repository The key to the CASE environment is the informatio n repository, or central repository . The repository is simila r to data dictionary products in that it stores data definition s and relations, but the repository is more inclusive in that i t also stores graphics (or diagram information) and othe r information related to the system being designed . I t becomes the link between the graphics, data definitions , screen and report definitions, and code generatio n capabilities . Prototyping tools The term "prototyping" as it is used in relation to CASE generally refers to "screen" and "report painters" tha t allow one to quickly create and modify screen and repor t formats . These screen oriented layout tools provide th e capability to edit and move portions of the screen/repor t design . In addition, they use data definitions stored in th e central repository to specify the input/output fields . Prototyping tools are used to establish system interfac e specifications with the user prior to actual developmen t (programming) of the system . Code Generators Code generators allow the analyst to generate modularized code from specifications given in a high-level language . Code generators have been available a s independent tools for many years . As part of the CAS E DATA BASE Fall 1989 29 RESEARCH FINDING S Of the 46 respondents, 26 already were using CAS E tools to some extent and 20 were considering acquirin g CASE tools . The following section summarizes th e survey results . Expected Uses of CASE We would expect differences between current an d prospective users in several areas . First, prospective users may have less realistic expectations of potential CAS E uses than their more experienced counterparts . That is , prospective users might expect to apply CASE through the full development life cycle, when the tools have not ye t been fully developed to this extent . Responses related t o the expected uses of CASE technology were solicited i n two ways : through a check list of specific systems development life cycle (SDLC) phases and through a serie s of open-ended responses. With respect to the specific SDLC phases, th e respondents were asked to check the phases for which the y wanted (or were using) CASE support . A list of SDL C phases and associated activities was used (adapted fro m [17]) . The phases included requirements analysis, logica l design, physical design, systems implementation, an d systems operation/maintenance . The responses, in Exhibi t 3, reveal two interesting points . First, there is an overwhelming interest in supporting the early phases of th e SDLC . Over 85% of both current users and expected user s require support for requirement analysis and logical an d physical design, whereas 30-65% require support in th e later phases of the life cycle . Secondly, there were n o significant differences in required support between curren t and expected users . Exhibit 3 CASE Use in the Systems Development Life Cycl e To gain further insight into the uses of CASE, th e responses were categorized as either frontend support , backend support, full life cycle support (which include s both frontend and backend support), or split support4 . As shown in Exhibit 4, 41% indicated a desire to use CAS E across the entire life cycle, whereas 43% indicated only th e frontend phases . Just 4% indicated an interest in onl y backend tools . It was interesting to find that 11% had indicated a desire for split support . Thus, these users ma y not be able to gain the full advantage of CASE technology . 4Split support represents those cases where early an d later phases were indicated, but imtermediate phases were not . 32 DATA BASE Fal11989 Responses to separate open-ended questions indicated a large interest in data flow diagramming (19), cod e generation (13), defining program specifications (11), and data modeling (10) . Ten respondents (10) indicated a need for support of the full life cycle, while documentation wa s mentioned seven (7) times . Various other activities, suc h as project management, structure charts, prototyping, and dictionary creation, were reported by 1 to 4 respondent s each . In summary, we did not find many content difference s between current and prospective users of CASE . This suggests that the expected uses of CASE by both curren t and prospective users is fairly aligned with the presen t capabilities of CASE technology . Reasons for Acquiring CAS E The respondents were asked to rank order the reason s for considering CASE tools . Specific reasons included 1 ) cost savings, 2) speed and timeliness of development, 3 ) improved accuracy and quality, 4) keeping up wit h technology, 5) project coordination, 6) consistency an d structuring of the development process, and 7) other . Itemized responses to "other" included reduced maintenance , traceability, methodology implementation, productivity , project estimation, artificial intelligence or Al, an d competitive advantage . Individual rankings were given values of 1 to 7, wher e 7 was assigned to the most important, 6 to the next mos t important, etc . Many of the respondents ranked only thei r top three or four specific items ; i .e ., they did not rank al l items . Values for non-ranked items were treated as missin g values in the data analysis . The results indicated that speed of development an d improved accuracy and quality were ranked as the mos t important items for the group as a whole . As shown in Exhibit 5A, these two items were virtually identical wit h respect to the mean, the sum (the item rank summed acros s responses), and the number of first place votes for th e item . 5 The calculated value of Kendall's coefficient o f concordance, (W), (which measures the level of agreemen t in the rankings) was 0 .4699, suggesting that the group as a whole was in reasonable agreement . The rankings were also determined for both the Curren t and Prospective users of CASE . As shown in Exhibit 5B , the order of importance of the two items, speed an d accuracy, were reversed in the two samples . Prospective users ranked speed of development as the most importan t 5 The number of first place votes do not add up to th e sample size because several respondents gave equal weigh t to the items . Have Tool s NO YE S Totals 20 2 6 --------------------------------------------------- - Requirements analysis 17 (85%) 22 (85% ) Logical Design 19 (95) 23 (89 ) Physical Design 18 (90) 22 (85 ) Program Design 13 (65) 15 (58 ) Systems Implementation 11 (55) 8 (30 ) Systems Operation/Maintenance 11 (55) 11 (42) Percentages refect group responses . Chi-Sq = 0 .68 Not Significant Exhibit 4 CASE Use in the Systems Development Life Cycl e Have Full Front Back Spli t tools LC End End suppor t ----------------------------------------------- - NO 10 (22%) 7 (15%) 1 (2%) 2 (4% ) - YES 9 - (20) 13 (28) 1 (2) 3 (6 ) ______________________________ _ TOTALS 19 (41) 20 (43) 2 (4) 5 (11 ) with a mean of 5 .6 and with 9 first place votes . The current users ranked improved accuracy as the mos t important with a mean of 5 .75 and with 8 first place votes . Another interesting difference between prospective an d cur rent users is that prospective users ranked cost savings as a relatively unimportant item (ranked 6th with a mean o f 2 .80), whereas current users ranked it third with a mean o f 4 .13 . Very similar results were found when the respondent s were categorized by whether or not they used a structure d methodology . These results are shown in Exhibit 5C. The strong similarities between rankings by prospective versu s current users and rankings by methodology versus non - methodology users are due to the fact that most CAS E users also use a structured methodology, and prospective CASE users do not . (This relationship is discussed furthe r in the section on implementation issues and is depicted i n Exhibit 7 . ) Exhibit 5A : Ranked Reasons for Using CASE by TOTAL GROUP N=4 6 Variable Sum Mean St d Dev First Plac e Vote s Speed 252 .00 5 .48 3. .36 1 1 Accuracy 251 .50 5 .47 1 .61 1 1 Consistency 170 .50 3 .71 2 .38 5 Cost savings 163 .50 3 .55 2 .60 7 Prj coord 152 .00 3 .30 1 .96 _ Keeping up 103 .00 2 .24 2 .0 0 Other 30.50 0 .66 1 .77 1 KENDALL COEFFICIENT OF CONCORDANC E * W = 0 .4699 SIG < 0.000 1 * Kendall Coefficient of Concordance calculate d without using the item "Other ." Exhibit 5D : Ranked Reasons for Using CAS E by Prospective versus Current User s PROSPECTIVE CASE USERS N=2 0 Variable Sum Mean St d Dev First Plac e Vote s Speed 112 .00 5 .60 1 .80 9 Accuracy 102 .00 5 .10 1 .70 3 Consistency 82 .00 4 .10 2 .19 2 Prj coord 72 .50 3 .63 2 .03 1 Keeping up 56 .60 2 .83 2 .0 7 Cost savings 56 .00 2 .80 2 .50 1 Other 20.00 1 .00 2 .12 1 W = 0 .4218 SIG = 0 .000 3 CURRENT CASE USERS N=2 6 Variable Sum Mean St d Dev First Plac e Vote s Accuracy 149 .50 5 .75 1 .51 8 Speed 140 .00 5 .38 0 .92 2 Cost savings 107 .50 4 .13 2 .57 6 Consistency 88 .50 3 .40 2 .52 3 Prj coord 79 .50 3 .06 1 .9 1 Keeping up 46 .50 1 .79 1 .8 7 Other 10 .50 0 .40 1 .4 4 W = 0 .6789 SIG < 0.0001 Exhibit 5C : Ranked Reasons for Using CAS E by Methodology versus Non-methodology User s DO NOT USE METHODOLOGY N=1 6 Variable Sum Mean St d Dev First Plac e Votes Speed 86 .00 5 .38 1 .90 6 Accuracy 81 .00 5 .06 1 .99 4 Prj coord 69 .00 4 .31 1 .46 1 Consistency 66 .00 4 .13 2 .22 2 Cost savings 50 .00 3 .12 2 .39 1 Keeping up 42 .50 2 .66 2 .1 5 Other 15 .50 0 .97 2 .16 1 W = 0 .3529 SIG = 0 .003 4 USE METHODOLOGY N=2 7 Variable Sum Mean St d Dev First Plac e Vote s Accuracy 154 .00 5 .70 1 .41 7 Speed 147 .50 5 .46 0 .95 3 Cost savings 103 .50 3 .86 2 .75 6 Consistency 97 .00 3 .59 2 .50 3 Prj coord 74 .50 2 .76 2 .0 0 Keeping up 54 .00 2 .00 1 .9 3 Other 10 .50 0 .39 1 .4 2 W = 0 .6817 SIG < 0 .000 1 Exhibit 5D : Ranked Reasons for Using CAS E by Size of DP/MIS Departmen t SMALL (less than 100 persons) N=1 9 Variabl e Spee d Accurac y Consistency Prj coord Cost saving s Keeping u p Othe r W = 0 .5314 Su m 105 .0 0 101 .5 0 62 .5 0 59 .0 0 50 .0 0 49 .0 0 11 .00 Mea n 5 .5 3 5 .3 4 3 .2 9 3 .1 1 2 .6 3 2 .5 8 0 .58 St d Dc v 1 .7 8 2 .0 6 2 .4 2 2 .2 8 2 .6 1 2 .1 5 1 .80 First Plac e Vote s G 5 1 1 2 SIG = 0 .000 1 MEDIUM (between 101 and 500 persons) N=1 1 Variable Std First Place Speed Sum 60 .00 Mea n 5 .45 De v 1 .23 Vote s 3 Accuracy 56 .00 5 .09 1 .2 4 Cost savings 51 .00 4 .64 2 .69 3 Prj coord 38 .00 3 .45 1 .9 8 Consistency 33 .00 3 .00 2 .58 1 Keeping up 27 .50 2 .50 2 .1 6 Other 4 .50 0 .41 1 .3 6 W = 0 .1746 SIG = 0 .758 5 LARGE (greater than 501 persons) N=1 2 Variable Std First Place Accuracy Sum 70 .00 Mea n 5 .83 Dc v 1 .21 Vote s 4 Speed 65 .00 5 .42 0 .82 1 Consistency 53 .00 4 .42 2 .20 3 Cost savings 52 .50 4 .37 1 .92 2 Prj coord 38 .00 3 .17 1 .7 1 Keeping up 16 .00 1 .25 1 .2 9 Other 10 .50 0 .88 2 .0 7 W = 0 .6571 SIG = 0 .000 3 DATA BASE Fall 1989 3 3 Finally, the rankings were categorized by size o f DP/MIS department . Shops that had less than 100 people were categorized as "small" ; shops with 101 to 500 were categorized as "medium"; and all shops with more than 50 1 were " large. " The results are shown in Exhibit 5D . Three points of interest are that speed or development and improved accuracy, again, are ranked as the mos t important items . Second, cost savings, did not appear t o be important for small shops . Third, both small and large shops were relatively consistent in their agreement, with W = 0 .53 and W = 0 .65 respectively . In addition to analyzing the rankings of the reasons fo r implementing CASE, statistical tests were used t o determine if there were significant differences among the groups when partitioned by current versus prospectiv e users, by users or non-users of structured methodologies , and by the size in persons of the DP/MIS department . As shown in Exhibit 6, only two cases showed significan t differences : speed of development for current versus prospective users of CASE and keeping up wit h technology for the size of departments . Organizational Commitment to CAS E The interest in CASE tools comes primarily from th e MIS department. MIS executives initiated interest in 23 of the cases, with an analyst initiating 18 cases . It i s interesting to find that in some cases (3), top managemen t initiated the interest . A commitment to CASE had been made by 1 2 organizations with a wide range of resources . The amount of resources committed ranged from $5000 to "millions . " For those indicating the amount of resources committed, a substantial commitment had been made ($100,000 o r more) . Exhibit 6 : Differences Among Groups of Ranked Reasons for Using CAS E Variable CASE USER 4 K-S Z METNODOLOGYN SIZE DEPTH I P K-S Z P CSI-SQ P Cost savings 1 .155 0 .139 1 .213 0 .105 3 .345 0 .187 7 Speed 1 .315 0 .063 k 0 .897 0 .397 2 .079 0 .353 6 Accuracy 0 .809 0 .529 0 .585 0 .883 4 .2256 0 .120 9 Keeping up 0 .707 0 .699 0 .745 0 .653 4 .8411 0 .0889 k Prj coord 0 .517 0 .952 0 .698 0 .715 0 .7939 0 .672 4 Consistency 0 .362 0 .999 0 .266 1 .000 0 .3718 0 .830 3 Other 0 .289 1 .000 0 .365 0 .999 0 .1579 0 .9241 * Significant at the p = 0 .1 leve l for two-tailed tes t KOLMOGOROV-SMIRNOV 2 SAMPLE TEST KRUSKAL-WALLIS 1-WAY ANOVA Implementation Issues Some of the primary implementation issues concerned the number of expected CASE users, the ratio of users t o workstations, identification of the expected users, type o f hardware, and whether a structured methodology is currently used . Our study revealed that the number of expected users varied from less than 10 to more than 1000 . Figure 4 shows the distribution of responses categorized by th e number of users . Those indicating very large numbers o f users (500 or more) were already using CASE . As one might expect, the number of users were highly related to organizational size . A second question involved the expected ratio of users to workstations . In the sample, 20 responses indicated a 34 DATA BASE Fa111989 1 :1 ratio, and 10 indicated 2 :1 . The rest of the responses were 3 to 5 users per workstation, with one response of a 10 :1 ratio . Number of User s Figure 4 . Total number of Users using CASE Inquiries regarding the job titles associated with CAS E use revealed that the expected users include analysts (al l respondents) and data administrators and programmer s (65%) . Some indicated that end-users (11%) and projec t management (11%) would use CASE . Most of the responses indicated an interest in a microcomputer-based CASE product (50%) or a workstation product (20%) . Only thirteen percent (13% ) indicated an interest in mainframe tools, although eleve n percent indicated a need for a mainframe-microcompute r linked tool . The respondents also were asked if a structure d methodology was currently being used in thei r organization . The results are shown in Exhibit 7 , categorized by current users versus non-users of CASE . This strongly suggests that the use of CASE technolog y requires the use of a structured methodology . Therefore , one might argue that organizations that are implementin g CASE and are not using a structured methodology, shoul d also adopt a methodology. The implication is tha t problems associated with implementing CASE technolog y can be compounded when concurrently adopting a methodology. Further supporting evidence of thes e potential problems follows . Exhibit 7 Use of Structured Methodolog y by Current and Expected User s Current Use Structured Methodology user NO-_ YE S _________ _ NO 14 (30%) 3 (5% ) YES 2 (4) 24 (52 ) Chi-Sqr = 15 .72 For p < 0 .010 In an open ended question, respondents were asked to indicate the major difficulties they foresee in implementin g CASE technology . The most often mentioned reasons are 8 0 t k k