Assignment 3 | Group9 MoodSky Requirements Analysis
Assignment 3 | MoodSky Requirements Analysis
| Item | Content |
|---|---|
| Course | EE308FZ Software Engineering |
| Assignment requirements | Assignment 3: Requirements Analysis |
| Team | MoodSky |
| Assignment objective | Define user scenarios and scope, improve the Software Requirements Specification, and document interface prototypes, acceptance criteria, and team responsibilities. |
| Repository | HX-Jan/MoodSky |
| Software Requirements Specification (SRS) | Software Requirements Specification (Online Version) Software Requirements Specification (Word) · Software Requirements Specification (PDF) |
| Requirements Analysis Presentation | MoodSky Requirements Analysis Presentation |
| Other references | Project documentation; previous assignment reference |
| Updated | October 18, 2026 |
Contents
- 1. Project Background and Goals
- 2. Team Responsibilities and Contribution Shares
- 2.1 Project Responsibilities and Planned Shares
- 2.2 Responsibilities for This Requirements Document
- 3. Software Requirements Specification
- 3.1 Requirements Document and Presentation
- 3.2 User Roles and Typical Scenarios
- 3.3 Functional Scope and Diagrams
- 3.4 Functional and Interface Acceptance
- 3.5 Actual Mini Program Screenshots
- 4. Implementation Progress and Validation
- 5. Team Organization and Collaboration
- 5.1 Task Allocation and Handoffs
- 5.2 Collaborative Maintenance
- 5.3 An Integration Example
- 6. Main Requirements Analysis Challenges
- 6.1 Turning Feature Names into Testable Requirements
- 6.2 Separating Private Entries from Campus Displays
- 6.3 Handling the Consequences of Deletion
- 6.4 Distinguishing Prototypes from Working Features
- 6.5 Keeping the First Release Manageable
- 7. Schedule and Next Steps
1. Project Background and Goals
MoodSky is a WeChat mini program for university students to record their moods. We want users to be able to leave a brief record even when they do not feel like writing a diary. Selecting a weather symbol is enough; tags and a short note are optional.
Two groups of features build on these entries. Personal review lets users revisit their records through a calendar, weather distribution, and timeline. Campus places and small optional tasks help users find somewhere suitable to go or choose something they feel like doing.
Entries are private by default. Weather symbols are a way to express feelings, not a mental health assessment. The campus weather display currently uses fixed simulated data and does not aggregate private entries. Anonymous discussion boards, public comments, messages from strangers, and mood rankings are outside the first release.
This assignment addresses three questions: when users would need each feature, how the system should handle normal and exceptional situations, and how the team will determine whether the implementation meets the requirements.
2. Team Responsibilities and Contribution Shares
The team has 12 members. Responsibilities follow the team allocation document. The table uses FZU student IDs.
2.1 Project Responsibilities and Planned Shares
The planned shares total 100%. We use the same allocation for the requirements document in this assignment.
| Student ID | Member | Responsibilities | Planned share |
|---|---|---|---|
| 832401205 | Xiang Hong | Project management, requirements consolidation, back-end integration, journal and review services | 9% |
| 832401207 | Junhan Huang | Campus and administration services, operator roles, and access control | 8% |
| 832401110 | Jiawei Fang | Task services, preferences, account identity resolution, and account disabling | 8% |
| 832401201 | Linghan Chen | Front-end integration, the Me page, and data management interactions | 8% |
| 832401209 | Yifan Ji | The Today page, entry input, editing, deletion, and retry behavior | 8% |
| 832401203 | Zhifeng Dai | Weather Universe, calendars, distributions, and review cards | 9% |
| 832401226 | Qinghan Zhang | The Campus page, place lists, filters, details, and navigation interactions | 8% |
| 832401304 | Qizhen Chen | Task interfaces, administration interfaces, and trusted Web identity integration | 9% |
| 832401229 | Jiaqi Zhu | Interface and interaction design, visual assets, and user interview arrangements | 8% |
| 832401124 | Xiang Yu | Database, data dictionary, export, cleanup, and recovery design | 8% |
| 832401211 | Yuen Lin | Functional and compatibility testing, continuous integration, and test deployment | 8% |
| 832401301 | Qizhen Cai | Access control, privacy, data lifecycle, performance, and usability validation | 9% |
| Total | — | — | 100% |
Individual contribution share = points allocated to the member / total project points × 100%. Tasks are estimated by difficulty. Points for shared work are divided among contributors before being counted, so the same deliverable is not counted more than once. Actual contributions should be reviewed against deliverables, review records, and acceptance results.
2.2 Responsibilities for This Requirements Document
| Student ID | Member | Document responsibilities | Workload share |
|---|---|---|---|
| 832401205 | Xiang Hong | Consolidate requirements, architecture, implementation status, and acceptance evidence; edit the blog and SRS | 9% |
| 832401207 | Junhan Huang | Document campus services, operator roles, and access rules | 8% |
| 832401110 | Jiawei Fang | Document tasks, preferences, accounts, and account closure | 8% |
| 832401201 | Linghan Chen | Document navigation across the four pages, interface states, and data management interactions | 8% |
| 832401209 | Yifan Ji | Document Today scenarios, input constraints, and interaction evidence | 8% |
| 832401203 | Zhifeng Dai | Document personal review, calendars, distributions, and card prototypes | 9% |
| 832401226 | Qinghan Zhang | Document place browsing, filtering, location permission refusal, and detail scenarios | 8% |
| 832401304 | Qizhen Chen | Document task flows, administration interfaces, and identity integration | 9% |
| 832401229 | Jiaqi Zhu | Align prototype and visual styles; organize interview materials | 8% |
| 832401124 | Xiang Yu | Document the data dictionary and constraints on export, cleanup, and recovery | 8% |
| 832401211 | Yuen Lin | Organize requirement-to-test mappings, acceptance tables, and report references | 8% |
| 832401301 | Qizhen Cai | Review access and privacy requirements; document performance and usability test conditions | 9% |
| Total | — | — | 100% |
The document workload uses the same allocation as the project plan, totaling 100%. We review each member’s work through document revisions, deliverables, and review records.
3. Software Requirements Specification
3.1 Requirements Document and Presentation
The Software Requirements Specification (SRS) develops our earlier requirements into a shared reference for design, implementation, and testing. Its structure follows GB/T 9385—2008 and GB/T 8567—2006, the national standards for software requirements specifications and software documentation.
The SRS online version, Word/PDF copies, and presentation are linked in the information table at the beginning of this post.
The online version presents the complete SRS directly on GitHub, with a linked table of contents, readable text, tables, and embedded figures. The SRS is maintained in the assignment3 documentation directory of our GitHub repository. The Word document is the formal SRS submission; the PDF contains the same document for convenient reading. Both files retain their original Chinese content. On GitHub, use the download button if a file cannot be previewed.
The document covers the project background and scope, user roles and scenarios, architecture and class diagrams, interface prototypes, and the 24 functional requirements. It also defines input limits, permission rules, exceptional situations, and acceptance criteria. Each requirement retains its original ID so that developers and testers can refer to the same item. Chapter 3 explains the core objects and their relationships, Chapter 4 presents the interface designs, and Chapter 5 connects functions with acceptance and verification criteria.
Requirements Analysis Presentation
The 19-slide English presentation covers user scenarios, interface prototypes, business flows, the class model, system architecture, acceptance criteria, validation evidence, team responsibilities, and the implementation schedule. It supports the classroom presentation, while the SRS provides the detailed requirements and acceptance rules. The presentation retains the original Chinese interface screenshots; its titles, explanations, tables, and diagram labels are in English. The SRS Word and PDF files remain in Chinese.
Selected interface designs appear in Section 3.5. The front-end source directory contains the mini program code, which runs through WeChat Developer Tools. Development evidence is recorded in the October 15 integration report and Week 1 materials.
3.2 User Roles and Typical Scenarios
The requirements distinguish visitors, active student accounts, disabled accounts, and data operators. Visitors can browse permitted public content. Active students can manage their own entries and preferences. Disabled accounts have access only to necessary public content and restricted cleanup progress. Operators maintain campus information but cannot read private journals or WeChat identity mappings.
The server must determine identity and data ownership. For example, changing an entry ID in a request must not allow a user to read or delete another person's entry. Export and cleanup jobs require the same ownership checks.
Scenario 1: Leaving a quick record. A user opens Today, selects a weather symbol, and saves. Tags and text can remain empty. After a successful save, the page states that the entry is private. If the request fails, the page keeps the input and offers a retry.
Scenario 2: Editing or deleting an earlier entry. A user selects a date and edits the existing entry. Deletion requires confirmation. Once an entry is deleted, the calendar, statistics, timeline, and affected exports must also be updated. Each account may have at most one entry per date.
Scenario 3: Reviewing a month. A user opens Weather Universe to view the calendar, weather distribution, and entry details. Dates without entries remain blank rather than being filled as sunny. The system does not draw trend conclusions from too few records.
Scenario 4: Finding a suitable campus place. A user browses the place list before choosing filters, opening details, or starting navigation. Location is requested only when the user asks for it. Refusing permission must not prevent list browsing.
Scenario 5: Choosing a small activity without pressure. The system offers at most three tasks. Users can complete, replace, or skip them. Photos, location proof, and daily streaks are not required. Place and task pages remain accessible without first saving a journal entry.
These scenarios describe expected behavior. Formal acceptance still requires test records from the intended environment.
3.3 Functional Scope and Diagrams
The first release retains 24 requirements, UW3-F01 through UW3-F24, abbreviated below as F01–F24.
| Module | IDs | Main requirements |
|---|---|---|
| Private journal | F01–F04 | Weather, tags, optional text, backdated entries, editing, deletion, and related updates |
| Personal review | F05–F10 | Calendar, weather distribution, timeline, monthly archive, cards, and decorations |
| Campus places | F11–F16 | Lists, maps, filters, details, favorites, corrections, and support resources |
| Optional tasks | F17–F20 | Suggestions, completion or skipping, history, and independent access |
| Data management | F21–F23 | Privacy and display preferences, personal data export, account closure, and cleanup progress |
| Campus weather information | F24 | A fixed display clearly marked as simulated, with no statistics derived from private entries |
The class diagram shows relationships among accounts, entries, personal reviews, places, task history, and data management jobs. The architecture diagram shows the mini program, shared request entry point, cloud function domain services, and database. Both appear in Chapter 3 of the SRS.

