Synopsis:
Last time we discussed the Sample Projects and how to develop an architecute and top level design.
Today we focus on the Projects you will implement, especially #1 and #2, using the same tools and
the Univesal Modeling Language (UML).
Lecture Content:
Web Resourses:
- The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
-
Primary Focus Today - Projects:
In the video lectures we discuss Sample Projects, similar to the ones you will be implementing. In these corresponding synchronous lectures the instructor will provide some limited guidance for each of your projects.-
Project #1
Operational Concept Document for Project #2 An OCD is concerned with three things: -
Project #2
When starting an implementation you think about: -
Project #3
Code prototypes for Project #4 -
Project #4
Remote Multi-threaded Application
-
Project #1
-
Software Architecture References:
-
Problem with Dependencies,
Components are Building Blocks
Motivation for a lot of what we do in this course. -
Software Architecture and the Operational Concept Document (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. -
Example Diagrams:
Package Diagram, Activity Diagram, Simple Class Diagram, Detailed Class Diagram, Sequence Diagram, Structure Chart, State Diagram, Data Flow Diagram, Ad Hoc Diagram -
Project Center Use Cases
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. - Getting Started!, Study Guide - OCD, Operational Concept Document (OCD) Survival Guide
- Example OCDs prepared by students in previous classes:
-
Writing with Style, Third Edition,
John Trimble, Prentice-Hall, 2010, ISBN 978-0205028801
This book has nothing to do with software, but is the best book I've seen on writing well. It's written with great style, brief, humorous, and filled with good ideas and advice.
-
Problem with Dependencies,
Components are Building Blocks
-
Looking Ahead - Getting to know C#:
-
C# versus C++
- Class Text C# 6.0 in a Nutshell, Chapters 1-3.
-
C# versus C++
-
C# Code Examples and Tutorials:
-
Lecture Take-away:
The most important things covered today were:- Thinking critically about the architecture and high level design of a software system. For that we used workflowy and gliffy to develop some ideas for your projects #1 and #2. Of course you will need to expand on this start with more details and some of your own ideas.
- The UML diagrams - Package and Activity diagrams are the most useful for OCDs.
Next week, in Wk #3a, we will begin discussing C#, using the resources listed above, so please review this weekend.
- Both Workflowy and gliffy are Google tools, available without charge, from Google play store. It works best to install them from the chrome browser.