CSE 4316: SENIOR DESIGN I - DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING THE UNIVERSITY OF TEXAS AT ARLINGTON PROJECT CHARTER - CDN
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING THE UNIVERSITY OF TEXAS AT ARLINGTON PROJECT CHARTER CSE 4316: SENIOR DESIGN I FALL 2019 Figure 1: Icon made by Freepik from www.flaticon.com TEAM MEERKAT MEERKAT Team Meerkat - Fall 2019 page 1 of 13
TERESA NGUYEN SAURAV SUBEDI HY NGUYEN QUAN DOAN NIKA DAVIS Team Meerkat - Fall 2019 page 2 of 13
REVISION HISTORY Revision Date Author(s) Description 0.1 10.04.2019 TN document creation 0.1 03.30.2020 QD, TN, HN document revision 1.0 05.01.2020 TN final revision Team Meerkat - Fall 2019 page 3 of 13
CONTENTS 1 Vision 7 2 Mission 7 3 Success Criteria 7 4 Background 8 5 Related Work 8 6 System Overview 8 7 Roles & Responsibilities 8 8 Cost Proposal 9 8.1 Preliminary Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8.2 Current & Pending Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 Facilities & Equipment 9 10 Assumptions 9 11 Constraints 9 12 Risks 9 13 Documentation & Reporting 10 13.1 Major Documentation Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.1.1 Project Charter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.1.2 System Requirements Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.1.3 Architectural Design Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.1.4 Detailed Design Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.2 Recurring Sprint Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.2.1 Product Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.2.2 Sprint Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13.2.3 Sprint Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.4 Sprint Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.5 Task Breakdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.6 Sprint Burn Down Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.7 Sprint Retrospective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.8 Individual Status Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.2.9 Engineering Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.3 Closeout Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13.3.1 System Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.2 Project Poster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.3 Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.4 Demo Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.5 Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Team Meerkat - Fall 2019 page 4 of 13
13.3.6 Source Code Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.7 Installation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.3.8 User Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Team Meerkat - Fall 2019 page 5 of 13
LIST OF FIGURES 1 Icon made by Freepik from www.flaticon.com . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Example sprint burn down chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Team Meerkat - Fall 2019 page 6 of 13
1 VISION Our vision is to allow friends, family, and even strangers to easily connect and share entertainment no matter where they are. 2 MISSION Our mission is to provide a platform that will allow people to share entertainment virtually in real-time. The platform will be completely web-based to make it convenient for everyone to use. 3 SUCCESS CRITERIA Upon completion of the prototype system, we expect the following success indicators to be observed: • The ability to connect up to 2 users at once in a single room • The ability for users to watch the videos with less than a 5000 ms delay among all users in the room • The ability for users to communicate in the room chat with less than a 3000 ms delivery time upon sending a message Within 6 months after the prototype delivery date, we expect the following success indicators to be observed: • The ability to connect up to 10 users at once in any number of rooms • The ability for users to watch the videos with less than 1000 ms delay among all users in the room • The ability for users to communicate in the room chat with less than a 1000 ms delivery time upon sending a message Team Meerkat - Fall 2019 page 7 of 13
4 BACKGROUND The aim of our application is to improve the experience of sharing public entertainment services. Due to the inconveniences of planning in-person gatherings and complicated features of other services already on the market, we believe our platform will provide the best alternative for allowing people to share their watching experiences effortlessly and painlessly. 5 RELATED WORK One solution currently on the market is Kast [1] - a real-time video sharing app with screen capture, voice, text, and video chat technology. Although similar to our project, we believe that Meerkat will be more appealing to customers due to the fact that our platform is purely web-based; users won’t have to download and install an external application. 6 SYSTEM OVERVIEW For our project, we plan on implementing a fullstack web application, with the frontend being built with React.js and the backend being built with the Spring framework. The backend server will com- municate with a database that stores user and chat information. The frontend client (which the users interface with) will communicate with the backend server through API endpoints to retrieve data from the database, and will also communicate with a media server that will be externally hosted on the cloud to help route video streams. The diagram below highlights the major components of the system and how they will interact with each other. 7 ROLES & RESPONSIBILITIES The stakeholders of the project are the team members, future customers, and the project manager. Each team member will have the following responsibilities: • Quan Doan: Team lead • Teresa Nguyen: Backend Lead • Nika Davis: Risk Manager • Saurav Subedi: Sprint Manager • Hy Nguyen: Frontend Lead Team Meerkat - Fall 2019 page 8 of 13
8 COST PROPOSAL 8.1 PRELIMINARY BUDGET 8.2 CURRENT & PENDING SUPPORT Our project is funded $800 by the CSE department at the University of Texas, Arlington. 9 FACILITIES & EQUIPMENT Due to the lack of hardware requirements in our project, we do not require any lab space, makerspaces, or testing grounds. We also will not need any physical equipment for the project. Our application involves handling video streams among multiple peers, so we plan on using an external source to meet our needs for a media server to help handle peer connections. Currently we are interested in using media server tools offered on the AWS Marketplace. 10 ASSUMPTIONS The following list contains critical assumptions related to the implementation and testing of the project. • Several open-source APIs will be available to use to implement in this project • Users will have proper connectivity to host/watch a stream • Users will have sufficient hardware to host/watch a stream • Users will have only one account active per device • Microsoft Azure, Google Gloud Platform, and Heroku servers will be available to use during testing and usage of the application 11 CONSTRAINTS The following list contains key constraints related to the implementation and testing of the project. • An initial prototype of the product must be completed by February 3, 2020 • Final prototype demonstration must be completed by May 1st, 2020 • Host stream must remain private to avoid copyright infringements • Clips and recordings are prohibited to avoid copyright infringements • Total development costs must not exceed $800 12 RISKS The following high-level risk census contains identified project risks with the highest exposure. Mitiga- tion strategies will be discussed in future planning sessions. Team Meerkat - Fall 2019 page 9 of 13
Risk description Probability Loss (days) Exposure (days) Availability of cloud servers due to technical difficulties 0.01 2 0.02 Incompatibility of WebRTC with other application technologies 0.10 3 0.3 MongoDB Database APIs availability 0.01 3 0.03 React.js framework support availability 0.01 5 0.05 Java Spring framework support availability 0.01 5 0.05 Table 1: Overview of highest exposure project risks 13 DOCUMENTATION & REPORTING 13.1 MAJOR DOCUMENTATION DELIVERABLES 13.1.1 PROJECT CHARTER The Project Charter will be maintained by all the members and updated whenever any large changes arise regarding the project risks, equipment, and success criteria. The initial version will be delivered before the first sprint and the final version will be delivered at the end of the last sprint. 13.1.2 SYSTEM REQUIREMENTS SPECIFICATION The System Requirements Specification will be maintained by all the members and updated whenever any large changes arise regarding the system requirements. The initial version will be delivered during the first sprint and the final version will be delivered at the end of the last sprint. 13.1.3 ARCHITECTURAL DESIGN SPECIFICATION The Architectural Design Specification will be maintained by all the members and updated whenever any large changes arise regarding the system design or application architecture. The initial version will be delivered during the first sprint and the final version will be delivered at the end of the last sprint. 13.1.4 DETAILED DESIGN SPECIFICATION The Detailed Design Specification will be maintained by all the members and updated whenever any changes arise regarding details of the application design. The initial version will be delivered during the first sprint and the final version will be delivered at the end of the last sprint. 13.2 RECURRING SPRINT ITEMS We plan to manage our project using Trello. Through the course of each sprint, there will be a digital scrum board that will be maintained by each member as items from the product backlog are completed. The actual backlog document itself will also be modified based on the team’s ability to complete items in a timely manner. 13.2.1 PRODUCT BACKLOG Items will be added to the product backlog based on the the fundamental features dictated by the system requirements and success criteria first, and then by priority of customer appeal afterwards. The items will be prioritized by the product owner, with input from the team members. The product backlog and all project information will be shared among team members and stakeholders using Trello. 13.2.2 SPRINT PLANNING Sprint planning will take place on a week-to-week basis. The sprints will be two weeks in length, and we expect to have 12 sprints during the course of our project. Team Meerkat - Fall 2019 page 10 of 13
13.2.3 SPRINT GOAL The sprint goals will be decided as a team at our weekly meetings. Prior to our goal planning, we will discuss with the customer about which features they want completed in the near future. The goals for a certain sprint will primarily be decided by our progress in the previous sprint as well as the goals prioritized by the customer. 13.2.4 SPRINT BACKLOG Similar to our sprint goals, the sprint backlog will also be produced during our weekly meetings. The entire team will contribute to selecting items for the sprint backlog that are in line with the customer’s needs. The sprint backlog will also be maintained using Trello. 13.2.5 TASK BREAKDOWN Individual tasks will be determined by team lead according to the specific role of that team member, although team members will be able to voluntarily swap tasks if desired. Time spent on tasks will be noted in the sprint backlog as well as on the scrum board. 13.2.6 SPRINT BURN DOWN CHARTS The team lead is responsible for generating the sprint burn down charts. The amount of effort is deter- mined by the amount of tasks completed and the time spent on those tasks. The chart will display the estimated amount of effort left as well as the number of tasks completed for each day in the sprint. Figure 2: Example sprint burn down chart 13.2.7 SPRINT RETROSPECTIVE The sprint retrospective will occur on the same day as our weekly standup after the end of a sprint, and before our sprint planning. Issues that are brought up by the team members will be noted in the sprint backlog for the next sprint. 13.2.8 INDIVIDUAL STATUS REPORTS We will have weekly standup meetings where each team member will report which features of the sprint they have completed and are currently working on, and the projected time needed for them to finish up the rest of their assigned requirements from the product backlog. We will also discuss any roadblocks or issues that need to be addressed. 13.2.9 ENGINEERING NOTEBOOKS The engineering notebook will be updated at least once by each team member each sprint. The team lead, frontend and backend leads will be responsible for keeping the team members accountable as well as serve as witnesses for each page in the notebook. 13.3 CLOSEOUT MATERIALS Other materials that will be provided at closeout include: Team Meerkat - Fall 2019 page 11 of 13
13.3.1 SYSTEM PROTOTYPE The final system prototype will be a web application that fulfills the preliminary success criteria. Proto- type acceptance testing will be conducted before moving on to the next stage. 13.3.2 PROJECT POSTER The application name and logo will be included in the poster. It’s final dimensions will be 36" by 48" and it will be delivered digitally by May 2020. 13.3.3 WEB PAGE The project web page will include information advertising the basic features of our project and possibly a demo video. We will make it accessible to the public at closeout and expect it to be delivered by May 2020. 13.3.4 DEMO VIDEO The demo video will show the user experience flow for various user stories in order to address all the requirements. We expect the video to be no more than 10 minutes in length. 13.3.5 SOURCE CODE The source code for this project will be maintained using Git as the version control system. No binaries are involved since Meerkat is a web application, thus the project source code will be provided via GitHub. We are not planning to make the project open-source. 13.3.6 SOURCE CODE DOCUMENTATION Documentation of the source code will be produced using Docusaurus. On the frontend, documen- tation will consist of detailed information for each React component, including its usage and the re- quired/available props. Backend documentation will consist of information about API endpoints. Doc- umentation about the database structure and the entire application architecture will also be included. All documentation will be accessible via a website. 13.3.7 INSTALLATION SCRIPTS We plan on hosting our application through cloud services on Heroku, Microsoft Azure, and Google Cloud Platform with streamlined deployment services. Deployment instructions for each part of our application will be provided in a README file. 13.3.8 USER MANUAL There will not be any printed user manuals for the product. Our web application will provide an intuitive UI and we will post a tutorial demo video on the CSE blog page to go along with. Team Meerkat - Fall 2019 page 12 of 13
REFERENCES [1] Kast - share your experiences live. https://kast.gg. Accessed: 2019-10-14. Team Meerkat - Fall 2019 page 13 of 13
You can also read