RU ENG ECE 14:332:452 :
        Software Engineering

Lecture Schedule—subject to change


Project Deliverables at a Glance

Project work description  is available here.

Ideas for class projects  are available here.

Make every effort to form your team before January 20, 2012 and notify the instructor/TA by email, listing the team members and their emails. After this date, students without a team will be randomly assigned a team.
Students will not be allowed to switch the team after January 27, 2012.

ItemDue date
I
t
e
r.
#1
1.   Proposal January 27
2.   First report   (Specification only) February 17
3.   Second report   (Design only) March 9
4.   First demo March 27 ► ...
I
t
e
r #2
5.   Third report   (All reports collated) April 27
6.   Second demo May 1 ► ...
7.   Electronic Project Archive May 3

Syllabus at a Glance

Topic 1 (2 lectures): Software Lifecycle and Team Projects
Topic 2 (2 lectures): Requirements Engineering and Use Cases
Topic 3 (2 lectures): Object-Oriented Analysis
Topic 4 (2 lectures): Object-Oriented Design
Topic 5 (2 lectures): Implementation and Testing
Topic 6 (2 lectures): Software Architecture
Topic 7 (2 lectures): System Specification
Topic 8 (4 lectures): Software Measurement and Estimation
Topic 9  (4 lectures):   Design Patterns

The section numbers marked in red letterfont are referring to the Lecture Notes. These are the reading assignments for each lecture..Note #1

Jan
   17 (T)   Software Development Lifecycle  [slides] (Sections 1.1 to 1.3)
   20 (F)   Object Model                  [slides]   (Sections 1.4 and 2.1)
   24 (T)   Requirements Engineering      [slides]   (Sections 2.2 and 2.3.1)
   27 (F)   Use Cases                     [slides]   (Section 2.3 remainder)
   31 (T)   Domain Model                  [slides]   (Section 2.4)

Feb
    3 (F)   Object-Oriented Design - 1    [slides]   (Section 2.5.1)
    7 (T)   Object-Oriented Design - 2               (Section 2.5 remainder)
   10 (F)   Software Architecture         [slides] (Bruegge & Dutoit Ch. 6 and Ch.7  and  Wikipedia)
   14 (T)   Implementation & Refactoring             (Sections 2.7.1 and 2.7.2)
   17 (F)   Testing                       [slides]   (Section 2.7 remainder)
   21 (T)   Specifying Systems - 1    (Sec. 3.1 and Sec. 3.2.1)
   24 (F)   Specifying Systems - 2    (rest of Sec. 3.2)
            UML State Diagrams | Object Constraint Language (OCL)
   28 (T)   ******* EXAM #1 (in-class, 1-period) *******

Mar
    2 (F)   Problem Frames - 1    (Sec. 3.3)
    6 (T)   Problem Frames - 2    (Sec. 3.3)
    9 (F)   Software Measurement  (Sec. 4.1 and Sec. 4.2.1)
        (Spring Recess: March 10 - 18)
   20 (T)   Use Case Points   (Sec. 4.2.2)
   23 (F)   
   27 (T)   ******* DEMO #1 *******
   30 (F)   ******* DEMO #1 *******

Apr
    3 (T)   Coupling and Cohesion   (Sec. 4.3)
    6 (F)   Software Complexity Metrics
   10 (T)   Design Patterns: Publisher-Subscriber   (Sec. 5.1)
   13 (F)   Other Patterns (Proxy, etc.)   (Sec. 5.2)
   17 (T)   Concurrent Programming   (Sec. 5.3)
   20 (F)   Broker and Distributed Computing (Java RMI)   (Sec. 5.4)
   24 (T)   ******* EXAM #2 (in-class, 1-period) *******
   27 (F)   Security      (Sec. 5.5)

May
    1 (T)   ******* DEMO #2 *******
    2 (W)   ******* DEMO #2 *******
        (Regular Classes End: April 30  ·  Spring Exams End: May 9)


^ Note #1: A comprehensive treatment of UML is available in Miles & Hamilton's Learning UML 2.0 and online http://www.uml.org. There will be no lectures covering exclusively UML. Rather, the symbols will be explained as they're introduced in the context of software development methodology. Miles & Hamilton and http://www.uml.org should serve as reference material.



Ivan Marsic
Created: December 29, 1997
Modified: Wed Jan 18 16:07:04 EST 2012