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 / wisr6 / proceedings / ascii / frakes.ascii < prev    next >
Text File  |  1993-10-19  |  6KB  |  190 lines

  1.  
  2.  
  3.  
  4.  
  5. A  Graduate  Course  on  Software  Reuse,  Domain  Analysis,  and
  6.  
  7.  
  8.                                             Re-engineering
  9.  
  10.  
  11.  
  12.                                               William B. Frakes
  13.  
  14.  
  15.  
  16.                                                  Virginia Tech
  17.  
  18.                                      Computer Science Department
  19.  
  20.                                           Falls Church, VA 22042
  21.  
  22.                                              Tel:  (703) 698-4712
  23.  
  24.                                      Email:  frakes@sarvis.cs.vt.edu
  25.  
  26.  
  27.  
  28.                                                     Abstract
  29.  
  30.  
  31.       Reuse education has long been recognized as important for the successful implementation
  32.   of reuse.  Yet reuse has traditionally not been taught in universities. In a recent survey, we
  33.   found that only 13% of respondents said they had learned about reuse in school [1].  A recent
  34.   workshop addressed this issue, and published preliminary suggestions for reuse education for
  35.   various populations (upper managers,  line managers,  technical staff,  etc.),  in different areas
  36.   (industry, government, academia) [2].
  37.       I participated in this workshop by leading the group on education for domain analysis.  One
  38.   of the points made by the group was that because of the immaturity of the reuse area,seminar
  39.   courses were probably most appropriate for university education in reuse. In the Spring semester
  40.   of 1993, I taught a graduate level seminar course on software reuse, domain analysis, and re-
  41.   engineering at Virginia Tech. This position paper describes the motivation for the course, its
  42.   content, and my subjective evaluation of it.
  43.  
  44.  
  45.   Keywords: reuse education, domain analysis, re-engineering.
  46.  
  47.  
  48.   Workshop Goals: to explore the state of the art and state of the practice in reuse education,
  49.   the  breadth  and  depth  of  the  education  "problem", and  to  compare  this  work  with  similar
  50.   efforts.
  51.  
  52.  
  53.   Working Groups: reuse education, domain analysis.
  54.  
  55.  
  56.  
  57.                                                     Frakes- 1
  58.  
  59.  
  60. 1      Position
  61.  
  62.  
  63.  
  64. There were fourteen students in the course, all at the Masters level.  Some were computer science
  65. students and some students in the M.I.S. program. Like most students at the Northern Virginia
  66. Campus of Virginia Tech,they were part time students employed by various companies in the area.
  67. Most have many years of practical exp erience in the computer industry.
  68.  
  69.  
  70. The  grading  for  the  class  was  as  follows: exercises  20%,  midterm  40%,  class  project  35%,  class
  71. participation 5%.
  72.  
  73.  
  74. I selected the Hooper and Chester, Software Reuse:  Guidelines and Methods text [3 ] for the course
  75. since it was the only book on reuse which was not just a collection of readings, and the book had
  76. been positively reviewed in ReNews. I  also assigned many papers from the reuse literature.  The
  77. students gave the book a low rating. In general, they found the assigned papers much more useful.
  78.  
  79.  
  80. Below is the topic outline for the course. I  invited several expert guest speakers.  This was very
  81. successful both as motivation for the students andas a source of information.
  82.  
  83.  
  84.  
  85.     fflReuse Introduction
  86.  
  87.  
  88.     fflReuse Management & Measurement
  89.  
  90.  
  91.     fflDesign for Reuse - Guest Speaker: C. Braun
  92.  
  93.  
  94.     fflReuse Libraries - Guest Speaker: C. Lillie
  95.  
  96.  
  97.     fflDomain Analysis - Guest speakers: R. Prieto-Diaz, S. Wartik
  98.  
  99.  
  100.     fflGenerative Reuse
  101.  
  102.  
  103.     fflRe-engineering
  104.  
  105.  
  106.     fflCommercial Sources, Asset Quality
  107.  
  108.  
  109.  
  110. I assigned exercises for the abovetopics in an attempt to make the abstract concepts more tangible.
  111. Some of these were:
  112.  
  113.  
  114.  
  115.     fflReuse Design and Re-engineering: Each student designed a reusable code component, and a
  116.        non-code component.  They were later asked to re-engineer these to make them more reusable,
  117.        and to design a quality assurance procedure for them. Many of the students found design for
  118.        reuse difficult and confusing.
  119.  
  120.  
  121.     fflReuse Libraries: Students were given accounts on the Asset and Adanet reuse library systems
  122.        and asked to write an evaluation of them.  They were also asked to create an enumerated,
  123.        faceted,  and free text classification of 20 Unix tools.  Students did not find either Asset or
  124.        Adanet very usable. In general they did very well on the classification tasks.
  125.  
  126.  
  127.     fflDomain Analysis:  Students were asked to do a domain analysis of sorting routines, and of
  128.        another  domain  they  were  familiar  with.  The  lack  of  a  complete  prescriptive  method  for
  129.        domain analysis was a problem, as it is in practice.
  130.  
  131.  
  132.     fflReuse Measurement: Each student was asked to use RL [4] to measure reuse in C code.
  133.  
  134.  
  135.                                                          Frakes- 2
  136.  
  137.  
  138. Each student was required to do a project, write a report on it, and make a 20 minute presentation
  139. to the class.  These projects covered various areas of reuse.  Some of the more interesting were:
  140.  
  141.  
  142.  
  143.     fflDesign of a reusable code collection for imaging and information retrieval.
  144.  
  145.  
  146.     fflRe-engineering C into C++, a case study.
  147.  
  148.  
  149.     fflA comparison of domain analysis methods (FODA and Prieto-Diaz).
  150.  
  151.  
  152.     fflLegal Issues and reuse.
  153.  
  154.  
  155.     fflJapanese software factories.
  156.  
  157.  
  158.  
  159. In summary, though much of the material in the area is still uncertain, in general the course was
  160. successful. The students gave the course an overall rating of 3.5 (3=go od, 4=excellent).  They did
  161. not like the Hooper and Chester text.  There is a need for better texts in this area.  The guest
  162. speakers were considered to be very effective. Students without a strong background in compilers
  163. and formal methods found some of the material on reuse design and generative methods hard to
  164. follow. The exercises and projects were helpful in making the abstract material more tangible.
  165.  
  166.  
  167.  
  168. References
  169.  
  170.  
  171.  
  172. [1]  W. Frakes and C. Fox, "Software reusesurvey report," tech. rep., Software Engineering Guild,
  173.      Sterling, VA, 1993.
  174.  
  175.  
  176. [2]  C.  Lillie,  "Asset  pro ject,"  in Proceedings  of  Asset  Reuse  Education  Workshop, Morgantown,
  177.      WV, 1992.
  178.  
  179.  
  180. [3]  J. Hooper and R. Chester, Software Reuse:  Guidelines and Methods. Plenum Press, 1991.
  181.  
  182.  
  183. [4]  W. Frakes, "An empirical framework for software reuse research," in Proceedings of the Third
  184.      Annual Workshop on Methods and Tools for Reuse,  Syracuse University CASE Center Report,
  185.      1990.
  186.  
  187.  
  188.  
  189.                                                          Frakes- 3
  190.