CSE681 - Software Modeling and Analysis
Lecture #27 - Help with Project #5
Revised: 12/5/2010
Web Resources:
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 covers some Project #5 helper topics.
-
The Syllabus describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
- Project #5
- Enterprise Architecture
-
Questions concerning Project #5 ?
- Bonus Prototypes
- Repository manifest builder and scanner with tests showing how it works.
- Wizard to quickly build source code for test packages – inputs are name, name of production code package(s).
Uses ITest and AbstractTest (see midterm solutions) and default TVG and Logger.
- Test Suite builder that uses csc to compile and build test libraries.
Required to include timing, using high resolution timer, and timed results in a graph that shows time to compile versus lines of code.
- WPF Client GUI that mocks up client operation and illustrates how notification will work.
- Communication system with a service contract that has asynchronous PostMessage and streaming file download
operation contracts, e.g., pushes messages and pulls files.
- Package authenticator that hashes a source file’s checksum, embeds it as a comment in the file, and authenticates
by checking the hashed checksum with a computed checksum (after removing the comment).
It is acceptable to substitute some other identifier for the checksum if you can think of a good one.
-
Write code for a version manager that accepts an unversioned file and converts it to a versioned file.
The manager should also accept a versioned file and increment its version number. You may version by name or by directory.
However, the version manager should also insert a version number comment at the top of each accepted source file.
Examine every file generated for a a) C# console application, and b) a C# WPF application.
How might you manage versioning of the additional files you find? Do you need to do that?