DTSC 5565/DTSC 4565: Software Engineering for Data Scientists


Report #1: SYSTEM SPECIFICATION

This document is also known as Requirements Analysis Document (RAD)

Project Deliverables
Iteration 1 Iteration 2
Proposal Report 1 Demo 1 Report 2 Demo 2


1. Report Format

The report must contain the following section.

1. Cover Page and Individual Contributions Breakdown
The contributions breakdown must contain the responsibility matrix and responsibility allocation chart as described below


2. Table of Contents
Make sure that the page numbers are correct


3. Customer Statement of Requirements
A minimum 3-page high-level narrative about the project .
This could be copied from your project proposal, revised and improved as necessary.

Include

  • target Audience,
  • set of requirements
  • use case scenarios for each actor

4. Functional Requirements Specification


1. Stakeholders
Identify everyone who has interest in this system (users, managers, sponsors, etc.)
2. Actors and Goals
Identify who will directly interact with the system, their types (initiating vs. participating) and the goals of the initiating actors. make sure you have atleast 3 different actors for the system as minimum. It is recomended to have more actors (5+actors)
3. Use Cases

a. Casual Description
For all use cases that you plan to have in the final product, write a brief or casual text description.
b. Fully Description
Select a few most important use cases
c Use Case Diagram
Draw the use case diagram and textual use cases (include the 6 components) for all the actors.
d. System Requirements - Use Case Traceability Matrix (search the Web)

e. Include class diagrams

4. System Sequence Diagrams
Draw the system sequence diagrams for the few most important use cases selected above . Also draw sequence diagram for all actors in the software.

Include Activity Diagrams

Include Sequnce Diagrams. Draw for differnet actors.


5. Nonfunctional Requirements
List and describe the FURPS+ requirements. Show the ones that will be implemented in your software.


6. Domain Analysis

1. Domain Model
Draw the domain model and provide three tables with:

1. Concept definitions
2. Association definitions
3. Attribute definitions

2. System Operation Contracts
Should be provided only for the operations of the few use cases elaborated above.
3. Mathematical Model
If used. like a geometric model for computing the trajectories for animate figures in a game.
If you are not using then skip this
If you are using it then, describe your model.


7. User Interface Design

a. Preliminary Design
Describe navigational paths that user will follow when interacting with the system.

b. Show the screen mock-ups

8. Plan of Work
Describe what your group is planning to do after submitting report1
Also provide the breakdown of responsibilities: what each team member did so far, is currently doing, will do in the future.

9. Class Diagram and Interface Specification

1. Class Diagram

a. Show all classes and their associations.

b . Data Types and Operation Signatures
Independently of the class diagram, write down class specification in UML notation. For every class, specify data types of all attributes

10. References
The list of references should contain references and URLs of any material that is used in the project. Most importatnly if you are using an existing system or concept from any web resource, you must mention this in the starting of the report and also site the reference.

 

Start Coding

You should start implementing at least some functions of your system immediately. This code will help you to better specify and design your system.