代写 GUI database software react Contents

Contents
Contents Page
Contents P.1 Part 1 – Structured Scenarios
Use Case #8: User_views_ResearcherList P.2-4 Use Case #16: User_selects_Researcher P.5-7 Use Case #29: User_expands_Supervisions P.8-9
Use Case #32: User_views_CumulativeCount Use Case #34: User_views_Publications Use Case #40: User_selects_Publication Use Case #43: User_generates_Report Use Case #51: User_copies_ReportEmails
Part 2 – GUI view prototypes
P.10-11 P.12-14 P.15-16 P.17-19 P.20-21
MainPanel P.22 ReportPanel P.23 Part 3 – Package Diagram P.24
Part 4 – Class Diagrams
Model Package P.25 View Package P.26 Controller Package P.27 Database Package P.28
Part 5 – Sequence Diagrams
Use Case #8: User_views_ResearcherList P.29 Use Case #16: User_selects_Researcher P.30 Use Case #29: User_expands_Supervisions P.31 Use Case #32: User_views_CumulativeCount P.31 Use Case #34: User_views_Publications P.32 Use Case #40: User_selects_Publication P.33 Use Case #43: User_generates_Report P.34 Use Case #51: User_copies_ReportEmails P.35

Part 1 – Structured Scenarios
Use Case #8: User_views_ResearcherList
Requirement:
Upon application start up, the user shall be presented with an interactive list of researchers (consisting of both staff and research students), known hereafter as the Researcher List view.
Overview:
The user views the Researcher List when the application first started.
This list should display names in the format ‘Family Name, Given Name (Title)’.
The list should be able to be filtered according to the researcher’s employment level or student status.
The list should also be able to be filtered by the user input in the “Name Search” field, to show those whose given name or family name contains the text from user input. Partial matches that span combinations of given and family name do not need to be supported.
Preconditions:
The Employment and Research Database exists and contains valid data.
Scenario:
Action Software Reaction
1. Userstartsapplication
1. SystemensuresMainPanelisvisible.
2. SystemcreatesResearcherListView.
3. Systemretrievesbasicinformationofall researchers from the “Employment and Research Database”.
Data to be retrieved includes Researcher’s Name (familyName and givenName), title, and details of their most recent Position, including

positionStartDate and employmentLevel (for staff only).
4. System sorts the researcher list by family Name in alphabetical order (A-Z).
5. Systemsendstheresearcherlistto ResearcherListView.
6. SystemdisplaysResearcherListViewtouser.
2. User selects an employment level (All, A-E or Student) from the “Filter by Employment Level” dropdown list and clicks “Apply filter”
1. Systemsendsthefilterrequestto ResearcherController.
2. System looks up the researcher list for entries matching the selected employment level, and then sends the data back to update ResearcherListView.
3. SystemdisplaysResearcherListViewtouser.
3. Usertypestextinthe “Search by
Researcher’s Name” field and clicks “Search”
1. Systemsendsthesearchrequestto ResearcherController.
2. System looks up the researcher list for entries matching the inputted text in either familyName field or givenName field, and then sends the data back to update ResearcherListView.
3. SystemdisplaysResearcherListViewtouser.
Scenario Notes:
1. Action 1 is a prerequisite to Actions 2-3.
2. Actions 2 and 3 are independent of each other, i.e. whenever the user filters or
searches, the action is applied to the entire researcher list.
Post Conditions:
ResearcherListView displays a list containing all or a filtered part of researchers, showing their names (in the format of “Family name, Given Name (title)”) and their employment level (A, B, C, D, E, or Student).

Required Views (GUIs):
MainPanel, ResearcherListView Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
None

Use Case #16: User_selects_Researcher
Requirement:
When the user selects a name in the list the researcher details view will be displayed. It will show the following basic details, some of which are only available for staff and others only for students: Name (both); Title (both); School/Unit (both); Campus (both); Email (both); Photo (both); Current Job Title (both); Commenced with institution (both); Commenced current position (both); Tenure (both); Publications (both); 3-year Average (staff); Performance (staff); Supervisions (staff); Degree (students); Supervisor (students).
Overview:
The ResearcherDetailsView will be displayed when the user selects a researcher’s name in ResearcherListView.
The program should retrieve the researcher’s data from database and perform manipulations as required, then display the corresponding details in ResearcherDetailsView.
Three-year average number of publications, performance metric, employment history and number of supervisions will only be displayed if the selected researcher is a staff.
Preconditions:
1. The Employment and Research Database exists and contains valid data.
2. The program is already running with MainPanel and ResearcherListView
being shown. (i.e. UC8 should have been executed beforehand)
3. This use case is executed together with UC34_User_views_Publications at the
same time.
Scenario:
Action Software Reaction
1. User clicks on a researcher’s name in ResearcherListView
1. SystemcreatesResearcherDetailsView.
2. System creates a researcher object, and then retrieves detailed information of the selected researcher from the “Employment and Research Database” to the object.

