Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Software design implementation

The brief

Your small development team 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# .

Submission

The final submission is due on  Fri . 23rd of Dec 2022 at 11:55 pm . Your submission will include the following:

A zip archive of your code (check the final zip archive for a successful unzip)

A quick 2- 3 minute video of your software solution demo (no presentation, just a working software) Peer assessment by each team member  (due on Fri . 23rd of Dec 2022 at 11:55 pm)

The starting point

A standard OO model for the system (some scenarios, all class diagrams and some sequence diagrams)     will be available on  Friday 2nd of Dec 2022 , along with details of the database schema . You may then use your group members’joint experience in developing the OO models to determine the rest of your design .   You may also deviate from the standard design as you see fit . This may give different development teams   some freedom in their implementation choices .

From OO model to WPF-based application

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 .

WPF is not available in Mac OS; development of the GUI and the final stages of the software will need to be completed in Windows . I advise that you plan ahead and discuss among your team regarding this constraint .

Development approach

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 during your tutorials, 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):

Stage

Timeframe

Progress

Notes

1

week #6 & #7

Console application with entity (data) classes, partially-implemented control    classes and at least one database            adapter class (not connected with live    data from database). One or more driver classes containing Main() that can test   features such as filtering of the staff or  unit lists.

The database adapter will need to return artificial data.

2

week #7 & #8

As above but using live data, which will substantially ease the burden on you to create artificial test data.

Focus of finalising your assignment without

UI

3

week #9

(onwards)

WPF application with custom controls for different views. Control classes are           updated to know about GUI components and event handlers connected.

The transition will be easiest by creating a  new WPF Application project and importing the pre-existing class files into it.

This cannot be completed on a Mac as WPF is not available on that platform.

OO packages and C# namespaces

As C# applications have a top- level namespace, which was not part of the OO Design, we recommend that each package in the OO Design becomes a nested namespace within your application’s top- level               namespace (which should be RAP) . Note that the namespace and project name do not have to be the         same, even though Visual Studio will initially make them the same .

RAP database

The case study MySQL database is available via the following settings:

Database: kit206

User Id: kit206

Password: kit206

Data Source: alacritas.cis.utas.edu.au

You can also browse the data via phpMyAdmin (append that to the end of the server name) . As the database is shared it will not appear in your own list of databases on alacritas if you log in under your own user name . An EER Diagram for the database plus some details on enumerated value columns accompanies this document .

If you are not on campus, the database access might not be available due to the most recent VPN

Data quality

The database is currently live and contains fictitious data . The data are consistent in that foreign key relationships are all valid, although initially there will not be much information in the database . More  entries, or more realistic entries, may be added later in the semester.