Software_clan | Assignment 3 :CS2 Smart Replay Platform — Requirement Analysis
CS2 Smart Replay Platform — Requirement Analysis (Assignment 3)
A team requirement-analysis deliverable for the Software Engineering course. This post provides the Software Requirements Specification (SRS) and the presentation links, summarizes the functional requirements, domain model, class diagrams and interface prototypes, and documents the team division of labor, the 16-week schedule, collaboration, and the key points and challenges encountered.
Basic Information
| Item | Content |
|---|---|
| Course | Software Engineering (2601_FZU-MU_SE) |
| Assignment Requirement | Third Assignment — Requirement Analysis |
| Team Name | Software_clan |
| Assignment Goal | Complete the requirements analysis, refine the Software Requirements Specification (including class diagrams and interface prototypes), and summarize the team division of labor and collaboration. |
| Other References | The Method of Construction: Modern Software Engineering (3rd Edition), Chapter 8 (Requirements Analysis) and Chapter 10 (Typical Users and Scenarios). |
Table of Contents
- 1. Software Requirements Specification and Document Links
- 2. Team Division of Labor and Contribution
- 3. Team Organization and Schedule
- 4. Team Collaboration and Progress Management
- 5. Project Key Points and Challenges
1. Software Requirements Specification and Document Links
The complete SRS and the requirement-analysis presentation are hosted on our GitHub repository and are provided below.
- Software Requirements Specification (SRS): https://github.com/2310209788-del/cs2-intelligent-review-platform/blob/main/docs/CS2-Smart-Replay-Platform-SRS-V1.1.docx
- Requirements Analysis Presentation (PPT, exported as PDF): CS2 Smart Replay Platform — Requirement Analysis Report.pdf
- Repository: https://github.com/2310209788-del/cs2-intelligent-review-platform
The SRS (V1.1) follows the recommended national-standard structure and covers every item on the SRS checklist: the Introduction, user scenarios / personas, functional and non-functional requirements, the domain model and UML class diagrams, the interface prototypes, the functional description with use cases, and the acceptance and verification criteria. Terms and abbreviations are defined on first use, and the figures, tables, and writing style are kept consistent throughout. The most important contents are summarized below.
1.1 Functional requirements overview
The platform is divided into four core functional modules, with the high-priority requirements focused on the first three.
| Module | Core functions |
|---|---|
| Intelligent Demo Review | Upload and parse a .dem replay with an asynchronous queue; per-round timeline; Radar / ADR / KAST / opening-kill stats; heat-map, economy curves, force-buy and full-buy rounds; flash-blind and grenade-damage analysis; weakness diagnosis and targeted training advice. |
| Campus Squad Formation | Build and maintain a player profile (FACEIT rank, preferred roles, map pool); post a squad; browse and filter the squad lobby; apply/join with one click and approval; role/map-complement recommendation; post-match mutual rating. |
| Web Aim Training | Browser-based aim trainer (Gridshot, Reaction, Spidershot, Microshot, Tracking) with Pointer Lock; records hit rate, hit count and reaction time; local scores for anonymous users and synced personal curves for logged-in users. |
| Account & Personal Center | Registration/login/logout with encrypted passwords; personal center; match history and review-report entries; privacy settings (reports are private by default and can be shared). |
The non-functional requirements cover performance (one match parsed in 2–3 minutes, first screen within 3 seconds), concurrency (rate-limited parsing queue), compatibility (mainstream browsers and 1280+ resolutions), security (encrypted passwords, least privilege), and privacy/compliance (official interfaces only, no game-memory reading or cheating features).
1.2 Domain model and UML class diagrams
To keep the model readable, the domain is split into two package diagrams. The first covers the demo-review domain: a Replay is parsed into a Match, which contains Rounds and PlayerMatchStats and is associated with a ReviewReport; the report aggregates the HeatMap, EconomyAnalysis, and GrenadeAnalysis value objects.

Figure 1. UML class diagram of the demo-review domain (replay → match → rounds/stats → report → analysis).
The second covers the account, squad, and training domain: a User owns a PlayerProfile and plays AimTrainingSessions; a User posts a Squad, and each Squad receives SquadApplications from applicants, which the poster approves.

Figure 2. UML class diagram of the account, squad, and aim-training domain (user → profile, squads/applications, and training sessions).
1.3 Interface prototypes
The SRS includes low-fidelity wireframes for the four core pages to show the information architecture and the main interaction flow.
The review report page (Figure 3) uses a left navigation bar that switches between the match overview, radar/heat-map, economy, combat data, grenade analysis and weakness diagnosis, with a match header, per-round timeline, key metrics, and a weakness-diagnosis panel.

Figure 3. Interface prototype — intelligent review report.
The squad lobby (Figure 4) provides a "post a squad" button and a filter panel (role, rank, map pool); each squad card shows the missing roles, ranks, maps, start time, current members and an apply button.

Figure 4. Interface prototype — campus squad lobby.
The aim training page (Figure 5) has a mode-selection bar (Gridshot, Reaction, Spidershot, Microshot, Tracking) and a full-screen game canvas with a crosshair, targets, and a score/time/hit-rate HUD.