Data to be retrieved includes: Researcher Name (familyName and givenName), title, school/Unit, campus, email, photo.
If the selected researcher is a student, these data will also be retrieved:
degree, supervisor, jobTitle, positionStartDate
If the selected researcher is a staff, the following data from their current and all their past positions will also be retrieved: jobTitle, employmentLevel, positionStartDate, positionEndDate
3. Systemcalculatestenurefromthedifference between the current system date and the positionStartDate of the earliest position.
4. (Forstaffonly)Systemcountsthetotal number of publications and calculates the average number of publications in the past three years (threeYrAvg).
5. (Forstaffonly)Systemcalculatesthe performance metric from the three-year average (threeYrAvg) and the employmentLevel of the current position.
6. (Forstaffonly)Systemcountsthetotal number of Student that the staff supervised.
7. Systemsendstheresearcherdetailsfromthe researcher object to ResearcherDetailsView.
8. SystemdisplaysResearcherDetailsView to user.

Scenario Notes:
Software Reactions 4-6 will take place only if the selected researcher is a staff.
Post Conditions:
ResearcherDetailsView displays the required details of the selected researcher. For staff only, their three-year average number of publications, performance metric, employment history and number of supervisions are also displayed.
Required Views (GUIs):
MainPanel, ResearcherListView, ResearcherDetailsView
Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
UC8_User_views_ResearcherList should be executed before this use case.
UC34_User_views_Publications should be executed at the same time to generate the PublicationListView, located below the ResearcherDetailsView, as both of them are in the same part of the MainPanel.

Use Case #29: User_expands_Supervisions
Requirement:
The user could expand the number of supervisions displayed to show a list of those students’ names. This function would be accessed via a button or equivalent control.
Overview:
When the user clicks the “View details” button in ResearcherDetailsView (located next to the number of supervisions), the system displays beneath the button a list of names of students under the supervision of that researcher.
Preconditions:
1. The program is already running with MainPanel and ResearcherDetailsView being shown. (i.e. UC16 should have been executed beforehand)
2. The selected researcher should be a staff.
Scenario:
Action Software Reaction
1. Userclicksthe“View details” button next to the number of supervisions in ResearcherDetailsView
1. Systemsendsthe“Viewdetails”requestto ResearcherController.
2. Systemretrievesthelistof studentsSupervised from the researcher object in UC16, and then sends the data back to update ResearcherDetailsView.
3. SystemdisplaysResearcherDetailsView to user.
Scenario Notes:
This use case is only executed if the selected researcher is a staff.
If the selected researcher is a student, supervisions are hidden based on UC16.

Post Conditions:
ResearcherDetailsView shows the list of students under the supervision of the selected researcher.
Required Views (GUIs):
MainPanel, ResearcherDetailsView Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
UC16_User_selects_Researcher should be executed before this use case.

Use Case #32: User_views_CumulativeCount
Requirement:
It would enhance the application if the user could display a tabular view of a researcher’s cumulative number of publications by year, starting with their earliest year of employment.
Overview:
When the user clicks the “View cumulative publication count” button in PublicationListView, the system shows PublicationCumulativeView in a new window, displaying a tabular view of the selected researcher’s cumulative number of publications by year, starting with their earliest year of employment.
Preconditions:
1. The program is already running with MainPanel and PublicationListView being shown. (i.e. UC34 should have been executed beforehand)
Scenario:
Action Software Reaction
1. User clicks “View cumulative publication count” button in PublicationListView
1. Systemcreates PublicationCumulativeView.
2. Systemsendsthe“Viewcumulative publication count” request to PublicationController.
3. Systemaccessesthepublicationlist(inUC34) and count the number of publications in each publicationYear, and then sends the data to PublicationCumulativeView.
4. Systemdisplays PublicationCumulativeView to user.
Scenario Notes:
None

Post Conditions:
PublicationCumulativeView shows up in a new window, displaying a tabular view of the selected researcher’s cumulative number of publications by year.
Required Views (GUIs):
MainPanel, PublicationListView, PublicationCumulativeView Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
UC34_User_views_Publications should be executed before this use case.

