访问【WRITE-BUG数字空间】_[内附完整源码和文档]应用背景为方便实验室进行设备管理,某大学拟开发实验室设备管理系统 来管理所有实验室里的各种设备。系统可实现管理员登录,查看现有的所有设备, 增加设备等功能。开发环境Mac OSPyCharm IDEPython3Flask(Web框架)SQLite(数据库)运行方法准备安装virtualenv: pip3 install virtualenv创建虚拟环境: virtualenv venv进虚拟环境: source venv/bin/activate安装依赖的包: pip install -r requirements.txt退出虚拟环境: deactivate运更新数据库: python app.py db upgrade成户: python app.py init运: python app.py runserver初始管理员账户邮箱:zhaowrenee@gmail.com 密码:666666功能结构登录:管理员可以通过输入预置的账号密码进行登录。查看设备列表:管理员在登录成功后,应立即展示所有设备信息,设备 信息应包括设备 ID 号,设备名,实验室名,购置时间,购置人。增加设备:增加设备时应输入设备名,实验室名,购置人等信息,设备 增加成功后自动返回系统分配的设备 ID 号,购置时间应为系统自动生成(默认为增加设备的时间)。[附加] 删除设备:管理员本人购置的设备具有顶级重要性,故不能被删除[附加] 搜索设备:输入关键词,显示名称中包含关键词的设备列表另外保证:对输入数据进行合法性验证,并进行友好提示。对数据库中的密码字段加密处理。提示设备 ID 号应保证唯一性。设备名可重复。功能细节一、UML图1、活动图
app.py中function与 templates中HTML件对应,展示在页中:index() 通过 SearchForm 实现对户信息的检索和展示,并通过 index.htmladd_device() 通过 UserForm 实现对新设备信息的添加,并调 add_device.htmlremove_device(id) 通过id删除设备,但不能删除管理员添加的设备login() 通过调 LoginForm 实现登录,并调 login.html 页登录,也是服务器提供的第个页其余function对应系列错误处理和必要但和数据库关功能2、用例图
3、顺序图
4、类图
HTML使Flask-wtf Bootstrap渲染功能,使界更美观app.Role为户设置的用户或者管理员角类,内部有条件角条件约束app.User 户类记录户名、密码、id等信息,与数据库的属性进行交互app.Device 设备类记录设备名、实验室、购置人、购置时间等信息,与数据库的属性进行交互FlaskForm 信息表三种Form根据不同的操作需求,设定不同的Field5、状态图
、基本表单的定义表一:roles 身份表名称类型NOT NULL约束PRIMARY KEY约束UNIQUE约束默认外键idINTEGER√√nameVARCHAR(64)CREATE TABLE roles (
id INTEGER NOT NULL,
name VARCHAR(64),
PRIMARY KEY (id),
UNIQUE (name)
)
表中实体:idname1User2Admin
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net