Development of a team project is a critical component of this course. You will develop a project, jointly with 2 other class members. The development language is your choice. C++, Visual Basic, or HTML (web pages) have been used int he past. In order to complete this project, some lab periods will be scheduled during the latter half of some of the classes. However, it will probably be necessary for you to meet your other team members outside of class, either at the University or any other place you so choose.
Class is scheduled to meet in AVW 3258 on Mondays, beginning September 11, 2000 from 7:00pm until 10:00pm. Important note: About 2 extra classes will be scheduled at beginning of the semester, and 2 Mondays will be cancelled later in semester. More details about this at first class.
| Paper on method validation (November 6, 2000) (Instructions) | 15% |
| Midterm exam (November 6, 2000) | 25% |
| Final (December 18) | 25% |
| Project (Team effort) Project description | 25% |
| Project data collection form | |
| Homework(s) and Class participation | 10% |
The midterm exam will be approximately 75 minutes long. The remainder of the time will probably be used as a group lab meeting. The final will be a 2 1/2 hour exam.
Class is scheduled for Mondays, 7-10pm, in AVW 3258.
We are supposed to meet for 150 minutes per week, so schedule will be:
| Approximately 75 minutes | -- Lecture |
| 10 minutes | -- Break |
| Approximately 75 minutes | -- Lecture or, depending on week, group discussions/lab period |
Class will officially end around 9:45pm. You will probably need to spend additional time after class working with your group.
No textbook is required. Various readings will be distributed in class or available through this web page. For references from easily accessible journals (Communications of the ACM, IEEE Software, IEEE Computer, IEEE Transactions on Software Engineering) you are expected to obtain your own copy. Many of you or your colleagues should already get some or all of these, a good company technical library should have them, and they are available in the University of Maryland libraries. Note: This is a preliminary schedule, which will be updated over the next few weeks.
| Date | Topics | References |
| September 11 | Review of MSWE 601. Software engineering in the large, Software
engineering techniques, life cycle, buzz
words, methods, risk, ...
Slides related to lecture:Notes-1 | "The Road to maturity: Navigating Between Craft and Science" by
Christof Ebert, IEEE Software (November, 1997) 77-82.
"Software Risk management: Principles and Practices" by Barry Boehm, IEEE Software (January, 1991) 32-41. |
| September 18 | Process improvement, Software engineering in the small. Personal software process (PSP), Role of
measurement, data collection, fault tracking.
Slides related to lecture:Notes-2 (Revised 9-14-00) |
"Capability Maturity Model, version 1.1" by Mark Paulk and Mary Beth
Chrissis, IEEE Software (July, 1993) 18-27.
"How ISO 9001 compares with the CMM" by Mark Paulk, IEEE Software (January, 1995) 74-83. "Using a Defined and Measured Personal Software Process" by Watts Humphrey, IEEE Software (May, 1996) 77-88. |
| September 25 | Validation of new software engineering methods; Software engineering
technology transfer
Slides related to lecture:Notes-3 (Revised 9-26-00) | "Experimental validation in software engineering" by
Marvin V. Zelkowitz and Dolores Wallace" Information and Software
Technology (November, 1997) 734-744
(pdf).
"Software Engineering technology infusion within NASA," by M. V. Zelkowitz, IEEE Trans. on Eng. Mgmt. 43, 3 (August, 1996) 250-261 (pdf). |
| September 27 |
Resource and change measures.
Slides related to lecture:Notes-4 |
(pdf) Basili Notes - Chapter 5
B. W. Boehm, Software engineering economics, IEEE Trans. Soft. Eng. 10(1), January 1984, 4-21. |
| October 2 | Process models and metrics,
OO and OO metrics
Slides related to lecture:Notes-5 (Revised 9-26-00) OO Slides related to lecture: (OO notes part 1) (OO notes part 2) |
(pdf)Basili Notes - Chapter 6
Chidamber S. A. and C. F. Kemerer, A metric suite for object oriented design, Transactions on Software Engineering 20, 6 (June, 1994) 476-493. |
| October 4 | Reading techniques, Code reading, reviews, inspections. Lab activity:
Project groups meet and begin to plan their development.
Slides related to lecture:Notes-6 | "Advances in Software Inspections" by M. Fagan, IEEE Trans. on Software
Engineering (12)7 (July, 1986) 744-751.
Notes from Tom Gilb Check also Prof. Johnson at the University of Hawaii's URL. Perspective Based reading paper (pdf) by Basili, et al. |
| October 9 | No class | |
| October 16 | Requirements analysis, Formal specifications, Verification
Slides related to lecture:Notes-7 | May 1995 issue of Communications of the ACM (Requirements
gathering)
"The role of verification in the software specification process," by M. Zelkowitz, Advances in Computers 36, Academic Press (1993) 43-109 (pdf). Paper is 55 pages. We will probably only discuss 1-17, 28-30, 41-43, 45-46. C. A. R. Hoare, "An Axiomatic Basic for Computer Programming," Communications of the ACM, Vol. 12, No. 10, 1969, pp. 576-580, 583. (This is the seminal paper on this topic) Notes on algrebraic data types (pdf) Notes on axiomatic proofs (pdf) |
| October 23 | No class | |
| October 30 | Specification languages: VDM, Z, others. Independent verification and
validation, Cleanroom.
Slides related to lecture:Notes-8 Slides related to lecture:Notes-9 |
"Specifying a Real-Time Kernel" by J. M. Spivey, IEEE Software
(September, 1990) 21-28. (Introduction to Z)
Ariane 5 failure Quicktime video of Ariane 5 |
| November 6 | Midterm exam
Homework on Z specification due Paper due Completion of discussion of IV&V | |
| November 13 | Software architecture, data abstractions, design issues
Turn in Design and a sample module Slides related to lecture:Notes-10 Slides related to lecture:Notes-11 | "Comparing architectural design styles" by Mary Shaw,
IEEE Software, (November, 1995) 27-41.
"Cleanroom Software Engineering" by H. D. Mills, M. Dyer, and R. C. Linger, IEEE Software (September, 1987) 19-25. "Software Process Evolution at the SEL" by V. Basili and S. Green, IEEE Software (July, 1994) 58-66. "Cleanroom process model" by R. C. Linger, IEEE Software, (March, 1994) 50-58. |
| November 20 | Completion of architectural design styles
Code inspection | |
| November 27 | Object oriented design, Case tools, Environments
Slides related to lecture:Notes-12 | "Architectural styles, design patterns, and objects" by R.
Monroe, et al., IEEE Software, (January, 1997) 43-52.
"Tools that bind: Creating integrated environments" by D. Sharon and R. Bell, IEEE Software. (March, 1995) 76-85. |
| December 4 | Defect detection, Orthogonal Defect Classification
Microsoft development:Notes-13 | ODC Report
"Software unit test coverage and adequacy" by H. Zhu, et al. ACM Computing Surveys 29, 4 (December, 1997) 366-428. |
| December 11 | Microsoft development; Current issues;
Reports on final projects; Demonstrations; Review of semester data
collection activities.
Slides related to lecture: | "Microsoft Secrets" by M. Cusumamo and R. Selby, The Free Press, New York, 1995. |
| December 18 | Final exam (2 hours) | Comprehensive -- covers material from entire course. |
Last Change: December 03, 2000