CSC 440 - Software Engineering
CSC 440 - Software Engineering
- Prerequisite course: CSC175
- Slides #1 - Introduction, UML and OO Basics (ch. 1)
- Slides #2 - Requirements Elicitation (ch. 4-5 of 9th or 10th edition, or ch. 6, 7 of 7th or 8th edition)
- Example illustrating the difference between user and system requirements
- E-mail excerpt from a recent graduate working as a software developer re: requirements elicitation
- Slides #3 - Object-Oriented Analysis (ch. 7 of 9th or 10th ed. or ch. 6 of earlier editions)
- Requirements - slides set #2: slides 1-9, 33
- Static UML Diagrams
- Use case: slides set #2: slides 10-28
- Analysis-level object: slides set #2: slides 29-end, set #3: slides 1-16
- Dynamic UML Diagrams
- State (or statechart): slides set #3: slides 52-58
- Sequence: slides set #3: slides 17-51
- LAB EXERCISE: Practice writing requirements
- LAB EXERCISES: static UML diagrams: draw use-case diagram, identify analysis objects and draw object diagram.
- LAB EXERCISE: Click here for another exercise on analysis-level object diagram.
-
-
LAB EXERCISES: dynamic UML diagrams: draw state diagram (for the pump), draw sequence diagram (for normal/expected use of the system)
- Slides #4 - System Design (ch. 14)
- Slides #5 - Object-level Design (ch. 14, 18) - inheritance vs containment: last slide
- LAB EXERCISE: Produce a class-level design diagram for the fuel delivery system, as well as a pseudocode algorithm for the System Controller.
- LAB EXERCISE: Analysis Exercise: In the handout of the state diagram for the pump, is it possible for fuel to be pumped outside the car's fuel tank?
- Objects in the fuel delivery system and basic sequence of actions
- Singleton Pattern (See Slides #5 for other design patterns)
- More examples of design patterns
- Slides #6 - Testing (ch. 23)
- Slides #7 - Testing, Verification, and
Validation (ch. 22-24)
- LAB EXERCISE: Handout 1: inspection and testing (same as JUnit link)
- PRACTICE Problems on Testing: Handout 2: More exercises on testing
- Slides #8 - Software Process, Project
Metrics, Project Management (ch. 4-5, 25-27) - what is the spiral model vs. waterfall model (slide 18-), and what is a metric (slide 26-)
- Slides #9 - Software Project Management and eXtreme Programming (XP) (ch. 17) - what are XP (slides 46 - 53) and
SCRUM ?
-
Differences between Scrum and eXtreme Programming (XP)
- Slides #10 - Computer Security, Ethics, SE as
a profession, etc. - What is the relationship between software engineering and security? What is the Code of Ethics?
[Back to the Class's Home Page]