Software_clan | Assignment 3 :CS2 Smart Replay Platform — Requirement Analysis

software_clan software_clan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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

ItemContent
CourseSoftware Engineering (2601_FZU-MU_SE)
Assignment RequirementThird Assignment — Requirement Analysis
Team NameSoftware_clan
Assignment GoalComplete the requirements analysis, refine the Software Requirements Specification (including class diagrams and interface prototypes), and summarize the team division of labor and collaboration.
Other ReferencesThe Method of Construction: Modern Software Engineering (3rd Edition), Chapter 8 (Requirements Analysis) and Chapter 10 (Typical Users and Scenarios).

Table of Contents


The complete SRS and the requirement-analysis presentation are hosted on our GitHub repository and are provided below.

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.

ModuleCore functions
Intelligent Demo ReviewUpload 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 FormationBuild 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 TrainingBrowser-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 CenterRegistration/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.

img

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.

img

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.

img

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.

img

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.

img

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.

img

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 IDNameTask DescriptionContribution
832402102Shixun GuoProduct Manager; responsible for requirements review, PPT creation, and the final presentation.12%
832402104Yiyao GuoBuilt the web front-end framework and page development.12%
832402115Shiyu QianBuilt the back-end infrastructure; established the GitHub repository and branching standards; completed placeholder core APIs and local testing; produced the development task list.20%
832402105Weifeng HongDesigned the web-based aim-training mini-game.15%
832402110Weibin LiaoParticipated in group discussions.5%
832402111Chenyu LinParticipated in group discussions.5%
832402113Zecheng LinParticipated in group discussions.5%
832401326Yan ZhengIntegrated the results from all groups, and wrote and coordinated the publication of the final blog draft.10%
832401314Siqi MoWrote the "Project Key Points and Challenges" section of the blog.8%
832401122Yuefan XuWrote the "Team Collaboration" section of the blog.8%
Total100%

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:

  1. 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.
  2. Coordination & Integration: the Product Manager controlled the direction, made the PPT, and presented; the documentation specialist integrated the final blog draft.
  3. 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.

WeekPhaseMain TasksMilestone / Deliverable
Week 1Project initiationCourse introduction; team formation; brainstorming and shortlisting candidate topics.Team roles, topic shortlist
Week 2Proposal & feasibilityNABCD competitive analysis and feasibility; set up the development environment and tooling.Project proposal (Assignment 1)
Week 3Project setupCreate the GitHub repository and branching rules; outline the SRS structure.Repository, SRS skeleton (Assignment 2)
Week 4User researchDistribute questionnaires and conduct interviews; build personas and collect pain points.Research notes, personas
Week 5Scenarios & functional requirementsDefine typical user scenarios and use cases; produce the functional-requirement list.Scenarios, use cases, functional requirements
Week 6Domain modelingBuild the domain model and UML class diagrams; define non-functional requirements.Class diagrams, NFRs
Week 7Prototypes & SRS refinementDesign interface prototypes; write acceptance criteria; review and refine the SRS.SRS V1.1
Week 8Requirement reviewProduce the requirement-analysis presentation and publish the blog.Presentation, blog (Assignment 3)
Week 9Architecture designSystem architecture, data model, and API design; confirm the technology stack.Architecture & API design
Week 10Detailed design & skeletonDetailed design; front-end and back-end skeletons; set up continuous integration.Design doc, runnable skeleton
Week 11Sprint 1Replay upload, asynchronous parsing queue, and back-end analysis engine.Demo-review back-end
Week 12Sprint 2Review-report UI: radar/heat-map, economy, combat and grenade analysis.Review-report module
Week 13Sprint 3Campus squad formation: lobby, application/approval, smart recommendation.Squad-formation module
Week 14Sprint 4Web aim-training mini-game and the personal center.Aim-training & personal center
Week 15Testing & acceptanceIntegration plus functional, compatibility and performance tests; fix bugs.Test report, release candidate
Week 16Deployment & deliveryDeploy, 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:

  1. 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.
  2. Coordination & Integration: the PM controlled the direction, made the PPT, and presented; the documentation specialist integrated the final blog draft.
  3. 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)。

zhenwenxian

瑞萨RX MCU LVD模块FIT集成故障排查与实战指南

在嵌入式系统开发中,硬件抽象层(HAL)和板级支持包(BSP)是连接应用软件与底层硬件的关键桥梁,它们通过标准化的API封装了复杂的寄存器操作,提升了代码的可移植性和开发效率。其核心原理在于提供统一的驱动接口,使开发者无需深入硬件细节即可配置外设。这一技术的核心价值在于显著降低开发门槛、减少底层错误,并加速产品上市周期,广泛应用于工业控制、汽车电子等高可靠性领域。本文聚焦于瑞萨RX系列MCU的低电压检测(LVD)功能,针对使用其Firmware Integration Technology(FIT)驱动库时

z-pan

瑞萨RX MCU CTSU触摸API耗时实测与FIT模块集成指南

在嵌入式系统开发中,实时响应与代码稳定性是衡量产品性能的关键指标,尤其在家电、工业控制等对触摸交互有高要求的领域。电容式触摸感应技术通过检测电容变化来识别触摸动作,其核心在于传感器信号的采集、转换与处理。为实现这一功能,MCU厂商通常提供硬件驱动库(如瑞萨的FIT模块)来封装底层操作,提升开发效率。理解这些驱动API的执行时间(处理时间)至关重要,因为它直接决定了系统的扫描频率、功耗预算以及整体响应速度。通过实测分析,可以优化任务调度与中断处理,从而在复杂的应用场景中实现流畅、可靠的触摸体验。本文基于瑞萨R

dianxiangong2403

J2ME-MyCS.zip_CSMidl_counter strike j2me_j2me_platform j2me game

**3. CSMidl游戏:**"CSMidl"是游戏的主要部分,它利用了J2ME的图形和输入处理能力来实现2D游戏玩法。

alvarocfc

AUTOSAR_RS_SWCModeling.pdf

3. **System Modeling**: 系统建模涉及整个汽车电子系统的高级抽象,包括SW-Cs的布局、通信网络和系统功能。

电动汽车控制与安全
评论
收藏 已收藏
分享
返回顶部