maxtrnn / 社区团购app说明书+教程

Created Wed, 09 Oct 2024 00:31:00 +0800 Modified Thu, 24 Sep 2026 07:39:59 +0000
3807 Words

2024年10月9日08:31:29 待编写,项目已经完成


2024年10月12日10:17:17

  1. 引言 1.1 实训背景 随着网购的普及,在各大购物app购买一件物品是很容易办成的了,但是区域化的购物仍未有代表性的软件出现,实现区域的购物的简单 快捷,是我们软件的目标 1.2 实训目的 ● 掌握移动应用的设计原则与流程; ● 熟练掌握移动应用开发的相关技术; ● 提升团队协作与项目管理能力; ● 积累实际项目开发经验,为未来的职业生涯打下基础。 1.3 实训内容概述 本次实训项目为“社区团购平台”移动应用的设计与开发。该应用旨在为用户实现从网上购物的全过程,包括用户登录,选择商品,下单,购物车,商品添加等功能。我们小组从需求分析、设计、开发到测试,全程参与了项目的实施。
  2. 需求分析 2.1 用户调研 在设计社区团购平台的移动应用之前,用户调研是关键。可以通过以下方法进行调研: a. 问卷调查:收集居民对团购、商品种类、支付方式、物流体验等方面的偏好和需求。 b. 竞争分析:研究其他社区团购应用的功能和用户反馈,找出可改进的地方。 通过这些调研,可以深入了解用户需求,为应用设计提供数据支持。

以下是针对社区团购平台移动应用的用户调研结果:

  1. 用户偏好: ○ 85% 用户倾向于在一个平台上浏览多种商品。 ○ 多数用户希望能快速找到日常所需商品,如生鲜、日用品等。

  2. 支付方式: ○ 70% 用户偏好使用移动支付(如支付宝、微信支付),希望支付过程简单快捷。

  3. 用户体验: ○ 大部分用户希望应用界面友好、易于导航,能够快速找到所需商品。 ○ 对于团购活动,用户希望能设置提醒,以便不遗漏。 2.2 功能需求确定 基于用户调研结果,我们确定了“校园助手”应用的主要功能需求,包括: ● 登录注册账号,手机验证码实时交互登录和注册,支持保留账号信息:“记住我”登录; ● 注册页面细则要求齐全,头像昵称,账号手机号,验证码注册一体化 ● 首页商品线性预览,在线图片上传云端,实现快捷轻量存储多个商品; ● 搜索商品支持三类搜索结果呈现,优先是精确搜索匹配的商品,其次是多字匹配的商品,最后是模糊搜索(单字匹配)的商品展示; ● 预览商品详情页面,商品介绍,商品价格 ● 点击购买实时创建订单,支持购买多个,可以立即查看创建的订单; ● 商品加入购物车,支持加入多个商品,等待您付款清空购物车。 ● 购物车的商品可以选择性的结算,实时创建订单 ● 个人用户的消息只包含商品订单创建,商品运送的信息,支持单个信息点击查看访问订单运送状态 ● 个人主页面呈现您的头像与昵称,个人订单,地址设置,账号安全设置,个人信息设置,以及退出登录功能 ● 个人订单展现用户所有订单,时间排列,背景颜色代表订单状态,支持点击单个订单信息查看订单详情 ● 地址支持设置多个地址,点击设置一个地址选中实时更新为购买商品的收获地址,地址信息的保留为sharference存储 ● 账号安全,目前只支持更改密码,不支持更改手机号 ● 个人信息支持更改昵称和头像 2.3 非功能需求

  4. 引入了异或线程获取api的返回数据,避免了主线程的卡顿,提高了软件的流畅度

  5. 主线程选择阶段性的刷新,是用户获取的数据保持更新

  6. 不透露用户个人信息在源代码中,api获取的信息以及秘钥数据都在远端服务器,保证了用户数据的安全性能

  7. 设计阶段 3.1 架构设计 我们采用了MVC(Model-View-Controller)架构来设计“社区团购平台”应用。该架构将应用分为模型层、视图层和控制器层,有助于实现代码的模块化,提高开发效率。 3.2 界面设计 以下是社区团购平台移动应用的简单界面设计概述:

  8. 首页: ○ 顶部导航栏:包含应用名称和搜索框。 ○ 分类菜单:如 “分类一”,“分类二”等,便于用户快速浏览。 ○ 推荐商品区:展示个性化推荐和热门商品。

  9. 商品详情页: ○ 商品图片:大图展示商品。 ○ 商品信息:名称、价格等。 ○ 加入购物车按钮:明显位置,便于下单。 ○ 注释:由于服务器问题,暂无截图资源

  10. 购物车页面: ○ 商品列表:已选商品的简要信息、数量和价格。 ○ 总价显示:清晰标示当前购物车的总费用。 ○ 结算按钮:引导用户进入下单流程。 ○

  11. 订单跟踪页面: ○ 订单状态:实时显示订单进度,如“已下单”、“配送中”、“已送达”。 ○ 物流信息:配送员联系方式和预计送达时间。 ○

  12. 个人中心: ○ 用户信息:头像、昵称、联系方式等。 ○ 我的订单:查看历史订单和当前订单状态。 ○ 我的地址:查看我的收货地址。 ○ 设置:账户管理、信息设置等。 ○ 3.3 数据库设计 //由于目前服务器崩塌 数据库的内容有限:

