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 / collins.detex < prev    next >
Text File  |  1992-04-28  |  16KB  |  332 lines

  1.  
  2.   Toward A Reusable Domain Analysis 
  3.  
  4.        Patricia Collins 
  5.          
  6.        Hewlett-Packard Company 
  7.        1801 Page Mill Road, Bldg. D 
  8.        Palo Alto, CA 94304 
  9.        collins@hpcea.ce.hp.com 
  10.    
  11.  
  12.                     Abstract
  13.  
  14. We are developing a set of checklists and a process model for commercial
  15. business product reuse efforts.  We describe our approach to scoping the
  16. activities of Domain Analysis (DA) in order to optimize reusability of the
  17. products (e.g., domain models) of that analysis.  In particular, our model
  18. for the Domain Analysis activity is complemented by a distinct activity for
  19. analyzing the reusability constraints placed by the product development
  20. environment (people, tools, process, objectives, etc.).  We refer to this
  21. as a ``Reusability Analysis.''  We contend that one benefit of
  22. distinguishing between an analysis of the domain and an analysis of the
  23. environment in which workproducts will be reused is that the domain models
  24. and related workproducts of the Domain Analysis will be reusable, even if
  25. software components cannot be reused across the range of intended
  26. domain products.
  27.  
  28.  
  29. Keywords:  Domain Analysis, Reusability, Software Generation Process
  30.  
  31.  
  32.  
  33. 1  Introduction 
  34.  
  35. Hewlett-Packard Company has diverse lines of business in the commercial
  36. marketplace.  HP's electronic instruments, medical and analytical
  37. equipment, and computer systems with vertical and horizontal application
  38. products all include large software (and firmware) components.  Within a
  39. single line of business, there is extensive diversity in particulars of the
  40. software generation and maintenance processes.  A single product family may
  41. span numerous hardware platforms, include multiple programming languages,
  42. interface with diverse database systems, address niche markets or diverse
  43. international standards, etc.
  44.  
  45. The time-to-market and return-on-investment criteria for products are
  46. driving these organizations to consider reuse practices.  Some early
  47. adopters of reuse objectives have ``backed into'' performing domain
  48. analyses in order to ensure the development of reusable components.  We
  49. are producing a set of checklists and a process model that incorporate
  50. best practices from these reuse practitioners.  The practitioners serve as 
  51. invaluable resources in the refinement of the reuse process model, so that
  52. prescriptive guidance is tempered by practical experience.
  53.  
  54.  
  55.  
  56. 2  Approach 
  57.  
  58. The first phase of our investigation has essentially constituted a domain
  59. analysis of Domain Analysis.  Our efforts have included gathering data from
  60. the literature on prescriptive domain analyses, interviewing domain
  61. analysis experts, interviewing members of engineering teams that would be
  62. users of the domain analysis results, looking at existing practices
  63. (whether or not they are called ``domain analysis''), and generating a
  64. model of the process that could be used across many application domains.
  65.  
  66. Initial steps of the process modelling involve defining the context for the
  67. domain analysis: what are the peer activities, and what is the encompassing
  68. activity.  Our setting of the DA activity boundaries is based on the
  69. various published uses of the term ``domain analysis,'' as well as on a
  70. consensus among the reviewers of the model as to the prescriptive goals of
  71. the process (i.e., what Domain Analysis ought to provide for commercial product development projects).  
  72.  
  73. --- begin FOOTNOTE 
  74. We are employing the IDEF0 [IDEF90] practice of successive refinement of the 
  75. model, with quick-turnaround reviews of top-down generated process activities, 
  76. constraints, mechanisms, inputs, and outputs. 
  77. --- end FOOTNOTE 
  78.  
  79. We define three interdependent activities in reuse: Developing Reusable
  80. Workproducts (which includes Domain Analysis), Developing Software Products
  81. (with reusable workproducts), and Managing Workproducts.  Within Developing
  82. Reusable Workproducts, we identify Analyzing The Domain (Domain Analysis),
  83. Generating Reusability Requirements (Reusability Analysis), and Engineering
  84. Reusable Components as the three primary activities.
  85.  
  86. From the Domain Analysis process model, we extract a hierarchical set of
  87. checklists that can be used in reviews.  The checklists are designed to
  88. ascertain the quality and completeness of the domain model 
  89.  
  90. --- begin FOOTNOTE 
  91. Typically today, a project initially plans to produce a reusable architecture 
  92. that embodies their domain model.  
  93. --- end FOOTNOTE 
  94.  
  95. and other DA workproducts, whether or not a defined process has been explicitly followed.  Through review of projects that are intentionally designing reusable workproducts, we will refine our process model with best practices and provide 
  96. timely feedback on weaknesses in projects' analyses.
  97.  
  98. We have chosen the checklist format as a near-term delivery vehicle for what we
  99. have learned.  This enables us to give immediate support to projects with
  100. reuse objectives who are already in their analysis phase.  For projects in
  101. progress, the checklist serves as a set of guidelines, reminding the team
  102. what questions they need to answer before they have finished their
  103. analysis.  (Note that this does not imply a waterfall lifecycle.  This is
  104. discussed further in Addressed Issues.)
  105.  
  106. To be of practical use in product teams, the process model will need to be
  107. modified with feedback from early adopters.  Until the process model has
  108. stabilized, with careful assessment of its performance in application
  109. product development environments (firmware, application and systems
  110. software products), we do not want to oversell the model's benefits.
  111. Reaction in product teams to checklists is more forgiving.  There is less
  112. expectation that checklists will provide complete coverage of a process,
  113. and the interactions among activities are not expected to be called out
  114. explicitly.
  115.  
  116.  
  117.  
  118. 3  Addressed Issues 
  119.  
  120. 3.1  What Tasks Fall Within A Domain Analysis? 
  121.  
  122. We contend that the proper focus of a domain analysis is the modelling
  123. of the domain in the ``problem space,'' separate from the task of
  124. engineering a (reusable) solution based on the domain model.  The domain
  125. analysis, together with a reusability analysis (See Section 4.1.2) constitute 
  126. the inputs to Engineering Reusable Workproducts for this domain.  Our 
  127. motivation in disambiguating the role of Domain Analysis is to ensure that the 
  128. products of the DA efforts are reusable, independent of the choice of system 
  129. analysis and design paradigm.  We find this to be consistent with the 
  130. philosophy of design for reusability, in which bindings are delayed, and 
  131. flexible application of workproducts is an explicit goal.
  132.  
  133.  
  134. 3.1.1  Systems Analysis and Design 
  135.  
  136. The distinction between domain analysis and systems analysis and design
  137. tasks is often blurred.  Our process model draws the distinction by
  138. advocating Domain Analysis outputs (e.g., feature models, E-R Diagrams,
  139. terminology dictionaries) that are independent of the software paradigm and
  140. methodology to be used in Engineering Reusable Components.  We affirm
  141. the importance of revisiting Domain Analysis issues and decisions in light
  142. of early explorations of the reusable architecture and components design.
  143. Our process model distinguishes the analysis activities that    directly 
  144. address the needs of those developing software products (the ``customers''
  145. for the reusable workproducts).  We refer to this as ``Reusability
  146. Analysis.'' 
  147.  
  148.  
  149. 3.1.2  Do Boundaries Imply A Waterfall Lifecycle? 
  150.  
  151. Our basic Domain Analysis model is from the perspective of those involved
  152. in the execution of the analysis (e.g., a domain analyst).  The modelling
  153. notation system supports concurrent and iterative interpretations on the
  154. execution of the process.   
  155.  
  156. --- begin FOOTNOTE
  157. We also model ``planar views'' [DURA91] that enable us to show other 
  158. perspectives, for example, emphasizing those feedback paths that would support 
  159. a spiral lifecycle model, or highlighting the continuous process improvement 
  160. analysis and feedback loops.  
  161. --- end FOOTNOTE
  162.  
  163. The model includes feedback paths within the Domain Analysis activity, 
  164. suggesting successive refinement of the DA workproducts.  Additionally, there 
  165. are important feedback paths between the DA activity and other activities 
  166. within Developing Reusable Workproducts (DRW), and between DRW and Managing 
  167. Workproducts (MWP) and Developing Software Products (DSP).
  168.  
  169.  
  170. 3.2  Role Of The Domain Analyst 
  171.  
  172. With this scoping of the DA process, we clarify the role of the domain
  173. analyst as that of language interpreter, understanding the domain language
  174. of the users and customers and translating that into the features and
  175. relationships that will be used by the engineering team that produces the
  176. reusable components.  The Domain Analyst says nothing about how to implement 
  177. the reusable workproducts, imposing no particular software paradigm (e.g., 
  178. object-oriented) in the domain model.
  179.  
  180.  
  181.  
  182. 4  Identified Open Issues 
  183.  
  184. Our research has resulted in identification of issues that require further
  185. investigation.  As our process model matures, we intend to address many of
  186. these issues and to articulate solutions.
  187.  
  188.  
  189. 4.1  Distinction Between Domain Analysis and Market/Reusability Analyses 
  190.  
  191. Analogous to our work in distinguishing Domain Analysis from Systems
  192. Analysis, we are investigating process models for Market Analysis to
  193. understand its role with respect to Domain Analysis.  Because we have
  194. identified Reusability Analysis as a distinct task in Designing Reusable
  195. Workproducts, we are also investigating a process model for that activity and 
  196. its interaction with Domain Analysis.
  197.  
  198.  
  199. 4.1.1  Market Analysis 
  200.  
  201. Many enterprises have developed sophisticated market analysis processes that 
  202. employ much the same philosophy as Domain Analysis [QFD86, MCCAIN85].  They 
  203. conduct extensive interviews of users and customers of products, review the 
  204. literature, analyze technology trends, and produce a characterization of the 
  205. desired features of future products, with prioritization.  More progressive 
  206. groups employ creative techniques to ensure innovation, much like the DA 
  207. practice of exploring novel combinations of features.  We contend that some of 
  208. the efforts in a full Market Analysis map to the early information-gathering 
  209. phases of a traditionally-defined Domain Analysis.  While Market Analysis 
  210. provides significant input to the DA process, the two processes are distinct.
  211.  
  212.  
  213. 4.1.2  Reusability Analysis 
  214.  
  215. We define the analysis of the constraints on reusability (i.e., what enables 
  216. the product development teams to use the workproducts) as an important and 
  217. separate activity in Developing Reusable Workproducts.  While some existing 
  218. process models outline the Analyzing Reusability activity [PRIETO91], our 
  219. reuse engineers who are Engineering Reusable Components need explicit 
  220. information on the content of the reusability requirements workproduct, and 
  221. details on how to conduct the analysis.  Arango [ARANGO89] models the 
  222. reusability analysis as a meta-process, a learning system that iterates over 
  223. the reuse process.  We find that modelling Reusability Analysis as a peer 
  224. activity to Domain Analysis provides practitioners with a clearer sense of the 
  225. tasks that must be completed to Develop Reusable Workproducts.  Our current 
  226. model for Analyzing Reusability is analogous to analyzing customer requirements,
  227. where the ``customers'' are the product development team members and the
  228. ``product'' is the reusable workproducts.
  229.  
  230. Research into characteristics of reusable workproducts, and the impact of
  231. specific software development practices and environments on the design of
  232. reusable components is being conducted.  Systematic analysis of claims
  233. (e.g., comparing reusability of an object-oriented approach with a
  234. traditional structured approach) would be a welcomed contribution (and is
  235. beyond our project's current scope).
  236.  
  237.  
  238. 4.2  Assessing The Cost/Benefits 
  239.  
  240. Metrics to tease out the parameters of ``good'' Domain Analysis (and 
  241. Reusability Analysis) have not been experimentally validated in controlled
  242. comparisons.  We believe that data gathered in such assessments will
  243. contribute to the refinement of prescriptive domain analysis process
  244. models.  As part of our program, we are partnering with early adopters of
  245. reuse approaches to gather before-and-after data.  We also advocate
  246. explicitly modelling the Continous Process Improvement (CPI) process,
  247. showing acquiring data, assessing the costs and benefits of a particular
  248. approach to reuse, and supporting iteratively improving the DA process
  249. itself.  Gathering informative data on the benefits of our Domain Analysis
  250. process implies an understanding of the overall reuse process, since
  251. benefits (and some expenses) are accrued in other phases of the reuse
  252. process.  Since any reuse process is tailored to a class of environments,
  253. we plan to ``plug''    our  reuse process into an existing HP CPI process
  254. model to find opportunities for process improvement.  A companion project
  255. is researching appropriate metrics and analysis methods for accurately
  256. reflecting costs and benefits.
  257.  
  258.  
  259.  
  260. 5  Status 
  261.  
  262. An extensive review of the literature has been completed.  We have identified 
  263. activities, looking for commonality across the reported uses (e.g., [FODA90,
  264. SPC90]), and focusing on guidelines appropriate to diverse commercial (rather 
  265. than defense) enterprises.  Domain Analysis consultants have been interviewed,
  266. toward the goal of refining the model.  The top three layers of the process 
  267. have been modelled and have stabilized through peer reviews.  The remainder of 
  268. the model is in development and review.  
  269.  
  270. We have identified project teams in distinct commercial markets
  271. that have agreed to participate in bidirectional reviews (of their
  272. projects' processes, and of our process model).  We will employ the Domain
  273. Analysis checklists that are linked to the process model, rather than
  274. using the process models directly in these early assessments.
  275.  
  276.  
  277.  
  278. 6  Related Work 
  279.  
  280. References
  281.  
  282. [ARANGO89] Guillermo Arango, DOMAIN ANALYSIS - From Art Form to Engineering 
  283.        Discipline, Proceedings of the 5th International Workshop on 
  284.        Software Specifications and Design, 1989. pp. 152--159.
  285.  
  286. [DURAN91]  Pat Duran & C.A. Irvine, Planar Views: Multi-Layer IDEF0 Modeling, 
  287.        Eclectic Solutions Corporation, 1991.
  288.  
  289. [FODA90]   Kyo C. Kang, et al., Feature-Oriented Domain Analysis (FODA)
  290.        Feasibility Study , CMU/SEI-90-TR-21, November 1990.
  291.  
  292. [IDEF89]   C.A. Irvine, IDEF0 Model Dynamics, Activations and Simulation, 
  293.            Eclectic Solutions Corporation, 1989.
  294.  
  295. [IDEF90]   IDEF0 Course, Eclectic Solutions Corporation, 1991.
  296.  
  297. [MCCAIN85] Ron McCain, Reusable Software Component Construction: A Product-
  298.        Oriented Paradigm, in Domain Analysis and Software System Modeling, 
  299.        Prieto-Diaz & Arango, ed., IEEE Computer Society Press Tutorial, 
  300.        pp. 70-80.
  301.  
  302. [PRIETO87] Ruben Prieto-Diaz, Domain Analysis For Reusability, Proceedings of 
  303.        COMPSAC'87, 1987, pp. 23--29.
  304.  
  305. [PRIETO91] Ruben Prieto-Diaz, Making Software Reuse Work: An Implementation 
  306.            Model, Position Paper for the First International Workshop on 
  307.        Software Reusability, Dortmund Germany, 1991.
  308.  
  309. [QFD86]    L.P. Sullivan, Quality Function Deployment, Quality Progress, 
  310.        American Society for Quality Control, June 1986, pp.  39--50.
  311.  
  312. [QFD87]    Robert King, Listening to the Voice of the Customer: Using the 
  313.        Quality Function Deployment System , National Productivity Review, 
  314.        Vol. 6,No 3, Summer 1987, pp. 277--281.  
  315.        
  316. [SPC90]       Software Productivity Consortium, A Domain Analysis Process, DOMAIN 
  317.        ANALYSIS-90001-N, Version 01.00.02, January 1990.
  318.  
  319. [SIMOS90]  Mark Simos, Alternative Approaches To Domain Analysis: Steps Toward 
  320.        A Job Description , course notes, 1990.
  321.  
  322.  
  323.  
  324. 7  About the Author 
  325.  
  326. Patricia Collins is Projects & Process Manager for Hewlett-Packard Company's 
  327. Software Initiative Reuse Program.   Prior to this appointment, Patricia 
  328. served as Project Manager for research in systems software and software 
  329. engineering at HP Laboratories.  Her prior research was in speech recognition 
  330. and speech synthesis.  She holds an MSEE from Stanford University and a BA 
  331. in Mathematics and Philosophy from Dickinson College.
  332.