- This project is an assignment created for USF's CEN 4020 (Software Engineering) Course.
- The created system will automate the reviewer registration process, the author registration process, the paper submission process, the paper matching process, the paper distribution process, the paper review process, and the report generation process.
- Team 12 (Khoa Doan, Reubin George, Andric Tam)
- Windows 10 (Any Edition), Visual Studio 2019 (or higher), MS SQL
- C# (ASP.NET), Javascript/ jQuery, HTML, CSS (Bootstrap)
- The Consortium for Computing Sciences in Colleges (CCSC) is a non-profit organization focused on promoting quality computing curricula and the effective use of computing in colleges and universities. The CCSC encourages the sharing of research, effective curricula, teaching expertise, and efficient technological applications in the classroom. Generally speaking, the CCSC is concerned with the advancement of curricular programs in Computer Science, Computer Information Systems, Software Engineering, and any other discipline in which software development is the focus. At its annual conference, they have a number of paper sessions, where professors (or sometimes others) present their research, teaching ideas, and so forth. All papers are judged according to the same standard. The paper has to be academically sound and be something of interest to the conference attendees. This is because any accepted paper is published in their journal—the Journal of Computing Sciences in Colleges—and the high quality and focus of this journal must be maintained.
The system will allow only three types of users who have the following privileges:
| Roles |
|---|
| Author |
| Reviewer |
| Administrator |
| Category | Priority | The system shall permit an Administrator to… |
|---|---|---|
| Mandatory | 1 | Log in to account. |
| Mandatory | 1 | Start paper and reviewer matching process. |
| Mandatory | 1 | Edit paper and reviewer matching results. |
| Mandatory | 1 | Distribute the correct papers to the reviewer. |
| Mandatory | 1 | Generate a report for each paper based off submitted reviews. |
| Mandatory | 1 | Generate authors report. |
| Mandatory | 1 | Generate reviewers report. |
| Mandatory | 1 | Generate reviewer’s comment report. |
| Mandatory | 2 | Prevent papers from being submitted after a specified deadline. |
| Mandatory | 2 | Prevent reviews from being submitted after a specified deadline. |
| Optional | 1 | Maintain the paper database table. |
| Optional | 1 | Maintain the reviewer database table. |
| Optional | 1 | Maintain the author database table. |
| Optional | 1 | Maintain the reviews database table. |
| Category | Priority | The system shall permit a Reviewer to… |
|---|---|---|
| Mandatory | 1 | Log in to account |
| Mandatory | 1 | Retrieve forgotten passwords |
| Mandatory | 1 | Register with given information |
| Mandatory | 1 | Download papers matched with them |
| Mandatory | 1 | Submit reviews for papers |
| Mandatory | 2 | Edit account information |
| Category | Priority | The system shall permit an Author to... |
|---|---|---|
| Mandatory | 1 | Log in to account |
| Mandatory | 1 | Retrieve forgotten passwords |
| Mandatory | 1 | Register with given information |
| Mandatory | 1 | Submit a paper |
| Mandatory | 2 | Edit account information |
| Category | Priority | Requirements |
|---|---|---|
| Mandatory | 1 | Availability: System should be available 24/7 |
| Mandatory | 1 | Compatibility: System should be able to operate on Edge, Firefox, Chrome, Safari, and Opera |
| Mandatory | 1 | Robustness: System will not allow the user to input bad data |
| Mandatory | 1 | Security: System will be inaccessible without login credentials |
| Mandatory | 1 | Usability: System should be intuitive and easy to use |
-
The first time you run the code on Visual Studio, run the sql query file named
CPMS_Database.sql
-
Ensure that the database has been created with the following tables in it.

-
Navigate to the
DAO.csfile under theDatafolder and paste the connection string between the quotes.
-
In the Menu Bar, navigate to Build and click build to ensure that no errors are created.

-
The sign in controllers access TWO different tables to verify if a logged in user is either a reviewer or an author. Ideally, we want to access only ONE table to verify user authentication and role.
-
Both Reviewer and Author table do not hash user's password.
-
None of page that accesses the database checks whether a VIABLE and VALID connection to the SQL database exists.
-
The reviewer and the author are allowed to create a password of max length of 5.
-
The
Report Controllerinitially deletes old reports to create new reports. This method ONLY works if the program has permission to do so by both the OS and the Anti-Virus software running in the background.
-
The tables in this project are normalized to Norm Form 3. It might be better to normalize the table to Norm Form 4. The reason why this was not done in the first place was because the database template was provided by the instructor.
-
We used Data Access Object to perform CRUD operations on the database. We should be using Entity Framework instead.
-
We should be using React or Angular to create the web components.
-
We want to run WebAssembly using Blazor. This will help add additional functionality without changing too much of the old code.
-
We want to host the database on a server rather than use a localhost because every contributor needs to create a new database on the system with entirely new set of records for every table.
-
No integration, system, acceptance or production tests were performed throughout the course of this project.


