Framework Tools for Software Design Education Bob Lechner (lechner@cs.uml.edu) (781)449-1497 RJLRef: $PH/COOL-FAQ/COOLframeworkTutorial.970521 Abstract: A project course based on a legacy of software inherited from prior projects is often advocated as the best if not the only, way to provide a meaningful project experience in Software Engineering Education. This tutorial describes the capabilities of an interrelated set of three generic object-oriented design tools which form a re-usable code base for legacy projects, and the process by which they undergo continuous evolutionary development and re-use at UMass-Lowell. Over 50K lines of C , C++ and Java code have been generated for re-use by this process, which spans a decade of software development by graduate students in Object-Oriented Analysis and Design and Software Engineering courses. Intended Audience: Educators in CS/E&CE who want to involve upper division or graduate students in large-scale team-based legacy software system design projects, or to develop computer-based educational applications to support lower-division courses. Attendees should have experience or interest in teaching large-scale software design and development in the CS or EE&CE curriculum, and be motivated to use team-based legacy projects as a valuable learning experience for the professional development of undergraduate and graduate students. Outline of Topics: 1: Overview of Course Delivery Approach 2: Generic Tools - Description and Use 2.1. GEN (Persistent database code GENerator) 2.2. BDE (Block Diagram Editor and semantic translators) 2.3. LCP (Life-Cycle Prototype state model interpreter) 3: Distance Learning Approach (Voice+SharedDiagrams) 4: Impact of the InterNet and World-Wide-Web 5: A Look at Some Typical Educational Projects Biography: Bob Lechner is a Professor of Computer Science at UMass-Lowell, Lowell MA 01854. He has a MS/EE from CMU and a PhD/Applied Math from Harvard's Computation Lab, and is a member of ACM and IEEE Computer Society. He spent the first half of his career practicing embedded computer system analysis and software design at GTE/Sylvania, Honeywell Information Systems and CSDraper Laboratory, and the second half teaching Computer System Analysis and Software Engineering. He retired from UMass in 2001 but still teaches graduate courses in object-oriented analysis and design and software engineering, and his current research focuses on integrated development environments (frameworks) for software engineering education. Overview: This tutorial describes a method for application design and prototype development, using a loosely coupled set of generic CASE tools which generate persistent database access code and executable prototypes from a conceptual schema (information model plus state-event model). The tools have stand-alone utility, but work best as a coordinated whole. The tutorial focus will be on how these generic tools increase the reusabilty of applications, and our vision of how they will evolve to support (1) on-line collaboration among mentors and students, and (2) distributed distance learning by geographically dispersed teams. This tool set is based on a decade of software development by graduate students in courses taught by the author. The tools were originally developed as legacy software projects for use in, and improvement by, other teams in later projects. We expect to make a public-domain version available and I would welcome collaborators on new uses and multi-user versions for these tools. Although the distance learning features of the tools are far from complete, we can demonstrate several applications using Netscape and Java that might stimulate other faculty to think about new approaches to on-line collaborative education, using a replicated database of constructive graphics to support software design and other discrete process modeling application domains. Distance learning aspects of this research were published in 1994 and 1996. Refs: 1. R Lechner and R Chiang: Collaborative Design Using a Distributed Block Diagram Editor, Proceedings, First New England Regional Telecommunication Conference, UMass-Lowell, October 1994. 2. R Lechner: BDB: A HTML Browser for Block Diagrams, Proceedings, Second New England Regional Telecommunication Conference, March 1996. 3. Descriptions and some demos of recent projects are on the web site http://www.cs.uml.edu/~lechner.