Week 4a - System Structure

N-Tier, MVC, & MVVM

Synopsis:

This lecture is concerned with software structure. We discuss several well-known structural patterns and why you need to know about them.

Readings and Activities for the Week:

Glossary of Terms

  1. The Syllabus describes topics to be covered, reading material for you to digest as part of each lecture, and due dates for assigned projects.
  2. Projects:

  3. Software Structure Presentations:

    Software Structure Research, ppt
    Motivation for studying Software Structure.

    Software Structure, pptx, Software Structure - more discussion about same topics
    Discusses software structures driven by:
    data management
    computation
    concurrency
    events
    communication
    federation of services.

    Communication using Message Queues
    Discusses communication of multiple concurrent clients with a server process through message queues.
    This will be important for your Project #3 and Project #4.

    Components, Loosely-coupled systems, Partitions, Delegation

    Using Dynamic Link Libraries (DLLs)
    Shows how to build and execute dynamic link libraries - make sure you study both the code and comments.

    References:

    Wikipedia - Dependency Injection
    Wikipedia - MVC
    MVC to Unit Test
    Wikipedia - N-Tier
  4. Preparation for Synchronous Discussion:

    • Create a list of the main tasks of your Project #2 application.
    • Be ready to discuss turning your list into an activity diagram.
  5. Lecture Take-aways:

    The most important things we discussed are: