COSC 440, Spring, 2012

Large Systems Design

Syllabus  
(note: subject to adjustment as the term proceeds)

Date                         Reading                         Topic                                   Quiz 

L&L = Lethbridge and Laganiere, DP = Design Patterns, reading on Java should be from Big Java, Core Java, or other text or reference

Jan      23                                                      Introduction                                             ArgoUML tool
           25                 L&L, Ch. 1                   Overview of Software Engineering            complete slides from book
                                Read maze case study in preparation for first lab (parts 1,2,3; part 4; parts 5,6)


           30                 L&L, Ch.2                    Java and Object-oriented design                  Quiz 1 on L&L reading through Ch. 2
                                                                    Composition vs Inheritance -- example strategy pattern for Fish 
           30 - Lab       Maze case study            Reverse engineering maze code -- learn ArgoUML   (maze code, lab1)         
Feb       1                 L&L, 3.1-3.5                Frameworks and Client-Server architecture

             6                 L&L, Ch. 3                   Object Client-Server Framework                 Quiz 2 on L&L Ch. 3
             6 - Lab                                            Complete L&L Chat phase 2            Code from book, including Simple Chat
             8                 L&L, Ch. 5 up to 5.6    UML Class diagrams                                    Quiz 3 on L&L Ch. 5, 5.1-5.6

           13                 L&L, Ch. 3                   review Ch. 3 and lab work                   Homework due: E37(choose 4), E38(choose 1), E39(choose 1),
                                                                                                                                 E40(same 1), E41(same 1),
E45(choose 1), E46(same 1), E47(same 1)
           13 - Lab       Generalizing code - general problem solving using the maze solver approach - Design  (Code optional)
           15                 L&L, 4.1-4.6                Domain analysis, Requirements               
                                                                     Use case analysis                                         

           20                 L&L, Ch. 4                    Requirements documents, Chat example requirements
           20 - Lab       Requirements Specification
           22                 L&L, 4.12                    Reviewing requirements Do exercise 73 in class


           27                 L&L, Chapter 5             Design exercise, CRC cards  more CRC          Ski Simulation Design Problem  
                                                                                                                          Homework due: E53-54(d), E55-56-57(d, and WW), E60, E62-64(d),
                                                                                                                                         E68(b), E69(WW) (WW means wordwork design problem)

           27 - Lab       Design and code changes to chat program specified in lab 4
           29                L&L, Chapter 5              Review CRC designs, Developing Class models  Ski Simulation   

March   5                L&L, Chapter 6               Introduction to design patterns                      Version of ocsf framework that goes with text chapter 6
             5 - Lab       Domain analysis and requirements gathering for project: Enhancements to the MARS MIPS simulator
                               Readings to prepare for this lab: (1) Specifications for MIPS MT (multi-thread) architecture
                                                                                (2) Article on MIPS MT architecture
             7                L&L, Chapter 6              Student presentations on design patterns

March 10-18             Break  


           19              Applying design patterns to Chat program (E134)  (use ocsf 2.3.1)         Homework due: E131-133
           19 - Lab:  Complete requirements document for project, include appropriate use-cases             
           21             L&L, Chapter 7     User-centered design                          

           26             L&L, Chapter 7   Designing a user interface for Chat (E148)                        Homework due: E139( individually), E144(together), E146
           26 - Lab   Implement Chat UI, Add DrawPad to design and implement(E149)
           28             L&L, Chapter 8, 8.1        UML interaction diagrams - sequence diagrams

Apr      2             No class        (note: instructor is away for the week)
            2 - Lab   Develop UML diagrams for relevant parts of existing MARS
            4             Develop design (using UML) of modifications and additions to MARS (avoid touching existing code where possible -- subclasses/adapters)

            9            L&L, Chapter 8, all          UML State and activity diagrams             Homework due: E152(choose one), E154(same choice as for 152)
                                                                  Designing with dynamic models
            9 - Lab  Structured walk-through of MARS design, modifications/additions?
          11           L&L, Chapter 9                Design principles                                     Homework due: E156, E157, E162, E163, E165(choose one), E169

          16             L&L, Chapter 9                Architectural design patterns                  Homework due: E172, E173, E174, E175, E176, E177
          16 - Lab   Begin coding for modified MARS
          18            L&L, chapter 9                   Design documentation                          Homework due: E181, E182, E186

          23             L&L, chapter 10                Test design                                           Homework due: E188(a), E189(a), optional E190(a), E191
                                                                     Testing, formal test cases, test first development
          23 - Lab   Test design for modified MARS
          25            No class   

          30           Review test design for MARS
          30 - Lab  Complete coding for modified MARS
 May    2           Run tests?                                                                                   Homework due: E194(choose 1 or 2), E195/E196(b), E198(a), E204(a)


          No Final Exam!