Use Case - Mits10/School_Management_System_Php_Html_Css_JavaScript_From_Scratch GitHub Wiki

Use Case: View Student and Faculty's Information.

Actors: Teacher,Student

Scope: A software system

Purpose: A camper needs to visit a camp’s page and view its price, location, description and weather information, so that he/she can decide if the camp would be an ideal choice.

Type: Primary

Overview: After navigating to a Campground page, camper is able to see demographic information about the campground.

Typical course of events:

Actor Action System Response
1. From Homepage, click on "View our Campgrounds" button. 2. System redirects to the "Campgrounds page".
3. Camper clicks on "More Info" button in the desired Campground thumbnail. 4. System redirects to the Campground's page.
5. Camper can see demographic information such as address, price, description and author's name.

Alternative Courses:

3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.

3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.

Exceptions:

  • Network error fails to load campground page.
  • Campground deleted before its page loads.

Pre-condition:

Camper is in the Homepage.

Post-conditions:

  • Successful: Demographic Information can be seen in the specific Campground page.
  • Unsuccessful: Redirect to campgrounds page with flash error message.

Use Case: Add Class/Remove Class.

Actors: Student

Scope: Software system

Purpose: A student needs to add or remove a class that wants to attend.

Type: Primary

Overview: After navigating to the student dashboard, a student can add or remove the class they want.

Typical course of events:

Actor Action System Response
1. The student navigates to the student dashboard.
2. Student clicks on the Available Course list next to "Personal Information". 3. The system redirects to the Course List page.
3. Student clicks on "Add Course" link/button. 4. System redirects to the "Course List" page with a pop up saying "The course has been added".
5. Student add next courses.

Alternative Courses:

Exceptions:

  • Network error..
  • Sender Camper not logged in.

Pre-condition:

Camper is logged in.

Post-conditions:

  • Successful: System redirects to author’s profile with flash message "Mail sent successfully."
  • Unsuccessful: System redirects to login page/author’s profile with flash message "You need to be logged in to send mail to a camper"/"Unidentified error. Please try again."

Use case name: Create class & Delete class.

Actor: Teacher.

Scope: Software System.

Purpose: A teacher needs to create a course in which place he wants to teach.

Type: Primary.

Overview: After navigating to the profile or homepage, the teacher can choose the create course option to create a course.

Typical course event:

Actor’s Action System Response
1. Actor selects the option ‘create course’.
2. System gives the place to write information.
3. Actor enters all the required information.
4. Actor saves the information.
5. System adds the information to the database.
6. System gives confirmation to the actor.
7. Actor receives confirmation and the course is created.

Exception:

User not logged in or network error.

Pre-condition:

User is in the user home page or profile page.

Post-condition:

  • Successful: Redirect to the specific user profile page with a success flash message.
  • Unsuccessful: Redirect with an error flash message.
  • Exception: Stays on the same page.

Use case name: Edit camp.

Actor: Camper (User).

Scope: Software System.

Purpose: A camper needs to edit the camp page that he created whenever he wants and whenever he needs to update the information about the campground.

Type: Primary.

Overview: After navigating to the camp page that user has created, he can choose the edit camp option to edit the camp page.

Typical course event:

Actor’s Action System Response
1. Actor selects the option ‘edit camp’.
2. System displays information.
3. Actor updates all the information.
4. Actor saves the information.
5. System updates the information in the database.
6. System gives confirmation to the actor and shows the updated information.
7. Actor receives updated information.

Exception:

User not logged in or network error.

Pre-condition:

User is logged in and in his created camp page.

Post-condition:

  • Successful: Redirect to the specific campground page with a success flash message.
  • Unsuccessful: Redirect with an error flash message.
  • Exception: Stays on the same page.

Use case name: Delete camp.

Actor: Camper (User).

Scope: Software System.

Purpose: A camper needs to delete the camp page whenever he wants to if the campground is not available anymore.

Type: Primary.

Overview: After navigating to the camp page that user has created, he can choose the delete option to delete the campground page.

Typical course of events:

Actor’s Action System Response
1. Actor selects the option ‘delete camp’.
2. System asks for the confirmation.
3. Actor selects the affirmative action and gives the confirmation to the system.
4. System validates the action and clear the information from the database.
5. Actor receives confirmation.

Exception:

User not logged in or network error.

Pre-condition:

User is logged in and in his created camp page.

Post-condition:

  • Successful: Redirect to the specific campground page with a success flash message.
  • Unsuccessful: Redirect with an error flash message.
  • Exception: Stays on the same page.

Use case name: Search camp.

Actor: Camper (User).

Scope: Software System.

Purpose: A camper needs to search the campground page in order to visit the page and get all the information he needs to know.

Type: Primary.

Overview: After navigating to the homepage, camper can write in to the search bar to search for different camp pages.

Typical course of events:

Actor’s Action System Response
1. Actor writes the camp name in the search bar option.
2. Actor selects the ‘search’ option to proceed with the search.
3. System shows camp names as required.
4. Actor selects the camp name as he searches.
5. System takes the actor to the camp page as he searched.
6. Actor receives the camp page as he searches.

Exception:

Network error.

Pre-condition:

User is logged in and in the campground page or in his profile.

Post-condition:

  • Successful: Redirect to the specific campground page with a success flash message.
  • Unsuccessful: Redirect with an error flash message.
  • Exception: Stays on the same page.

Use case: Create account

Actors: Camper

Scope: Software system

Purpose: A camper needs to visit Campgrounds page to create an account to review, add, delete, edit or post campgrounds.

Type: Primary

Overview: After navigating to the Campgrounds page, camper can create an account.

Typical course of events:

Actor Action System Response
1. Camper goes to the “Campgrounds” page and clicks on "signup" button. 2. System shows a sign-up form.
3. Camper fills up the required fields.
4. Camper clicks on “submit” button. 5. System redirects to “Campgrounds” page with flash message “Welcome to BonFyr, User”.

Exceptions:

  1. Network error.

  2. Camper doesn’t fill all the required fields.

  3. Camper sets a password that’s not six-character long.

Pre-conditions:

  1. Camper is in the “Campgrounds” page.

  2. Camper has a valid E-mail account.

Post-conditions:

Successful:

  1. Camper is redirected to “Campgrounds” page with flash message “Welcome to BonFyr, User”.

  2. Once registered, link to the camper’s profile will appear on the right side of the top navigation bar in the form of the camper’s username.

Unsuccessful:

  1. Omitting any required fields and clicking on “Submit” will invoke “Field required” messages under required field(s).

  2. Entering an invalid email and clicking “Submit” will notify the user to type in a valid email through a similar form of message.

  3. Any network or unidentified error will redirect the user to the sign-up form with the flash message “An unexpected error occurred. Please try again”.

Use case: Follow a camper

Actors: Camper

Scope: Software system

Purpose: A camper needs to follow another camper(s) to get notified when the camper posts another campground.

Type: Primary

Overview: After navigating to the author’s profile, a camper can choose to follow the author.

Typical course of events:

Actor Action System Response
1. Camper navigate to a Campground page and clicks on the author’s profile link under “Submitted by”. 2. System opens author’s profile page.
3. Camper clicks on “Follow camper” button. 4. System turns the “follow” button to “Following” and shows a flash message saying “You are now following User”.

Exceptions:

  1. User isn’t registered.

  2. Network error.

Pre-conditions:

  1. User needs to be registered.

Post-conditions:

Successful:

  1. Follow” button turns to “Following” and flash message appears saying “You are now following User”.

  2. User receives a new notification if followed camper posts a new campground.

Unsuccessful:

  1. If the user(follower) is not registered, this will lead to the Sign In form with the flash message “You can follow a camper only if you are signed in.”

  2. If there is a network or unidentified error, the system redirects to the same page with the flash message “An unexpected error occurred. Try again”.

Use Case: Review or Rate Camp.

Actors: Camper

Scope: Software system

Purpose: A camper needs to visit a camp’s page and view its rating and review, so that he/she can decide if the camp would be an ideal choice.

Type: Primary

Overview: Review or Rate camp is the user based feature where one user can Share their experience also give a rating of it

Typical course of events:

Actor Action System Response
1. From Homepage, click on "View our Campgrounds" button. 2. System redirects to the "Campgrounds page".
3. Camper clicks on "review" button in the desired Campground thumbnail. 4. System redirects to the Campground's review comment box.
5. Camper can see writing box and enter button to submit the review

Alternative Courses:

3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.

3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.

Exceptions:

  • Network error fails to load campground page.
  • Campground deleted before its page loads. *Camper previously did not visit this camp

Pre-condition:

Camper is in the Homepage.

Post-conditions:

  • Successful: Successfully submitted the review.
  • Unsuccessful: Redirect to campgrounds page with flash error message.

Use Case: Add Camp to Wishlist

Actors: Camper

Scope: Software system

Purpose: A camper can have their own personal camp to follow and a saved linked of them to find it easily

Type: Primary

Overview: This feature will allow user to add a camp in his personal wishlist that he she wants to visit later

Typical course of events:

Actor Action System Response
1. From Homepage, click on "View our Campgrounds" button. 2. System redirects to the "Campgrounds page".
3. Camper clicks on "Add to wishlist" button in the desired Campground thumbnail. 4. System redirects to the Campground's page.
5. Camper can see the button is now showing added to list

Alternative Courses:

3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.

3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.

Exceptions:

  • Network error fails to load campground page.
  • Campground deleted before its page loads.

Pre-condition:

Camper is in the Homepage.

Post-conditions:

  • Successful: Add to wishlist.
  • Unsuccessful: Redirect to campgrounds page with flash error message.