Use Case #34: User_views_Publications
Requirement:
As part of the Researcher Details view, located below the researcher’s primary details, the system shall show an interactive list of that researcher’s publications.
Overview:
The user views an interactive list of that researcher’s publications, which contains a “Publication Year” column and a “Title” column. By default, the list should be sorted by publication year in reverse chronological order (newest on top), while publications within the same year should be sorted by title in alphabetical order (A-Z).
The list should allow the user to invert the sort order, i.e. by Publication Year in chronological order (oldest on top), while publications within the same year should remain sorted by Title in alphabetical order (A-Z).
The list should be able to be filtered by a year range specified by the user.
Preconditions:
1. The Employment and Research Database exists and contains valid data.
2. The program is already running with MainPanel and ResearcherListView
being shown. (i.e. UC8 should have been executed beforehand)
3. This use case is executed together with UC16_User_selects_Researcher at the
same time.
Scenario:
Action Software Reaction
1. User clicks on a researcher’s name in ResearcherListView
1. SystemcreatesPublicationListView.
2. Systemretrievesbasicinformationofall publications that belong to the selected researcher from the “Employment and Research Database”.
(i.e. the author field in Publication contains the name of the selected researcher). Data to be retrieved includes Publication’s title and publicationYear.

3. Systemsortsthepublicationlistbytitlein alphabetical order (A-Z).
4. Systemsortsthepublicationlistby publicationYear in reverse chronological order (newest on top, i.e. descending order of year).
5. Systemsendsthepublicationlistto PublicationListView.
6. SystemdisplaysPublicationListViewto user.
2. User clicks “Sort Order” button icon (i.e. the triangle next to the “Publication year” heading)
1. System sorts the publication list by publicationYear in chronological order (oldest on top, i.e. ascending order of year), and then sends the data back to update PublicationListView.
2. SystemdisplaysPublicationListViewto user.
3. User selects a year range in the “Filter by year range” drop-down lists, and then clicks “Apply filter” button
1. Systemsendsthefilterrequestto PublicationController.
2. System looks up the publication list for publications whose publicationYear field fall within the selected range, and then sends the data back to update PublicationListView.
3. SystemdisplaysPublicationListViewto user.
Scenario Notes:
1. Action 1 is a prerequisite to Actions 2-3.
2. After Action 1 is carried out, the user can perform any combination of Action 2
and 3.

Post Conditions:
PublicationListView displays a list containing all or a filtered part of publications by the selected researcher in a particular chronological order, showing the publication year and title of each publication.
Required Views (GUIs):
MainPanel, ResearcherListView, PublicationListView Exceptions:
1. If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
2. In Action 3, if the system detects an invalid year range (i.e. “From Year” is not before “To Year”), it should display an error message and ask the user to select a valid range again.
Use Cases utilised:
UC8_User_views_ResearcherList should be executed before this use case.
UC16_User_selects_Researcher should be executed at the same time to generate the ResearcherDetailsView, located above the PublicationListView, as both of them are in the same part of the MainPanel.

Use Case #40: User_selects_Publication
Requirement:
When the user selects a publication in the list the Publication Details view will be displayed. It will show the following details: DOI; Title; Authors; Publication year; Type; Cite as; Availability date; Age.
Overview:
When the user clicks on a publication in PublicationListView, the program should retrieve the publication’s data from “Employment and Research Database” and perform manipulations as required, then display the corresponding details in PublicationDetailsView in a new window.
Preconditions:
1. The Employment and Research Database exists and contains valid data.
2. The program is already running with PublicationListView being shown. (i.e.
UC34 should have been executed beforehand)
Scenario:
Action Software Reaction
1. User clicks on a publication’s title in PublicationListView
1. SystemcreatesPublicationDetailsView.
2. Systemcreatesapublicationobject,and
then retrieves detailed information of the selected publication from the “Employment and Research Database” to the object. Data to be retrieved includes doi, title, author, publicationYear; publicationType, citeAs, availabilityDate.
3. System calculates the age from the difference between the availabilityDate and the current system date.
4. Systemsendsthepublicationdetailsfromthe publication object to PublicationDetailsView.

5. Systemdisplays PublicationDetailsView to user in a new window.
Scenario Notes:
None
Post Conditions:
PublicationDetailsView shows up in a new window, displaying a tabular view of the selected publication’s detailed information.
Required Views (GUIs):
MainPanel, PublicationListView, PublicationDetailsView (in a new window)
Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
UC34_User_views_Publications should be executed before this use case.

Use Case #43: User_generates_Report
Requirement:
The user could generate lists of researchers performing well and those performing poorly, based on their publication performance metric. Four reports should be implemented: Poor, those whose performance is at or below 70%; Below Expectations, those whose performance is above 70% and below 110%; Meeting Minimum: those whose performance is at or above 110%; Star Performers: those whose performance is at or above 200%.
Overview:
These reports are for staff only, as they have the Performance Metric but students do not.
When the user selects the “Achievement Reports” tab and clicks on the “Generate Report” button, the program should calculate the Performance Metric of all staff from data in the database, and use it to classify them into the corresponding report group.
The program would generate 4 reports based on the Performance Metric, display all 4 reports on the same window. The reports should be presented with the left column being the Performance Metric, and the right column being the researchers’ names and email addresses. The Poor and Below Expectations reports are sorted by increasing order of performance, while the Meeting Minimum and Star Performers reports are sorted by decreasing order of performance.
Preconditions:
The application is already running.
Scenario:
Action Software Reaction
1. Userselects“Achievement Reports” tab
1. SystemdisplaysReportPanel.
2. Userclickson“Generate Report” button
1. SystemcreatesfourReportView.
2. Systemsendsthereportgenerationrequestto ReportController.

