| CMSC 435: Software Engineering |
| Basic Information |
| Name | Office | Office Hours | |
| Marvin Zelkowitz | AVW 3175 | Tues 1pm-2pm & Thurs 10am-11am | mvz@cs.umd.edu |
| In general whenever my door is open. It is best to email first to make sure I am around. Since I am no longer working full-time at the University, I am here Tuesdays and Thursdays, and at other unpredictable times as well. | |||
| Manav Desai, TA | AVW 1112 | Mon 3:30-4:30pm & Friday noon-1pm | manavd@umd.edu |
| Cassandra Lewis, Project Mgmt | AVW 1112 | Tues 4-5pm & Thurs 4-5pm | lewis.cassandra@gmail.com |
| Course News |
| Lectures |
| Date | Lecture Topic | Slides | References | |
| 1 | 1/27 | Introduction & Overview, Software engineering and system engineering | slides1 |
Zelkowitz
Williams [1-10] |
| 2-3 | 1/29-2/3 | Processes, Project description | slides2 | Zelkowitz |
| 4 | 2/5 | System attributes | slides3 |   |
| 5 | 2/10 | Project management, Risk | slides4 (revised) | Williams [239-260] |
| 6 | Extra lecture 2/11 | Experimentation in software engineering
If unable to attend, see Dr. Zelkowitz | slides15 (revised) | Experimental validation in software engineering by M. V. Zelkowitz and D. Wallace, Information and Software Technology (November, 1997) 734-744 |
| 7-8 | 2/12-17 | Requirements | slides5 | Williams [105-136] |
| 9 | 2/19 | Specifications | slides6 | |
| 10 | 2/24 | Agile methods | slides7 |
Williams [160-175; 202-220]
1. An introduction to agile methods |
| 11 | 2/26 | Professional ethics
Note: The 2 ECE majors who have not yet completed their ethics requirement need to see Dr. Stephen Norton in the ECE office in order to understand what they have to do. |
Read:
1. ACM Code of Ethics and Professional Conduct: http://www.acm.org/about/code-of-ethics 2. The IEEE Code of Ethics (for computer engineering majors): http://www.ieee.org/portal/pages/iportals/aboutus/ethics/code.html 3. Software Engineering Code of Ethics and Professional Practice: http://www.acm.org/about/se-code 4. "Do Artifacts Have Politics": http://zaphod.mindlab.umd.edu/docSeminar/pdfs/Winner.pdf
Consider the Following Questions:
| |
| 12 | 3/3 | Agile methods(cont) | slides7 (continued) | Williams [160-175; 202-220] |
| 13 | 3/5 | Exam 1 |
Spring 2005 midterm with answers
Spring 2009 midterm with answers | Material assigned references, slides and class presentations |
| 14-15 | 3/10-12 | Software architecture and design | slides8 | Mary Shaw, "Making choices: A comparison of styles for software architecture," IEEE Software, 1995, vol. 12, no. 6, pp. 27-41. |
| 3/17-19 | Spring Break | NO CLASSES | NO CLASSES | |
| 16 | 3/24 | Configuration Management and Software Reuse | slides9 | |
| 17 | 3/26 | Use cases and UML | slides18 |
Williams [137-159; 261-280]
1. UML tutorial: Sequence diagrams - Robert Martin 2. The formalization of message sequence charts - S. Mauw |
| 18 | 3/31 | Testing | slides10 | Williams [33-104] |
| 19 | 4/2 | Reliability | slides11 |   |
| 20 | 4/7 | Verification, Inspections, Cleanroom | slides13 |
1. "Advances in Software Inspections" by M. Fagan, IEEE Trans. on Software
Engineering (12)7 (July, 1986) 744-751.
2. Notes from Tom Gilb |
| 21-22 | 4/9-4/14 | Formal specifications | slides12 | "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 discuss 1-16. |
| 23 | 4/16 | Maintenance | slides14 | Williams [221-238] |
| 24-25 | 4/21-23 | PBR inspection in class
Cost modeling and metrics | slides16 | |
| 26 | 4/28 | Process improvement | slides17 | |
| 27 | 4/30 | Exam 2 | Sample final exam | List of slides which can be ignored for exam   |
| 28 | 5/5 | Finish up slides |   | |
| 29 | 5/7 | Final reports and summary |   | |
| 5/12 | No class |
| Problems |
Turn in a Use case diagram and either a Transition diagram or Activity diagram for the following problem.
Design a program that computes class averages for a class like CMSC 435. The raw data is:
- Item 1 is exam 1, item 2 is exam 2, items 3-6 are phases 1-4 and item 7
is class evaluation. Items 1 and 2 are worth 25% each and 3-7 are worth 10%
each. Each item has a value of between 0 and 100.
- Read in the item number and its value until all items have been read in.
- Compute the weighted average of the 8 items.
Note that you are not to write the program, only design the use case diagram and one of the process diagrams.
| Class Project |
If you are not sure of what project to discuss, see Dr. Zelkowitz first. If you pick something discussed in class (e.g., Ariane 5 failure, Therac 25), make sure you go well beyond what was discussed in class. Other possible choices: NASA Mars mission failures, IRS tax moderization system, Denver airport baggage handling.
Each of you will read the requirements for an ATM machine, and then try to find as many defects as you can in the document. You are to study the ATM document from the perspective of one of three roles. All defects you find, regardless of how you find them, should be reported. You need to study the documents before class and then report on your findings and look for other defects at the inspection meeting on the 16th.
Documents needed:
- ATM requirements to be inspected
- Design perspective
- Test perspective
- User perspective
- Defect form to fill out before inspection
- Inspection form to fill out at meeting. The
forms should be self-explanatory. Found on this form means the role of the
person(s) who found the defect.
Each Phase 3 group will hold an inspection. The groups can organize themselves as to roles. One person will assume the role of tester, and read the test documents. One will have the role of designer and read the design documents, and one will have the role of user, and read the user documents. One will assume the role of moderator. The moderator will prepare for the inspection by reading the tester documents. During the inspection, the moderator will moderate the meeting and fill in the meeting inspection form. The only constraint on roles is that the group manager cannot be the moderator for this.
| Class Resources |