本项目参考的是某站黑马程序员视频,结合学校实际情况改进完成
软件学院“快购”小程序项目
【软件开发计划书】
小组成员:
指导老师:
完成日期:2024年3月17日
“
二、项目开发计划
1.引言
1.1编写目的
“快购”小程序软件为软件学院的学子提供购物和货品交换的功能。在实际的购物中,如果学生和老师想要进行资源的重利用需要在二手群里面和别人进行交流,但是交换双方可能没办法在同一时间进行交流,效率低下,所以可以提供购物小程序,将商品挂在平台上,可供所有的师生进行挑选,因此“快购“发挥了巨大的意义
在日益发展的时代,越来越多的人选择了用手机进行购物,使得移动购物的应用需求快速提升。处于校园中的学生和老师也是如此,并且微信的使用十分频繁,因为微信具有庞大的流量人群和完善的支付体系,是我们进行购物的理想平台。在用户习惯的条件下,我们有了在微信上搭建小程序的线上购物服务这个想法,可以降低我们的开发成本并提供更多的销售渠道,并为软件学院学生提供了便捷的服务和好的体验。
1.2项目背景
为了保证项目的按时保质的完成目标,让师生能够更好的了解项目的开发背景和功能,并提供宝贵的建议和优化,因此以文件的形式展现出来。把对于项目中的一些具体的分工范围,和项目分解,项目的组成结构,以及分工情况进行汇总,增加团队内外的沟通方式,让团队内的开发人员和用户能够更好的了解到整个项目的一些具体流程以及项目的实施过程。书面的表达可以更好的让团队成员的约定以及达成共识,文件是项目能供有序的进行开发和完成的依据。
1.3定义
1.小程序的API:小程序的API是由宿主环境提供的,通过这些丰富的小程序API,开发者可以方便的调用微信提供的能力,例如:获取用户信息、本地存储、支付功能。
2.生命周期:是指一个对象从创建、运行、销毁的整个阶段,强调的是一个时间段。
3.生命周期函数:是由小程序框架提供的内置函数,会随着生命周期,自动按次序执行。
4.WXS(weixin Script):是小程序独有的一套脚本语言,结合WXML,可以构建出页面的结构。
1.4参考资料
2.项目概述
2.1工作内容
【简要说明项目的各项主要工作,介绍所开发软件的功能、性能等。若不编写可行性研究报告,则应在本节给出较详细的介绍。】
①主要工作:编写前端用户界面;软件本体基本功能的实现;用户,商品和商家数据库的建立;服务器的搭建,需要能够完成数据库之间和数据库与用户终端信息的交互。
②软件的功能:
序号 | 功能 | 功能说明及注意事项 |
000 | Table | 包含推荐,分类,购物车,我的4个页面 |
001 | 注册 | 顾客和店铺商家的注册(要分为用户和店铺2种账号,店铺额外具有上架功能,普通用户无法互相关注) |
002 | 登录 | 用户登录 |
003 | 查看用户信息 | 查看自己或者买家或者店铺的信息 |
004 | 编辑个人信息 | 编辑个人/店铺信息 |
005 | 注销账号 | 主动删除账号,应该需要审核和身份验证 |
005.2 | 退出登录 | 退出登录,不是主动删除账号 |
006 | 账户清理 | 删除违规用户账号 |
007 | 封禁处理 | 封禁账号仅可查看用户和商品信息,无法进行购买或上架和销售产品。并将其身份信息加入黑名单 |
008 | 关注店铺 | 可以关注一个店铺,方便以后再来。不再看就取关 |
101 | 上架商品及信息编辑 | 新建一个商品然后填写相关信息(名称,品牌等) |
101.2 | 下架商品 | 商家主动下架。或因违规,平台强制下架 |
102 | 店铺内搜索 | 在店铺信息页面可以搜索店铺里的商品 |
103 | 商品留言 | 在商品页面可以给店家留言询问商品情况,此功能在个人页面/店铺页面的消息按钮里,点击留言自动能跳转到对应的商品页面 |
104 | 购物车 | 在table界面的购物车。可以从商品页面添加内容。付款时要能够选择买下购物车中哪些商品来结算应付(不能带优惠券的,只会更复杂,还得算实付) |
105 | 购物车角标 | 显示购物车里有多少商品(所有选中数量相加) |
105.2 | 商品数量 | 可以选择数量。rt ==> |
106 | 收货订单(买家) | 可以查看物流状态,不付款就不创建订单,麻烦 |
106.2 | 发货订单(卖家) | 功能一样,为了避免混淆买卖家,所以提了一嘴 |
107 | 退款 | 店铺需要同意,卖家才能退款,或者平台介入 |
108 | 收藏 | 用☆收藏商品(店铺能关注就不用收藏了) |
201 | 分类 | 店铺根据类型选择店铺的分类词条(新词条需审核) |
201.2 | 分类/搜索 | 在分类页面选择想用的词条,但仅显示有店铺用的,来实现分级分类;同一个界面也可以搜索店铺名称(要能保留搜索记录) |
202 | 主页搜索 | 搜索的是商品名称(要能保留搜索记录,记录与上面的分开) |
203 | 推流 | 分享店铺商品;让人气商品上主页;付费增加曝光 |
204 | 推荐 | 按照你平时查看的东西推荐一些相似的产品 |
下面是杂项,以后还会补充 | ||
$01 | 加载 | 加载时出现一个加载提示 |
$02 | 收货地址 | 买家填收货地址的地方,一样要存在数据库中云端保存,一个人可以填写多个地址,用的时候能够选择,还要能增删改。创建订单时也要能够选择 |
$03 | 支付 | 做个皮,因为我们好像申请不到微信支付的接口 |
$04 | 主页轮播图 | 显示推流的东西 |
$05 | 商品页面轮播图 | 在商品页面最上方能轮换商品的图片(卖家可以提供多个图片,且只有一个图片时不能左右滚动) |
③性能
编号 | 性能名称 | 使用部门 | 性能描述 | 输入 | 系统响应 | 输出 |
1 | 店铺与商品查询 | 店铺,买家,管理员 | 在数据库中能够查询到相应店铺的相应产品 | 店铺名称,商品名称等 | 1.0秒内列出所有符合条件的商品 | 输出符合要求 的记录 |
2 | 推荐商品 | 买家,管理员 | 系统推荐与用户最近浏览商品类似的商品和人气高的商品(人气按照浏览量和销量综合评估) | 用户最近的浏览内容;商品的人气 | 1.0秒内完成推荐 | 输出符合要求 的记录 |
3 | 用户信息和商品信息的增删改 | 买家,店铺,管理员 | 能够增删改相应数据 | 相应的内容 | 0.5秒内进入编辑页面,0.5秒内保存编辑 | 输出提示信息 |
4 | 支付 | 买家,店铺 | 买家能够为商品付款,店铺能够购买曝光量(但有限) | 支付按键的事件信号 | 2秒内弹出相应地支付页面(有各种安全验证,所以慢) | 输出提示信息 |
5 | 检查信息的规范性 | 买家,店铺,管理员 | 检查商品介绍和用户信息的规范性,拒绝保存不规范数据 | 用户名,店铺简介等 | 0.5秒内完成检查 | 输出提示信息 |
6 | 报表输出 | 买家,店铺,管理员 | 用报表形式显 示出数据库中 的所有记录 | 输入需要显示的报表 | 在5秒内显示出 所有数据库中的记录 | 输出需要的报表 |
2.2条件与限制
需求:首先需要为每个开发人员的电脑装配需要的开发环境;一台云服务器;开发成员需要相关知识的培训。
已具备条件:程序员的基本编程思想,最初实验所需的环境和计算机,1个月免费试用的云服务器(比如阿里云)
仍需创造的条件:支付API等接口的使用许可申请,开发者的技能需要完善,
2.3产品
2.3.1程序
小程序名称:“QS”(Quick shopping)微信小程序
使用语言:项目前端使用HTML5 +CSS3以及JavaScript进行页面布局优化;后端使用Java进行项目开发。
2.3.2文档
《需求规格说明书》、《软件开发计划书》、《软件设计说明书》 、 《测试报告》、《用户使用说明书》
2.4运行环境
操作系统: Windows10 旗舰版
数据库系统: SQL SERVER 2019
IDE: IntelliJ IDEA 2023.3.2、HBuilder 3.1.22
测试工具: HBuilder 3.1.22
浏览器: Chrome
硬件: 前期使用个人 PC 当本地的服务器,服务器数量:6 台(一台备份用)。
PC工作站的具体配置:
处理器:AMD Ryzen 7 4800U with Radeon Graphics 1.80 GHz
内存:32.00GB
硬盘容量:1TB
输入输出设备:打印机等。
网络设备:宽带
后期需要租用云端的服务器。
所需服务器的配置:
CPU:Intel Xeon E5-2680 2.50GHz 以上
内存:4GB 以上
硬盘:至少 120GB 以上
其他开发工具包括:VS code,IntelliJ IDEA
运行时需要的支持条件
一、服务器的要求
1.服务器的中央处理部件(CPU)建议使用 Xeon E5-2680 或配置更高的处理器芯片。
2.服务器内存必须使用服务器专用 ECC 内存。
3.为了保证数据存储的绝对可靠,硬盘应使用磁盘冗余阵列(RAID 01)。
4.为了防止服务器不可预测的故障,或者服务器的定期维护对公司整个业务造成的影响,建议使用两台服务器。两台服务器应构成双机热备份,中间使用 Watchdog 电路。这样的结构可以保证整个系统的长时间不间断工作,即使在服务器定期维护的时候也可以使用另一台服务器工作。
5.服务器应支持热插拔电源。
6.服务器必须配备 UPS(不间断电源)。
7.服务器应放在学校内部或云端。不然无法进行程序调试。
8.服务器应该必须有固定 IP 地址。
9.其他性能在经济条件允许的情况下,应该尽量使用高速稳定的配件。
二、服务器上应该配备的软件
1.操作系统:Microsoft Windows 2022 server 或更高级别的操作系统。
2.数据库:Microsoft SQL Server 2019
3.服务器必须使用专业的防火墙和反病毒软件。
4.除了为了运行必须配备的程序以外,服务器上建议尽量不要安装其他无关程序,以减少程序的混乱或者程序的意外冲突。
2.5服务
作为开发单位我们会像用户提供以下服务,用来确保小程序的顺利运行和用户满意度的提升:
- 人员培训:
- 我们将提供对于小程序管理员的专业培训,培训的内容包括但不限于对于小程序的基本操作、功能设置、数据更新、以及简单的bug维修等内容,确保用户可以熟练地掌握小程序的使用方法和对于一些突发情况的应变能力
- 对于技术人员,我们会提供小程序开发框架、API接口、数据交互等方面的深入培训,帮助用户提升技术能力,可以更好地进行小程序的定制和开发
- 安装与部署:
- 我们负责小程序的安装与部署工作,包括但不限于服务器环境的搭建、代码上传、域名配置等等,确保小程序可以顺利上线。
- 同时我们将根据用户的需求,提供个性化的配置服务,来满足不同用户的特殊需求。
- 保修
- 在小程序部署完成后,我们将提供一定期限的保修服务,期间如果出现因为开发的原因而导致的功能障碍或性能问题从而影响小程序的正常运行情况,我们都将及时修复。
- 保修期限结束之后,我们依然会提供技术支持,来帮助用户解决遇到的问题。
- 维护
- 我们会定期对小程序进行维护和更新,确保小程序的稳定运行和安全性
- 同时对于用户在使用过程中遇到的任何问题,我们将提供及时的技术支持,通过在线沟通、远程协助等方式解决问题。
- 其他运行支持
- 根据用户的需求,我们可以提供小程序的数据分析服务,帮助用户了解使用群体的行为、优化运营策略
- 我们还可以根据用户的市场需求,提供小程序推广、营销支持等服务,帮助用户提高业务的收益
我们承诺竭诚为用户提供优质的服务,确保小程序的顺利进行和用户满意度的提升。我们将以专业的技术、热情的服务,为用户创造更大的价值。
2.6验收标准
3.实施计划
3.1任务分解
主要职责 | 角色 | |
安排项目分工、控制项目进度、项目设计与编码、发布 | 项目经理,编码,系统架构 | |
需求分析、首页与搜索栏模块代码编写 | 设计、编码、文档 | |
需求分析、商品页面与购物车、代码编写 | 设计、编码、文档 | |
需求分析、用户登录与支付功能编码 | 设计、编码、文档 | |
后端数据库设计与维护 | 编码、文档 | |
项目测试、会议记录 | 测试、文档 |
3.2进度
任务名称 | 工期 | 开始时间 | 完成时间 | 前置任务 | 主要人员 | |
1 | 项目启动 | 2个工作日 | 3月13日星期三 | 3月14日星期四 | 项目团队 | |
2 | 项目分工 | 1个工作日 | 3月15日星期五 | 3月15日星期五 | 项目团队 | |
3 | 需求分析阶段 | 18个工作日 | 3月18日星期一 | 4月11日星期四 | 1 | 模块开发人员 |
4 | 明确需求分析阶段任务并分工 | 1个工作日 | 3月18日星期一 | 3月18日星期一 | 项目经理 | |
5 | 获取需求 | 2个工作日 | 3月19日星期二 | 3月20日星期三 | 4 | 模块开发人员 |
6 | 初步确定需求 | 3个工作日 | 3月21日星期四 | 3月25日星期一 | 5 | 模块开发人员 |
7 | 再次获取需求 | 3个工作日 | 3月26日星期二 | 3月28日星期四 | 6 | 模块开发人员 |
8 | 最终确定需求 | 3个工作日 | 3月29日星期五 | 4月2日星期二 | 7 | 项目经理 |
9 | 绘制系统用例图 | 2个工作日 | 4月3日星期三 | 4月7日星期日 | 8 | 需求文档编写人员 |
10 | 编写需求规格说明书 | 4个工作日 | 4月8日星期一 | 4月11日星期四 | 8 | 需求文档编写人员 |
11 | 系统设计阶段 | 个工作日 | 4月12日星期五 | 4月30日星期二 | 3 | 模块开发人员 |
12 | 明确系统设计阶段任务并分工 | 1个工作日 | 4月12日星期五 | 4月12日星期五 | 项目经理 | |
13 | 设计系统功能模块 | 3个工作日 | 4月15日星期一 | 4月17日星期三 | 12 | 数据库设计人员 |
14 | 设计系统的数据库并绘制关系图 | 7个工作日 | 4月18日星期四 | 4月26日星期五 | 13 | 数据库设计人员 |
15 | 编写设计文档 | 3个工作日 | 4月28日星期日 | 4月30日星期二 | 14 | 设计文档负责人 |
16 | 系统实现阶段 | 11个工作日 | 5月5日星期日 | 5月17日星期五 | 11 | 模块开发人员 |
17 | 明确系统实现阶段的任务 | 1个工作日 | 5月5日星期日 | 5月5日星期日 | 项目经理 | |
18 | 编码 | 10个工作日 | 5月6日星期一 | 5月17日星期五 | 17 | 模块开发人员 |
19 | 测试阶段 | 10个工作日 | 5月20日星期一 | 5月31日星期五 | 16 | 测试人员 |
20 | 明确测试阶段的任务 | 1个工作日 | 5月20日星期一 | 5月20日星期一 | 项目经理 | |
21 | 单元测试 | 2个工作日 | 5月21日星期二 | 5月22日星期三 | 20 | 模块开发人员 |
22 | 集成测试 | 2个工作日 | 5月23日星期四 | 5月24日星期五 | 21 | 测试人员 |
23 | 系统测试 | 2个工作日 | 5月27日星期一 | 5月28日星期二 | 22 | 项目经理及测试人员 |
24 | 编写测试分析报告 | 3个工作日 | 5月29日星期三 | 5月31日星期五 | 23 | 测试文档人员 |
25 | 编写用户手册 | 3个工作日 | 5月29日星期三 | 5月31日星期五 | 23 | 用户手册编写人员 |
26 | 项目结束 | 1个工作日 | 5月31日星期五 | 5月31日星期五 | 19 |
3.3预算
3.3.1 人员成本
由于本项目不是正式进行商业用途的项目,而是作为团队开发项目的首次实战,在开发程序的同时完成软件工程实验项目的需要,所以人员方面的成本不需要考虑。本项目团队设立项目经理1名,需求分析、编码、测试、维护人员5名。直接人力成本6人。
3.3.2 设备成本
在小程序设计与代码编写过程中,设备成本主要来自每位成员的个人电脑,几乎全部代码都于每人的PC中编写。在测试运行时,会同时使用个人电脑与手机。
3.3.3 其他成本
除以上成本,由于网络资源丰富,以及老师对于项目支出方面的指点,在其余方面几乎无支出条目。
3.4关键问题
3.4.1 技术风险控制
鉴于团队成员对于微信小程序开发技术和语言不熟悉,采用以下计划控制技术风险:
(1)在项目开展前期进行积极有效的技术学习。在项目前期,团队会进行7到10天的技术学习,了解微信小程序的运作原理、语言与编码等内容,之后在推进项目进展的同时保持学习。
(2)与教师做好沟通,在发现问题时及时互相交流,商议解决问题的方法,听取教师的建议,尽量避免不必要的错误,保证项目进度稳步有序前进。
3.4.2 进度风险控制
为了确保团队能够按照项目计划,及时完成相应的任务,我们采取了以下的措施规避进
度风险。
(1) 项目经理和团队成员之间做好相应的监督工作。团队中,项目经理和组员之间相互监督,相互督促可以有效地减少进度风险。
(2) 保持每周一次的例会。在会议上通过总结上一阶段的任务和安排下一阶段的任务,保持整个项目的进度。
(3) 与教师保持良好的沟通,及时向教师提交任务安排,通过教师的监督来确保进度的保持。
3.4.3 用户体验
为了提高用户的体验性能及买卖双方的交流等功能需求,我们精心设计了商城小程序的各项功能。商城小程序利用社交圈子功能,使买家和卖家能够近距离交流,让用户无论在购物过程中还是之后,都能方便地与商家进行交流,提出问题或提出建议。用户也可以随时查看其他用户的购物心得和推荐,以便更好地做出购买决策。此外,我们定制了商品的热度排行榜及推荐排行榜,让用户可以快速找到当前热门商品和其他用户推荐的商品,提升用户的购物体验。
4.人员组织及分工
总共120集视频,每人写20集视频的代码,可根据进度灵活调整。采用随机数程序(random_shuffle函数)决定抽签。编号:王宁1 李春朋2 3 段艳璞4 干贵杰5 裴聪6乔玉鑫
干贵杰1~20集,李春朋21~40集,段艳璞41~60集,乔玉鑫61~80集 王宁 80~100集,裴聪101~120集,
5.交付期限
2024年5月31日
6.专题计划要点
测试计划:在本地电脑运行,观测运行结果。
质量保证计划:每个人进行多次测试,提高重复性。
配置管理计划:联想游戏本,配置很可靠,应该大多数软件都能带的动。原神都能跑,跑个小程序问题不大。
人员培训计划:全员观看B站视频。
系统安装计划:采用Win10系统。