3. Foreachstaffinthe“Employmentand Research Database”:
i. System creates a researcher object, and then retrieves their detailed information to the object.
ii. System calculates the average number of publications in the past three years (threeYrAvg).
iii. System calculates the performance metric.
iv. System sends the researcher details from the researcher object to ReportController.
4. System sorts the report list by family Name in alphabetical order (A-Z).
5. Systemfiltersthereportlistbyperformance metric <=70%, sorts it in ascending order (lowest on top), and then display it in the ReportView for “Poor”. 6. Systemfiltersthereportlistbyperformance metric >70% but <110%, sorts it in ascending order (lowest on top), and then display it in the ReportView for “Below Expectations”. 7. Systemfiltersthereportlistbyperformance metric >=110% but <200%, sorts it in descending order (highest on top), and then display it in the ReportView for “Meeting Minimum”. 8. Systemfiltersthereportlistbyperformance metric >=200%, sorts it in descending order (highest on top), and then display it in the ReportView for “Star Performers”.
Scenario Notes:
Action 1 is a prerequisite to Action 2.

Post Conditions:
ReportView displays all the 4 reports, showing the Performance Metric, name and email address of all staff in the specified layout and sorting order.
Required Views (GUIs):
ReportPanel, ReportView Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
None

Use Case #51: User_copies_ReportEmails
Requirement:
The user could copy the email addresses of those listed in a report to the clipboard.
Overview:
After the user has generated the reports in UC43, when they click the “Copy email addresses” button above a particular report, all the email addresses listed in that report are copied to the clipboard, with each entry separated by a semicolon to facilitate compilation in an email platform or software. A prompt will be displayed to the user if the copying is successful.
Preconditions:
The 4 reports have already been generated (i.e. UC43 should have been executed beforehand) and the user is still on the “Achievement Reports” tab.
Scenario:
Action Software Reaction
1. Userclicksthe“Copyemail addresses” button above a particular report
1. Systemsendsthecopyemailrequestwiththe selected report type (either one of poor, below expectations, meeting minimum or star performers) to ReportController.
2. System looks up the report list for entries whose performance metric fall within the selected range.
3. Systemreadstheemailfieldofeach matching entry, adding a semicolon at the end of each address before reading the next entry, concatenating into a single string.
4. Systemcopiesthestringtothesystem clipboard.
5. Systemdisplaysadialogboxtoinformuser that copying is successful.

Scenario Notes:
None
Post Conditions:
All the email addresses listed in the selected reports are copied to the clipboard, with each entry separated by a semicolon. System also shows a dialog box to inform user that the copying is successful.
Required Views (GUIs):
ReportsPanel, ReportsView, Prompt Dialog Exceptions:
If the database cannot be accessed or other unexpected error occurs, the system should display an error message to user and ask them to restart the program.
Use Cases utilised:
UC43_User_generates_Report should be executed before this use case.

Part 2 – GUI view prototypes
MainPanel ResearcherListView
ResearcherDetailsView
PublicationCumulativeView
When user clicks on a researcher’s name, ResearcherDetailsView and PublicationListView will be shown on the right.
The orange-highlighted information will only be shown if the selected researcher is a staff.
When user clicks on this button, the student name list will be shown beneath.
When user clicks on this button,
PublicationCumulativeView
will be shown in a new window.
When user clicks on a publication title, PublicationDetailsView will be shown in a new window.
PublicationDetailsView
PublicationListView

ReportPanel
ReportView
ReportView
ReportView
ReportView
When user clicks on this button, 4 corresponding ReportView will be shown below.
When user clicks on this button, system will copy the email addresses to clipboard, and then display this dialog box to inform user:

Part 3 – Package Diagram

For Model Package:
Part 4 – Class Diagrams

For View Package:

For Controller Package:

For Database Package:

Part 5 – Sequence Diagrams
Use Case #8: User_views_ResearcherList

Use Case #16: User_selects_Researcher

Use Case #29: User_expands_Supervisions
Use Case #32: User_views_CumulativeCount

Use Case #34: User_views_Publications

Use Case #40: User_selects_Publication

Use Case #43: User_generates_Report

Use Case #51: User_copies_ReportEmails