CSE681 - Software Modeling and Analysis

Revised: 6/12/2010
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  TechnicalLinks  Student Projects  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  contents 

CSE382-AADS  CSE681-SWMAA  CSE686-IP  CSE687-OOD  CSE775-DO  CSE776-DP  CSE778-AWP  CSE784-SWS 

Resources: Lectures Code Syllabus Projects
File Download ScreenShot Project Upload Instructions
  



Course Scope:

This course is concerned with modeling software - especially large distributed systems - including architecture, design, and implementation. To do this we introduce: One major focus is the representation of software and software systems with means other than code, although we do develop code in this course.

Five projects are required that are progressively more challenging. The first and second projects are concerned with describing the architecture needed to realize a set of requirements and its implementation, respectively. The third and fourth projects repeat this for a more complex, distributed, system. The final project requires the creation of an architecture for a large, complex, distributed system.

The use of C# and the .Net Framework Class Libraries are required. This is covered by the class text and in help sessions conducted by the instructor and teaching assistants. A lot of work outside of class is expected. Students that complete this course with good grades will understand how to lay the foundations for the successful development of large, distributed systems.

Required Texts, Notes, and Projects:

  1. Pro C# 2008 and the .Net 3.5, Andrew Troelsen, Apress, 2007, ISBN 978-1-59059-884-9
  2. Class Notes, available on www.ecs.syr.edu/faculty/fawcett/handouts/cse681
  3. UML dotnet quickstart tutorials dotnetjunkies Core Technologies .Net Code Samples by Mike Woodring
  4. Five projects are required: three require creation of an Operational Concept Document (OCD) to record a software architecture. Three require code to implement the systems of the first two OCDs and to provide prototypes for the final project.

Prerequisites:

Students are expected to have a good working knowledge of the C Programming Language. No prior knowledge of C# is required.

Syllabus - Summer 2008:

LectureTopicsRead before classProject
Lecture #1
Mon, May 19
Discuss Syllabus, Assignments, Examination, class text
What is analysis? software architecture,
Handouts
UML notes
Module notes
Text chap 1
hand out
Pr1 & Pr2
Lecture #2
Wed, May 21
Architectural Models, Modules, Universal Modeling Lanaguage (UML) UML notes
Module notes
Text chap 2
Pr1 - OCD
Holiday
Mon, May 26
Memorial Day Observed - No Classes   
Lecture #3
Wed, May 28
C# Programming Language
.Net Platfrom
Text chaps 2-10Pr1 - OCD
Lecture #4
Mon, Jun 2
C#, prototype code
.Net Platfrom
Text chaps 3, 4, and 5Pr1 - OCD
due
Lecture #5
Wed, Jun 4
WinForms programming
.Net Platfrom
Text chaps 19, 20, 21Pr2 - code
Lecture #6
Mon, Jun 9
XML, XML code prototypes using C#,
.Net Platfrom, Win32 Platform
XML Notes
prototype code
Pr2 - code
Lecture #7
Wed, Jun 11
.Net Sockets
.Net Platfrom
Sockets Notes
prototype code
Pr2 - code
Lecture #8
Mon Jun 16
Web services, Message-Passing systemsclass notes
prototype code
Pr2
code due
Lecture #9
Wed Jun 18
Windows Communication Foundation (WCF)Text Chap 25
class notes
prototype code
Pr3 - OCD
Lecture #10
Mon, Jun 23
Processes, Threads, Kernel Objects,
Multi-threaded systems, queues
Text chaps 13, 14
prototype code
Pr3 - OCD
Lecture #11
Wed, Jun 25
Threading examples, shared resources, synchronizationText chaps 13, 14
prototype code
Pr3 - OCD
Lecture #12
Mon, Jun 30
Hand out, and discuss, Project #5
Asynchronous systems, Message-passing Systems
Asynchronous notes
prototype code
Pr3 - OCD
due
Lecture #13
Wed, Jul 2
Review for Midterm
Common Language Runtime (CLR)
appdomains
Text chap 13
prototype code
Pr4 - code
Lecture #14
Mon, Jul 7
Midterm ExaminationAll Previous lecture notes 
Lecture #15
Wed Jul 9
Windows Presentation Foundation (WPF), HandoutsText Chap 28, Class notesPr4 - code
Lecture #16
Mon Jul 14
Windows Presentation Foundation (WPF) - controls, HandoutsText Chap 29
Class notes
Pr4 - code due
Lecture #17
Wed Jul 16
Queuing Theory, Back-of-the-Envelope Analysis, Pr#5 Topics, HandoutsQueuing notesPr5
OCD & code
Lecture #18
Mon Jul 21
Random Processes, Queuing topics, Web Services, Pr#5 Topicsclass notes
prototype code
Pr5
OCD & code
Lecture #19
Wed, Jul 23
Midterm Exam Results
Topics in Managed Computing
class notes
prototype code
Pr5
OCD & code
Lecture #20
Mon, Jul 28
Enterprise computing - web model,
Help with Pr5
Course Summary, what next?
class notes
prototype code
Pr5 due
Arch Report
Class meets twice per week for two hours.