CSE681 - Software Modeling & Analysis

Lecture #7 - Help with Project #2

Web Resourses:

UML XML, HTML Code Project Microsoft Developer's Network DevelopMentor XML Sells Brothers Windows Developer's Journal WindowsClient.net DotNetJunkies dotnet quickstart tutorials C# Corner Mono Project Performance Counters

Content:

This lecture provides help for Project #2. We discuss the issues with reference type payloads, addressing those by deep cloning (where that is possible). One focus today is on providing a Payload Wrapper that provides cloning, ToString, and XML services for payloads.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Project Helpers:

    Project #1, Project #2
    Code from Visual Studio Help Session last Friday - new version of Project2Starter

    We will spend time discussing Project #2. The focus of this discussion will be:
    • Commenting on the OCD hints provided in the NoSql Blog.
    • Wrapping payloads to provide services for managing data with deep clones and writing XML. These services are not natively provided by payload types. You will find a fairly complete PayLoadWrapper in the Project2Starter code in Project2Help15.
    • Design and implementation for Query processing - LambdaDemo will be especially useful.
    • Sharding
    • ElementFactory - just a few comments here.
    • Timer demo - useful for Persistance scheduling.
    Find Visual Studio Command Window used to test Compile.bat and Run.bat files
  3. XML Tutorials

  4. XML Presentations and Demo Code:


  5. LINQ Presentation and Demos:

  6. LINQ Tutorials:


  7. LINQ to SQL Tutorials:

  8. Uses for XML
    • Small databases - bug trackers, requirements models, project data
    • Representations for graphical data in Computer-Aided Design systems
    • Test data - acquiring structured data from a file, used to drive test procedures
    • Persistent data - save data generated by an analysis program for further analysis by other programs
    • Messaging - constructing structured messages for transmission over sockets or remoting channels
  9. Evaluating code projects - Cyclomatic Complexity, Size, Manual and Maintenance Pages, demonstration of requirements
  10. XSLT Tutorials

    XSLT is a transformation language, usually used to transform XML into HTML. We will not discuss XSLT nor use it in this course, but you should know that it exists and may find need for it in your professional work.
    htmlLite - basics, zvon - complete tutorial, W3C - thorough and formal, XSL Tricks, TopXML, Michael Kay's overview, Google XSL links
  11. Mono Project
  12. Software Architecture:

  13. Lecture Take-aways:

    The most important things we discussed are:
    • Wrapping payloads to provide services for cloning and writing XML
    • XML syntax and parse tree structure