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 / diab.detex < prev    next >
Text File  |  1992-04-28  |  10KB  |  245 lines

  1.  
  2.   SOFTWARE REUSE REPOSITORY 
  3.  
  4.   Mahmoud Diab 
  5.   NEC America, Inc. 
  6.   Advance Switching Laboratory 
  7.   Irving, TX 75038 
  8.  
  9.   diab@asl.dl.nec.com 
  10.   (214) 518 - 3463 
  11.    
  12.  
  13.                              Abstract
  14.   
  15. Software reusability is considered one of the most attractive ways to increase 
  16. software productivity in an organization. To establish a successful reuse 
  17. program, an organization must deal with two issues: 1) building an automatic 
  18. reuse system which allows the users to browse the software entities, and order 
  19. them. 2) The system must contain a valuable reusable data (reusable entities) 
  20. which could be captured and reused.
  21.  
  22. In this paper I will discuss the software reuse repository system which was built by the software reuse group at NEC AMERICA. I will discuss in this paper the different parts of the system and their interactions. 
  23.  
  24.   
  25. Keywords:  Software Engineering, Software Reuse, CASE, and Repository.
  26.  
  27.  
  28.  
  29. 1  Software reuse repository 
  30.  
  31. A software reuse repository is a system that stores the software reusable 
  32. entities in a centralized location. The reusable entities could be software 
  33. modules or documents (we could argue that documents contain software 
  34. engineering information which could be reused, as an example a document that 
  35. describes a software development methodology).
  36.  
  37.  
  38.  
  39. 2  High level description of the software reuse repository 
  40.  
  41. The software reuse system allows the users to retrieve records (entities) based on a search mechanism. The search mechanism is based on Keyword or attribute 
  42. search.The users could select the retrieved entities, and ask the system to 
  43. display detail information about them (the system supports two types of 
  44. display, brief and detail display). The user could order the desired entities 
  45. and ask the system to deliver them to his/her electronic address. The system 
  46. could be accessed by the members of the organization after they pass a level of security. The system will keep track of the users who accessed the system. A 
  47. high level diagram is shown in Figure 1.
  48.  
  49.  
  50.    
  51. 3  Functionality of software reuse repository 
  52.  
  53. The software reuse system consists of the following parts: The logging and 
  54. verification, the retrieval engine, and the ordering. I'll discuss briefly each part in the text below:
  55.  
  56.  
  57. 3.1  Logging and verification 
  58.  
  59. Software reuse repository contains valuable software engineering knowledge and 
  60. software code. The system must be secure enough. A user could invoke the system by typing the name of the system, then he/she could log into the system, the 
  61. user must enter his/her password (currently, the system supports one level of 
  62. system security, a multi level of security will be implemented in the future). 
  63. The system will verify the user by checking his password with the user 
  64. description table. The description table contains personal information like 
  65. user name, ID number, organization, division, and electronic address. After the system verify the user, he/she will be given the permission to use the system 
  66. (the system will display the main menu).
  67.  
  68.  
  69. 3.2  Retrieval engine 
  70.  
  71. The software reuse repository support two types of search mechanism: the 
  72. keyword, and the attribute search.
  73.  
  74.  
  75. 3.2.1  Keyword search 
  76.  
  77. The keyword search is based on matching the input string with keyword list 
  78. table. The user will enter the keyword(s), the system will exact match this 
  79. keyword(s) with the previously entered list of keywords which are associated 
  80. with each entity.  As an example if the user enter ``Switching'' the system 
  81. will display all records that are associated with ``Switching''.
  82.  
  83. We added extra features to the keyword search mechanism to improve upon this 
  84. search. some of these features are listed below:
  85.   
  86.   1. Wild card search 
  87.  
  88.      The system will match the exact work and all keywords that vary in one or 
  89.      multiple character. As an example ``air?line'' would match ``airline'', 
  90.      where ? stand for a single arbitrary character.
  91.  
  92.   2. Thesaurus 
  93.  
  94.      The system will provide the ability to match the exact keyword and all 
  95.      keywords that have similar meaning. As an example, the system would relate 
  96.      entities such as ``airplane'', ``Boeing 747'', ``aircraft'', etc.
  97.  
  98.   3. Phrase search 
  99.  
  100.      In this type of search, the user may enter a phrase (two or more words 
  101.      that are separated by space) instead of single keyword.  As an example 
  102.      ``expert system'' would be an acceptable search criteria.
  103.  
  104.   4. Boolean combination 
  105.  
  106.      The user may provide a boolean search specification by entering queries 
  107.      joined by boolean operators.  The default logical operator in the system 
  108.      is AND. If the user enters multi keywords separated by a space separator, 
  109.      the system will AND them together by default. Another logical operator 
  110.      is OR.
  111.  
  112.      The system examines selection criteria one at a time, from left to right, 
  113.      and it will do the logical operation that was called for.  As an example, 
  114.      the system will process the following expression (switching OR software) 
  115.      AND hardware.
  116.  
  117.   5. Automatic stemming 
  118.  
  119.      The system will provide the ability to match the exact keywords and its 
  120.      keyword derivatives. As an example, the user might like to search all 
  121.      records that contain ``switch'' in their keyword list. The system will 
  122.      find all records that contain switch, switching, switcher, etc.  Automatic 
  123.      stemming can be invoked by appending one or more characters to a search 
  124.      term.
  125.  
  126.  
  127. 3.2.2   Attribute search 
  128.  
  129. Each entity has a set of attributes which define it. We identified common 
  130. attributes between similar entities. The user could retrieve entities based on 
  131. the value of these attributes. To enhance the attribute search we added the 
  132. following features:
  133.  
  134.   1. Multi author search with any order - The user could enter multi authors in      the different author fields, the system will AND them automatically. The 
  135.      user need not to be concerned with the order of authors. The system will 
  136.      take any order is desired by the user.
  137.   
  138.   2. Registration Date - The user could specify the exact date of the entity 
  139.      that were registered to the system. Additionally he could ask the system 
  140.      to give all entities that were registered from that date until now by 
  141.      specifying the following `> ``25-DEC-1990'' `. The registration date 
  142.      search could support the following: equal (=), not equal (!=), 
  143.      greater (>), less (<), equal greater (=>), equal less (=<).
  144.   
  145.   3. Creation date - The same capability that are used in Registration date 
  146.      search could be used in Update date search. 
  147.  
  148.  
  149. The common attributes are demonstrated in the attribute screen shown in 
  150. Figure 2. 
  151.  
  152.  
  153. 3.3  Ordering 
  154.  
  155. An order is defined by the process of sending a software entity from the source (in this case the software repository) to the destination (the user email 
  156. address). This process must take place in an automatic way. The user will send 
  157. the request of a specific entity, the system will accept the order, and will 
  158. check the validity of the order, and send it to the requester electronic 
  159. address. An entity order could take place any time and by multi users.
  160.  
  161.  
  162.  
  163. 4  Automatic entity submittal 
  164.  
  165. The user who would like to submit an entity will select the submittal entity 
  166. option, the system will display the entity submittal form. The user will enter 
  167. the entity name and all related attributes, and keywords. The librarian will 
  168. check on daily basis the maintenance/ attribute status. He/she will verify the 
  169. information about this entity, then he/she will register it. The system will 
  170. automatically generate the ID, and send it to the user. The automatic entity 
  171. submittal process is shown in Figure 3.
  172.  
  173.    
  174.  
  175. 5  Software reuse measurement process 
  176.  
  177. To monitor software reuse we created a transaction file. In this file we 
  178. capture different types of activities that were performed by the user during 
  179. their interaction with the system.
  180.  
  181. This will allow the software reuse group to analyze these captured information, and to conclude about the software reusability of the stored entities.  The 
  182. following information will be captured in this transaction file:
  183.  
  184.   * user name, and user ID
  185.  
  186.   * In case of keyword search, what are the keyword that were typed.
  187.  
  188.   * In case of attribute search what type of attribute were used.
  189.  
  190.   * After successful search, what type of entities were looked at in detail 
  191.     (displaying detail screen).
  192.  
  193.  
  194. This information will be useful in two ways:
  195.  
  196. First, it will help us to identify what are the mostly reused entities, and 
  197. what is the scope of interest and the need in our organization.
  198.  
  199. Second, we could monitor our keywords and update our list of keywords by 
  200. observing the user input, and what type of related keyword they had typed to 
  201. retrieve specific entity.
  202.  
  203. Third, It will help us to build a list of the thesaurus table. We will relate 
  204. what the user typed with the list of existing keywords.
  205.  
  206.  
  207.  
  208. 6  Conclusion 
  209.  
  210. The software reuse group built a prototype based on ORACLE database. This 
  211. system will store all the organization software knowledge in one centralized 
  212. system. This will allow users to retrieve this information and reuse it, or it 
  213. allow users to enter their reusable software which in turn will facilitate 
  214. information sharing.
  215.  
  216.  
  217. REFERENCES
  218.  
  219. [BIGG87]  T. Biggerstaff and C. Richer, Reusability Framework Assessment and 
  220.       Directions.  IEEE Software, July 1987.
  221.  
  222. [BASS87]  G. Bassett, Frame-Based Software Engineering, IEEE Software, 
  223.       July 1987.
  224.  
  225. [INCO90]  J. Incorvaia and A. Davis, Case Studies in Software Reuse, IEEE 
  226.       Software, 1990.
  227.  
  228. [FRAK87]  B. Frakes and B. A. Nejmeh, An Information System for Software Reuse. 
  229.           The Tenth Minnowbrook Workshop on Software Reuse, 1987.
  230.  
  231. [ARNO87]  Arnold and S. Stepoway, The Reuse System: Cataloging and Retrieval of           Reusable Software. COMPCON 1987.
  232.  
  233. [PRIE87]  R. Prieto-Diaz and G. Jones, Breathing New Life into Old Software.
  234.       GTE Journal of Software, 1987.
  235.  
  236.  
  237. BIOGRAPHY
  238.  
  239. Mahmoud Diab is a senior member of technical staff in the software reuse group 
  240. at NEC America, Inc. He received his BS, and MS in Electrical Engineering from 
  241. University of Southern California. He worked in Saudi Arabia, and joined AT&T 
  242. Laboratory as a member of technical staff in 1986.
  243.  
  244. His interest include Software Engineering, Software Reuse, CASE, and AI. He can be reached at NEC America., Advance Switching Laboratory, Irving, Texas. 
  245.