home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / WISR / wisr4 / proceedings / detex / wartik.detex < prev    next >
Text File  |  1992-04-05  |  12KB  |  328 lines

  1.  [12pt] article 
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.   Criteria for Comparing 
  9. Domain Analysis Approaches 
  10.  
  11.   Steven Wartik   Rub en Prieto-D   az 
  12.    
  13.  
  14.  
  15.  
  16.  
  17.   
  18. This paper describes a set of criteria for
  19. comparing domain analysis approaches.
  20. The criteria were derived from a study of several well-known approaches.
  21. They help people understand the r ole that domain analysis
  22. can play in software development.
  23. They are therefore of importance to both practitioners who
  24. need to choose an approach,
  25. and to researchers seeking to better
  26. understand the nature of domain analysis.
  27.  
  28.   0.3in 
  29.      Keywords:  domain analysis, software process
  30.  
  31.  
  32.   Introduction 
  33.  
  34. Research on domain analysis in recent years has produced many approaches. 
  35. Practitioners are often confused about the right domain analysis approach for 
  36. their needs---if indeed a single approach can be said to be ``right''. At the 
  37. Software Productivity Consortium, several domain analysis approaches are, or 
  38. have been, espoused. These include:
  39.  
  40.   
  41.  
  42. The approach originated by the Consortium's original Synthesis project, 
  43. and subsequently refined by the Domain Analysis project headed by Dr. Alan 
  44. Jaworski  .
  45.  
  46.  
  47. The current Synthesis methodology, for which Grady Campbell is the 
  48. chief architect  .
  49. (   N.B.  This approach is called ``Synthesis'' in 
  50. the rest of this paper.)
  51.  
  52.      The approach by Dr. Rub en Prieto-D   az, first developed at the 
  53. University of California at Irvine, and refined at GTE, Contel, and the 
  54. Consortium  .
  55.  
  56.  
  57. Three approaches within a single organization has, understandably, led to some 
  58. confusion. Accordingly, the Consortium decided to study these approaches, as 
  59. well as those of other researchers. The goal was to help organizations 
  60. understand which approach, or approaches, would best meet their needs. We also 
  61. wished to know if we could develop a unified domain analysis approach, 
  62. incorporating concepts from these and other methods. This paper briefly 
  63. summarizes our work.
  64.  
  65.   Approach 
  66.  
  67. The approach we used was to study the three approaches mentioned above, plus 
  68. the FODA approach of SEI  .
  69. We choose the first three because we were 
  70. especially interested in making recommendations on in-house methods. We also 
  71. wanted to include research done outside the Consortium. We selected FODA 
  72. because it is an amalgamation of various approaches, including those of 
  73. Prieto-D   az, Lubars  , and KAPTUR  .
  74.  
  75. We studied the approaches with the aim of determining their similarities and 
  76. differences. This amounts to a domain analysis of the domain analysis 
  77. approaches. (We did not follow a formal domain analysis process, although what 
  78. we used was closest to the domain analysis approach of Synthesis.)  The result 
  79. was the following products:
  80.  
  81.   
  82.      A set of similarities among all approaches.
  83.  
  84.      A set of differences among the approaches studied. Each difference 
  85. corresponded to something we believed would have an organizational impact. We 
  86. therefore choose fairly high-level criteria for comparison; we deliberately 
  87. avoided such factors as ``approach A derives product X whereas approach B does 
  88. not'', since we could not relate these factors to decisions an organization 
  89. would want to make in choosing between approaches.
  90.  
  91.      A terminology glossary that helped us find the similarities and 
  92. differences.
  93.  
  94.  
  95. The four approaches turned out to share certain characteristics. These included 
  96. high-level objectives (the creation of artifacts that allow for effective 
  97. reuse, and the capture and formalization of domain knowledge), the sources of 
  98. domain knowledge (domain experts, reference materials, existing systems), 
  99. and---to the extent that their objectives are similar---
  100. agreement on difficulties 
  101. in performing domain analysis (the need for precise definitions of domain 
  102. artifacts, how to validate the results of domain analysis, and economic 
  103. considerations).
  104.  
  105. Table 1 shows the criteria we used to study the differences, and how each 
  106. approach handles each criterion. Space precludes detailed discussion of them. 
  107. Generally speaking, these criteria are from three categories:
  108.  
  109.   
  110.  
  111. The relation to the software development process. Domain analysis may 
  112. or may not impose constraints on software development processes and paradigms. 
  113. This can have significant organizational impact: the less flexible an 
  114. organization is to change, the more difficulty it will have in incorporating a 
  115. domain analysis approach that imposes constraints on process.
  116. As Table 1 shows, 
  117. an approach can be part of another life cycle---typically a pre-requirements 
  118. activity (FODA, Jaworski, and Prieto-D   az), or a complete software process in 
  119. and of itself (Synthesis).
  120.  
  121.      The paradigm of problem space models. Domain analysis requires 
  122. analyzing problems within a domain and determining solutions for those 
  123. problems; ideally, both customers and developers communicate in terms of the 
  124. domain-level concepts. The paradigm of the problem space model, then, shapes 
  125. how people think about and communicate in the domain. In the approaches we 
  126. studied, the problem space model can emphasize generic, reusable requirements 
  127. (Jaworski and Prieto-D   az),
  128. it can be a decision model (Synthesis), or it can 
  129. treat both equally (FODA).
  130.  
  131.      The primary product (or products) of domain development. This tells 
  132. whether the paradigm of problem space models---
  133. the important analysis focus---is 
  134. also the focus during development (or reengineering)
  135. of the reusable components 
  136. that are used in applications in the domain. Table 1 shows that the primary 
  137. product can be a reuse library (FODA, Jaworski and Prieto-D   az) versus an 
  138. application engineering process and supporting environment (Synthesis).
  139.  
  140.  
  141.   Results 
  142.  
  143. The differences illustrate some fundamental differences in philosophies towards 
  144. domain analysis. Most researchers agree that it is helpful for reuse, but 
  145. differ in just what that approach to reuse should be. The two important 
  146. characteristics that distinguish the approaches in this regard are the points 
  147. in the process where reuse based on domain analysis can happen, and the degree 
  148. to which domain analysis can determine how to do reuse.
  149.  
  150. We were primarily interested in understanding the Consortium approaches. We 
  151. made the following observations based on our analysis:
  152.  
  153.   
  154.      Prieto-D   az's method is
  155. useful when there is an existing software base 
  156. for a domain, when current and future projects can benefit from reuse but must 
  157. design and possibly implement a significant portion of an application from 
  158. scratch, and when application developers foresee a need for formalizing 
  159. solution-level characteristics of a domain.
  160.  
  161.      Synthesis is useful when systematic, managed development and evolution 
  162. of work products are concerns,
  163. when requirements are likely to change, and when 
  164. long-term commitment to and investment in a business area is justified by 
  165. corporate objectives.
  166.  
  167. The most important conclusion we have drawn is that there is
  168. no single ``best'' 
  169. domain analysis approach.
  170. An organization should choose the one that best suits 
  171. their software process needs, existing software base, and business objectives. 
  172. However, we have noted that the approaches of Synthesis and
  173. Prieto-D   az are not 
  174. incompatible, and we are working on creating a software process that 
  175. incorporates both at different points in the process---
  176. Synthesis as a framework, 
  177. Prieto-Diaz where there is a need to organize an existing software repository 
  178. in hopes of locating specific components needed in the larger context. We are 
  179. also continuing our efforts by studying other approaches to domain analysis.
  180. We hope to determine other differences that might influence an organization's 
  181. decision on which approach to use, and to uncover any variations within a 
  182. criterion.
  183. In this way we shall gain a fuller understanding of the potential of 
  184. domain analysis.
  185.  
  186.    Moor 89 
  187.  
  188.  
  189. Moore, John, and Sidney Bailin.
  190.    The KAPTUR Environment: An 
  191. Operations Concept. 
  192. CTA Incorporated, Rockville, Maryland.
  193. June 1989.
  194.  
  195.  
  196. Campbell, Grady Jr.
  197.    Synthesis Reference Model. 
  198. Software Productivity Consortium, Herndon, Virginia. 1990.
  199.  
  200.  
  201. Jaworski, Allan, Fred Hills, Tom Durek, Stuart Faulk, and John 
  202. Gaffney.
  203.    A Domain Analysis Process. 
  204. Software Productivity Consortium, Herndon, Virginia. 1990.
  205.  
  206.  
  207. Kang, Kyo, Sholom Cohen, James Hess, William Novak, and Spencer 
  208. Peterson.
  209.    Feature-Oriented Domain Analysis (FODA) Feasibility Study. 
  210. Software Engineering Institute, Carnegie-Mellon University,
  211. Pittsburgh, Pennsylvania. 
  212. 1990.
  213.  
  214.  
  215. Lubars, Mitchell.
  216.    Domain Analysis and Domain Engineering in 
  217. IDeA. 
  218. Microelectronics and Computer Technology Corporation, Austin, Texas.
  219. September 1988.
  220.  
  221.  
  222. Prieto-D   az, Rub en.
  223.    Domain Analysis for Reusability. 
  224. Proc. COMPSAC'87.
  225. Tokyo, Japan, pp. 23-29.
  226. October 1987.
  227.  
  228.  
  229.  
  230.     [1]  [t] 1.1in    #1  
  231.   
  232. Table 1: Criteria for Comparing Approaches [ ]
  233.  
  234.      p 1.5in  p 1.1in  p 1.1in  p 1.1in  p 1.1in    
  235.   
  236. &  4  c      Method    
  237. &   FODA&   Jaworski&   Prieto-D   az&   Synthesis   
  238.   Definition of ``Domain''&
  239.     Application area&Business area&Application area&Business area   
  240.   Determination of Problems in the Domain&
  241.     Top-down&Top-down&Bottom-up&Top-down   
  242.   Specific Objectives and Products of Domain Analysis&
  243.       Development of canonical architecture&
  244.       Development of domain knowledge base&
  245.       Learning more about immature domains,
  246.             discovering facts about a domain&
  247.       Products for application engineering  
  248.  
  249.   Permanence of Domain Analysis Results&
  250.     Permanent&Mutable&Permanent&Mutable   
  251.   Relation to the Software Development Process&
  252.       Pre-requirements &
  253.       Pre-requirements, waterfall model &
  254.       Pre-requirements &
  255.       Meta-process yielding application engineering process    
  256. Focus of Analysis&
  257.     Decisions&Objects and operations&Objects and operations&Decisions 
  258.  
  259.   Paradigm of Problem Space Models&
  260.       Decision model and generic requirements &
  261.     Generic requirements&
  262.     Generic requirements&
  263.     Decision model   
  264.   Purpose and Nature of Domain Models&
  265.       Specification for software products&
  266.       Repository of domain knowledge&
  267.       Specification for software products&
  268.       Specification for software process,
  269.         products, environment    
  270.   Organizational Model of Domains and Projects&
  271.       3  c   Not specified &
  272.       Projects are components of a domain organization    
  273. Approach to Reuse&
  274.     Opportunistic&Systematic&Opportunistic&Systematic   
  275. Focus of Formalization Effort&
  276.       Formalizing canonical models&
  277.       Formalizing canonical models&
  278.       Formalizing objects and operations&
  279.       Formalizing canonical models    
  280.   Primary Product of Domain Development&
  281.     Reuse library&
  282.     Reuse library&
  283.     Reuse library&
  284.       Application engineering process  
  285.   
  286.  
  287.  
  288.  
  289.  
  290.  
  291.    Steven Wartik  received the Ph.D. degree in Electrical
  292. and Computer Engineering in 1984 from the University of
  293. California at Santa Barbara.
  294. From 1981 to 1984 he worked on software development environments
  295. as part of TRW's Software Productivity Project.
  296. From 1984 to 1988 he was an assistant professor of Computer Science
  297. at the University of Virginia,
  298. where his research interests included software requirements
  299. and software configuration management.
  300. From 1989 to the present,
  301. he has been employed by the Software Productivity Consortium.
  302. He is currently part of the Synthesis project,
  303. studying systematic reuse strategies.
  304.  
  305.  
  306.  
  307.    Rub en Prieto-D   az  is Principal Member of Technical Staff
  308. at the Software Productivity Consortium.
  309. He recommends reuse strategies within SPC
  310. and consults with member companies on
  311. establishing reuse programs.
  312. He was Princial Scientist at the Contel Technology Center
  313. responsible for the technical direction of the Software Reuse Project.
  314. Previously he was the lead architect for GTE's Asset Library System
  315. at GTE Laboratories.
  316.  
  317. Dr. Prieto-D   az's research interests are in software
  318. reusability with emphasis in library systems, classification,
  319. retrieval, and domain analysis.
  320. He holds a B.S. in Aerospace Engineering from St. Louis University,
  321. an M.S. in Engineering Design and Economic Evaluation
  322. and an M.S. in Electrical Engineering, both from the University
  323. of Colorado at Boulder, and a Ph.D. in Computer Science
  324. from the University of California at Irvine.
  325. He is a member of IEEE, IEEE-CS, and ACM.
  326.  
  327.  
  328.