当前位置:文档之家› 机房管理系统课程设计报告

机房管理系统课程设计报告

2 需求分析
2.1 系统概述
采用 B/S 结构(Browser/Server,浏览器/服务器模式),在服务器处理不同请求时,对用户信息 和机器状况进行数据库的插入、删除、修改、查找等操作,完成数据库信息的更新,并根据不同请 求将合适的响应发送到客户端,对用户和管理员进行信息的展示,提供进行操作的接口。
4
2. 根据数据验证用户,如成功则将该用户与数据中空闲电脑建立连接,开始计时、计费; 3. 根据数据库中相关信息显示用户页面 登录界面如图 4 所示:
图 4 登录界面展示 用户信息界面如图 5 所示:
图 5 用户界面展示
4.4 机器使用情况管理模块
为管理员提供所有用户和机器信息及使用情况的显示,并提供添加、删除、查找、修改信息等 操作,管理操作通过向服务器发送请求,服务程序执行数据库操作完成。
系统业务流程图:
开始
注册
登录
n
密码正确吗
y
是管理员
n

y
机房常规管理信息的 显示,操作
分配电脑,信息 展示,自动计时
退出登录
结束
图 2 系统业务流程图
3.3 系统数据库设计
数据库记录用户的用户名、邮件地址、密码、是否为管理员,这些数据由 users 表管理;记录机
器的编号、备忘信息、上机开始时间、花费时间、上机费用(每次用户登录时更新),这些数据由
机房的日常管理中,因上机人员的多样性,所以为所有潜在用户提供注册功能,成功注册之后, 可进行登录上机,并对用户实时显示自己的上机时间、费用等使用信息;而管理员进行登录后,则 对其提供所有用户、机器的上机时间、费用等使用信息与状态,并进行分类显示,提供对机器增加、 删除、查找,允许对机器信息进行修改,增加备忘信息等操作。这些功能适用于任何常规机房,为 用户提供登录注册的功能解决了上机人员多样、随机的问题;其次,相对传统的人工管理,用户的 上机、下机无需管理员频繁的进行登记,并且上机后自动计时、计费,方便对用户的上机收费管理; 最后,管理员无需在机房开放时对每个用户的和机器状况进行频繁的登记、修改信息,而由系统自 动更新数据库,解决了管理重复工作量大和管理混乱的问题。
课程设计
课程名称: 设计题目: 班 级: 学 号: 姓 名: 指导教师: 完成时间:
软件工程课程设计 机房管理系统的设计与实现
2016 年 6 月
哈尔滨工程大学教务处 制
课程设计报告
机房管理系统的设计与实现
班级: 学号: 姓名: 教师评语:
教师签名: 2016 年 6 月
课程设计题目
机房管理系统的设计与实现
实现步骤: 1. 管理员执行操作,向服务器发送操作请求;
5
2. 服务程序根据操作执行数据库操作,向客户端发送响应; 3. 客户端通过响应,显示操作结果。 管理界面如图 6 所示:
图 6 管理界面展示
5 总结
本系统采用 B/S 结构(Browser/Server,浏览器/服务器模式),根据机房实际需求,设计用户 界面,提供所展示的内容与进行操作的接口;根据所管理内容,分别创建用户、机器数据表;根据 浏览器的不同请求,在服务器进行相关数据库的操作,完成数据库的更新,并将合适的响应发送到 客户端,进行操作结果显示。
computers 表管理。computers 表有一指向 users 表的外键,关系使用它连接两表的具体用户和机器,
用户登录时与空闲机器建立连接,用户退出时断开连接。computers 表的具体设计如表 2 所示,users
表的具体设计如表 3 所示:
表 2 电脑信息表
字段名
字段类型
备注
id
Integer
主要内容
本系统分为四个模块,分别为用户注册模块、用户登录模块、
用户信息显示模块和用户及机器使用情况模块,它们的功能如下: 1) 用户注册模块:为所有潜在用户提供注册的功能; 2) 用户登录模块:已注册用户可以通过登录使系统为其分配机
器,并开始计时、计费;管理员可直接通过登陆进入管理页
面; 3) 用户信息显示:为用户实时显示自身相关信息; 4) 用户及机器使用情况管理:为管理员提供所有用户和机器信
表 3 用户信息表 字段类型
Integer String String String Boolean
备注 用户 id 用户名 用户邮件 密码散列值 是否为管理员 对使用机器的反向关系
4.系统实现
根据上述系统实现模式,功能流程,数据库设计,可实现下述模块。
4.1 注册模块
注册主要负责新用户信息的增加,页面表单中填写用户数据后,使用 post 方法发送到服务程序, 程序获取用户数据,在数据库中的 users 表中插入数据。
机器 id
name
String
机器编号
memo
Text
备忘信息
start_time
DateTime
上机开始时间
spend_time
Interval
上机时间
spend_money
Float
上机费用
user_id
Integer
外键,引用用户 id
3
字段名
id username email password_hash is_admin computers
[3] Flask 官方文档:/ [4] Python 3.5 官方文档:https:///3/
1 引论
1.1 研究背景
随着计算机技术的迅速发展,高等院校招生规模的扩大,需要上机的课程和学生人数逐年增多, 由几年前只承担各专业的公共基础课和计算机专业的专业课,到目前需要承担相当数量专业的专业 课或专业基础课,课程门数和学生数量都在呈直线上升的态势。鉴于以上因素和上机人员随机性大、 开机时间长、管理机房重复性工作量大、收费标准多样化等特点。开发方便用户与管理员使用的机 房管理系统,提高管理效率,降低劳动强度,更好地让机房服务教学,具有重要的现实意义。

