KIT206 Assignment 2: C# Application & Test Report
Your small development team of (ideally) three people has been asked to implement and test the Researcher Assessment Program desktop application. Your software product will be a database-backed desktop application with a Windows Presentation Foundation (WPF) graphical front end,implemented in C#. As part of your development efforts you will prepare and apply a small collection of test cases to verify that the completed application meets some of the key requirements agreed with the client.
The starting point for developing the application
A standard OO model for the system (some scenarios, all class diagrams and some sequence diagrams)will be released after the Assignment 1 due date, along with details of the database schema. You may then use your group members’ joint experience of developing their own OO models to determine the rest of your design. You may also deviate from the standard design as you see fit. This will give different development teams some freedom in their implementation choices.
OO Model versus WPF
In the OO model each view is a separate class, which in WPF corresponds to defining a UserControl for each major view. Because this may complicate some of the event handling code, it is acceptable in the assignment to place separate views directly within the main window. Note, however, that the HD level of the Use of WPF assessment criterion requires that at least one user control be defined,and that defining your own controls will actually make each individual source file easier to manage.
Because the final application requires knowledge of the C# language, how to communicate with a database using C# (and LINQ) and how to design and construct GUIs using WPF, and because these topics are to be covered over a period of some weeks, we recommend that you take a prototyping approach to the development of this application. This will allow you and your team to make useful progress on parts of the system even before you have obtained the skills required to implement the whole system. (Note that this will likely entail some manual copying of source files between projects as you migrate from a console application to a WPF application.) We suggest the following implementation stages (you may of course adopt a different development path if you find it suits your team better)