c# 代写 KIT206 Assignment 2 C# Application & Test Report

KIT206 Software Design & Development KIT506 Software Application Design & Implementation

Assignment 2: C# Application & Test Report

The Brief

Your small development team of (ideally) three people has been asked to implement and test the Human Resources Information System 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.

Submission

By 1500 (3pm) Friday October 19th submit deliverables 1 and 2 to the Assignment 2 – C# Application & Test Report assignment folder on the unit’s MyLO site. Separately, your team must complete (and all members must sign) the Group Assignment cover sheet; this may be scanned and submitted to the MyLO dropbox if you wish.

Your teammates should be selected from other students in your tutorial group. To register who is in your team, go to the Groups page on the unit’s MyLO site and select a group from the list. As in Assignment 1, group names incorporate the tutorial time. Include your group name (and your own names, too) in your application sources.

Your progress will be assessed, and feedback given, during your Week 11 tutorial. Additional details of this checkpoint will be provided after the mid-semester break.

Deliverables

There are three deliverables in this assignment:

  1. a zipped VisualStudio project that contains the WPF-based application that must be submitted to the assignment folder, accompanied by
  2. a completed test report in PDF, which must also be submitted to the assignment folder.
  3. The Visual Studio project and any precursor console application projects must be available inyour group’s SVN repository.

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.

A2 Release 1: 2018-09-12 1/4

KIT206 Software Design & Development KIT506 Software Application Design & Implementation

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, 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):

Timeframe

Stage

1

(semester week)

8–9

9–10

Application type & functionality

Console application with entity (data) classes, partially-implemented control classes and at least one database adapter class.

One or more driver classes containing Main() that can test features such as filtering of the staff or unit lists.

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

Draft test cases that are complete in all details apart from test methods (which will likely still be high-level until the GUI is built).

WPF application with custom

Notes

1. May have a GUI, but this should be no more than necessary to exercise/test implemented functionality (should be able to throw this GUI away later).

2. Database adapter will need to return artificial data.

2

(1) as above

3

11–13

Transition will be easiest by creating

controls for different views. Control classes updated to know about GUI components and event handlers connected.

Test cases completed and applied to your application.

a new WPF Application project and importing the pre-existing class files into it.

Use of SVN source control

You are required to use Subversion (SVN) source control for this project. We will create repositories for groups periodically based on the memberships shown on MyLO and notify you so you can check the list of teams with extant repositories. Commit information will be used to adjust your individual grade for this assignment.

We recommend that your repository (hence, your working directory) be a folder that contains one or more Visual Studio projects related to the assignment, one of which will be your final WPF-based application. In this way you can use the repository to manage any early prototype console application projects as well, and we can see that team members have committed changes to those. If you need assistance with this please ask.

A2 Release 1: 2018-09-12 2/4

KIT206 Software Design & Development KIT506 Software Application Design & Implementation

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 HRIS). Note that the namespace and project name do not have to be the same, even though Visual Studio will initially make them the same.

The School Database (aka HRIS 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.

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 semester, but this is not guaranteed.

The Testing Report

Concurrently with development of the application you will create a test plan containing four test cases to verify the following subset of requirements in the HRIS RTM:

• SWC1
• UC8_User_views_StaffList
• UC16_User_selects_StaffDetails • UC24_User_selects_Unit

Each test case will be based on the Test Report Template, which is available on MyLO. Each test case that is based on a use case should include at least two methods by which the requirement will be tested. NTH features of use cases should also be tested and so will provide additional methods, even if they were not implemented; the quality of the test case will be assessed, not the one line outcome of whether it passes or not. The test cases for the SWC will likely need only one, brief method in order to be tested.

Ensure that all instructional entries (Repeat the following box…, <Extract the text…, Repeat Method and Outcome…) and unused method–outcome rows are removed from your submitted test plan. The document should include a title and your team name on the first page; the first test case can start immediately below that.

When the application is complete, apply the test plan to it and record the outcome for each method. Remember that if the outcome is ‘fail’ then an explanation of when (which step) or how must also be recorded.

A2 Release 1: 2018-09-12 3/4

KIT206 Software Design & Development KIT506 Software Application Design & Implementation

Sources of information for compiling the testing plan

Follow the procedures described in Module 5 Use case-Based Testing to derive the test cases for the indicated SWC and SW entries. The RTM will be your primary resource for identifying the criteria for each test case. The original requirements document may also provide some useful information. The structured scenarios you prepared during Assignment 1, in conjunction with the specific application being tested, will provide the basic structure of the testing methods in each test case, since they describe the user’s actions in each use case.

Assessment

The assessment criteria for the final submission are available in an accompanying document, in Excel and PDF formats.

Your progress will also be assessed during your week 11 tutorial, which will contribute up to 5% to your final grade in the unit. The assessment criteria for this check will be released after the mid- semester break.

Peer assessment

Peer assessment will be completed as part of the tutorial in week 13. You will have the opportunity to provide both qualitative and quantitative feedback on your teammates’ performance.

Revision history

2018-09-12 Initial release
2018-09-13 Fixed minor typographical error

A2 Release 1: 2018-09-12 4/4