学校教材管理系统

一)需求概述

整个系统主要分为两个部分:管理员和普通用户、员工,每个模块下的分支功能不一样。对功能做出如下说明:

 1.教材采购管理:包括教材的订购、采购流程管理,以及采购订单的审核和跟踪。

2.库存管理:对教材库存的管理,包括入库、出库、库存查询和调拨等功能。

3.教材分发管理:管理教材的分发流程,包括根据教学计划进行教材分发、分发记录的管理以及分发情况的统计和分析。

4.教材回收管理:管理教材的回收流程,包括回收通知、回收登记和回收统计等功能。

5.权限管理:不同用户角色的权限划分,包括管理员、教师和学生等角色,确保各项操作的安全性和合法性。

6.数据统计和报表:系统应具备生成各类报表和统计分析功能,包括教材采购统计、库存统计、分发统计等,为学校管理者提供决策支持。

图一  系统功能结构图

(二)业务流分析

图二 业务流程图

三)数据流分析

图三 系统数据流图(零层)

图四 系统数据流图(一层)

(四)数据字典

数据项名:教材编号

简述:存储每本教材的信息

简要说明:学校教材编码

类型及长度:数字型,7位

数据值类型:(连续/离散)离

数据结构名:教材管理表单

简述: 存储教材入出库等的表单

数据结构组成:征订号+书名+出版社+作者+版次+单价+课程+专业+班级+人数+日期+操作员

处理逻辑名:制定计划

加工编号:P1

简要描述:根据各系征订教材以及所缺教材定购计划。

输入数据流: 教材订单。

输出数据流: 教材计划表

数据存储名:入库教材

简述:存储入库教材的基本信息

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

数据存储名:出库教材

简述:存储出库教材的基本信息。

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

数据库概念结构设计

  • 实体分析

(1)用户信息实体:登录信息。

(2)教材购买信息实体:购买教材的信息。

(3)教材库存信息实体:库存中教材的信息。

(4)教材征订信息实体:教材信息。

  • 属性分析

(1)用户信息实体:用户编号、姓名、性别、所属专业、班级、密码、手机号。

(2)教材购买信息实体:征订号、书名、出版社、作者、版次、单价、班级、数量。

(3)教材库存信息实体:征订号、书名、出版社、作者、版次、单价、数量。

(4)教材征订信息实体:征订号、书名、出版社、作者、版次、单价、班级、人数。

  • 联系分析

图五 E-R图

  • 概念模型分析

图六

数据库逻辑结构设计

(1)概念模型转化为逻辑模型

图七

(2)逻辑模型设计(.LDM图) 

图八

四、数据库物理结构设计

(一)表设计

图九  教材购买表

图十 教材信息表

图十一 购买信息表

图十二 用户表

(二)创建表和完整性约束代码设计

if exists (select 1

            from  sysobjects

           where  id = object_id('"User"')

            and   type = 'U')

   drop table "User"

go

if exists (select 1

            from  sysindexes

           where  id    = object_id('goumai')

            and   name  = 'GengGai_FK'

            and   indid > 0

            and   indid < 255)

   drop index goumai.GengGai_FK

go

if exists (select 1

            from  sysindexes

           where  id    = object_id('goumai')

            and   name  = 'GouShu_FK'

            and   indid > 0

            and   indid < 255)

   drop index goumai.GouShu_FK

go

if exists (select 1

            from  sysobjects

           where  id = object_id('goumai')

            and   type = 'U')

   drop table goumai

go

if exists (select 1

            from  sysindexes

           where  id    = object_id('jiaocai')

            and   name  = 'DuiBi_FK'

            and   indid > 0

            and   indid < 255)

   drop index jiaocai.DuiBi_FK

go

if exists (select 1

            from  sysindexes

           where  id    = object_id('jiaocai')

            and   name  = 'JiaoCai_FK'

            and   indid > 0

            and   indid < 255)

   drop index jiaocai.JiaoCai_FK

go

if exists (select 1

            from  sysobjects

           where  id = object_id('jiaocai')

            and   type = 'U')

   drop table jiaocai

go

if exists (select 1

            from  sysindexes

           where  id    = object_id('kucun')

            and   name  = 'DuiBi2_FK'

            and   indid > 0

            and   indid < 255)

   drop index kucun.DuiBi2_FK

go

if exists (select 1

            from  sysobjects

           where  id = object_id('kucun')

            and   type = 'U')

   drop table kucun

go

/*==============================================================*/

/* Table: "User"                                                */

/*==============================================================*/

create table "User" (

   User_code            int                  not null,

   User_name            char(30)             null,

   sex                  char(2)              null,

   major                char(16)             null,

   pwd                  int                  null,

   num                  int                  null,

   tradeclass           char(10)             null,

   constraint PK_USER primary key nonclustered (User_code)

)

go

/*==============================================================*/

/* Table: goumai                                                */

/*==============================================================*/

create table goumai (

   GBno                 int                  not null,

   CBno                 int                  null,

   User_code            int                  null,

   GBname               char(26)             null,

   GBpress              char(16)             null,

   GBauthor             char(30)             null,

   GBrevision           char(10)             null,

   GBnum                int                  null,

   GBprice              int                  null,

   GBclass              char(10)             null,

   constraint PK_GOUMAI primary key nonclustered (GBno)

)

go

/*==============================================================*/

/* Index: GouShu_FK                                             */

/*==============================================================*/

create index GouShu_FK on goumai (

User_code ASC

)

go

/*==============================================================*/

/* Index: GengGai_FK                                            */

/*==============================================================*/

create index GengGai_FK on goumai (

CBno ASC

)

go

/*==============================================================*/

/* Table: jiaocai                                               */

/*==============================================================*/

create table jiaocai (

   Bno                  int                  not null,

   GBno                 int                  null,

   CBno                 int                  null,

   Bname                char(25)             null,

   Bpress               char(16)             null,

   Bauthor              char(30)             null,

   Brevision            char(10)             null,

   Bnum                 int                  null,

   Bclass               char(10)             null,

   Bprice               float                null,

   constraint PK_JIAOCAI primary key nonclustered (Bno)

)

go

/*==============================================================*/

/* Index: JiaoCai_FK                                            */

/*==============================================================*/

create index JiaoCai_FK on jiaocai (

GBno ASC

)

go

/*==============================================================*/

/* Index: DuiBi_FK                                              */

/*==============================================================*/

create index DuiBi_FK on jiaocai (

CBno ASC

)

go

/*==============================================================*/

/* Table: kucun                                                 */

/*==============================================================*/

create table kucun (

   CBno                 int                  not null,

   Bno                  int                  null,

   CBname               char(25)             null,

   CBpress              char(16)             null,

   CBauthor             char(30)             null,

   CBrevision           char(10)             null,

   CBnum                int                  null,

   CBprice              float                null,

   constraint PK_KUCUN primary key nonclustered (CBno)

)

go

/*==============================================================*/

/* Index: DuiBi2_FK                                             */

/*==============================================================*/

create index DuiBi2_FK on kucun (

Bno ASC

)

go

(三)创建物理模型设计图(.PDM)

图十三

系统实现和界面

(1)登录界面

图十四

图十五

(2)购书界面

图十六

图十七

(3)教材界面

图十八

图十九

(4)库存界面

图二十

图二十一

(5)首页

图二十二 首页

六.总结与展望

1.总结

通过完成学校教材管理系统的过程,我不仅学会灵活运用SQLServer,dreamweaver和powerdesigner等软件。也深刻理解了系统设计并实践的重要性。希望通过这些体会,能够更好地应用于未来的学习中。

2.展望

已解决问题分析:

数据准确性:通过建立学校教材管理系统数据库,成功解决了数据准确性的问题。数据库能够实时更新、准确记录学生资助相关信息,避免了可能出现的错误和遗漏。

尚未解决的问题分析:

页面优化:丰富页面设计,使其更加美观与使用

系统功能优化:通过用户反馈改进系统功能或新增系统功能

完善的设想与建议:我们可以对系统进行功能扩展。例如,可以增加教材预订功能、教材评价功能等,以满足用户更加多样化的需求。

持续优化系统:系统上线后,要及时收集用户反馈,不断优化系统功能和性能,确保系统能够持续满足用户需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值