1.1项目设想
A. 系统展望。
a.应用场景
一般以图书销售为主营业务的书店,销售产品主要为各类图书、杂志、报纸及音像制品等。Pos机主要应用于处理销售业务及后台管控商品情况,如:记录图书入库出库、录入商品信息、调整价格、记录顾客购买产品的销售情况、处理结账业务、打印票据等。
c.用户、系统范围及基本目标
用户 | 基本目标 |
顾客 (分为普通顾客及VIP顾客) | 1) 购买商品并进行付款 2) 根据顾客类型调整商品价格 3) 得到商品付款票据 |
收银员 | 1) 录入商品信息,对商品或其数量进行增删调整 2) 在页面上观看到销售信息实时变化 3) 计算每笔交易金额,弹出储钱抽屉,存入并找回相应金额 4) 刷磁卡,供顾客输入密码,验证卡有效性,划走相应金额 5) 打印票据 |
经理 | 1) 配置人员权限 2) 管控书店商品采购、入库、出库等流程及状态 3) 管理书店商品销售流程、信息 |
B. 系统特性。用高阶、简洁的语句对系统预期功能和性能加以概述。
a.前台销售业务功能
扫描商品条码、根据顾客类型调整价格、收款、找零、打印小票、支持会员管理
b.后台管控功能:
Ø 进销存管理:包括商品进货、退货、销售、销售退货、调拨、盘点等
Ø 应收及应付帐款的管理:可以对客户的应收帐款、对厂商的应付帐款及各项往来帐进行管理
Ø 资金及费用的管理:对现金、各项银行存款及各项费用进行流水式管理
Ø 各项报表管理:包括进销存方面的报表及资金使用方面的各项报表
Ø 权限管理:对每一项操作功能根据需求进行权限设定
1.2 开发计划
A. 团队成员。
Ø 项目经理——陈立:监督项目的实施全程,控制项目进度,保持项目尽量按预设计划进行,同时监控可能存在风险,及时甚至提前做出相应解决措施
Ø 分析员——黎珮汶:负责项目各模块活动、业务功能及权限、报表等进行需求分析
Ø 架构师——陈立:负责项目架构构建,编写部分代码实现系统功能
Ø 程序员——蔡月军: 负责项目代码编写,实现项目各用例、报表等功能
Ø 测试员——龙斯仪:对实现的项目各模块功能进行可行性及性能测试
B. 项目进度。
a.进度计划表
过程 | 时间 | 目标 | 工作内容 | 提交资料 |
初始阶段 | 第2周 | 分组定题,依提制定初步计划 | 确定题目,制定计划,安排分工 | 提交MIS课程设计任务书 提交分组计划 |
细化迭代1 | 3-4周 | 搭建框架 | 确定核心架构 实现基础数据增删改查 | 程序; 编写文档1.1, 1.2, 3.2 |
细化迭代2 | 5-6周 | 设计实现业务用例 | 实现书店销售开单用例 | 程序; 编写文档2.1-2.4;编写4.1.1 编写4.2.1 |
细化迭代3 | 7-8周 | 设计实现业务用例 | 实现书店收银用例 | 程序; 完善文档2.1-2.4,编写4.1.2 |
细化迭代4 | 9-10周 | 设计实现业务用例 | 实现书店退货用例 | 程序; 完善文档2.1-2.4,编写4.1.3 编写3.1 |
里程碑 | 总结。优秀成果展示。 | |||
细化迭代5 | 11-12周 | 设计实现权限 | 基于所选技术实现系统权限功能 | 程序; 编写文档4.4 编写文档4.3 |
细化迭代6 | 13-14周 | 设计实现报表 | 实现数据报表功能 | 程序; 编写文档4.2.2 |
交付 | 15周 | 提交成果 | 编程人员实验室演示程序; 提交文档打印稿。 | 完成文档5,6 最终版程序,文档定稿 |
b.进度控制措施
项目风险 | 风险控制措施 |
需求方面风险 | 1. 尽量将需求制定得更详细,在具体需求的过程中及早调整需求 2. 每个目标实现或检查节点间预留过渡时间 |
① 需求基本确定以后,后期仍在不断变化或增加 ② 需求定义欠佳,而进一步的定义会扩展项目范畴并花费比预期计划更多的时间 | |
设计实现及开发编程方面风险 | 编码过程中如现功能实现困难,及时调整所用技术 |
① 开发工具不如期望的那样有效,开发人员需要时间创建工作环境或者切换新的工具 ② 分别开发的模块无法有效集成,需要重新设计或制作 | |
合作方面风险 | 增加讨论频率,按计划检查节点了解成员间工作内容及进度 |
项目组成员之间发生冲突,因沟通不到位导致做了额外或重复工作 |
3.2 软件架构设计
软件架构文档(SAD)描述了软件类的宏观组织结构。
A软件分层。使用UML包图描述软件的层次划分。用文字简要说明每个包的具体作用;
整个项目代码主要分为4个包,分别是src/main/java、src/main/resource、src/test/java、src/test/resource。
第一个是放置java文件,里面又分为action、dao、domain、service、util,作用是控制文件、对数据库操作的文件、声明属性的java文件、业务逻辑文件和共用工具类
第二个是放置项目配置文件,如struct.xml
第三个是放置了一些资源包
第四个是放置项目测试文件
B命名规范。说明各层接口设计及相关接口及实现类的命名规范;
1)接口设计:dao层,service层有接口以及具体的实现类,并且设计了基础接口类BaseDao、BaseServide类,实现类BaseDaoImpl、BaseServiceImpl实现BaseDao、BaseService接口。
2)命名规范:domian层以实体名称命名,如Customer;在dao和service层实现类以Impl结尾,XxxDaoImpl,XxxServiceImpl,接口如XxxDao、XxxService;action层XxxAction命名;util层:Xxutil。
C架构相关设计模式。本课程要求实现MVC和DAO设计模式,请文字或顺序图说明实现方案。
1)MVC设计模式顺序图:
2)DAO设计模式:
1、dao层有dao接口,dao实现类。dao实现类继承hibernatedaosupport,实现dao接口。
2、dao层有base基类和接口,提供对数据库基本的操作,所有类都继承这个base基础类