Week 1a - Introduction to SMA

Discuss Projects, Exams, Class Mechanics

Synopsis:

This lecture is an introduction to the on-line CSE681 course. We discuss topics to be covered in this course, its projects, examinations, and grading. We then introduce the notions of Software Architecture, the Operational Concept Document, packages, and discuss a standard notation to be used throughout the course. We will be quickly surveying a lot of topics which will be examined in more detail in following lectures.

Tools needed for this course:

Readings and Activities for the Week:

Glossary of Terms

Lecture Content:

  1. Course mechanics:

  2. Projects:

    What projects are required? The specific projects you will work on this quarter will be discussed in the first synchronous session, Wk #1b. Today we will look at sample projects that are very similar to the projects you will be assigned. All code for these assignments will be developed using C# and the .Net Framework Class Library with the latest version of Visual Studio.

    How will your submissions be evaluated? OCD grade sheet, Code grade sheet Grading Policy

  3. Motivation - What is a program?

  4. OK, Now What?

  5. Software Architecture:

    Software Architecture and the Operational Concept Document (OCD), pptx

    Project Center Use Cases, ppt
    This presentation was developed for a Software Studio project. It gives you a good idea of the kind of analyses you need for an OCD.

    UML Notation, UML - uml-diagrams.org, UML - Embarcadero.com
    The Universal Modeling Language is used to describe software with means other than code. You will use these diagramming techniques in your OCD.

    Sample Diagrams:

    Package Diagram, Activity Diagram, Simple Class Diagram, Detailed Class Diagram, Class Relationships, Object Relationships, Structure Chart, State Diagram, Data Flow Diagram, Ad Hoc Diagrams
  6. Questions to Discuss in the Synchronous Session:

    • When writing an Operational Concept Document (OCD), how do we get started?
    • What are the most important topics to consider for an OCD?
  7. Lecture Take-away:

    The most important things we discussed today were:

    Motivation:

    Projects:

    These you should look at carefully. Everything else you can review quickly,
    get the idea, and come back later when you need details.

    Next Lecture:

    We will begin by discussing some fundamental ideas about software parts, but spend most of our time discussing OCDs and Software Architecture. Please look carefully at links for those things on the Week #1b page.