237-553-01 Introduction to Software Reuse and Reengineering

Fall, 1999

Instructor: Ronald J. Leach [email protected] (202) 806-6650, FAX (202) 806-4531

Text: Software Reuse: Methods, Models, Costs, McGraw-Hill, New York

Time of course meetings: Wednesdays, 4-6 PM

Office : 2120B, LKD Hall

Office Hours: By appointment

From the catalog: This course will introduce the student to systematic methods of software reuse and re-engineering.  Topics covered include: domain analysis,  reuse metrics, certification, reuse library management, cost modeling, re-engineering methodologies, and the use of available software tools.  Prerequisite: 237-552 (Software Engineering II)

Tentative Schedule - subject to change

August 26 Introduction

September 2 Techniques-domain analysis

September 9 Techniques-domain analysis

September 16 Techniques -other

September 23 No class meeting

September 30 Libraries and Certification

October 7 Oral presentation of tool's design

October 14 No class meeting

October 21 Semantic difference tool due.

October 28 No class meeting

November 4 Cost models

November 11 - No class, Veteran's Day

November 18 Reengineering

November 25 No class- prepare for final presentation

December 2 Oral presentation of final paper results

Grading:

There will be two major and two minor deliverables in this class.

  1. A major deliverable is a software tool to estimate the "semantic difference" between distinct artifacts. The tool should detect "clones," which are documents that are in fact identical. Since the course encourages software reuse, the tool should be constructed from existing software components as much as possible. As a minor deliverable, a presentation of the tool's design will be given.
  2. A second major deliverable is a research paper which will analyze an existing software system from the perspective of potential reuse. As a minor deliverable, a presentation of the paper will be given.