0
点赞
收藏
分享

微信扫一扫

实验室设备管理系统

访问【WRITE-BUG数字空间】_[内附完整源码和文档]

应用背景

为方便实验室进行设备管理,某大学拟开发实验室设备管理系统 来管理所有实验室里的各种设备。系统可实现管理员登录,查看现有的所有设备, 增加设备等功能。

开发环境

  • Mac OS
  • PyCharm IDE
  • Python3
  • Flask(Web框架)
  • SQLite(数据库)

运行方法

准备

  1. 安装virtualenv: pip3 install virtualenv
  2. 创建虚拟环境: virtualenv venv
  3. 进虚拟环境: source venv/bin/activate
  4. 安装依赖的包: pip install -r requirements.txt
  5. 退出虚拟环境: deactivate

  1. 更新数据库: python app.py db upgrade
  2. 成户: python app.py init
  3. 运: python app.py runserver

初始管理员账户

邮箱:zhaowrenee@gmail.com 密码:666666

功能结构

  1. 登录:管理员可以通过输入预置的账号密码进行登录。
  2. 查看设备列表:管理员在登录成功后,应立即展示所有设备信息,设备 信息应包括设备 ID 号,设备名,实验室名,购置时间,购置人。
  3. 增加设备:增加设备时应输入设备名,实验室名,购置人等信息,设备 增加成功后自动返回系统分配的设备 ID 号,购置时间应为系统自动生成(默认为增加设备的时间)。
  4. [附加] 删除设备:管理员本人购置的设备具有顶级重要性,故不能被删除
  5. [附加] 搜索设备:输入关键词,显示名称中包含关键词的设备列表

另外保证:

  1. 对输入数据进行合法性验证,并进行友好提示。
  2. 对数据库中的密码字段加密处理。

提示

  • 设备 ID 号应保证唯一性。
  • 设备名可重复。

功能细节

一、UML图

1、活动图


实验室设备管理系统_设备名


app.py中function与 templates中HTML件对应,展示在页中:

  • index() 通过 SearchForm 实现对户信息的检索和展示,并通过 index.html
  • add_device() 通过 UserForm 实现对新设备信息的添加,并调 add_device.html
  • remove_device(id) 通过id删除设备,但不能删除管理员添加的设备
  • login() 通过调 LoginForm 实现登录,并调 login.html 页登录,也是服务器提供的第个页
  • 其余function对应系列错误处理和必要但和数据库关功能

2、用例图


实验室设备管理系统_设备名_02


3、顺序图


实验室设备管理系统_设备名_03

实验室设备管理系统_设备名_04

实验室设备管理系统_数据库_05

实验室设备管理系统_python_06

实验室设备管理系统_python_07

4、类图


实验室设备管理系统_设备名_08


  • HTML使Flask-wtf Bootstrap渲染功能,使界更美观
  • app.Role为户设置的用户或者管理员角类,内部有条件角条件约束
  • app.User 户类
  • 记录户名、密码、id等信息,与数据库的属性进行交互


  • app.Device 设备类
  • 记录设备名、实验室、购置人、购置时间等信息,与数据库的属性进行交互


  • FlaskForm 信息表
  • 三种Form根据不同的操作需求,设定不同的Field


5、状态图


实验室设备管理系统_设备名_09


、基本表单的定义

表一:

roles 身份表

名称

类型

NOT NULL约束

PRIMARY KEY约束

UNIQUE约束

默认

外键

id

INTEGER



name

VARCHAR(64)

CREATE TABLE roles (
	id INTEGER NOT NULL, 
	name VARCHAR(64), 
	PRIMARY KEY (id), 
	UNIQUE (name)
)

表中实体:

id

name

1

User

2

Admin

举报

相关推荐

0 条评论