用户表user { user_account账号; user_password密码; id(必须要的)//api调用需要 user_uuid标识; user_name名字; user_telephone; user_adress; }

商家表shopkeeper {shopkeeper_account;//不为空,数字组合,10位以上 shopkeeper_password;//不为空,6位以上 shopkeeper_name;//不为空 id;//主键,自动递增,从1开始 shopkeeper_shopid; shopkeeper_owenshop_id商家的店铺id/固定为1; }

商品表goods {id; goods_name; goods_introdroduce; goods_shop_id goods_creattime; goods_picture; } 商铺表shop {id; shop_id; shop_goodsnumber; } 订单表order { id; order_id; order_receive_account收货人账号; order_sender_account; order_sender_shop_id; order_goods_id; order_status//发货状态 待发货:waitingsend; 运送中transported;已收货received; order_send_adress; order_receive_adress; } talkmassage {id; user_account; shopkeeper_account; user_massage; user_massage_sendtime; shopkeeper_massage; shopkeeper_massage_sendtime; } statusmassage { id; order_id; order_status; status_massage_sendtime; }

  1. 开发阶段 4.1 技术选型 在开发阶段,我们选择了适合移动应用开发的技术栈。前端采用及时设计以及Androidtools编写相应的前段界面,后端选择gradle+java以及Maven的交互实现基本功能,数据库采用云服务器的MySQL数据库的交互以及本地的sharference相关的文件存储。 4.2 编码实现 在编码实现过程中,我们按照功能模块进行划分,每个成员负责一个或多个模块的开发。 以下为功能模块展示: ● 用户模块: ○ 注册/登录 ○ 个人信息管理 ○ 地址管理 ○ 账户设置 ● 商品模块: ○ 商品浏览(搜索) ○ 商品详情查看 ○ 商品推荐 ● 购物模块: ○ 购物车管理 ○ 订单下单 ○ 支付功能 ● 订单模块: ○ 订单历史查看 ○ 订单状态跟踪 ○ 订单详情管理(修改、取消)

我们还使用了版本控制工具Git来管理代码,确保团队成员之间的协作顺畅。

4.3 调试与优化 在开发过程中,我们遇到了不少问题,如性能瓶颈、兼容性问题等。通过查阅文档、搜索解决方案、请教老师等方式,我们逐步解决了这些问题。同时,我们还对应用进行了性能优化,提高了应用的响应速度和稳定性。 性能瓶颈的识别与解决 ● 使用 Profiler 工具:我们利用 Android Studio 内置的 Profiler 工具监测了应用的内存使用、CPU 使用率和网络请求等情况。通过分析,我们发现某些界面加载时间过长,主要是由于过多的不必要网络请求和图片加载导致。 ● 优化网络请求:我们采用了云端的MySQL库,减少了冗余请求,并使用缓存机制来存储常用数据,从而提升了响应速度。 用户体验的提升 ● UI优化:根据用户反馈,我们对 UI 进行了优化,使其更加简洁友好。最终决定用最常用的约束布局来作为整个程序的主体UI布局框架 持续集成与测试 ● 自动化测试:编写了单元测试和 UI 测试,确保应用的各个功能模块在修改后仍然能正常工作。 5. 测试阶段 5.1 单元测试 在开发过程中,我们注重单元测试的编写。通过编写测试用例,我们验证了各个功能模块的正确性,确保了代码的质量。 通过执行每一个页面的Activity以及单独的测试api解析数据,传递变量,来测试页面获取数据传递数据,能否正常运行,成功才会加入到源代码中 前端确保新的页面能够实现相关页面之间能够流畅跳转。确保前端传递的数据能被后端接受到并上传至云端。 5.2 集成测试 在功能模块开发完成后,我们进行了集成测试。通过模拟真实场景下的用户操作,我们验证了各个功能模块之间的协同工作是否正常。 先通过小组电脑的运行是否能正常运行单个模块挥着整个项目,各个页面的集合测试与跳转,最后我们又在每个组员的手机进行debug.app的测试,以及注册账号使用的测试 5.3 用户测试 我们邀请了部分目标用户进行用户测试。通过收集用户的反馈意见,我们发现了应用中存在的一些问题。 以下是用户测试中发现的一些问题及相应的反馈意见:

  1. 界面复杂性: ○ 用户觉得某些页面信息过于简单,导致导航困难。
  2. 商品搜索: ○ 搜索功能不够精准,用户反映无法快速找到特定商品。
  3. 订单跟踪: ○ 用户希望能更直观地查看订单状态,反馈信息不够及时。
  4. 物流信息: ○ 对于物流更新,用户希望能够收到更详细的推送通知。
  5. 应用稳定性: ○ 部分用户反馈在特定情况下应用崩溃,需加强稳定性测试。 根据这些问题,团队进行了相应的修改和完善,以提升用户体验。
  6. 团队协作与项目管理 6.1 团队协作 在实训过程中,我们注重团队协作。通过定期召开会议、分配任务、共享资源等方式,我们确保了团队成员之间的信息畅通和协作顺畅。同时,我们还建立了良好的沟通机制,及时解决了团队内部的问题和矛盾。 其中A同学贡献度30%, B同学贡献度25%, C同学贡献度25%, D同学贡献度20% . (如果不填写,默认贡献度相等) 6.2 项目管理 1.项目计划 ● 需求收集:与利益相关者(如社区居民、商家)进行深入交流,收集和分析需求,确保项目目标明确。 ● 迭代规划:将项目分为多个迭代周期,每个迭代周期中选择优先级最高的功能进行开发。
  7. 持续反馈 ● 用户测试:在每个迭代结束时,邀请用户进行功能测试,收集反馈,及时调整产品方向。
  8. 质量保证 ● 代码审查:实施代码审查制度,确保代码质量和可维护性。
    相关截图:2024-10-12T02:18:56.png2024-10-12T02:19:04.png2024-10-12T02:19:13.png2024-10-12T02:19:18.png2024-10-12T02:19:28.png

2024-10-27T10:46:44.png