一、团队项目系统设计改进
任务1:
a.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容。
b. 将包含以上完善的内容的以《XX团队项目软件系统设计改进》为名发布在团队博客中,并在团队项目Github仓库中更新《软件系统设计说明书》。
https://github.com/Sophur/Team-Project.git
二、团队项目系统详细设计
任务2:
系统功能模块设计
根据系统需求分析,家教在线管理平台划分为前台新闻、客户注册与登录、教师客户模块、学生客户模块、家长客户模块、留言消息模块、评论及反馈模块、后台管理员模块等八个功能模块。本系统采用了B/S模式,分为前台和后台,其中系统前台包括新闻、客户注册与登录、教师客户模块、学生客户模块,家长客户模块、留言消息模块、评论及反馈模块;系统后台为管理员管理功能模块。各模块存在功能上的相对独立与结构上的相互关联,例如学生客户功能模块包括查看修改个人信息、搜索教师信息、查看留言消息、发布求聘消息、评论及查看评论回复、浏览新闻等。
数据库物理结构设计
在对数据库的逻辑结构设计与实体数据特点分析的基础上,建数据库database design,再在design数据库中建立数据表。数据库中一个表只存储一个实体或对象的相关信息,不同的实体属性要存储在不同的数据表中。
本系统数据库共创建六张数据表,分别是客户类别表(tb_category)、客户表(tb_client)、新闻表(tb_news)、留言消息表(tb_message)、评论表(tb_comment)、管理员表(tb_admin)。
(1)客户类别表,作用是记录客户类别信息。
客户类别表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
category |
字符varchar |
30 |
否 |
类别名称 |
description |
字符varchar |
30 |
否 |
类别描述 |
(2)客户表,作用是记录客户信息。
客户表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
uid |
整型int |
8 |
FK(外键) |
类别标识 |
uname |
字符varchar |
30 |
否 |
用户名 |
name |
字符varchar |
30 |
否 |
姓名 |
pwd |
字符varchar |
20 |
否 |
密码 |
gender |
字符varchar |
20 |
否 |
性别 |
birthday |
日期date |
|
否 |
生日 |
|
字符varchar |
50 |
否 |
电子邮箱 |
address |
字符varchar |
50 |
否 |
地址 |
phone |
字符varchar |
20 |
否 |
电话 |
edubackground |
字符varchar |
30 |
否 |
学历 |
remark |
字符varchar |
200 |
否 |
备注 |
数据库创建客户表如下:
任务3:
任务4:
1、本次实验实施过程
2、描述团队成员的具体分工、占整个实验任务的工作量比例及完成各自任务的实际时间
3、总结团队项目详细设计心得
4、回答以下六个问题:
(1)何谓软件体系结构、软件设计模式?
(2)什么是C/S与B/S结构
(3) 什么是MVC设计模式?
(4)结合项目系统设计体验,简要说明(1)、(2)、(3)的内容与软件系统设计的关系。
(5)详细设计的常见工具有哪些?
(6)如何绘制符合规范的流程图?
根据系统需求分析,家教在线管理平台划分为前台新闻、客户注册与登录、教师客户模块、学生客户模块、家长客户模块、留言消息模块、评论及反馈模块、后台管理员模块等八个功能模块。本系统采用了B/S模式,分为前台和后台,其中系统前台包括新闻、客户注册与登录、教师客户模块、学生客户模块,家长客户模块、留言消息模块、评论及反馈模块;系统后台为管理员管理功能模块。各模块存在功能上的相对独立与结构上的相互关联,例如学生客户功能模块包括查看修改个人信息、搜索教师信息、查看留言消息、发布求聘消息、评论及查看评论回复、浏览新闻等。
(1)访客功能结构图
访客权限功能结构图
访客功能涉及前台新闻、客户注册模块。访客访问本系统网站首页面即可浏览前台新闻、查看新闻详情、按条件搜索新闻信息,再点击“注册”进入注册页面,按要求填写完整、符合规范的注册信息即可成为系统注册客户。
(2)教师客户功能结构图
教师客户权限功能结构图
教师权限功能涉及客户登录模块、教师客户功能模块、学生客户功能模块、留言消息模块、评论及反馈模块、新闻模块。教师客户登录进入权限页面,便可以修改个人信息、查找相关学生信息、查看留言求教信息、发布关于应聘留言消息、查看收到的评论、回复评论、查看家教新闻等。
(3)学生客户功能结构图
学生客户权限功能结构图
学生权限功能结构涉及客户登录模块、学生客户功能模块、教师客户功能模块、留言消息模块、评论及反馈模块、新闻模块。学生客户登录进入权限页面,便可以修改个人信息、查找相关教师信息、查看留言应聘信息、发布求教留言消息、评论教师、查看评论回复、查看家教新闻等。
(4)家长客户功能结构图
家长客户权限功能结构图
家长权限功能结构涉及客户登录模块、家长客户功能模块、教师客户功能模块、留言消息模块、评论及反馈模块、新闻模块,家长客户登录进入权限页面,便可以修改个人信息、查找相关教师信息、查看应聘信息、发布招聘消息、评论教师、查看教师回复、搜索家教新闻等。
(5)管理员功能结构图
管理员权限功能结构图
管理员权限功能结构涉及管理员模块、家长客户功能模块、教师客户功能模块、学生客户模块、留言消息模块、新闻模块,管理员登录系统后台,便可以管理不同类别客户以及所有客户信息、管理新闻信息、管理留言消息、查看管理员信息、修改个人信息,超级管理员还能添加或删除管理员
数据库物理结构设计
在对数据库的逻辑结构设计与实体数据特点分析的基础上,建数据库database design,再在design数据库中建立数据表。数据库中一个表只存储一个实体或对象的相关信息,不同的实体属性要存储在不同的数据表中。
本系统数据库共创建六张数据表,分别是客户类别表(tb_category)、客户表(tb_client)、新闻表(tb_news)、留言消息表(tb_message)、评论表(tb_comment)、管理员表(tb_admin)。
(1)客户类别表,作用是记录客户类别信息。
客户类别表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
category |
字符varchar |
30 |
否 |
类别名称 |
description |
字符varchar |
30 |
否 |
类别描述 |
(2)客户表,作用是记录客户信息。
客户表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
uid |
整型int |
8 |
FK(外键) |
类别标识 |
uname |
字符varchar |
30 |
否 |
用户名 |
name |
字符varchar |
30 |
否 |
姓名 |
pwd |
字符varchar |
20 |
否 |
密码 |
gender |
字符varchar |
20 |
否 |
性别 |
birthday |
日期date |
|
否 |
生日 |
|
字符varchar |
50 |
否 |
电子邮箱 |
address |
字符varchar |
50 |
否 |
地址 |
phone |
字符varchar |
20 |
否 |
电话 |
edubackground |
字符varchar |
30 |
否 |
学历 |
remark |
字符varchar |
200 |
否 |
备注 |
数据库创建客户表如下:
客户信息
(3)新闻表,作用是记录新闻信息。
新闻表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
title |
字符varchar |
50 |
否 |
类别名称 |
author |
字符varchar |
30 |
否 |
新闻标题 |
issuedate |
日期date |
|
否 |
发布日期 |
content |
文本text |
|
否 |
类别描述 |
数据库创建新闻表如下:
图4-13新闻信息
(4)留言消息表,作用是记录留言消息。
留言消息表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
userid |
整型int |
8 |
FK(外键) |
用户标识 |
username |
字符varchar |
30 |
否 |
用户名 |
time |
日期date |
|
否 |
时间 |
content |
文本text |
|
否 |
内容 |
style |
字符varchar |
30 |
否 |
类型 |
数据库创建留言表如下。
留言信息
(5)评论表,作用是记录评论信息。
评论表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
cid |
整型int |
8 |
FK(外键) |
用户标识 |
pname |
字符varchar |
30 |
否 |
评论者姓名 |
pcontext |
文本text |
|
否 |
评论内容 |
ptime |
日期date |
|
否 |
评论时间 |
bname |
字符varchar |
30 |
否 |
受评者姓名 |
brcontext |
文本text |
|
否 |
回复内容 |
brtime |
日期date |
|
否 |
回复时间 |
数据库创建评论表如下:
评论信息
(6)管理员表,作用是记录管理员信息。
管理员表
字段名 |
类型 |
长度 |
约束(主外键) |
含义 |
id |
整型int |
8 |
PK(主键) |
标识 |
adminname |
字符varchar |
30 |
否 |
账号 |
name |
字符varchar |
30 |
否 |
姓名 |
pwd |
字符varchar |
20 |
否 |
密码 |
phone |
字符varchar |
20 |
否 |
电话 |
address |
字符varchar |
50 |
否 |
地址 |
granttime |
日期date |
|
否 |
授权时间 |
authority |
整型int |
4 |
否 |
权限 |
数据库建管理员表如下:
数据库表间关系如下:
数据库物理结构图
以上6张数据表包括客户类别表、客户表、留言消息表、新闻表、评论表、管理员表,客户类别表与客户表存在父子表关系,客户类别表是客户表的父表;客户表与留言消息表和评论表之间存在父子表关系,客户表是留言消息表的父表,客户表是评论表的父表。
系统文件结构设计
本系统实现过程,先按照MVC模式编写代码,代码文件结构为:
项目src文件下存放src文件下存放系统类资源包以及.java文件。其中系统结构中的模型层文件存放于包com.yulin.edu.entity, com.yulin.edu.dao,com.yulin.edu.dao.impl, com.yulin.edu.service, com.yulin.edu.service.impl下,视图层文件存放于WebRoot的资源文件下,控制器文件放于com.yulin.edu.service.action下。图中src下的com.yulin.edu.test包用于存放编码测试文件,com.yulin.edu.util为工具包,存放系统所用工具类文件。