Software design implementation
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.
2022-12-13