Figure 5. Interface prototype — web aim training.
The personal center (Figure 6) shows the player profile card (rank, roles, total matches), tabs for match history, review reports and aim scores, and an aim-score trend chart.

Figure 6. Interface prototype — personal center.
The full SRS does not need to be presented in the PPT; the presentation focuses on the project background, the core requirements, the class diagrams, and the interface prototypes.
2. Team Division of Labor and Contribution
The table below lists each member's student ID, task description, and contribution percentage for this assignment. The total contribution sums to 100%.
| Student ID | Name | Task Description | Contribution |
|---|---|---|---|
| 832402102 | Shixun Guo | Product Manager; responsible for requirements review, PPT creation, and the final presentation. | 12% |
| 832402104 | Yiyao Guo | Built the web front-end framework and page development. | 12% |
| 832402115 | Shiyu Qian | Built the back-end infrastructure; established the GitHub repository and branching standards; completed placeholder core APIs and local testing; produced the development task list. | 20% |
| 832402105 | Weifeng Hong | Designed the web-based aim-training mini-game. | 15% |
| 832402110 | Weibin Liao | Participated in group discussions. | 5% |
| 832402111 | Chenyu Lin | Participated in group discussions. | 5% |
| 832402113 | Zecheng Lin | Participated in group discussions. | 5% |
| 832401326 | Yan Zheng | Integrated the results from all groups, and wrote and coordinated the publication of the final blog draft. | 10% |
| 832401314 | Siqi Mo | Wrote the "Project Key Points and Challenges" section of the blog. | 8% |
| 832401122 | Yuefan Xu | Wrote the "Team Collaboration" section of the blog. | 8% |
| Total | 100% |
3. Team Organization and Schedule
3.1 Team Organization Method
The team is organized by role ownership, with every deliverable having a clear owner. The work is divided into three workstreams:
- Development & Architecture: the back-end lead set up the Node.js skeleton, the Git repository, and the core APIs; the front-end lead built the web framework and pages.
- Coordination & Integration: the Product Manager controlled the direction, made the PPT, and presented; the documentation specialist integrated the final blog draft.
- Content Writing: designated members wrote the task breakdown, collaboration mechanisms, and key-challenge analysis for the blog.
3.2 Approximate 16-Week Project Schedule
The course runs over 16 weeks. The rough, phase-based schedule is shown below; the exact dates follow the course schedule and are synchronized with each successive assignment.
| Week | Phase | Main Tasks | Milestone / Deliverable |
|---|---|---|---|
| Week 1 | Project initiation | Course introduction; team formation; brainstorming and shortlisting candidate topics. | Team roles, topic shortlist |
| Week 2 | Proposal & feasibility | NABCD competitive analysis and feasibility; set up the development environment and tooling. | Project proposal (Assignment 1) |
| Week 3 | Project setup | Create the GitHub repository and branching rules; outline the SRS structure. | Repository, SRS skeleton (Assignment 2) |
| Week 4 | User research | Distribute questionnaires and conduct interviews; build personas and collect pain points. | Research notes, personas |
| Week 5 | Scenarios & functional requirements | Define typical user scenarios and use cases; produce the functional-requirement list. | Scenarios, use cases, functional requirements |
| Week 6 | Domain modeling | Build the domain model and UML class diagrams; define non-functional requirements. | Class diagrams, NFRs |
| Week 7 | Prototypes & SRS refinement | Design interface prototypes; write acceptance criteria; review and refine the SRS. | SRS V1.1 |
| Week 8 | Requirement review | Produce the requirement-analysis presentation and publish the blog. | Presentation, blog (Assignment 3) |
| Week 9 | Architecture design | System architecture, data model, and API design; confirm the technology stack. | Architecture & API design |
| Week 10 | Detailed design & skeleton | Detailed design; front-end and back-end skeletons; set up continuous integration. | Design doc, runnable skeleton |
| Week 11 | Sprint 1 | Replay upload, asynchronous parsing queue, and back-end analysis engine. | Demo-review back-end |
| Week 12 | Sprint 2 | Review-report UI: radar/heat-map, economy, combat and grenade analysis. | Review-report module |
| Week 13 | Sprint 3 | Campus squad formation: lobby, application/approval, smart recommendation. | Squad-formation module |
| Week 14 | Sprint 4 | Web aim-training mini-game and the personal center. | Aim-training & personal center |
| Week 15 | Testing & acceptance | Integration plus functional, compatibility and performance tests; fix bugs. | Test report, release candidate |
| Week 16 | Deployment & delivery | Deploy, run a real-user trial, finalize documentation, and present. | Final release and final blog |
4. Team Collaboration and Progress Management
4.1 Task allocation
This assignment adopts a role-based division of labor, splitting the work into three areas so that every deliverable has a clear owner:
- Development & Architecture: the back-end lead set up the Node.js skeleton, Git repo, and APIs; the front-end lead built the web framework and wrote the core requirements-analysis document.
- Coordination & Integration: the PM controlled the direction, made the PPT, and presented; the documentation specialist integrated the final blog draft.
- Content Writing: designated members wrote the task breakdown and collaboration mechanisms for the blog.
4.2 Communication methods
Daily communication relies mainly on the WeChat group, where members synchronize task progress and raise questions at any time. Important conclusions are confirmed in writing within the group to avoid omissions after verbal discussion.
4.3 Document collaboration
The content written by each member is consolidated by the documentation specialist. Revisions to the blog and the SRS are kept up to date through group synchronization and version updates, ensuring everyone sees the same version. The SRS and the presentation are versioned and hosted on GitHub, so all changes are traceable.
4.4 Progress tracking
The team tracks progress through "role ownership + group synchronization": each role owner paces their part against the assignment deadline and synchronizes current progress and blockers in the WeChat group. The PM oversees the overall direction and, when a part falls behind, coordinates additional support in time to ensure all deliverables are completed before the deadline.
4.5 Review and integration
The review and integration phase proceeds through "cross-checking + unified consolidation": the front-end lead checked whether the back-end APIs met the page requirements to ensure front-end/back-end consistency, while the content writers cross-checked the logic and consistency of the blog content. The PM then finalized the PPT, and the documentation specialist integrated all documents, charts, and links into the final blog post for publication, confirming before publication that both the SRS and PPT links open correctly.
5. Project Key Points and Challenges
(1) Bandwidth trade-offs in large-file uploads
When multiple users upload replays of 50–150 MB (often over 100 MB) simultaneously, bandwidth is consumed and uploads slow down during peak hours. This is a physical limitation that can only be mitigated through upload progress indicators and limits on concurrent uploads per user. Requirements must specify not only "can upload" but also "how the system behaves under heavy upload load."
(2) Early identification of resource-intensive features
A single replay is 50–150 MB, and parsing is a CPU- and memory-intensive operation that may compete with other tasks. We required an asynchronous parsing queue and rate-limited queuing according to server configuration to prevent crashes, moving resource constraints forward into the requirements layer. The challenge is balancing fast parsing against preventing concurrent loads from crashing the server, which can only be achieved through queue scheduling.
(3) Volatility of unlogged-in data
When not logged in, aim-training scores are stored only locally in the browser, and clearing the cache causes score loss; logged-in users can save scores to their personal curve. The challenge lies in the trade-off between zero-barrier access and data retention.
(4) Compliance and engineering ethics constraints
The project uses only official open interfaces and post-match replays; it does not inject into the game process, does not read or write game memory, and does not provide any feature that undermines match fairness (such as displaying enemy positions). This directly rules out solutions that read match memory in real time — compliance is a design prerequisite, not an after-the-fact check.
(5) Conducting real user research
Our plan combines four steps: questionnaires, in-depth interviews, card sorting, and rapid prototyping, with questionnaires distributed to classes, dormitories, and the esports club. The questionnaires and interviews are still in progress, and some conclusions will be added to the document in later iterations; we have marked this as to be improved in the document and will explain the updates in a subsequent assignment blog post.
相关推荐
AMSS - Advanced Mobile Subscriber Software
Platform:提供了底层运行环境,包括L4微内核、Component Service(CS)、libstd(AEE的静态库)和Run Time Environment(RTE)。
瑞萨RX MCU LVD模块FIT集成故障排查与实战指南
在嵌入式系统开发中,硬件抽象层(HAL)和板级支持包(BSP)是连接应用软件与底层硬件的关键桥梁,它们通过标准化的API封装了复杂的寄存器操作,提升了代码的可移植性和开发效率。其核心原理在于提供统一的驱动接口,使开发者无需深入硬件细节即可配置外设。这一技术的核心价值在于显著降低开发门槛、减少底层错误,并加速产品上市周期,广泛应用于工业控制、汽车电子等高可靠性领域。本文聚焦于瑞萨RX系列MCU的低电压检测(LVD)功能,针对使用其Firmware Integration Technology(FIT)驱动库时
瑞萨RX MCU CTSU触摸API耗时实测与FIT模块集成指南
在嵌入式系统开发中,实时响应与代码稳定性是衡量产品性能的关键指标,尤其在家电、工业控制等对触摸交互有高要求的领域。电容式触摸感应技术通过检测电容变化来识别触摸动作,其核心在于传感器信号的采集、转换与处理。为实现这一功能,MCU厂商通常提供硬件驱动库(如瑞萨的FIT模块)来封装底层操作,提升开发效率。理解这些驱动API的执行时间(处理时间)至关重要,因为它直接决定了系统的扫描频率、功耗预算以及整体响应速度。通过实测分析,可以优化任务调度与中断处理,从而在复杂的应用场景中实现流畅、可靠的触摸体验。本文基于瑞萨R
J2ME-MyCS.zip_CSMidl_counter strike j2me_j2me_platform j2me game
**3. CSMidl游戏:**"CSMidl"是游戏的主要部分,它利用了J2ME的图形和输入处理能力来实现2D游戏玩法。
AUTOSAR_RS_SWCModeling.pdf
3. **System Modeling**: 系统建模涉及整个汽车电子系统的高级抽象,包括SW-Cs的布局、通信网络和系统功能。