Figure 1. MoodSky architecture and validation scope. Reported checks do not establish that all production services have been implemented.

Figure 2. Core objects and relationships in the first-release design. The diagram does not establish that every object has cloud persistence.
3.4 Functional and Interface Acceptance
Each functional requirement has a corresponding test ID, such as F01 and T01. A test record must include preconditions, input, steps, expected and actual results, version, environment, evidence, and reviewer.
| Area | Representative acceptance criteria |
|---|---|
| Saving entries | Weather is required; weather alone is sufficient; repeated submissions do not create duplicate entries for the same account and date |
| Input limits | At most five tags and 1,000 Unicode code points of text; excessive input produces a message without losing the draft |
| Retrying requests | Keep the original input and reuse the request ID to avoid duplicate writes |
| Personal review | Leave missing dates blank; calculate distribution using recorded days; explain empty months |
| Campus places | Keep list browsing available when location permission is refused or the map fails; clearly identify expired information |
| Data management | Reject cross-account access; show progress and failure feedback for export, account closure, and cleanup |
Interface acceptance also covers empty data, loading failures, permission refusal, and processing states. For example, Campus should explain what the user can still do when there are no matching places or the map is unavailable.
3.5 Actual Mini Program Screenshots
The following screenshots show the implemented MoodSky mini program running in the WeChat Developer Tools simulator, captured on October 17, 2026. They retain the original Chinese interface labels. These are actual application screenshots in local demonstration mode; displayed records and campus places are demonstration or synthetic data. They do not establish production cloud persistence, real account integration, or verified campus service information.

