软件工程课程设计题目学校教材订购系统学院嘉兴学院专业信息管理和信息系统班级信息N052学号01 07 15学生姓名颜幼幼徐晶俞丽指导教师张云编写日期2009年2月21日一、开发计划:1、系统叙述在21世纪的今天,随着计算机技术和计算机网络的发展,人们逐渐开始步入信息时代。
通过Internet网络人们可以浏览各类信息,发送电子邮件,传送文件,参与BBS,网上娱乐,远程教育,远程医疗。
人们日常工作,生活中的许多事情都已经可以在网上轻松简单的完成。
互联网因为它简单的操作和强大的信息量,逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成部分。
近年来,互联网也开始涉及学校的教材订购,教材订购系统近几年在各高校逐渐得到广泛的应用。
但有些教材征订系统,仍然存在着在教材管理和征订方面半手工半信息化的状况。
所谓半手工半信息化是教材科有详细的教材资料,并把他们存放在电子文档中。
每次需要信息时,在电脑中找到对应文档提取所需信息,把所需的信息打印或手抄出来。
即教材信息没有形成一个大型的整体的数据库,而且还没有对这些数据进行操作的网络应用程序。
目前国内大部分的学校都是这种情况。
针对这一情况,我们研究和开发了“学校教材订购系统”作为深入研究解决这一问题办法的初步尝试。
2、问题的提出及发展背景随着教学数量的提高,对软件质量的要求也越来越高,因此,教师、学生对教材的订购了越来越重视,希望获取教材的过程简单,方便,快速,因而,做一个好的订购系统是十分重要的。
订购是指教师或学生向工作人员提供要采购的教材,经工作人员审查后,发给教师或学生发票,然后去书库去领取教材,但工作人员发现书库中缺货时,要及时的向采购部报告,采购部要及时的进货,然后,工作人员来修改记录。
3、目标系统叙述本系统主要解决通过程序制作WEB应用程序,通过该应用程序实现对数据库的整合以及对数据库的操作。
数据库的整合就是把现在的零散的数据库经过分类,综合整理成一个大型的数据库。
所需数据都可以从里面调用,数据库操作主要指添加,删除,查询等数据库基本操作。
系统的设计首先着眼的是网络,学生或教师可以通过本系统向教材订购人员提交所需教材的详细信息,教材订购系统可以统计教材信息。
因此本系统方便了学校教材订购部门的工作,提高了工作效率。
主要功能包括:1、收集数据。
将学生教师的订书单和缺书通知单单收集起来。
2、打印报表。
产生待购教材表、进库表和出库表等各种统计报表3、可行性分析及开发计划在技术上的可行性分析,本系统可细化为两个子系统:销售系统和采购系统销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
当书库中的各种书籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。
在对现行系统的情况调查的基础上,得出系统的逻辑模型。
二、需求分析1、需求定义说明书此教材采购系统分为两个模块:采购系统和销售系统。
具体见下图层次数据流图。
销售系统模块:提交购书单、审核购书单、开发票、登记购书纪录、返回领书单、修改和维护数据库中相应的表。
采购系统模块:发缺书台州单、登记缺书纪录、拟订待购书信息、发进书通知单、修改和维护数据库中相应的表。
教材管理信息系统的服务对象为全校师生员工,系统的使用对象为教务处教材管理人员及书库管理员。
系统主要完成以下具体功能:(1)预定新书购书者购买书库暂时没有的书,可以进行预订,由教务处工作人员进行采购。
(2)购书购书者到财务室办理缴费手续,然后凭此手续去书库取书。
(3)书出库书从书库领出,管理员修改书库记录。
(4)书入库采购人员把采购的书送入书库,管理员修改书库记录。
(5)书库维护对现有的书分类、统计、增添新书目或删除不存在的旧书目录等,一般由书库管理人员来完成。
2、数据流图将数据流图模块中的内容进一步细化,便于理解与设计。
学生信息包括:姓名、学号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。
老师信息包括:姓名、编号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。
书籍信息包括:书籍名称、书籍编码、价格、现有数量、出版社、作者。
购书单信息包括:日期、书籍名称、数量、学生(老师)姓名、购书人员编号。
缺书单信息包括:日期、书籍名称、数量、学生(老师)姓名、发行人员编号。
发行人员信息包括:书籍名称、数量、日期、发行人员编号、联系方式。
采购人员信息包括:书籍名称、数量、日期、采购人员编号、联系方式。
将细化的数据流图用图形表示出来:如下图领书单订书单 验证订书单 发票、登记缺书单领书 代购材料表 单 出库表 购书进书通知单图2-1 教材订购系统数据流程图在数据流图分解时,每个变动都可能引出新的问题。
这些问题的回答可以到处数据字典的新条目,发现后及时更正。
随着分析过程的深入,通过不断地提问和问答,把软件系统定义得越来越准确详细。
最终就能对系统的功能要求有一个较全面的认识。
应当高度重视:通过各层数据流图和数据字典把对系统的完整认识描述出来,并作为正式文档保存。
三、概要设计(系统设计):1、系统功能模块结构图根据需求分析,学校教材订购系统功能模块结构图如下:学生、教师 学校教材订购系统 教材发行人员 书库采购人员 取书销售子系统采购子系统2、数据库概要设计(E-R 图)学校教材订购系统中,其主要的实体分别为用户(教师和学生)、教材管理人员,经分析后,得到主要E-R 图,如图所示。
销售子系统提交购书单 审核购书单开发票登记购书纪录返回领书单领书修改库存纪录采购子系统发缺书通知单 登记缺书纪录 发进书通知单 修改相应的表书 籍价格 库存量 出版社 编号书籍名进一步对学校教材订购系统的销售过程和采购过程进行数据流程分析,本系统应当具有如下的数据项和数据结构:开发过程中建立了名为book 的数据库,下设book07、book08、adminlist 等表如图3-1所示:图3-1 book 数据库图表asminlist 用于存放系统管理员和老师或学生的登陆用户名和密码,其中帐号为主码,如图3-2 adminlist 图所示。
工 作 人 员职位性别 备 注 电 话姓 名工号教师或学生性 别姓 名编 号图3-2 adminlist 图表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3-3表book07图所示。
图3-3 表book07图表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3-4表book08图所示。
图3-4 表book08图四、详细设计根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:销售子系统模块程序流程图:提交购书单 审核购书单 错误显示开发票 NY 开始采购子系统模块程序流程图:登记购书记录发领书通知单修改相应表审核登记审核修改错误显示错误显示NYNY 发缺书单 审核缺书单错误显示登记缺书 审核登记 修改数据库的表错误显示结束开始五、界面设计及主要代码本系统主要有登陆界面load.aspx,显示书目信息及功能模块选择页面book.aspx,添加新记录页面new.aspx,添加历史记录页面history.aspx 和history1.aspx,修改记录update.aspx 和update1.aspx 以及删除记录delete.aspx 八个页面组成.其中登陆与用datagrid 两大模块的代码编写与设计.具体设计如下: 5.1 登陆界面当单击确定按钮时,连接数据库,确定输入的帐号和密码是否匹配,跳转到书目的页面,若不匹配,则弹出帐号错误或密码错误的提示。
如图5-1所示图5-1具体代码如下:Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.ClickDim str As String审核修改错误显示发进书通知单结束Dim passstr As Stringpassstr = Trim(CStr(TextBox2.Text))str = "'" & TextBox1.Text & "'"Dim sql As String = "select * from adminlist where 帐号=" & Trim(str) ‘在数据库中搜索帐号为textbox1.text的数据’Dim connstr As String = "server=localhost;uid=sa;pwd=;database=book"Dim myconn As New SqlClient.SqlConnection(connstr)Dim da As New SqlClient.SqlDataAdapter(sql, myconn)Dim ds As New DataSetda.Fill(ds, "adminlist")Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da)If ds.Tables("adminlist").Rows.Count = 1 Then’判断帐号密码是否和数据库匹配’If passstr = Trim(ds.Tables("adminlist").Rows(0)("密码")) Then Response.Redirect("book.aspx")ElseResponse.Write("密码错误!")End IfElseResponse.Write("用户名不存在!")End IfEnd SubEnd Class5.2用datagrid显示数据首先建立datagrid,通过连接数据库,将数据显示在datagrid中。
如图5-2所示图 5-2 书目页面book.aspx具体代码如下:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadbinddata()End SubSub binddata()Dim myconnection As New SqlConnection("initial catalog=book;uid=sa;pwd=") Const strsql As String = "select * from book08 order by 书号"Dim mycommand As New SqlCommand(strsql, myconnection)Dim myda As New SqlDataAdaptermyda.SelectCommand = mycommandDim myds As New DataSetmyda.Fill(myds)DataGrid1.DataSource = mydsDataGrid1.DataBind()End Sub5.3 添加历史书目(1)history.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。