SI336
Software Engineering
Course Syllabus
Spring AY09
|
Wk |
Start Date |
Topics/Events |
Web-Outs |
|
1 |
7 Jan |
Course Policy, Course overview. Programming Team Selection. Term Project Requirements Analysis - Milestone 0 Assigned. || Schach Ch1: Historical, Economic and Maintenance Aspects of Software Engineering. Team Programming, The Object-Oriented Paradigm. Ethics overview: ACM/IEEE's Software Engineering Code of Ethics. + Lec: Schach Ch2: Software Life-Cycle Models: Waterfall, Rapid Prototyping, Incremental and Spiral Models, Risk Assessment. (Note that the Rapid Prototyping discussion from Schach Ch10 is embedded in Chap2’s notes) Requirements Phase: Rapid Prototyping, Testing During the Requirements Phase. |
· Schach Ch1: Scope of Software Engineering. · Schach Ch2 Software Life-Cycle Models · Some Java resources you may find useful: o http://java.sun.com/docs/books/tutorial/ o http://64.18.163.122/rgagnon/howto.html Term Project choices for Milestone 0 (Each team picks their choice of one of the below): · Milestone 0 (Project Selection) Assigned (Due Wed, 14 Jan): o Autonomous Underwater Vehicle (AUV) Simulator o Flight Scheduler Assistant § Sample Forms o Or, propose your own project (See Milestone 0 for specific requirements for proposing your own project). · Team Compositions (Due Mon, 12 Jan) · Peer Evaluations: Note: These will be completed in class during the 6, 12, and final marking periods, and will impact each team member’s individual grades. |
|
2 |
12 Jan |
Schach Ch3: Introduction to the Software Process: Requirements, Specification, Design, Implementation, Integration and Maintenance Phases of Software Development. Capability Maturity Model, ISO 9000.| Deitel Chap 11-part1: Attaching multiple GUI components to an application. GUI event handling, Java's actionEvents, actionListeners, and actionPerformed.|| Lab 1: Java’s GUI event handling. Milestone 0 – Requirements Document and Acceptance Test Plan Due |
· Schach Ch3. Intro to the Software Process · Deitel Ch11-part1. GUI event handling, actionPerformed · Eclipse JAR (Java Archive) Tutorial · Craps Jar (a sample Jar file) · Lab1 – Craps GUI o Craps.java (includes lab instructions) · Milestone Grading Sheet (Use for all milestones other than milestone 0) · Milestone 1 Assigned (due 5 Feb): Rapid Prototype & Emergence of SE as a Discipline. Related papers:
|
|
3 |
19 Jan |
** Monday Holiday,
MLK-Jr. Prereg
22-27 Jan Tuesday-A Virtual Monday: Schach Ch11: Classical Analysis (Specification) Phase: Specification Document. Structured Specification Tools: Informal, Semi-Formal and Formal Specification tools: Natural language, Data Flow Diagrams Entity Relationship Diagrams | Finite State Machines. Testing During the Specification Phase. || Teamwork: Rapid Prototype |
· Schach Ch11: Classical Analysis (Specification) Phase · Homework 1 Assigned - Due: Wed, 4 Feb. |
|
4 |
26 Jan |
Deitel Chap 11-part2: Heavyweight vs. Lightweight GUI components. Handling multiple listener events of the same type. | Chap 22 Deitel: Multiple Document Interfaces GridBag Layout Manager || Lab 2: Java Programming Exercise: Multiple Document Interfaces, GridBagLayout manager. |
· Deitel Chap 11-part2 Multiple Listener Events ·
Deitel Chap 22: Multiple Document
Interfaces ·
Lab2
: Multiple Document Interfaces (MDIs) o MDIGridBag.java (w/lab instructions) o data.dat |
|
5 |
2 Feb |
Schach Ch12: Object-Oriented Analysis Phase: Object-Oriented vs. Structured Paradigm Object-Oriented Analysis (OOA): Structured Analysis vs. OOA. Use-Case Modeling | comp time for guest speaker || Team milestone presentations: Milestone 1 -Targeted Rapid Prototype |
· Schach Chap12: Object-Oriented Analysis (OOA) · Milestone2 Assigned (due 26 Feb): Specification/Object Oriented Analysis, Targeted Prototype o Boehm, "A Spiral Model of Software Development and Enhancement", IEEE Computer 21 (May 1988), pp. 61-72. o Sample Project Planning Gantt Chart (PowerPoint) o Sample Workload Matrix (Excel Pivot Table) |
|
6 |
9 Feb |
X- Week. Exam review | 6 week Exam In class, Wed 11 Feb. || Class Modeling, Noun Extraction. Intangible objects, objects outside the problem boundary + MFKA Case study (Scenarios, Noun Extraction, initial UML Class Diagram). VisualParadigm CASE tool Actors, Scenarios, Use cases; |
· 6 Week Peer Evaluations (conducted as part of the 6 week exam) |
|
7 |
16 Feb |
*** Monday Holiday, 16 Feb,
Washington’s Birthday Monday Holiday | Dynamic Modeling, Dynamic Modeling Case study: MFKA || Teamwork: Specification/Object Oriented Analysis, Targeted Prototype + Exam debrief |
|
|
8 |
23 Feb |
Schach Ch13: Design Phase: Object-Oriented Design, UML Interaction
Diagrams, Collaboration Diagrams. Case Study: MFKA Sequence Diagram, populate
initial detailed UML Class Diagram for MFKA | Detailed Class Diagrams,
Testing During the Design Phase, Metrics for Object-Oriented Design. MFKA:
Pseudo-code development, Computer Aided Software Engineering (CASE) Tools for
design || Team
milestone presentations: Milestone 2-
Specification/OOA/Targeted Prototype.
|
· Schach Chap13: Object-Oriented Design (OOD) · Milestone3 Assigned (due 12 Mar): Object-Oriented Design and Software Engineering Code of Ethics. o Supplemental reading for Milestone3: "Software Engineering Code of Ethics is Approved" Communications of the ACM, October 1999/Vol 42. No. 10. pp 102-107. · Some sources for ethical issues related to software engineering can be found at http://computingcases.org/ but you are allowed to use any properly cited case that you find that violates the portion of the Software Engineering Code of Ethics assigned to your team. · Three little pigs story told via a UML Sequence Diagram. |
|
9 |
2 Mar |
Schach Ch7: Designing Objects: Role of Modules. Cohesion| Coupling, Metrics: Coupling dependency metric, Effect of cohesion/coupling on software reuse.|| Teamwork: OOD |
· Schach Chap7: Coupling Cohesion, and Polymorphism · Homework 2: (due start of class, Thursday, 26 Mar) |
|
10 |
9 Mar |
Polymorphism, Dynamic Binding, and Dispatched Method calls from a Maintenance and Reuse Perspective. Java dynamic binding example. Impact of inheritance, polymorphism and dynamic binding on cohesion/coupling. | Schach Ch14: Implementation Phase: Dynamic Testing, Procedural-Oriented vs. Object-Oriented Design, Module Reuse Module Test Case Selection, Black/Glass Box Testing || Team milestone presentations: Mile 3-OOD and Software Engineering Ethics. |
·
Milestone
4 Assigned: Build Testing (due 9 Apr) ·
Sample Colleagues: Using JDBC to query a MySQL database
from Java source code. · Schach Ch14: Dynamic Testing |
|
|
16 Mar |
*** Spring Break *** |
|
|
11 |
23 Mar |
COZ | Complexity metrics: Lines of code, McCabe's cyclomatic complexity theory, computing McCabe's complexity metric. || Teamwork: Testing |
·
12 Week Peer evaluations |
|
12 |
30 Mar |
Exam review. | 12 Week Exam in class Wed, 25 Mar || Exam debrief. Teamwork: Testing |
|
|
13 |
6 Apr |
Functional Testing, Tax Software example, number of paths, test data sets |
equivalence classes for test data sets. McCabe’s metric for Tax Software
example || Team milestone presentations: Mile
4-Testing |
|
|
14 |
13 April |
Registration 13 Apr – 24 Apr Determining equivalence classes for glassbox test cases. fault distribution, probability of additional faults, test case development example. Revisit: Coupling, cohesion, use cases, UML class diagrams, sequence diagrams | Schach Ch6: Static Software Testing, Program Proving: Software Quality Assurance Verification and Nonexecution-Based Testing. Software Walkthroughs and Inspections, Metrics for Inspections. Execution-Based Testing: Reliability, Robustness, Performance, Correctness, and Debugging. Formal Correctness Proofs: input specifications, output specifications, loop invariants and assertions || ICE: Loop invariants + Teamwork: Final Project |
· Homework 3 (due start of class, Thursday, 23 Apr) · Final Delivery Milestone Assigned: Final Project Delivery (due 23 Apr) · Schach Chap6: Static Testing |
|
15 |
20 Apr |
Teamwork: Final Project | Teamwork: Final Project || Final Milestone: Final Product Delivery. |
|
|
16 |
27 Apr |
SOFs, last day of class: Mon 27 Apr |
· 16 Week Peer evaluations |
Notes: