IT440 Systems
Analysis and Design
Course Syllabus
Fall AY09
|
Wk |
Start Date |
Topics/Events |
Web-Outs |
|
1 |
20 Aug |
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, 27 Aug): 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). · 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 |
25 Aug |
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 · Lab1 – Craps GUI o Craps.java (includes lab instructions) · Milestone Grading Sheet (Use for all milestones other than milestone 0) · Milestone 1 Assigned (due 18 Sept): Rapid Prototype & Emergence of SE as a Discipline. Related papers:
|
|
3 |
1 Sept |
** Monday Holiday, Labor
Day Monday Holiday | 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 || Teamwork: Rapid Prototype |
· Schach Ch11: Classical Analysis (Specification) Phase · Homework 1 Assigned - Due: Start of Class on Wed, Sept 17. |
|
4 |
8 Sept |
|
· 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 |
15 Sept |
Schach Ch12: Object-Oriented Analysis Phase: Object-Oriented vs. Structured Paradigm Object-Oriented Analysis (OOA): Structured Analysis vs. OOA. Use-Case Modeling | Class Modeling, Noun Extraction. Intangible objects, objects outside the problem boundary || Team milestone presentations: Milestone 1 -Targeted Rapid Prototype |
· Schach Chap12: Object-Oriented Analysis (OOA) · Milestone2 Assigned (due 2 Oct): Specification/Object Oriented Analysis, Targeted Prototype o Boehm, "A Spiral Model of Software Development and Enhancement", IEEE Computer 21 (May 1988), pp. 61-72. |
|
6 |
22 Sept |
X- Week. Exam review | 6 week Exam In class, Wed 24 Sept. || MFKA Case study (Scenarios, Noun Extraction, initial UML Class Diagram). VisualParadigm CASE tool Actors, Scenarios, Use cases; Teamwork: Specification/Object Oriented Analysis, Targeted Prototype |
|
|
7 |
29 Sept |
CRC Cards, Dynamic Modeling, Dynamic Modeling Case study: MFKA | Schach Ch13: Design Phase: Object-Oriented Design, UML Interaction Diagrams, Collaboration Diagrams || Team milestone presentations: Milestone 2- Specification/OOA/Targeted Prototype. + Exam debrief |
· Schach Chap13: Object-Oriented Design (OOD) |
|
8 |
6 Oct |
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 || Teamwork: OOD. |
· Milestone3 Assigned (due 16 Oct): 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. |
|
9 |
13 Oct |
** Columbus Day Monday Holiday| Schach Ch7: Designing Objects: Role of Modules. Cohesion.|| Team milestone presentations: Mile 3-OOD and Software Engineering Ethics. |
· Schach Chap7: Coupling Cohesion, and Polymorphism · Homework 2: (due start of class, Wed 22 Oct) |
|
10 |
20 Oct |
Coupling, Metrics: Coupling dependency metric, Effect of cohesion/coupling on software reuse | 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. || Teamwork: Testing. |
·
Milestone 4
Assigned: Build Testing (due 13 Nov) |
|
11 |
27 Oct |
X- Week. Exam review. | 12 Week Exam in class Wed, 29 Oct || Teamwork: Testing |
·
12 Week Peer evaluations |
|
12 |
3 Nov |
Schach Ch14: Implementation Phase: Dynamic Testing, Procedural-Oriented vs. Object-Oriented Design, Module Reuse Module Test Case Selection, Black/Glass Box Testing | Complexity metrics: Lines of code, McCabe's cyclomatic complexity theory, computing McCabe's complexity metric. || Exam debrief + Teamwork: Testing) |
· Schach Ch14: Dynamic Testing |
|
13 |
10 Nov |
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 |
17 Nov |
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 || Teamwork: Final Project |
· Homework 3 (due start of class, Monday, 1 Dec) · Final Delivery Milestone Assigned: Final Project Delivery (due 4 Dec) · Schach Chap6: Static Testing |
|
15 |
24 Nov |
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 | Teamwork: Final Project || ** Thanksgiving Holiday |
|
|
16 |
1 Dec |
Teamwork: Final Project | Teamwork: Final Project || Final Milestone: Final Product Delivery. |
· Beat Army 6 Dec · 16 Week Peer evaluations |
|
17 |
8 Dec |
SOFs, last day of class: Monday 8 Dec. |
|
Notes: