课程属性
作业课程 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3207 |
团队名称 | Successful Wonder |
作业目标 | 细化项目功能,完成系统设计 |
一、团队成员
姓名 | 学号 | 博客地址 |
汪俊臣(组长) | 201731072323 | https://www.cnblogs.com/jason5689/ |
罗梅 | 201731062201 | http://www.cnblogs.com/luomei/ |
吕登名 | 201731062329 | http://www.cnblogs.com/haveadate/ |
陈雨莲 | 201731062205 | https://www.cnblogs.com/youthlll/ |
沈雅馨 | 201731062206 | http://www.cnblogs.com/793181431q/ |
二、本阶段任务分工
系统设计阶段是此次项目的一个重要流程,对系统的功能有了更细的描述,将整个系统模块化,然后又对每一个模块逐步求精,便于正式编码时对各个功能的实现。概要设计,详细设计,数据库设计在理论上完成了对软件项目的实现,清晰的展示了软件开发的方向。
此次任务分工如下:
任务名称 | 人员安排 | 学号 |
概要设计 | 陈雨莲 | 201731062205 |
详细设计 | 沈雅馨 | 201731062206 |
数据库设计 | 吕登名 | 201731062329 |
博客文档 | 汪俊臣 | 201731072323 |
答辩PPT | 罗梅 | 201731062201 |
三、概要设计
软件体系结构(软件结构图描述)
主要模块描述
学生注册信息:
功能:用户注册,便于信息记录以及后续使用
输入:注册信息
输出:学生个人信息表,注册无效提示
学生登陆信息:
功能:仅限注册用户使用,进入本系统,统一管理
输入:登录信息,学生个人信息表
输出:登录失败提示
发布悬赏:
功能:用户发布自己遇到的问题
输入:悬赏信息
输出:无效悬赏信,悬赏信息过期提示,悬赏信息表
发布课程:
功能:有技能的用户发布自己可以培训的内容
输入:课程信息
输出:无效课程信息,课程信息过期提示,课程信息表
悬赏信息明细:
功能:显示已有的悬赏信息
输入:悬赏信息
输出:悬赏任务完成确认信息,悬赏信息过期提示
课程信息明细:
功能:显示已有的课程信息
输入:课程信息
输出:课程结束确认信息,课程信息过期提示
查询自定义信息:
功能:用户查询指定内容的信息
输入:用户想查询的信息
输出:课程信息,悬赏信息,未找到相关信息提示
反馈功能:
功能:用户通过该功能提出使用软件时的看法和建议
输入:用户反馈给软件的信息
输出:反馈信息成功提醒
好评度调查:
功能:用户通过该功能评价此次课程的完成情况
输入:用户为此次课程打分
输出:好评度打分成功提示信息
四、数据库设计
概念模型
注:此概念模型是此次项目主要功能的一个描述,后续涉及到新功能的添加会不断更新此概念模型
逻辑模型
用户表
表名 |
USERS |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
注释 |
SNO |
CHAR(10)
|
非空 |
NOT NULL |
考虑到不同学校的学生学号可能相同的情况,此处学号可以重复,学号、邮箱、手机号作用户表的联合主键 |
SEMAIL |
VARCHAR(25)
|
非空 |
DEFAULT ‘0’ |
登陆方式多样,由于学号、邮箱、手机号作用户表的联合主键,默认值为‘0’
|
STEL |
CHAR(11)
|
非空 |
DEFAULT ‘0’ |
登陆方式多样,由于学号、邮箱、手机号作用户表的联合主键,默认值为‘0’ |
SPASSWORD |
VARCHAR(20) |
非空 |
NOT NULL |
用户密码 |
SNAME |
VARCHAR(20) |
非空 |
NOT NULL |
用户名 |
SBIRTHDAY |
DATE
|
非空 |
NOT NULL |
用户生日 |
SNICKNAME |
VARCHAR(20)
|
非空 |
NOT NULL |
用户昵称 |
补充说明 |
此表存储用户的基本信息 |
课程表
表名 |
COURSE |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
注释 |
CID |
INT
|
非空 |
PRIMARY KEY
|
开设课程的编号,为该表的主键 |
CNAME |
VARCHAR(50)
|
非空 |
NOT NULL
|
课程名称 |
CTIME |
DATE
|
非空 |
NOT NULL
|
课程开设时间 |
CLOCATION |
VARCHAR(50)
|
非空 |
NOT NULL
|
课程开设地点 |
CPERSON_NUMBER |
INT
|
非空 |
NOT NULL
|
课程开设人数 |
CPRICE |
FLOAT
|
非空 |
NOT NULL
|
课程开设价格 |
补充说明 |
此表存储课程的基本信息 |
悬赏表
表名 |
REWARD |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
注释 |
RID
|
INT
|
非空 |
PRIMARY KEY
|
发布悬赏的编号,为该表的主键 |
RNAME
|
VARCHAR(50)
|
非空 |
NOT NULL
|
悬赏名称 |
RREQUIRE
|
VARCHAR(255)
|
非空 |
NOT NULL
|
悬赏具体的要求 |
RTIME
|
DATE
|
非空 |
NOT NULL
|
悬赏约定地点 |
RLOCATION
|
VARCHAR(50)
|
非空 |
NOT NULL
|
悬赏约定的地点 |
RPRICE
|
FLOAT
|
非空 |
NOT NULL
|
赏金 |
补充说明 |
此表存储悬赏的基本信息 |
用户开设课程关系表
表名 |
USERS_COURSE |
||||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
注释 |
|
SNO |
CHAR(10)
|
非空 |
NOT NULL |
学号、邮箱、手机号、开设课程编号作为用户开设课程关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
SEMAIL |
VARCHAR(25)
|
非空 |
DEFAULT ‘0’ |
学号、邮箱、手机号、开设课程编号作为用户开设课程关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
STEL |
CHAR(11) |
非空 |
DEFAULT ‘0’ |
学号、邮箱、手机号、开设课程编号作为用户开设课程关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
CID |
INT
|
非空 |
NOT NULL REFERENCES COURSE(CID)
|
学号、邮箱、手机号、开设课程编号作为用户开设课程关系表的联合主键,CID又是课程表的外键 |
|
补充说明 |
此表存储用户与开设课程之间的关系 |
用户发布悬赏关系表
表名 |
USERS_REWARD |
||||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
注释 |
|
SNO |
CHAR(10)
|
非空 |
NOT NULL |
学号、邮箱、手机号、悬赏编号作为用户发布悬赏关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
SEMAIL |
VARCHAR(25)
|
非空 |
DEFAULT ‘0’ |
学号、邮箱、手机号、悬赏编号作为用户发布悬赏关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
STEL |
CHAR(11) |
非空 |
DEFAULT ‘0’ |
学号、邮箱、手机号、悬赏编号作为用户发布悬赏关系表的联合主键。学号、邮箱、手机号三者一起又是用户表的外键 |
|
RID
|
INT |
非空 |
REFERENCES REWARD(RID)
|
学号、邮箱、手机号、悬赏编号作为用户发布悬赏关系表的联合主键,RID又是悬赏表的外键 |
|
补充说明 |
此表存储用户与发布悬赏之间的关系 |
五、下阶段详细工作计划
下一阶段,开始着手去实现系统设计中各个设计的要求,按照概要设计的分析去进行大功能的模块化,按照详细设计的分析去实现各个模块更细的功能,按照数据库设计去完成此次设计软件项目的数据库。前端、后端、数据库设计人员相互交流,了解各自设计的思路,所有开发人员的理解统一时,才开始着手编码工作。前后端数据库开发人员同时开工。
在设计时,形成各自的设计文档,方便交流和修改。新建一个Github仓库来保存该项目的所有代码。定期召开小会议,讨论以完成设计的优点和不足,及时改进,为后续的设计提供思路。按照拟定的计划去完成此次项目的开发,不能拖!不能拖!不能拖!
六、下阶段任务分工