Figure 3(a). Today: weather selection, private recording, and the entry to optional tags and text.

Figure 3(b). Campus: the place list in synthetic demonstration mode. Place details and opening information remain unverified.

Figure 3(c). Weather Universe: the personal calendar and review entry points in the local demonstration.

Figure 3(d). Me: preferences, saved places, task history, privacy and data, and help entry points. The screen identifies the account as a local demonstration account.

Figure 4. The implemented private record form: weather selection, optional tags, an optional note, and the save action in local demonstration mode.
4. Implementation Progress and Validation
The actual screenshots in Section 3.5 show the local simulator interface captured on October 17, 2026. The implementation summary below retains the earlier report scope. Existing development work includes the four-page structure, shared validation and request handling, the Today in-memory demonstration, and parts of the data management design. Production account integration, cloud journal operations, and complete workflows still need development.
The results below summarize the October 15, 2026 integration report and refer to the environments recorded there.
| Validation area | Reported result | Scope |
|---|---|---|
| Local tests for the integrated version | 124 passed | Formatting, structure, and shared contract checks also passed; these results do not establish production cloud functionality |
| Today simulator interactions | 34 cumulative checks | Saving and editing, deletion confirmation, retry, date changes, and input limits in an isolated in-memory configuration |
| H03 cloud concurrency diagnostics | 12 of 17 passed; 5 failed | Failures remain unresolved; concurrency correctness has not been established |
| Linghan's individual feature branch | 132 local tests passed | Synthetic accounts, preferences, export, and cleanup progress; this count must not be added to the integrated version's 124 tests |
| Physical devices and trial release | Not yet accepted | Testing on actual devices and network conditions remains necessary |
See the integration report. The relevant PR determines whether an individual branch has been merged. Simulated exports and cleanup do not establish that real account data can be exported or deleted.
User interview samples, original records, and findings still need to be consolidated. Usability goals, including time to create a first entry and clarity of navigation, require testing with actual users.
5. Team Organization and Collaboration
5.1 Task Allocation and Handoffs
Responsibilities are divided across journal, review, campus, tasks, and data management. Work affecting multiple modules requires joint review. Deleting an entry, for example, affects Today, review results, database state, and existing exports, so front-end, back-end, database, and testing members need to check it together.
Week 1 handoff materials are organized by member and list inputs, tasks, expected deliverables, and review conditions. Preparing a handoff is different from completing the assigned work. Progress is checked against task records, files, and review results. Decisions about requirements and interfaces should be recorded in the relevant tasks and documents after discussion.
5.2 Collaborative Maintenance
Code changes use Issues, task branches, and Pull Requests (PRs). Changes are reviewed and automated checks must pass before merging into the main branch. Changes to shared interfaces, the database, navigation, or access control require review by the relevant owners.
Documents use consistent requirement IDs, field names, and status terms. When an interface or responsibility changes, the SRS, team allocation, data dictionary, and test tables need to be checked together.
5.3 An Integration Example
During Week 1 integration, Xiang Yu's new work was on a feature branch and consisted of five documents covering database, export, cleanup, and recovery. Integration included aligning fields, error codes, access rules, and version conventions with the existing contracts while retaining the original PR's contribution and review history.
The process also revealed an ordering problem. The workflow was revised to review and resolve member PRs first, then update the main branch and integrate a release. Designs that have not been deployed remain labeled as designs. H03 failures remain in the report for subsequent fixes and verification. Details are recorded in the integration report.
6. Main Requirements Analysis Challenges
6.1 Turning Feature Names into Testable Requirements
“Support mood recording” is too broad to guide implementation or testing. We break it down into questions: Is weather mandatory? Can text be empty? How are repeated submissions handled? Is input retained after a failed save? Each answer needs a corresponding test condition.
Review statistics also need precise rules. If a user records ten days in a month, those ten days should be the denominator for weather distribution. That rule is more useful to developers than simply requiring a statistics chart.
6.2 Separating Private Entries from Campus Displays
Weather symbols appear in both private entries and the campus display, which could suggest that private records are public. The first release therefore uses fixed simulated campus weather information and labels it accordingly. Private entries are not published or included in public statistics, and maintaining campus data does not grant operators access to journals.
6.3 Handling the Consequences of Deletion
A success message on the page does not show that every related result has been updated. Calendars, distributions, timelines, and exports may still contain old information. The SRS therefore requires related views to update and affected old exports to become invalid after deletion.
Repeated submissions, version conflicts, and cleanup retries also require coordination between services and the database. H03 has recorded failures, so these behaviors still need verification in the actual cloud environment.
6.4 Distinguishing Prototypes from Working Features
High-fidelity screenshots explain layouts and entry points, but they cannot establish cloud persistence, access isolation, or account closure. The blog and SRS distinguish design prototypes, local demonstrations, and cloud test results, with the relevant environments identified.
6.5 Keeping the First Release Manageable
Starting all 24 requirements at once could leave many visible entry points without working core operations. The next priority is real account integration and cloud saving, editing, and deletion. Review, campus, and task features follow, while export and account cleanup continue under the agreed constraints. Public comments and interactions with strangers remain outside scope to limit development and moderation work.
7. Schedule and Next Steps
| Stage | Timing | Work and checkpoints |
|---|---|---|
| Initial requirements and allocation | October 12, 2026 version | Define requirement IDs, module owners, and Week 1 tasks |
| Week 1 development and integration | October 15, 2026 report | Consolidate the Today demo, test results, database design, and data management design |
| Assignment preparation | October 17–18, 2026 | Revise the SRS and blog; check prototypes, diagrams, roles, and contribution shares; prepare slides |
| Journal operations | Priority for Week 2 | Implement F01–F04 with real accounts, cloud saving, editing, deletion, and access checks |
| Review, campus, and tasks | By module after journal validation | Complete F05–F20, including exceptional situations |
| Data management and system testing | Alongside module progress | Implement F21–F23; add device, performance, access control, and usability testing |
Future dates depend on development and acceptance results. The immediate priority is cloud journal operations and account permissions. Interview materials also need to be completed so usability judgments can be based on user feedback.
相关推荐
国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
PotPlayer自用皮肤
自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。
2-shell及常用命令-续.pdf
2-shell及常用命令-续.pdf
【电力负荷预测】项目介绍 MATLAB实现基于BO-Transformer-LSTM贝叶斯优化算法(BO)优化Transformer-LSTM组合模型进行居民用户多步电力负荷预测(含模型描述及部分示例
内容概要:本文介绍了一个基于BO-Transformer-LSTM的组合模型,用于实现居民用户多步电力负荷预测的完整项目实例。该模型融合Transformer的全局注意力机制与LSTM的局部时序记忆能力,构建能够捕捉长时依赖与周期性特征的深度学习架构,并引入贝叶斯优化(BO)自动搜索最优超参数组合,提升预测精度与训练效率。项目涵盖从原始数据清洗、特征工程、滑动窗口样本构建、模型设计到超参数优化、反归一化及多步误差评估的全流程,强调时间顺序划分以防止信息泄露,并通过周期编码、外生变量融合等方式增强数据表达能力。文中提供了详细的MATLAB代码示例,包括数据预处理、网络搭建、贝叶斯优化配置和预测结果评估等关键步骤。 适合人群:具备一定机器学习和时间序列分析基础,熟悉MATLAB编程环境,从事电力系统预测、智能电网、负荷管理等相关领域的研究人员、工程师及研究生。 使用场景及目标:①应用于居民级或多用户聚合负荷的短期至中期多步预测(如未来24小时);②服务于配电系统运行调度、需求响应基线设定、家庭能源管理系统优化、分布式能源协调控制等实际工程场景;③为科研提供可复现的深度学习+贝叶斯优化的技术路线参考。 阅读建议:此资源以实际项目为导向,建议读者结合提供的代码逐步实现并调试模型,重点关注数据质量控制、时间特征编码、组合网络结构设计与贝叶斯优化稳定性之间的协同关系,在实践中深入理解多步预测中的误差累积机制与超参数敏感性问题。
【无人机航测】MATLAB重叠率与地面分辨率协同设计:航线间距及飞行方向优化系统 MATLAB 无人机航测重叠率设计|地面分辨率与航线间距计算
内容概要:本文档介绍了基于MATLAB R2025b开发的无人机航测重叠率与航线间距计算系统,旨在通过建立统一的航测几何计算体系,实现重叠率、地面分辨率与航线间距的动态协同设计。系统结合相机参数、飞行参数、地形数据与风场信息,通过自动化候选航向搜索与多目标优化,选择兼顾覆盖质量、飞行效率与安全性的最优航线方向。项目涵盖从参数输入、摄影测量计算、地形与安全修正,到候选路线生成、综合评价与结果可视化的全流程,并构建了五万组模拟数据用于算法验证与模型训练,支持桌面交互、批量处理与服务化部署,适用于多种复杂场景下的无人机航测任务规划。 适合人群:具备一定MATLAB编程基础和摄影测量知识的科研人员、工程技术人员及高校师生,尤其适合从事无人机航测、地理信息系统(GIS)、遥感与测绘等相关领域的从业者。 使用场景及目标:① 实现无人机航测任务中地面分辨率与航线间距的精确计算与动态优化;② 解决复杂地形与风场环境下航线方向选择困难、覆盖质量难以保障的问题;③ 通过自动化设计减少人为经验依赖,提升航测任务的可靠性与效率;④ 为后续的三维建模、正射影像生成与灾害应急评估等应用提供高质量的数据基础。 阅读建议:建议读者结合文中提供的完整代码示例与GUI界面设计,逐步实践参数配置、模型计算与结果分析流程。重点关注摄影测量公式推导、地形修正策略与多目标优化算法的实现细节,并利用模拟数据进行敏感性分析与模型验证,以深入理解系统的设计理念与工程应用价值。