功能描述
1 注册模块
为潜在用户提供注册功能,注册后可登陆并使用机 器
2 登陆模块
已注册用户可以通过登录使系统为其分配机器,并 开始计时、计费;管理员可直接通过登陆进入管理 页面
3
用 户 信 息 显 示 为用户实时显示自身信息 模块
机 器 使 用 情 况 为管理员提供所有用户和机器信息及使用情况的显
目的和背景
随着计算机技术的迅速发展,高等院校招生规模的扩大,需要 上机的课程和学生人数逐年增多,由几年前只承担各专业的公共 基础课和计算机专业的专业课,到目前需要承担相当数量专业的 专业课或专业基础课,课程门数和学生数量都在呈直线上升的态 势。鉴于以上因素和上机人员随机性大、开机时间长、管理机房 重复性工作量大等特点,开发方便用户与管理员使用的机房管理 系统,提高管理效率,降低劳动强度,更好地让机房服务教学, 具有重要的现实意义。
需求分析 机房管理系统概要设计、详细设计 机房管理系统实现 机房管理系统测试 撰写课程设计报告
参考资料
[1] (美) 格林布戈 (Grinberg,M.)著,安道译.Flask Web 开发: 基于 Python 的 Web 应用开发实战.2015:65-74.
[2] (美) Jon Duckett 著,刘涛/陈学敏译.HTML & CSS 设计与构建 网站.2013:417-441.
实现步骤: 1. 在首页选择注册后显示注册表单; 2. 用户填写表单后发送数据; 3. 程序根据数据进行数据库中新用户的增加。 注册界面如图 3 所示:
图 3 注册界面展示
4.2 登录及用户信息显示模块
登录模块负责用户的认证,为认证用户分配电脑,并开始计时,计费,更新数据库。 实现步骤 1. 显示登录页面,用户填写数据好发送数据;
在进行课程设计过程中,我逐渐熟悉了开发 Web 程序的流程,学习如何使用 HTML、CSS 和 JavaScript 进行网页开发,并对 B/S 结构的工作方式有了更深的了解;同时,我在实践中对软件工 程概念有了更深的认识,完成一个完整的机房系统对我的学习有很大的帮助。
6 参考文献
[1] (美) 格林布戈 (Grinberg,M.)著,安道译.Flask Web 开发: 基于 Python 的 Web 应用开发实 战.2015:65-74.
1.2 研究目标及开发环境
本设计主要针对机房使用管理,即实现基本机房管理系统功能。为用户提供注册、登录、实时 信息显示,方便用户对机房的使用;为管理员提供机房信息及使用情况的管理,进行“增删改查” 等操作,方便管理员的日常管理。
系统开发语言:Python 数据库管理:SQLAlchemy 运行平台:windows 10 运行环境:Python 3.5.0、flask 0.10.1
息及使用情况的显示,并提供添加、删除、查找、修改信息
等操作。
采用的工具方法
系统开发语言:Python 数据库管理:SQLAlchemy 运行平台:windows 10 运行环境:Python 3.5.0、flask 0.10.1
进度安排
6 月 20 日-6 月 22 日 6 月 22 日-6 月 24 日 6 月 24 日-6 月 27 日 6 月 27 日-6 月 29 日 6 月 29 日-6 月 30 日
用户注册模块
插入新用户 数据
数据存储
进行登陆信息验证 成功则分配电脑,进 行计时,更新数据
用户登录模块
更新数据
读取信息
机机器器使使用用情况管理模

读取信息 用户信息显示模块
图 1 系统结构图 3.2 系统功能流程图
系统对新用户提供注册服务,成功注册之后,用户可以进行登录,如果登陆成功,则此时系统
2
为用户分配机器,更新数据库,并开始自动计时,为用户发送显示相关信息的响应; 如果登录者为管理员,则发送机房管理信息的相关响应,并提供操作相关信息的功能。下图为
相关主题