假设需要开发一款具有个性化推荐功能的购物网站,主要功能包括:
用户:商品浏览,购物车管理,订单管理,在线支付等功能;
管理员:后台管理功能,包括用户管理和商家管理。
系统具有两种推荐功能,其一是根据用户浏览记录进行商品推荐(推荐算法),其二是根据用户已购买商品的关联商品进行推荐。(关联分析算法)
试从软件工程过程管理角度对项目进行分析。
【要求1】项目初步规划。说明项目开发中需要的参与人员,各个阶段的工作内容描述,各阶段工作成果,阶段性评价标准;
阶段名称 | 参与人 | 工作内容 | 交付成果 | 验收人员 |
需求分析阶段 | 客户 系统分析师 项目经理 | 了解用户需求,对软件需要实现的各个功能进行详细分析。建立用户界面原型。 | 《软件需求规约》 《需求分析报告》 | 客户组织有关人员 |
软件设计阶段 | 系统分析师 软件设计师 | 定义类的方法和属性以及各个类之间的关联,画出类图。 概要设计:系统构架设计、软件结构和数据结构的设计。 详细设计:选定数据结构、算法设计,完成模块或者对象的设计。 | 《概要设计报告》 《软件系统详细设计报告》 | 项目经理 |
编写程序阶段 | 程序员 | 按项目的要求进行编码,分别实现各模块的功能,进行单元测试。 | 《用户操作手册》《模块开发卷宗》以及项目代码 | 项目经理 |
软件测试阶段 | 测试员 | 执行测试,如界面测试、可用性测试、功能测试、稳定性测试、性能测试、逻辑性测试。描述测试结果,提出问题解决方案。 | 《软件测试报告》 | 项目经理 |
运行和维护阶段 | 运行维护人员 | 将系统部署到生产环境,软件更新、校正性维护、适应性维护、完善性维护。 | 运行记录,维护手册 | 项目经理,用户 |
【要求2】人员分工及交接。说明本人在团队中所担任的角色和所起的作用(选其一),与团队其他小组(或成员)任务交接内容。
角色:软件设计师
岗位职责是:进行软件的概要和详细设计。概要设计进行购物流程和后台系统管理员的流程设计;在进行详细设计时,负责用户注册模块的设计与实现以及各种页面设计。
主管领导是:项目经理
与程序员需要进行软件设计工作的交接,内容包括
一、概要设计:购物模块
(1)注册用户
(2)用户登陆
(3)浏览商品信息
(4)选择购物和数量
(5)选择付款方式
(6)确定购买
(7)系统处理购物单表插入定单表
(8)定单查询
(9)定单收到后,由客户签收,修改定单状态
二、概要设计:后台管理模块
(1)登陆
(2)修改管理员密码
(3)会员用户的删除、修改、添加
(4)商品的添加
(5)购买商品的浏览、删除与更新
三、详细设计:用户注册模块
1)输入注册信息:在页面提供的表单处输入用户的用户名和密码信息,点击“注册”按钮提交表单数据信息。已注册用户,可点击“登录”按钮,进入登录页面。
2)用户注册身份验证:连接数据库,以输入的“用户名”数据为查询条件来查看输入用户名是否已存在,如果用户名未注册,则提示注册成功并转到登录页进行登录,如果用户已注册,则给出用户已存在提示并重新注册。
四、详细设计:购物车模块
主要展示用户已购买的商品,包括商品的信息、价格、数量,当然用户可以对其中商品进行增加、减少、删除操作,最后,用户可选择对其中商品进行结算,选择结算后,会提示相应的付款金额。