DTSC 5900/INFO 4900: Software Engineering for Data Scientists


Report #2: SYSTEM DESIGN, SPECIFICATION & DESIGN

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


The report must contain the following sections:

1. Cover Page and Individual Contributions Breakdown.
2. Table of Contents

3. Summary of Changes
Provide an itemized list of key revisions (e.g., interaction diagrams, class and package diagrams).
4. Customer Statement of Requirements (as in Report 1, revised if required )
5. Glossary of Terms (as in Report 1, revised if required )
6. Functional Requirements Specification (as in Report 1, revised if required )
Elaborate only the use cases that will be implemented by the time of the final demo.
System Sequence Diagrams to incorporate the use cases that will be completed for the final demo.
7. Nonfunctional Requirements (as in Report 1,revised if required )
8. Domain Analysis (as in Report 1, revised if required )
9. Interaction Diagrams
Your interaction diagrams must include some of the Design Patterns that we covered in the lectures
Explain and justify the patterns that you use in your new design. State explicitly in what sense the use of the specific design pattern in the particular interaction diagrams improves the design.
10. Class Diagram and Interface Specification (as in Report 1, revised if required )
11. System Architecture and System Design
12. Algorithms and Data Structures

a. Algorithms
Describe the system use algorithms used. For example, when computing a motion trajectory for an animate figure in a game, you may use some numerical or computer-graphics algorithms. You can use activity diagrams to describe the algorithm design.
b . Data Structures
Describe the data structures, such as arrays, linked lists, trees, etc.


13. User Interface Design and Implementation Details
Show the database (tables) implemented.

14. Unique Capability
Explain the functionality, and how it was implemented (Security, privacy, data encryption, Algorithim implementation, data mining, predicting, etc.)

15. Conclusions and Future Work (minimum 2 pages)
Describe the technical challenges you encountered during your project.
Describe how the software engineering techniques you learned in this course will help you in addressing these challanges
Describe what other knowledge you feel might have helped you with the project development
Discuss future work for your project and if somebody was to improve on your project, what directions and things to look for


15. 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.