结对作业:校园失物招领小程序——需求分析与原型设计

内容 说明
课程 H202601软件工程与软件工程实践(福州大学-计算机与大数据学院)
作业要求 2026秋软件工程个人作业(第三次)
作业目标 完成“校园失物招领小程序”的需求分析与原型设计
学号姓名 052403108 王凯凤 072401214 王恩嘉

《构建之法》读后感

读完《构建之法》第3章和第8章,我对软件工程有了更具体的理解。以前我总觉得软件工程就是“把代码写出来”,但这两章让我意识到,写代码只是其中一部分,更重要的是判断自己、理解需求,并在协作中把事情做稳。

第3章让我重新思考了软件工程师的成长。书中提到,衡量一个工程师不能只看他能不能写出功能,还要看他能不能稳定交付、能不能和别人合作、能不能按质按量完成任务。一个人偶尔写出漂亮的代码并不难,难的是在团队里持续可靠地输出。我还对“技能的反面”这个说法印象很深。技能的反面不是没有技能,而是还在为低层次问题反复消耗精力。比如写代码时如果总在查语法、配环境、调基础错误,就很难把脑子腾出来思考设计和质量。只有把基础操作练到接近自动化,才有余力处理更高层次的问题。结对合作也让我有了新的认识。它不是一个人写、一个人在旁边看,而是两个人不断讨论、评审和轮换角色。驾驶员关注当前代码,领航员关注整体方向和潜在问题,这样能更早发现盲区,也能让知识在两个人之间流动。对我来说,这意味着以后不能只顾自己埋头写,而要主动表达、耐心倾听,在协作中暴露问题、解决问题。

第8章则让我明白,需求分析不是把用户说的话简单记下来。用户说的往往只是表面要求,真正的需求需要获取、分析、验证和管理。书中那条从“用户需要的”到“用户表达的”,再到“团队理解的、写进文档的、写成代码的、测试通过的”链条,让我印象很深。每一层都可能出现偏差,最后做出来的东西可能早就不是用户真正想要的了。NABCD框架给我提供了一个判断需求的工具,它让我知道面对一堆功能时不能只看“想不想要”,还要看它解决什么问题、怎么做、有什么好处、竞争环境如何、能不能推广。原型设计也是类似的作用,通过低保真原型、线框图或简单页面,让用户尽早看到、尽早反馈,避免代码写完才发现方向错了。原型不是多余步骤,而是用较低成本换取更准确的理解。

这两章放在一起看,其实都在讲“判断”。第3章讲的是如何判断自己的能力和边界,第8章讲的是如何判断需求的真伪和优先级。软件工程没有标准答案,书里给的框架和例子只是参考,真正做决定的时候,还是要靠自己在实践中积累经验,并诚实地面对自己的不足。对这次个人作业来说,我不会一上来就写代码,而是先做需求分析和功能清单,用NABCD判断优先级,再画原型验证理解,最后才进入实现。同时我也会记录自己的估计时间和实际耗时,慢慢提高交付的稳定性。这样的过程比单纯完成一个功能更有意义,也更接近真正的软件工程。

一、主要用户、需求以及主要解决的问题

用户

本软件的主要用户是校园中的学生,其中既包括丢失物品后希望尽快找回的失主,也包括捡到物品后希望尽快找到失主的拾得者。除此之外,食堂、图书馆、宿舍楼、教学楼服务台等场所的工作人员也可能成为使用者。因此,本软件的用户需求并不是单一的“看信息”,而是围绕“发布—浏览—搜索—联系—确认”形成完整闭环。

需求分析

从失主角度看,他们最需要的是在丢失物品后能够快速发布寻物信息,说明物品名称、丢失地点、丢失时间、物品特征和联系电话,并能通过关键词搜索确认是否已经有人捡到。失主还希望看到物品图片、地点、时间、当前状态和发布者联系方式,以便核对信息并尽快联系。从拾得者角度看,他们捡到物品后需要一个方便、集中的渠道发布招领信息,避免只在班级群或朋友圈发一条消息,结果失主没有看到。拾得者同样需要填写联系电话,并希望在物品归还后可以把状态标记为“已解决”或“已归还”。从服务台人员角度看,他们需要把代管物品统一发布出来,让失主可以通过分类浏览或搜索找到。从普通浏览者角度看,用户希望首页信息清晰,可以按“全部、寻物、招领”筛选,搜索时既能按物品名称查,也能按地点查,操作要简单直观。

