CSC440 Software Engineering
Fall 2018
Assignment #5

    Since assignment 2, you have been developing a system with different kinds of users, that stores/uses a collection of data. Separation/decomposition into subsystems includes a front end (User Interface), Control Subsystem, and back end (database or file storage).

  1. Design, implement, and test the second iteration of your system. To what extent does it meet your done criteria?

  2. Prepare for sprint 3; define done criteria and a detailed test plan for the 3 user stories assigned to sprint 3 (unit tests, integration tests, acceptance tests). For each test, what is the expected result and how will the test be done (e.g. unit test, acceptance test; see sample above). Which scenarios of each use case will be tested? For example, for a use case of users being able to withdraw from an account, normal/expected scenarios are successful withdrawals (withdrawing an amount < balance, withdrawing an amount = balance) and an alternate scenario is attempting to withdraw an amount > balance. Which tools do you plan to use for testing, coding, integrating and building the product? Identify the team members and their roles.

  3. Update the original requirements of your system (addressing issues such as incompleteness, inconsistency, ambiguity). Include for each requirement: priority (Must, Should, Could, Would), milestone/sprint (1 or 2 or 3), and status (e.g. Pending approval, not approved, approved/not started, approved/in progress, approved/pending acceptance, approved/accepted). For those requirements in progress (partially completed), describe what part was completed and what part was not yet completed.

    You may use your own format or table, or a requirements document template as a starting point. Include all functional and non-functional requirements. Functional requirements are features / actions performed by the system (which you have expressed in the form of user stories) and non-functional requirements are known as "quality attributes" (described in slides #2). Update as needed your glossary of terms (analysis objects (slide 29- of slides#2)). When writing/revising your requirements, try to follow the S.M.A.R.T. criteria.

    How to submit
    Print your work (one copy per team) and give me a hard-copy in class.