CS446: Tools and Processes for Software.
An Experimental Seminar on Large Scale Software Construction.

Gio Wiederhold (gio@cs.stanford.edu) and David Luckham (dcl@poset.stanford.edu)

Assistance by Ron Burback (Burback@cs.stanford.edu), Louis Perrochon (louis@perrochon.com) and John Kenney (jjk@poset.stanford.edu)

The objective of CS446 is to gain insights into an area of computing that presents major problems and is short on science. To this end we combine concepts from software engineering, databses, and artificial intelligence.

Lab Work

The Rapide Tutorial is now available on-line.


In the Sep.29 meeting the following changes were adopted:
  1. we will continue the course, with 3 credits as before
  2. we will meet for lectures only once per week, Wednesday 3:00 to 4:10, starting the coming Wednesday Oct. 1.
  3. in lieu of the second meeting we expect students to participate in one of:
    1. research in the context of the Rapide project: contact John Kenney, cc to Louis Perrochon
    2. research in the context of the CHAIMS project: contact Catherine Tornabene, also cc to Louis Perrochon
    3. independent reading and writing project, contact Gio Wiederhold or David Luckham for appmnt and selection, also cc to Louis Perrochon
Make your tentative decision this week by Friday (today you heard about CHAIMS, Wednesday you'll hear about Rapide. As before, by October 19th your decision should be definite and documented.

We have updated this on-line announcement and the brief scheduile, and have adjusted the full schedule to the middle of November. We will continue to meet in Gilbert 119 unless we find another more sociable and adequate room.

Sorry for the late changes, we are trying to maximize the benefit / cost ratio for all of us.

Wednesday 3:00-4:10, starting Sept.24th in Gilbert 119
(Gilbert is the Biology bldg. next door to Gates, room 119 is at the corner nearest to Serra street and Gates, on the ground floor; it has an outside entrance).

Brief schedule updated Sep.29 for planning.

Detailed schedule, updated to reflect changes made Sept.19 up to the middle of November.
This schedule is dynamic and will be frequently updated. The detailed schedule also includes deadlines, pointers to class notes, view-graphs used in class, on-line references, and related events.

Related events: The Friday 3:15-4:30 CS545 database seminar series in Gates B12 (this quarter focusing on data warehousing.

Format:Small (graduate mainly) seminar. Undergraduate attendance by consent, based on prior software experience. Course credit is 3 Units.

Format:Readings and reports by participants. Some presentations by outside, non-academic experts. Extensive time for critique of read and presented material. Discussion of metrics for software effectiveness. Design of an experiment to adapting an existing large software system to another task. Preparation of a report to guide further work and research. Creation of critically annotated bibliography.

Presentations once a week. Participation in a SW research group meeting at least once a week for discussion, analysis, synthesis, generalization. Notes for session to be posted on Web.

Prerequisites: Prior software experience, graduate standing or consent of instructor.

Syllabus: The Phases of Software: Specification, Design, Coding and Acquisition, Integration, Operational Test, Maintenance, Adaptation, and Reuse. Allocation of System Function to Hardware versus Software. Distribution of functions among software creators and consumers. Waterfall, spiral, and domain-specific models. Adaptation and reuse of software. Allocation of system functions and responsibilities. Infrastructure, services, business and consumer responsibilities. Physical distribution, interaction, and feedback. Contributions and limits of object, modular, mega-programming, and other paradigms. Formal design and maintenance models. Available language facilities and requirements. Evaluation and metrics. Effects on business practice and employment. New models for software businesses. Future directions, especially with respect to distributed and federated software.

Textbook: Bruce Blum: Software Engineering, A Holistic View; Oxford 1992. Provides basic definitiona and a philosophical overview by a person with much experience.

Other Course Material: Bibliography from a wide variety of sources, including evaluations of successful and failed large software projects. Presentations from practioners. Papers and articles, various reference books. Also check the 1996-1997 schedule and the 1995-1996 schedule!

Final reports are due Dec.6; hand them to Marianne Siroker, MJH 436, or send by email to Gio. No final exam.
Graded reports will be returned the first week of the Winter Quarter.

Mailing List: To get onto the mailing list of this class, send e-mail to majordomo@lists.stanford.edu with an empty subject and a single line "subscribe cs446".