结合现有校园失物招领的实际困扰来看,目前同学们主要通过班级群、宿舍群、朋友圈等渠道发布信息。这些渠道虽然使用方便,但信息非常分散,而且随着群聊消息不断增加,之前发布的消息很容易被覆盖,查找起来并不方便。例如,一名同学在教学楼捡到一张校园卡,如果只在班级群或朋友圈发布招领信息,丢失校园卡的同学未必能够看到这条消息;反过来,失主发布的寻物信息也可能很快被其他聊天内容淹没。由于信息不对称,失主和拾得者往往需要花费大量时间反复询问,失物归还效率较低。

解决的问题

因此,本软件主要解决的是校园失物招领信息分散、更新快、容易被覆盖、查找效率低的问题。通过登录进入系统后,用户可以在首页集中浏览失物和招领信息,并按类型进行筛选;可以在搜索页输入物品名称或地点关键词快速查找;可以进入详情页查看图片、地点、时间、状态、描述和联系电话;可以直接点击打电话联系发布者;也可以进入发布页填写寻物或招领信息,发布成功后在自己的“我的发布”中查看和管理状态。

二.主要功能

本软件围绕校园失物招领场景,主要提供登录、浏览、搜索、查看详情、联系发布者、发布信息、状态管理和个人发布管理等功能。

登录

用户打开小程序后,可以先通过学号或用户名登录,也可以选择微信一键登录。

整体浏览及分类筛选

登录成功后进入首页,首页以列表形式集中展示校园内的失物和招领信息,每条信息都包含物品图片、名称、类型、地点、时间、状态和联系电话等关键信息。用户可以在首页通过“寻物、招领”两个标签进行筛选,快速查看自己关心的信息类型。

搜索物品

也可以点击首页顶部的搜索栏进入搜索页,输入物品名称或地点关键词进行查找,搜索页同样支持按“寻物、招领”分类过滤,如果没有匹配结果,会给出“没有找到相关物品”的提示。

查看物品详情

在浏览信息时,用户可以点击任意一条物品卡片进入详情页。详情页会展示物品图片、物品名称、信息类型、丢失或拾获地点、时间、当前状态、发布者以及联系电话,并显示详细的物品描述,方便用户核对物品特征。

联系发布者及修改信息状态

如果用户确认这条信息与自己有关,可以点击“打电话”按钮联系发布者;如果物品已经找回或已经归还,发布者也可以点击“标记已解决”,系统会弹出提示,说明物品状态已更新为“已解决”,其他同学将不再看到这条信息。这样,浏览、搜索、详情查看、联系发布者和状态更新就形成了一个完整的失物招领闭环。

发布信息

对于需要发布信息的用户,本软件提供发布功能。用户进入发布页后,可以在“寻物”和“招领”之间切换,填写物品名称、丢失或拾获地点、时间、物品描述以及联系电话,还可以选填物品图片。联系电话是必填项,方便失主和拾得者直接联系。填写完成后点击“发布”,系统会弹出发布成功弹窗,并提示用户可以查看“我的发布”或返回首页。发布成功后,信息会进入首页和搜索列表中,供其他同学浏览和查找。

个人中心

在“我的”页面中,用户可以查看自己的基本信息,包括头像、姓名、学院和年级,还可以查看自己发布过的失物招领信息,以及每条信息的当前状态。用户可以在该页面管理自己的发布内容,也可以在需要时退出登录,返回登录页。此外,本软件还通过底部导航栏提供“首页、发布、我的”三个主要入口,方便用户在不同功能之间快速切换;通过 Toast 轻提示和成功弹窗,对登录、发布、标记已解决、退出登录等操作给出即时反馈,使整个使用过程更加清楚、流畅。

从整体上看,本软件的主要功能可以概括为:用户能够登录系统,集中浏览和分类查看失物招领信息,按关键词搜索物品,查看物品详情并联系发布者;发布者能够发布寻物或招领信息,上传物品图片,查看自己的发布记录,并在物品找回或归还后标记已解决;系统则通过页面切换、状态提示、成功弹窗和底部导航等方式,保证用户操作简单、反馈及时。这些功能共同解决了校园失物招领信息分散、查找不便、联系效率低的问题,提高了失物归还的效率。

