soy-sauce-team ——项目系统设计与数据库设计
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/ |
---|---|
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10829 |
团队名称 | soy-sauce-team |
这个作业的目标 | 项目系统设计与数据库设计 |
作业正文 | https://www.cnblogs.com/lwbdui/p/13074159.html |
其他参考文献 | 百度 |
一.预期开发计划时间安排 | |
起始时间 | 任务中的职责 |
:-----: | :-----: |
6月15日 | 1.制作系统设计说明书2.制作数据库设计说明书3.制作系统设计和数据库设计答辩PPT |
6月18日 | 前端后端同时开始开发 |
5月29 | 前端后端完成简易版本的《网课查询系统》 |
6月30 | 调试软件,修复发现的bug |
7月2号 | 优化《网课查询系统》界面和代码 |
7月4号 | 最后调试优化 |
二.团队项目的预期开发计划分工安排 | |
组员 | 角色 |
:-----: | :-----: |
李文博 | 前端 |
谷岳明 | 前端 |
刘博殊 | 后端 |
郑亚攀 | 后端 |
张浩 | 后端 |
庄严 | 后端 |
张泽先 | 后端 |
徐志杰 | 测试 |
三.体系结构设计 | |
1.技术架构 | |
小程序客户端采用C/S(小程序客户端—服务器)架构,管理端采用B/S架构(浏览器—服务器)。 | |
2.使用ssh结构体系(Spring + Struts +Hibernate ) | |
(1)Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 | |
(2)Struts 由一些用 servlet 编写的类组成,这些 类实现了 MVC 的主要功能,并且提供了一套可重用的组件, 它还定义了一组概念、方法的抽象;我们可以在实现时调用 已有组件的方法,并且可以实现抽象的接口;Struts 还把复杂 的 MVC 运行机制进行了封装,使我们只要把这些类安装在 web 容器上后,进行很简单的配置――使用 xml 语言,就可 以很方便的使用 MVC 带来的好处了。 | |
(3)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任 | |
四.功能模块层次图 | |
五.设计类图 | |
六.E-R分析 | |
1.局部ER图 | |
(1)用户登录ER图 | |
(2)用户个人信息ER图 | |
(3)首页内容ER图 | |
(4)管理员ER图 | |
六.表结构设计 | |
用户表 | |
字段名 | 数据类型 |
:-----: | :-----: |
id | int(11) |
user_name | char(20) |
password | char(32) |
sex | tinyint(4) |
telephone | char(14) |
管理员表
字段名 | 数据类型 | 注释 | 默认 |
---|---|---|---|
id | char(10) | 管理员编号 | 无 |
name | char(10) | 管理员姓名 | 无 |
password | char(10) | 管理员密码 | 无 |
网课表
字段名 | 数据类型 | 注释 | 默认 |
---|---|---|---|
id | char(10) | 网课编号 | 无 |
name | char(20) | 网课名称 | 无 |
count | char(10) | 网课数量 | 无 |
address | char(20) | 网课地址 | 无 |
publish_time | timestamp | 网课时间 | 无 |
授课老师表
字段名 | 数据类型 | 注释 | 默认 |
---|---|---|---|
name | char(20) | 网课名称 | 无 |
name | char(20) | 授课老师名称 | 无 |
belong | char(20) | 授课老师所属学校 | 无 |
收藏课程表
字段名 | 数据类型 | 注释 | 默认 |
---|---|---|---|
id | char(10) | 收藏课程编号 | 无 |
name | char(20) | 收藏课程名称 | 无 |
time | timestamp | 收藏课程时间 | 无 |
七.系统安全和权限设计
1.系统安全设计原则
由于在网络环境下,任何用户对任何资源包括硬件和软件资源的共享,所以必须通过制定相应的安全策略来防止非法访问者访问数据资源,对数据资源的存储以及传输进行安全性保护。
1.1 标识与确认
任何用户访问系统资源,必须得到系统的身份认证以及身份标识,如用户号码、密码、学号。当用户信息与确认信息一致时,才能获准访问系统。在本系统中,对操作系统,数据库系统和应用系统都有相应的用户和权限的设置。
1.2 授权
对系统资源,包括程序、数据文件、数据库等,根据其特性定义其保护等级;对不同的用户,规定不同的访问资源权限,系统将根据用户权限,授予其不同等级的系统资源的权限。
1.3 日志
为了保护数据资源的安全,在系统中对所保护的资源进行任何存取操作,都做相应的记录,形成日志存档,完成基本的审计功能。
1.4 加密
为了保护数据资源的安全,在系统中对在网络中传输的信息必须经过高强度的加密处理来保证数据的安全性。
通过整体考虑来保证网络服务的可用性、网络信息的保密性和网络信息的完整性。
2. 系统级安全
系统级安全主要体现系统软件平台的安全设置上。
2.1 物理设备的安全措施
在系统设备的选用上,必须对各产品的安全功能进行调查,选用。要求对系统设备提供容错功能,对系统的备份方案在下节进行讨论。采用各种网络管理软件,系统监测软件或硬件,实时监控服务器,网络设备的性能以及故障。对发生的故障及时进行排除。
2.2 操作系统平台的安全管理
在操作系统平台上,应进行如下设置:
系统的超级用户口令应由专人负责,密码应该定期变换。
建立数据库的专用用户,系统在与数据库打交道时,应使用专用用户的身份,避免使用超级用户身份。
在系统的其他用户的权限设置中,应保证对数据库的数据文件不能有可写、可删除的权限。选用较高安全级别的操作系统,时刻了解操作系统以及其他系统软件的动态,对有安全漏洞的,及时安装补丁程序。
2.3 数据库系统的安全管理
数据库系统是整个系统的核心,是所有业务管理数据以及清算数据等数据存放的中心。数据库的安全直接关系到整个系统的安全。在本系统中对此考虑如下:数据库管理员( SA )的密码应由专人负责,密码应该定期变换。
客户端程序连接数据库的用户绝对不能使用数据库管理员的超级用户身份。
客户端程序连接数据库的用户在数据库中必须对其进行严格的权限管理,控制对数据库中每个对象的读写权限。
利用数据库的审计功能,以对用户的某些操作进行记录。
充分使用视图以及存储过程,保护基础数据表。
对于不同的应用系统应建立不同的数据库用户,分配不同的权限。
3. 应用级安全
针对本系统,我们在考虑其应用级安全时,主要针对以下几个方面:
系统的用户授权及安全访问控制
全面的日志管理机制
采用相关的网络版的防病毒软件
3.1 用户授权及安全访问控制
对于用户授权和安全访问控制的有关需求,我们在实现本系统时,利用系统的基本定制功能实现对用户属性的定制,可新建用户及用户组,新建角色,用户组可为多层嵌套结构,可按不同用户级别和组级别进行权限分配;角色可以按不同用户级别和组级别进行权限分。
3.2 日志管理机制
实现系统使用情况的日志记录,系统对重要的操作都自动进行日志记录,管理人员对日志记录进行查询、管理;
提供用户访问系统记录,目前提供用户名,用户IP,登录时间,记录时间,操作内容等。
3.3 数据加密及数据保护
系统将对传输过程中的信息进行加密处理,对信息进行保护,以防止信息泄露。
4. 灾难备份与应急故障恢复
4.1 系统备份
为保证系统长期、稳定的运行,设计必须考虑系统的备份方案,根据系统的硬件环境,可对主机、磁盘子系统、通信介质备份或容错。
4.2 数据备份与恢复
在系统运行过程中,经常会由于设备以及其他因素的原因,导致系统的崩溃,数据库的毁坏。为了系统数据安全,无论采用何种系统备份方案,也必须进行数据备份。在系统设计中,应建立一套有效的备份策略,建立完善的备份制度。在本系统中考虑如下:
备份方式可采用完全备份与增量备份相结合方式进行备份;
备份时间频度应结合系统的数据增量来确定,如每天一次、每周一次等。
5. 权限管理
权限管理是用户进行系统权限划分和设置的平台,按照管理的层次可划分为三个层面进行管理,用户、角色和功能。
5.1 用户
通过系统用户注册功能实现登录用户的信息保存。为保证各系统间采用统一的登录验证,可采用统一的用户信息表的办法,保证统一的用户信息数据来源。
用户表可包括:用户ID、用户名、密码、角色信息、其他相关信息。
注:密码加密采用MD5的方式进行加密。
github:https://github.com/gu1270605682/zuoye
八.工作流程、组员分工、组员贡献度比例
1.工作流程
2.组员分工和组员贡献度比例
组员 | 工作内容 | 贡献度所占比 |
---|---|---|
李文博 | 预期开发计划时间安排和.团队项目的预期开发计划分工安排 | 14% |
谷岳明 | 体系结构设计 | 14% |
刘博殊 | 功能模块层次图 | 12% |
郑亚攀 | 设计类图 | 12% |
张浩 | E-R分析 | 12% |
庄严 | 表结构设计 | 12% |
张泽先 | 系统安全和权限设计 | 12% |
徐志杰 | 博客撰写 | 12% |