Syllabus for the Course
This schedule is organized by lecture number and date.
All of the lecture numbers for the semester are listed.
Lecture titles are accompanied by a list of sections from the
textbooks or other readings that are relevant to those lectures.
When multiple lecture numbers are devoted to the same material, all
are listed with the same title.
-
- - Software as a defined engineering discipline - IEEE and ACM approved
definitions of the agreed-upon body of knowledge
- - Aspects of requirements engineering theory and practice; specification of
requirements and how this relates to other software engineering activities. A
flow-down technique will be introduced as well as the concept of a Vision
document, and IEEE 830, the IEEE Standard for Requirements Specifications.
- Introduction to Requirements Engineering
Suggested reading:
- Unfinished Journeys;
- Chaos Report.
- Applying UML & Patterns, start chapters 1 - 7.
-
- - Requirements Elicitation -- its role and some effective techniques. The
difference between a market-driven process and an IT or Engineering Department
in-house process.
Suggested reading:
- Vision document template (See web page "Class lectures" for link)
- IEEE Standard 830 (See web page "Class lectures"),
- Managing Software Requirements by Leffingwell, Chapters 7, 10, and 14. Copies of
these are on the web page "Class Lectures". The entire book is excellent but it's
illegal to copy an entire book even for "educational purposes"!
- Applying UML & Patterns, finish Chapters 1-6, pp. 3-100.
-
- - Requirements Analysis is the next engineering activity and ties very
closely with elicitation. Some analysis and negotiation techniques will be
introduced.
- Use Cases - The term "use cases" is widely used but less widely understood.
This week explains theory and application of use cases and their role in product
design correctness, overall quality, product validation, project management and
maintenance.
Suggested reading:
- Applying UML and Patterns pg. 101 - 130, 173-196
-
- - Introduction to requirements validation -"not just testing"
- - Essentials of Requirements Management; the requirements attribute and its role;
requirements metrics; the Requirements Management Plan.
Suggested reading:
- Sample Requirements Management Plan in Word Doc format available under Class Lectures
- Sample Requirements Management Plan in RTF format available under Class Lectures
-
- - Verification of system test coverage and completeness
- - Decision tables, state transition tables, Event tables
- - Targeting safety-related and similar errors
- - HAZOP introduction -- technique for hazard analysis & operability
Suggested reading:
- Paper on ...
- Paper on "Targeting Safety-related Errors During Software Requirements Analysis"
-- available on WebCT site under Class Lectures.
- 10/13-14 is Fall Break, no class, no lecture on 10/13;
- - Object-oriented design and specification
- - Relationship to Use Cases and issues not covered by use cases
- - Use of OO tools to enhance software engineering processes
Suggested reading:
- Review earlier reading in Applying UML & Patterns, pp. 173-196
- Read Chapters 9, 10, 13, 14, 15, 16, 17, 18 in Applying UML & Patterns pp 131-180, 197-362
-
- - Object-oriented design -- Architecture
- - Good practice -- historical roots
- - Architecture organization
- - Architecture analysis
Suggested reading:
- Read Chapters 24, 25, 26, 31, 32, 33, 34, 35, pp. 407 - 472, 501 - 611
-
- - What qualities support maintainability?
- - How do you critique a design for maintainability?
Suggested reading:
- Keep reading the chapters above (24-26, 31-35) in Applying UML and Patterns
- Read handout on Testing
-
- - Role of inspections
- - Integration strategies
- - Types of coverage -- how much is enough
- - Structural Tests including using flow graphs
Suggested reading:
- Read: handouts on testing
-
- - Principles of Object Oriented Software Testing
- - How to test OO models
- - OO Strengths that make testing difficult
Suggested reading:
- Read the content from any Power Point slides not covered in class.
11/15/2005, 11/17/2005, 11/22/2005, (11/24 is Thanksgiving holiday; no classes 11/24-25),
11/29/2005: OO Testing Issues -- Class Testing
- - Testing classes and objects
Suggested reading:
- Read the content from this week's Power Point slides not covered in class, if any.
-
Suggested reading:
- If we are behind, we will use a lecture to finish new material.
- No new reading assignment from the texts for this week
- We will look at questions that require you to think across the
- semester's material and synthesize the material. These will be similar
- to the questions in Part 2 of the final exam.
-
- Distance CAETE students: schedule the exam with your Educational Officer to
proctor it for 2.5 hrs on Monday, 12/12, if possible. For on-campus students, the final exam
will be given in the regular classroom on 12/10. Although homework and class activities have been
done in teams, the final exam will be an individual effort. CAETE students are welcome to come to campus to take the final exam with the rest of the class. Tell me your scheduled time with a proctor or else tell me that you are coming to campus.
Suggested reading:
- No reading assignment from the texts for this week. Review the material from the semester.
- You may have the two texts, lecture notes, and handouts with you. Please do not bring
graded homework with you when you take the exam.