三.用户使用流程

用户首先进入校园失物招领系统并完成登录,登录成功后进入系统首页。

cecb65bdf58e845a525d14ca516ceee1

用户可以在首页浏览失物招领信息,也可以通过搜索功能按照物品名称或地点查找相关信息。搜索界面用于帮助用户快速查找目标物品。用户可以在首页点击搜索框进入搜索页,输入物品名称、地点等关键词,系统会根据关键词实时筛选并展示匹配的失物或招领信息。搜索结果支持“寻物”和“招领”两种类型筛选,用户可点击标签切换查看。当没有符合条件的信息时,页面会提示“没有找到相关物品”,从而使用户能够清楚地了解当前搜索结果。

c744db28d5eb19db9ee679ee53c96287

点击任意结果卡片可进入物品详情页,查看物品的详细描述、地点、时间、发布者及联系电话。在详情页中,用户可点击“打电话”按钮联系发布者,系统会跳转至拨打界面并显示“正在拨打中”及挂断按钮;也可点击“标记已解决”按钮,系统弹出确认提示,标记后该信息将从首页列表中移除,用户可选择返回首页或查看我的发布。

c2ee7d6b35853fd04b15c0eb5a6f0b07

若用户需要发布失物或招领信息,则进入发布页面,发布界面用于帮助用户提交丢失或拾获的物品信息。用户从底部导航点击“发布”进入,顶部可切换“寻物/招领”类型,填写物品名称、地点、时间、联系方式等,点击“物品分类”或“地点类型”会弹出底部选择面板辅助录入。填写完成后点击“发布”,系统弹出“发布成功”提示,用户可跳转至“我的发布”查看记录,并对已发布信息进行删除或标记已找回/已认领。

整个流程围绕“登录—浏览/搜索—查看—联系或发布—管理”展开,满足校园失物信息查询与发布的基本需求。

微信图片_20260926222130_23_1

四.原型展示

本次原型设计使用墨刀制作。

