CPSC 480-020 Software Engineering (SE) Fall 2024

Project 1: Requirements Report Posted: Sep 12

Note Include all user stories, even those without estimates. If a user story does not have an estimate, leave the estimate value blank.

Project 1 is due Friday, September 20, Monday, September 23 at 11:59:59 pm, in the file Requirements.md in a GitHub Classroom repository. You will need a GitHub account. Once you have an account, an invitation link to create the repository is on the Brightspace course page.

Description

At your place of work, you need to submit a formal report describing the project's current state. Write a report of your individual and team activities, including these primary sections:

1. User Stories

User Stories with title, description, estimate, and space for priority

This will be shown to the customer. This section should not contain any information that a customer should not see.

2. General Process

Details of the overall process and procedure that created the Estimates

This will be shown to the customer, so only data on the User Story cards from section 1 should be shown.

3. Background Data

Details on spread, assumptions, issues, etc.

How did the team interaction work, and what did and did not work well

This will not be shown to the customer. It is for your supervisor.

In other words, the report describes all the work and processes followed while creating the user stories and their estimates. The details of the general process and the general observations in Section 3 are in the form of a narrative, i.e., describe what you did, how you did it, and the result, ordered by time. The report's tone is professional, with a clear, consistent presentation.

The team created the User Stories and Estimates, but this report is an individual project. In your account, make changes to User Stories if they do not follow the guidelines given in the book. These changes are especially crucial for the Title and the Description. Split User Stories if the Estimate is too large. Explain any changes in your report.

Content Notes

Format

The report uses plain-text formatting syntax Markdown. Markdown is an almost universal format for text formatting in software development. Due to its direct conversion to HTML, Markdown has replaced HTML and other plain-text formatting languages in SE.

Creating the Report

You will use git to work on your report. Assuming a username of jdoe@uakron.edu, the steps are as follows:

  1. Create your project repository using the link in Brightspace
  2. Copy the URL from your project page
  3. Clone your repository, e.g., jdoe@uakron.edu
  4. Move to your repository directory:
  5. Edit your document. Any text editor will do. E.g., add the title.
  6. Commit your change with a reason for your change: Commit messages start with a verb, e.g., Add, Remove, Change, Fix, Reformat, etc. Follow the style given in this example: Capitalized verb, no period.
  7. View your current commits:
  8. Push your commits to GitHub:
  9. Verify that your changes appear in GitHub
  10. Repeat steps 5-9 for each change.

Note: All commits must have non-blank commit messages. Any non-blank commit messages will not be accepted, leading to a 0 on the entire project.

GitHub Codespace

A GitHub Codespace is available for this project. See the guide GitHub Codespaces.

Final Check

After you have committed your final change to the project, you must run your report through a report check to see if it follows many of the Markdown requirements of the project. To do so, create a GitHub Codespace for the project. When in there, enter the command:

You should see a clean report. If it finds anything, fix it and rerun the checkmd command.

The checkmd is a custom command created for this project to verify specific Markdown requirements. A clean run does not mean you have nothing wrong with your project.

Final Submission Requirement

Upload an terminal session of your report successfully passing the checkmd program.

To demonstrate this, you will record a terminal session using asciinema. It records the commands you enter and the output the command produces. asciinema is already installed in the GitHub Codespaces image. You can also install asciinema on Linux/WSL/macOS.

asciinema is relatively straightforward to use.

You can play, pause, skip, etc. You can also copy the commands as text. Note that the replay even includes your pauses and any delay as the command is run.

At the end of the terminal session, asciinema will show a URL. Anybody can use this URL to view the session. This is what you will submit for the exercise to the link in the exercise title. The URL should not contain "connect" or be a local file. Test your URL in a browser; an incorrect URL will receive a 0.

Submit the URL via this form: Project 1

Score

The report content, format, and involvement in team activities are all considered for your score.

Think carefully about how you present the report, including using Markdown. Remember, the User Stories form an unordered set, not an ordered list.