Sonoma State University
Department of Computer Science
CS-370: Software Design and Development
Exercise 14: First Code Review

Objective:

To evaluate and provide feedback for a CS-370 team's project software.

Evaluation categories and critiera

Readability
  1. Are variables written with descriptive names indicative of the type of data the variable stores?
  2. If applicable, are objected-oriented class names descriptive of the functionality the class performs?
  3. If applicable, are procedure names or function names descriptive of the functionality they perform?
  4. To what extent are comments present throughout the software? If applicable, are comments relevant and informative?
Modular design
  1. Is the software written in a modular style with minimal repeated code?
  2. If applicable, is there redundancy or data-duplication occuring in the database? Where?
Dependencies
  1. Except for MySQL, does the software rely on any external software dependencies (i.e. libraries or applications)? Which applications?
Security
  1. Is the data (e.g. usernames) sanitized (escaped) before being displayed within an HTML document? Specifically is there a possibility for an HTML injection attack?
  2. Is the data (e.g. usernames) sanitized (escaped) before being inserted, selected, updated in the database management system? Specifically, is their a possibly for an SQL injection attack?
  3. Is sensitive data encrypted before being stored in the database management system?
  4. If applicable, what sort of encryption scheme is used to encrypt/decrypt data stored in the database?
  5. Are there any other security vulnerabilities not mentioned previously?
Maintainability
  1. If you inherited this project as-is, how easily could you refactor the code and maintain it? Explain your answer. Provide examples.
Standards compliance
  1. Does all dynamically-generated HTML output conform to HTML 5 standard? Explain your answer.
  2. Does the software utilize ANSI SQL standard structured queries? Explain your answer.
Overall project assessment
  1. What is your overall assessment of the project?
  2. What (if any) feedback should the developers of this software know that hasn't been mentioned previously?

Uploading your solution:

  • This is a team exercise.
  • Please write the names of all team members who contributed to this exercise. Only one team member needs to submit the exercise to Canvas. All team members whose name is on the exercise will receive credit.