[失物招领小程序](https://modao.cc/proto/rsZMNYg3tlzip7xilWRKB/sharing?view_mode=read_only&screen=rbpVWLyMh34hCbMtY #失物招领小程序-分享)

登录

登录界面是用户进入系统后的第一个操作页面,主要提供用户身份登录功能。界面包含“学号/用户名”和“密码”输入框,同时提供普通账号登录和微信一键登录两种方式。用户填写登录信息后点击“登录”,系统进入首页;如果选择微信一键登录,则进入微信授权登录流程。

c21eed5b7b8aca76adfa91f42868884b

系统首页

登录成功后进入系统首页。首页主要用于展示校园中的失物招领信息,并提供快速搜索入口。
页面顶部设置搜索框,用户可以直接进入搜索功能;下方设置“全部”“寻物”和“招领”三个分类标签,方便用户根据需求筛选信息。每条信息以卡片形式展示,包括物品图片、物品名称、信息类型、地点、时间、当前状态以及联系电话等基本信息。

8b1309749afbd46e3a85631f754a6017

搜索界面

搜索界面用于帮助用户快速查找目标物品。用户可以输入物品名称或地点进行搜索,系统会根据输入的关键词筛选相关信息。同时,搜索结果支持“寻物”和“招领”两种类型筛选。当没有符合条件的信息时,页面会提示“没有找到相关物品”,从而使用户能够清楚地了解当前搜索结果。

image

物品详情界面

用户点击首页或搜索结果中的某条物品信息后,可以进入物品详情界面。详情页面主要展示物品图片、物品名称、信息类型、地点、时间、当前状态、发布者、联系电话以及物品描述等详细信息。页面底部提供“标记已解决”和“打电话”两个操作按钮。通过该页面,用户可以进一步了解物品的具体情况,并与信息发布者进行联系,从而完成失物寻找或认领过程。

image

信息发布界面

发布界面用于用户发布新的寻物或招领信息。用户首先选择“寻物”或“招领”类型,然后填写物品名称、丢失/拾获地点、时间、物品描述和联系电话等信息,同时可以选择上传物品图片。完成信息填写后点击“发布”,系统显示发布成功提示,并提供“查看我的发布”和“返回首页”两个后续操作入口。

4f3e1cf7cf9b777658b1bf287290fa50

个人中心

“我的”页面主要用于管理用户个人发布的信息。页面顶部显示用户的基本信息,下方展示用户已经发布的失物招领记录,并显示每条信息当前的处理状态,例如“寻找中”和“已归还”。页面底部还提供退出登录功能,用户可以通过该功能退出当前账号并返回登录界面。

5b291ada03ac5bcbe292c7c9601a9f57

五.预估耗时与实际耗时

任务阶段 预估耗时 实际耗时 说明
需求分析 0.5 h 0.6 h 阅读客户困扰,确定主要用户和核心需求
页面设计与布局规划 1.5 h 1.5 h 确定登录、首页、搜索、详情、发布、我的六个页面
原型制作 2.5 h 3.0 h 制作卡片、标签、按钮、底部导航、成功弹窗
相互检查与修改 1 h 1.5 h 改正因制作思路细节差异产生的功能错位或冗余
交互 1.5 h 1 h 联调搜索、分类、发布成功、标记已解决
测试与问题修复 1.0 h 0.5 h 测试 状态栏、弹窗、空搜索结果
合计 8.0 h 8.1 h 两人共同完成,实际因联调和文档略超预估

六.结对过程

我和室友两人一组完成本次作业。因为住在一起,讨论起来很方便,经常在宿舍里对着同一块屏幕边聊边改。

第一步,我们一起读《构建之法》相关章节,然后躺在床上聊校园失物招领的痛点。聊着聊着发现功能越加越多,最后决定砍掉聊天、地图,只留发布、搜索、详情和状态更新四个核心流程。

第二步,分工。室友负责需求梳理和画流程图,我负责墨刀原型和交互。遇到分歧就当面争论,比如发布页太长一屏放不下,我们试了好几种排版,最后把提示合并、表单压缩才搞定。

第三步,互相挑毛病。我检查他的流程图,发现“标记已解决”后首页记录没同步删除;他看我的原型,提醒搜索页少了“没有找到相关物品”的提示。我们当晚就改完,又一起模拟失主操作走了一遍流程。

第四步,一起截图、整理博文,确认墨刀分享链接能公开访问。

七、个人总结

收获

通过这次实践,我学会了从真实使用场景出发去拆解需求。在设计发布页时,我意识到用户填写信息的耐心有限,于是把原来冗长的表单压缩成“信息类型—基础信息—补充信息”三段结构,并把“物品分类”“地点类型”做成底部弹层选择,避免手动输入。在设计“我的发布”时,我考虑到用户发布后需要持续跟进,于是为每条信息设计了“展示中/已隐藏”的状态标签,以及“标记已找回/已认领”“删除”两个操作按钮,让发布者能闭环管理自己的信息。此外,我还理清了页面之间的数据联动:在“我的发布”里删除或标记某条记录后,首页和搜索页要同步移除,这一点通过共用数据源和统一 id 实现。这次结对让我体会到,原型设计不仅是画页面,更要考虑数据在页面之间如何流动。

遇到的问题

我遇到的最大问题是发布页内容过长,一屏放不下。一开始我照搬常见表单样式,结果标题、警告、字段、上传框加起来远超手机一屏高度,截图放到墨刀后严重变形。后来在队友建议下,我把标题和警告合并成一条紧凑提示,把基础信息和补充信息合成一张卡片,上传图片也缩成一行,最终压到 560px 以内,一屏就能完整展示。

另一个问题是墨刀团队空间默认不开放公开分享,访问权限只能选“仅企业内成员”。我试过在设置里找选项但没有找到,后来切换到个人空间新建项目,才成功生成公开链接。这个小插曲让我意识到工具的环境限制也会影响交付。

在和队友讨论时,我们对详情页“标记已解决”的处理方式也有过分歧:我认为只需要弹窗提示即可,队友认为要同步删除首页和搜索页的对应记录,否则用户会困惑“明明标记了为什么还能看到”。后来我们模拟了一次完整的发布—浏览—标记流程,确认了队友的担忧是合理的,最终统一了数据同步逻辑,并让“我的发布”保留已隐藏状态,首页则直接移除。这次作业让我明白,原型阶段就要把状态变化想清楚,否则后续开发会不断返工。

posted @ 2026-09-27 14:54  王凯凤  阅读(14)  评论(0)    收藏  举报