CSC440 Software Engineering
Fall 2018
Assignment #2


In this assignment, you will:
  1. Come up with an idea for your own system. The system will have different kinds of users, and store/use a collection of data. Separation/decomposition into subsystems will include a front end (User Interface), Control Subsystem, and back end (database or file storage). Elicit requirements in the form of a list (backlog) of user stories (scenarios): A short description of functionality from the user's perspective:
    Requirement ID As a... I want... so that...
    1 type of user some desired outcome some reason
    2 another type of user another desired outcome another reason
    3 ... ... ...

  2. Work on the requirements elicitation and initial part of the requirements analysis of the following sample system. Assume that the informal description of the system requirements is written by a customer (a university). If you need to elaborate some of these requirements, send questions to the customer (to be represented by me, chays@adelphi.edu).

    Informal requirements of the system, given by the customers

    We would like you to develop a software system for displaying students' grades online, code-named WarGames. This system will be used by students, professors, and teaching assistants (TAs). All types of users are required to log in upon accessing WarGames. Once logged in, students will be able to view the grades for individual assignments for each of the courses they are taking (the customer does not care about specifics of the user interface design of this aspect). A student should not be able to gain access to grades of any other student.

    Once logged in, professors and TAs will have access to the rosters for each of the courses they are teaching/ grading. They will be able to enter and modify grades for individual students, for any of the assignments associated with the course (the customer does not care about specifics of the user interface design of this aspect). In addition, professors are able to add assignments to the course and remove assignments from the course. An assignment can be removed only if no grades have been entered for it.

    Information about courses and registered students will be fetched from an existing data base, maintained externally. WarGames must have a synchronization agent, capable of removing grades of students who dropped out of a course and removing courses that are finished. Storing the assignments for each course and grades for each assignment and student is the responsibility of WarGames.

    What to hand in:

    Problem 1 - Your System: (15 points) Requirements (in the form of user stories, described above) for your own system.

    Problem 2 - WarGames (described above):

      a) (25 points) Create a use case diagram for WarGames.

      b) (25 points) For each use case in your use case diagram, list its pre- and post-conditions.

      c) (10 points) For each use case (you may only have one) that deals with users logging into the system, give the sequence of steps.

      d) (25 points) Create an analysis-level object diagram for WarGames. Show only entity objects. Please remember to show cardinalities of relationships among objects in this diagram.

    How to submit

    Print your work and give me a hard-copy in class. Hand in one assignment per group. Keep a copy of this assignment for yourself as you will need it for the next assignment.