练手,熟悉入职需要用到的技能。
功能 | 描述 |
---|---|
用户管理 | 多用户系统,有用户的概念。 |
菜品列表 | 记录饭菜产品的名称、价格、外观等,供用户选择。 |
用户下单 | 用户下单订购。 |
发现必须的隐性支持功能。
功能 | 描述 | ||
---|---|---|---|
id | 类型 | 名称 | |
1 | 系 统 维 护 功 能 集 |
用户管理 | 所有用户在此表统一管理,减少和功能的表数量。 具备完整的增删改查能力。 界面可以简单、丑。 |
2 | 组管理 | 程序模块在数组或集合中写明 (写死) 可以使用此功能的组的 id 。 具备完整的增删改查能力。 界面可以简单、丑。 |
|
3 | [用户-组] 管理 | 记录用户和组的关联关系; 即某个用户属于哪些组、某个组包含哪些用户; 权限验证功能藉此决定当前用户是否有权执行指定的功能。 具备完整的增删改查能力。 界面可以简单、丑。 |
|
4 | 菜品管理 | 记录饭菜产品的名称、价格;可能会记录图片的路径; 具备完整的增删改查能力。 界面可以简单、丑。 评审展望未来时考虑: 1. 增加图片上传。 2. 将图上传的图片存入数据库。 |
|
5 | 订单历史管理 | 记录订单历史数据,包括时间、地点、人物、事件、结果。 具备完整的增删改查能力。 界面可以简单、丑。 |
|
- | 通用 功能 集 |
用户身份认证 | 决定用户是否可以注册、认证及访问某些功能。 没有用户界面、但所有用户都会用到内部支持功能。 |
11 | 用户登录 | 给所有人 (绝大多数是外部的订餐用户) 用,界面需要精美。 |
|
12 | 用户注册 | 给所有人 (绝大多数是外部的订餐用户) 用,界面需要精美。 考虑简化掉。 |
|
13 | 菜品浏览 | 仅具备查询能力。 给所有人 (绝大多数是外部的订餐用户) 用,界面需要精美。 |
|
21 | 店方功能集 | 菜品管理 | 简化掉,通过向特定组开放 [系统维护·菜品管理] 功的权限来替代。 具备完整的增删改查能力。 界面可以简单、丑。 |
22 | 订单查询 | 店方查询订单历史数据。 仅具备查询能力。 界面可以简单、丑。 |
|
31 | 食客功能集 | 下单 | 给订餐用户 (绝大多数是外部用户) 用,界面需要精美。 |
33 | 订单查询 | 食客查询自己的订单的历史数据。 仅具备查询自己的订单的能力。 给订餐用户 (绝大多数是外部用户) 用,界面需要精美。 |
直接为 [系统维护功能集·用户管理] 功能服务。
通过 [通用功能集·用户身份认证] 功能间接服务于其他功能。
建表语句 | 解释 | |
---|---|---|
create table shine_user( id number(5) primary key, name varchar2(40) not null unique, passwd varchar2(40) not null, remark varchar2(50) ) |
表名 | |
ID | 主键 (非空,唯一) | |
登录名 | 非空,唯一 | |
登录密码 | 非空 | |
备注 | ||
create sequence shine_seq_user_id start with 1 increment by 1; |
直接为 [系统维护功能集·组管理] 功能服务。
通过 [通用功能集·用户身份认证] 功能间接服务于其他功能。
建表语句 | 解释 | |
---|---|---|
create table shine_group( id number(...) primary key, name varchar2(...) not null unique, stat boolean not null, remark varchar2(...) ) |
表名 | |
ID | 主键 (非空,唯一) | |
组名 | 非空,唯一 | |
状态;true 为启用,false 为禁用 | 非空 | |
备注 | ||
- |
直接为 [系统维护功能集·[用户-组] 管理] 功能服务。
通过 [通用功能集·用户身份认证] 功能间接服务于其他功能。
建表语句 | 解释 | |
---|---|---|
create table shine_ugm( id number(...) primary key, user_id number(...), group_id number(...), remark varchar2(...) CONSTRAINT ... (user_id, group_id) ) |
表名 | |
ID | 主键 (非空,唯一) | |
用户 ID ,取自用户表 ID | ||
组 ID ,取自组表 ID | ||
备注 | ||
约束 | 用户 ID 和组 ID 的组合不准重复 | |
- |
直接为 [系统维护功能集·菜品管理] 功能服务。
间接服务于 [通用功能集·菜品浏览] 功能和 [食客功能集·下单] 功能。
建表语句 | 解释 | |
---|---|---|
create table shine_product( id number(...) primary key, name varchar2(...) not null unique, unit varchar2(...) not null, price number(...) not null, img_path varchar2(...), remark varchar2(...) ) |
表名 | |
ID | 主键 (非空,唯一) | |
饭菜名 | 非空,唯一 | |
单位,一份、一碗、3 个…… | 非空 | |
单价 | 非空 | |
图片路径 | ||
备注 | ||
预留 |
直接为 [食客功能集·下单] 功能服务。
建表语句 | 解释 | |
---|---|---|
create table shine_order( id number(5) primary key, user_id number(5) not null, user_detail varchar2(400) not null, order_date date not null, order_detail varchar2(50) not null, order_sum number(7,2) not null, remark varchar2(100) ) |
表名 | |
ID | 主键 (非空,唯一) | |
用户 ID | 非空 | |
用户详细信息 | 非空 | |
发生日期 | 非空 | |
产品详细信息 | 非空 | |
金额小计 | 非空 | |
备注 | ||
create sequence shine_seq_order_id start with 1 increment by 1; |
功能 \ 分层 | UI 层 | 层间 | 控制器层 | 功能层 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
描述 | 页面划分 | 控制器 | 控制逻辑 | 功能组件 | 支持组件 | |||||
系统 维护 功能 集 |
1 | 用户管理 | 增删改查通用界面, 可以简单、丑。 |
|
XML 目标页: 从 request 中提取 XML 节点树, 输出为 XML 文档。 |
用户管理 | 正常流程主要步骤:
|
错误流程:
|
用户数据增删改查组件,依赖:
|
用户表 DAO :
|
2 | 组管理 | 组管理 | 组数据增删改查组件,依赖:
|
组表 DAO :
|
||||||
3 | [用户-组] 管理 | [用户-组] 管理 | [用户-组] 关联数据增删改查组件,依赖:
|
[用户-组] 关联表 DAO :
|
||||||
4 | 菜品管理 | 菜品管理 | 菜品增删改查组件,依赖:
|
菜品表 DAO :
|
||||||
5 | 订单历史管理 | 订单历史管理 | 订单历史增删改查组件,依赖:
|
订单历史表 DAO :
|
||||||
通用 功能 集 |
- | 用户身份认证 | 没有。 | 用户身份认证 | 特殊,未定。 | 用户身份认证组件,依赖:
|
数据库连接组件:
|
|||
11 | 用户登录 | 专用界面, 要精美。 |
|
正常流程主要步骤:
|
启动组件:
|
|||||
13 | 用户注册 | 用户注册 | 正常流程主要步骤:
|
用户注册组件,依赖:
|
XML 包装组件:
|
|||||
14 | 菜品浏览 |
|
菜品浏览 | 正常流程主要步骤:
|
菜品查询组件,依赖:
|
|||||
店方 功能 集 |
22 | 订单查询 | 增删改查通用界面, 可以简单、丑。 |
订单查询 | 店方订单查询组件,依赖:
|
|||||
食客 功能 集 |
31 | 下单 | 专用界面, 要精美。 |
|
下单 | 订单生成组件,依赖:
|
||||
32 | 订单查询 |
|
订单查询 | 食客订单查询组件,依赖:
|
任务类型、序号 | 任务包 | 规划 | 功能要求 | 实现 | 执行人 | |
---|---|---|---|---|---|---|
项 目 基 础 |
1.1 | 项目目录结构组织 | 完成。 | 项目根目录 (待命名) | |- doc/ (文档目录) | | | |- design_doc/ (设计文档目录) | | | `- java_doc/ (半自动生成的 API 文档目录) | |- WebContent/ (要部署到 Tomcat 的内容) | | | |- gsm/ (Group.Shine.Meal-Ording-System ,亮亮组订餐系统) | | | | | |- css/ (CSS 文件存放路径) | | | | | |- images/ (图片文件存放路径) | | | | | | | |- big/ (用作前景、背景的大图片) | | | | | | | `- icons/ (图标文件存放路径) | | | | | |- javascript/ (JavaScript 文件存放路径) | | | | | | | |- jquery/ (jQuery 文件存放路径) | | | | | | | | | `- …….js (jQuery 文件) | | | | | | | `- ……/ (自定义 JavaScript 文件存放路径) | | | | | | | |- …….js (自定义 JavaScript 文件) | | | |- …….js | | | `- …….js | | | | | `- pages/ (页面存放路径) | | | | | |- …….html (页面) | | |- …….html | | |- …….jsp | | `- …….jsp | | | `- WEB-INF/ (站点核心目录) | | | |- web.xml (站点核心配置文件) | | | |- conf/ (配置文件存放路径) | | | | | |- db.conf (数据库连接配置文件) | | | | | `- servlet_frg.xml (Servlet 配置片段文件) | | | |- src/ (Java 源代码存放路径) | | | | | `- group.shine.mos (主包名:亮亮组餐饮订单系统) | | | | | |- info.txt (项目文件列表及变更记录) | | | | | |- basement (和数据库不直接相关的基础支持类包) | | | | | |- controller (控制器类所在包) | | | | | |- db (数据库操作类所在包) | | | | | | | `- dao (DAO 类所在包) | | | | | | | `- oracle (用于 Oracle 数据库的 DAO 类所在包) | | | | | |- entity (实体类所在包) | | | | | `- function (功能组件所在包) | | | |- classes/ (编译后的 Java 二进制程序存放路径) | | | | | |- …….class (编译后的 Java 二进制程序) | | |- …….class | | `- …….class | | | |- lib/ (压缩的 Java 二进制程序存放路径) | | | | | |- tfw-base.aij.jar (基本工具包) | | | | | |- tfw-web-base.aij.jar (和 web 相关的工具包) | | | | | |- …….jar (压缩的 Java 二进制程序) | | |- …….jar | | `- …….jar | | | `- pages/ (被保护的页面的存放路径) | | | |- …….html (被保护的页面) | |- …….html | |- …….jsp | `- …….jsp | |- tmp/ (杂七杂八的文件的临时堆放处) | `- export.sh (项目打包、导出脚本) |
完成。 | 计念 |
1.2 | 公共项目搭建 | 完成。 | SVN URL :http://svn.tedu.cn/svn/1607se/admin72/tedu_shine_mos 用 户 名:admin72 密 码:ipekms |
完成。 | 计念 | |
1.3 | 统一运行及开发环境 | X | 统一运行及开发环境:
|
X | 计念 | |
底 层 支 持 |
2.1 | 富信息结果 | 完成。 | group.shine.mos.basement.result._boolean.BooleanResultgroup.shine.mos.basement.result._int.IntResult含有丰富的参考信息的返回结果:
|
完成。 | 计念 |
2.2 | 启动组件 | X | 启动组件,检查以下项是否已加载;未加载则加载:
|
X | 未分配 | |
2.3 | 数据库连接组件 | 完成。 | group.shine.mos.db.DBTool
|
完成。 | 计念、段新伟 | |
2.4 | DOM 包装组件 | 完成。 | group.shine.mos.basement.DomTool
|
完成。 | 计念 | |
实 体 类 |
3.1 | 用户实体类 | 完成。 | group.shine.mos.entity.User
|
完成。 | 刘雄、陈建君 |
3.2 | 组实体类 | 基本完成, 零星调整。 |
group.shine.mos.entity.Group
|
X | 未分配 | |
3.3 | [用户-组] 关联实体类 | 基本完成, 零星调整。 |
group.shine.mos.entity.UserGroupMapping
|
X | 未分配 | |
3.4 | 菜品实体类 | 基本完成, 零星调整。 |
group.shine.mos.entity.Product
|
X | 未分配 | |
3.5 | 订单历史实体类 | 完成。 |
group.shine.mos.entity.Order
|
完成。 | 刘雄、陈建君 | |
DAO 层 |
4.0 | 通用抽象 DAO | 完成。 | group.shine.mos.db.dao.oracle.GenericDAO<T>
|
完成。 | 计念 |
4.0.1 | 验证 SQL 语句 | 完成。 | 验证 SQL 语句:
|
完成。 | 计念 | |
4.1 | 用户表 DAO | 完成。 | group.shine.mos.db.dao.oracle.UserDAO
|
完成。 | 计念 | |
4.2 | 组表 DAO | X | 组表 DAO :
|
X | 未分配 | |
4.3 | [用户-组] 关联表 DAO | X | [用户-组] 关联表 DAO :
|
X | 未分配 | |
4.4 | 菜品表 DAO | X | 菜品表 DAO :
|
X | 未分配 | |
4.5 | 订单历史表 DAO | 完成。 | group.shine.mos.db.dao.oracle.OrderDAO
|
完成。 | 计念 | |
功 能 组 件 层 |
5.1 | 系统维护功能集·用户管理 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 |
5.2 | 系统维护功能集·组管理 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.3 | 系统维护功能集·[用户-组] 关联管理 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.4 | 系统维护功能集·菜品管理 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.5 | 系统维护功能集·订单历史管理 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.11 | 通用功能集·用户身份认证 | 完成。 | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
完成。 | 计念 | |
5.13 | 通用功能集·用户注册 | 完成。 | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
完成。 | 计念 | |
5.14 | 通用功能集·菜品浏览 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.21 | 店方功能集·订单查询 | X | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
X | 未分配 | |
5.31 | 食客功能集·下单 | 完成。 | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
完成。 | 计念 | |
5.32 | 食客功能集·订单查询 | 完成。 | 接收 request 中的参数,据此调用 DAO ,实现数据操作:
|
完成。 | 计念 | |
控 制 器 层 |
6.1 | 控制器 1 | 完成。 | 集中式控制器:
|
完成。 | 计念 |
服务器端 View 层 | 6.1 | XML 目标页 | 完成。 | 从 request 中取得 DOM 树,格式化成 XML 文档。 | 完成。 | 计念 |
前 端 UI |
7.1 | 多功能动态边栏、消息栏 | 完成。 | 由 JavaScript 动态生成公共边栏和消息栏、动态绑定函数, 提供用户信息刷新、注销及多种 AJAX 回调函数。 各页面只需要引用相关的 JavaScript 文件和 CSS 文件, 即可产生公共边栏、消息栏,并使用相关功能; 无需在页面另行插入 HTML ,不污染原页面。 |
完成。 | 计念 |
7.2 | 综合功能样板页 | 完成。 | 未美化的综合功能样板页,供前端组员参考。 | 完成。 | 计念 | |
7.3 | 食客历史订单页 | 完成。 | 纯 AJAX 分页显示食客历史订单。 | 完成。 | 计念 | |
7.4 | 登陆、注册页面 | 完成。 | 完成用户登录及注册功能 | 完成。 | 王亮 | |
7.5 | 餐厅选择页面 | 完成。 | 用户餐厅选择功能 | 完成。 | 孙新祥 | |
7.6 | 菜品挑选页面 | 完成。 | 用户进行菜品挑选操作 | 完成。 | 段新伟 | |
7.7 | 购物车、支付页面 | 完成。 | 用户查看购物车,下单功能 | 完成。 | 龚建秋 | |
Oracle | 8.1 | 相关数据存储 | 完成。 | 用户资料,历史订单存储 | 完成。 | 钟付航 |