第三次作业
结对作业一:校园失物招领小程序 —— 需求分析与原型设计
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | H202601软件工程与软件工程实践 |
| 这个作业要求在哪里 | 2026秋软件工程个人作业(第三次) |
| 这个作业的目标 | 结对完成校园失物招领小程序的需求分析与原型设计,梳理用户流程 |
| 成员1 | 102402121 陈韦融 |
| 成员2 | 102302113 王泽炜 |
| 原型工具 | Figma |
一、用户需求分析
1.1 主要用户
本软件的主要用户是在校学生,具体可分为两类:
- 失主:遗失了校园卡、钥匙、水杯、雨伞、耳机、书籍等物品,希望快速发布寻物信息并找到拾获者。
- 拾获者:在教学楼、宿舍、食堂、图书馆、运动场等场所捡到他人物品,希望发布招领信息并联系到失主。
此外,软件的间接用户还包括希望浏览信息、帮助扩散的普通同学。
1.2 用户核心需求
| 需求 | 描述 | 优先级 |
|---|---|---|
| 集中发布 | 能在一个平台集中发布寻物/招领信息,不再依赖班级群、朋友圈等分散渠道 | 高 |
| 关键词搜索 | 能通过物品名称(如"校园卡""钥匙")快速检索相关信息 | 高 |
| 信息不被覆盖 | 信息持久保存,不会被群聊新消息冲刷淹没 | 高 |
| 查看详情 | 能查看物品的详细描述、拾获/丢失地点、时间、联系方式 | 高 |
| 管理发布 | 能查看自己发布过的信息,并修改物品状态(如"已找回/已归还") | 中 |
| 简单易用 | 界面简洁,操作步骤少,学生无需学习即可上手 | 高 |
1.3 软件解决的问题
目前校园失物招领信息分散在班级群、宿舍群、朋友圈中,存在三大痛点:
- 信息分散:拾获者只在自己的社交圈发布,失主未必能看到;
- 易被覆盖:群聊消息滚动快,旧信息很快被淹没,查找困难;
- 无法检索:不能按关键词搜索历史信息,效率低下。
本软件通过集中发布 + 关键词搜索 + 持久化展示,让失主和拾获者在同一个平台高效匹配,提高校园失物归还率。
二、软件主要功能
- 首页浏览:默认展示全部失物/招领信息,支持按"寻物""招领"分类筛选,按时间倒序排列。
- 发布寻物信息:填写物品名称、丢失地点、丢失时间、详细描述、联系方式,提交后发布成功。
- 发布招领信息:填写物品名称、拾获地点、拾获时间、物品特征、联系方式,提交后发布成功。
- 搜索物品:在搜索框输入关键词(如"校园卡""雨伞"),系统返回匹配的信息列表。
- 查看信息详情:点击列表中的任意条目,进入详情页查看完整信息和发布者联系方式。
- 我的发布:查看本人发布的所有信息,可修改物品状态(进行中 / 已找回 / 已归还)。
- 修改信息状态:当物品已找回或已归还时,发布者可将该条信息标记为"已完成",避免他人继续联系。
三、用户使用流程
3.0 流程图
3.1 查看信息流程
进入首页 → 浏览/筛选信息列表 → 点击某条信息 → 查看详情 → 联系发布者
3.2 发布信息流程
进入首页 → 点击底部"发布"按钮 → 选择"寻物"或"招领" →
填写物品信息表单 → 点击"发布" → 发布成功 → 返回首页
3.3 搜索流程
进入首页 → 点击搜索框 → 输入关键词(如"校园卡")→
点击搜索 → 查看搜索结果列表 → 点击条目查看详情
3.4 管理我的发布
进入"我的"页面 → 查看"我的发布"列表 → 点击某条信息 →
修改状态(如标记为"已归还")→ 保存
四、原型设计
4.1 原型工具
本次原型设计采用 Figma 在线工具完成。Figma 支持多人实时协作,方便两人结对共同编辑,且无需安装客户端,通过浏览器即可访问。
原型效果展示:



4.2 页面清单
| 页面 | 说明 |
|---|---|
| 首页 | 顶部搜索栏 + 分类 Tab(全部/寻物/招领)+ 信息卡片列表 + 底部导航栏 |
| 发布信息页 | 类型选择(寻物/招领)+ 表单(物品名称、地点、时间、描述、联系方式)+ 发布按钮 |
| 搜索结果页 | 搜索框 + 关键词高亮的结果列表 |
| 信息详情页 | 物品名称、类型标签、地点、时间、详细描述、发布者联系方式、状态标记 |
| 我的发布页 | 本人发布的信息列表 + 状态修改入口 |
五、PSP 表格
| PSP 阶段 | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|
| 计划(Planning) | 20 | 10 |
| 需求分析(Analysis) | 40 | 30 |
| 原型设计(Design) | 90 | 100 |
| 流程图绘制 | 30 | 30 |
| 撰写博客文档 | 60 | 50 |
| 检查与修正 | 20 | 10 |
| 合计 | 260 | 230 |
六、结对过程记录
两人通过线下讨论 + 在线协作的方式完成本次作业:
- 需求讨论:共同阅读客户困扰描述,梳理出"信息分散、易被覆盖、无法检索"三大核心痛点,确定了"集中发布 + 搜索"的最小可行方案。
- 功能拆解:将需求拆解为首页浏览、发布、搜索、详情、我的发布 5 个核心页面,确保功能简单、流程清晰,便于第二次结对作业的代码实现。
- 原型制作:在 Figma 中共同搭建页面框架,一人负责首页与详情页,另一人负责发布页与搜索页,完成后互相 review 并统一设计风格。
- 流程图绘制:使用 draw.io 绘制用户使用流程图,确保各页面之间跳转逻辑清晰无歧义。
七、个人总结
通过本次结对作业,我对"表单设计"和"搜索体验"这两个看似简单的模块有了更深入的理解。在需求分析阶段,我们讨论了发布寻物/招领信息时到底需要收集哪些字段——太多会让用户望而却步,太少又不足以帮助双方匹配。最终我们确定了"物品名称、地点、时间、描述、联系方式"五个核心字段,其中联系方式支持微信/QQ/手机号多种形式,这个取舍让我体会到"够用就好"在产品设计中的重要性。
原型设计中我负责发布页和搜索结果页,遇到的最大挑战是发布页的"类型切换"交互和搜索页的"空状态"设计。发布寻物还是招领,本质上是两个不同的表单(一个要填"丢失地点",一个要填"拾获地点"),我们最终用顶部 Tab 切换 + 动态表单字段的方案,让用户不需要跳转页面就能完成切换。搜索页方面,除了正常的关键词高亮匹配外,我特意加上了"无结果时的推荐标签"和"历史搜索记录",因为考虑到用户可能记不清物品的准确名称(比如搜"水杯"可能找不到"保温杯"),这让我意识到好的设计不仅要处理"正常流程",更要照顾"异常场景"。
结对协作方面,我和队友分别负责不同页面,他在首页设计中采用的卡片式布局给了我发布页表单排版很多启发;而我在搜索页加入的空状态提示,也被他借鉴到了"我的发布"页面。后续如果再做类似作业,我会在原型阶段多画一些边缘场景的草图(比如表单填一半退出、搜索无结果等),让整体设计更完整。

浙公网安备 33010602011771号