教材管理系统说明书.doc_第1页
教材管理系统说明书.doc_第2页
教材管理系统说明书.doc_第3页
教材管理系统说明书.doc_第4页
教材管理系统说明书.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学与计算机学院 课程设计说明书 课 程 名 称: 软件工程设计与实践 课 程 代 码: 8404131 题 目: 教材管理系统 年级/专业/班: 07 级信息与计算科学 1 班 学 生 姓 名: 学 号: 开 始 时 间: 2010 年 6 月 6 日 完 成 时 间: 2010 年 7 月 2 日 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新(5)说明书撰写质量(45) 总 分 (100) 指导教师签名: 年 月 目 录 摘要0 引言1 1 可行性分析1 1.1 技术可行性1 1.2 经济可行性2 1.3 开发环境可行性2 2 需求分析3 2.1 系统现状3 2.2 用户需求3 2.3 系统功能需求3 2.4 数据描述4 3 程序运行平台5 4 总体设计5 5 详细设计6 5.1 创建数据库6 5.2 创建工程10 5.3 主窗口设计10 5.4 教材管理模块11 5.5 班级信息管理12 5.6 供货商信息管理15 5.7 订购模块17 5.8 采购模块21 5.9 交互模块24 6 系统测试26 7 总结29 参考文献30 摘摘 要要 由于学校教材量大大增加,使教材管理员的工作日益繁重起来。 院校的教材管理 在学生规模日益增大、教材日益多样化、学生个人之间教材差异越来越大的现实面前已 呈现出无法应对的局面。 开发该教材管理系统是为了更好地管理学校的各类教材,便于教材管理人员订书、 领书、查询教材资料及其库存情况。使教材信息管理工作系统化、规范化、自动化,从而 达到提高教材管理效率的目的。该系统是运用 Microsoft SQL SERVER 2000 数据库系统 和 Visual C+程序语言开发实现的。 关键词:关键词:教材管理;数据库;课程设计 引言 教材管理系统用于学校的教学计划、教材管理。可以制定所开设的课程,制定教 学计划,制定教材计划,对教材进行需求统计,教材入库,出库管理。可查询每个系 的开课课程,所用教材,所需教材数量,对书库进行各种类型盘点,维护整个书籍库 存。并对书库的入库,出库的书籍进行实时跟踪,实现书籍的出入库落实到人。教材 管理系统实现学校的无纸化、网络化的教材管理,从而节省学校的教材管理开支。 1 可行性分析 1.1 技术可行性 C+是美国 Bell 实验室于 20 世纪 80 年代在 C 语言的基础上成功开发出来的,是 目前已经得到广泛应用的混合型面向对象程序设计语言。现在比较流行的有 BorlandC+和 VisualC+。C+的类库也包括 Borland 的 OWL(Oboject Windows Library)和 Microsoft 的 MFC,特别是 MFC 在国内外都具有众多开发商和使用者,具 有广泛的用户基础。 C+早期主要应用是系统程序设计,Compbell、Hamilton 和 Rozier 等操作系统或全部或部分使用 C+编写。C+还应用于设备驱动程序、需要直 接操作硬件的软件系统及动态链接库(DLL)等。图形学和用户界面也是使用 C+得 到深入的领域。 Visual C+6.0 是以 C+作为语言、以 MFC 类库为基础的功能强大的可视化软件 开发工具。它是 Microsoft 推出的功能最为强大、代码效率最高的开发工具。它包括了 Microsoft 基于 Windows 和 Web 的全面解决方案的核心,是用于创建高性能的 Windows 和 Web 应用程序与 Web 服务的最佳语言。它支持面向对象编程、可视化、 模块化、代码可重用和组件共享等技术,可以大大提高软件系统的设计、管理、和开 发速度。它也是编写 ActiveX 控件以及像 ISAPI(Internet 服务器应用程序接口)扩展 和 ISAPI 过滤器这样针对 IIS 的专用代码的理想编程环境。Visual C+6.0 提供了 ODBC、DAO、和 ADO 等多种数据库访问方式,其中 ADO 是 Microsoft 为数据库应 用程序开发而推出的一种新的数据库访问技术,正得到越来越广泛的应用。 SQL 是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用 户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不 同底层结构的不同数据库系统可以使用相同的 SQL 语言作为数据输入与管理的 接口。 它以记录集合作为操作对象,所有 SQL 语句接受集合作为输入,返回集合作为输出, 这种集合特性允许一条 SQL 语句的输出作为另一条 SQL 语句的输入,所以 SQL 语句 可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需 要一大段程序实现的功能只需要一个 SQL 语句就可以达到目的,这也意味着用 SQL 语 言可以写出非常复杂的语句。 1.2 经济可行性 在教材管理系统中,实现对教材的物流、资金流和信息流的管理,即针对教材出 入库管理、教材库存管理、教材费的收取和使用、教材需求信息、学生个人需用教材 信息等进行管理。这些措施将为提高高等院校教材管理水平、提高工作效率、减少人 为差错提供良好的管理平台。 极低成本的数据处理、信息查询、信息录入等,可实现教材需求信息、订单管理、 教材费用处理、教材费查询、教材出入库管理、库存管理、教材发放等功能。从目前 校园网和教材管理系统的推广和运行情况来看,本系统不需增加过多的硬件投入和应 用方面的培训,因此,其经济成本是很低的。 1.3 开发环境可行性 Visual C+是一种较简单编程工具,易于程序的开发和调试维护。Visual C+不 仅基于不同的平台开发,而且可以在不同的系统上进行移植,从而加快了软件的开发, 促进了发展。 产品销售管理系统就是基于这种简单的语言,以 SQL2000 作为数据库的后台,通 过 JDBC-ODBC 空间来访问数据库,使软件的开发更为简单,同时也提高了开发的速度。 2 需求分析 2.1 系统现状 这个教材管理系统能够实现基本功能,并通过图形界面和操作提示供用户使用。 但是程序本身比较复杂,在编程过程中,难免漏掉细节,留下缺陷。以后,这个程序 能够进一步改进和完善。 2.2 用户需求 供货商信息管理:实现增加供应教材单位和企业信息的添加、删除、修改、查询 功能。教材信息管理:能实现对新增教材实现入库,对已经淘汰的教材实现删除,对 有关教材信息不完整要求能进行修改,以及能查询所有教材书信息。 班级信息管理: 能实现对新增班级加入到数据库中,能对已经不存在的班级实现删除,能及时的查询 所有班级的有关信息,能实现修改有关班级信息。采购系统:过班级的需要能实现对 教材的添加,删除,修改等功能。订购系统:能实现通过采购系统的有关信息向有关 供货商发出有关订购信息,该模块能实现增加,删除,修改等功能。交互功能:通过 界面,能够直观的了解到各个子功能的信息。 2.3 系统功能需求 代码管理:建立出版社、新华书店等供应商代码以及教师、班级等代码管理。 计划管理:对购书计划进行管理。 登记编目:完成图书的验收、登记、编目、审核、入库等功能。 图书发放:包括教材的领用和发放等功能。 综合查询、统计、报表处理。库存图书信息浏览、修改、下架。 2.4 数据描述 教材=教材专利号+教材名称+出版社+价格 班级=班级编号+班级名称 销售商=销售商号+销售商名 教材库存=库存号+库存数量 根据用户需求、系统功能需求和数据描述建立一下的 E-R 图: 教材书 教材书编号教材书名字出版社教材书价 班级 班级名字班级代号 供货商 供货商编号 供 货 商 名 字 需求 N N 满足 N N 打印 图 1 E-R 关系图 3 程序运行平台 应用程序 VC6.0+,操作系统 WINDOWS XP,数据库 Microsoft SQL server 2005。 4 总体设计 主模块 教 材 信 息 班 级 信 息 订 货 系 统 交 互 功 能 供 货 商 信 息 订 购 系 统 图 2 系统总体框架图 5 详细设计 教材管理系统就是通过系统总设计的 6 个子功能模块来实现的,以下是各个子功能模 块的详细设计。 5.1 创建数据库 利用 Microsoft SQL server 2005 创建一个空的数据库,取名为 book,再使用设计器创 建 5 个表取名为 book,bookfrom,class,demand,stock,并且展开表的一栏点“新建表” 。 如图 1: 图 3 接下来界面上出现图 2,设置教材书信息,设置教材书表 bookfrom,教材书编号 ID 为 fid,教材书名字为 fname,设置好了如下图: 图 4 创建一个 book 表设计 bookid,bookname,bookpublish,bookprice4 个属性,效果如下: 图 5 创建一个表取名 class 并且 classid,classname2 个属性: 图 6 创建一个表 demand 并且设置 cid,bid,dnum3 个属性效果图如下: 图 7 创建一个表 stock 并且设置 bfid,bid,snum3 个属性,效果图如下: 图 8 修改表直至图 2 所显示那样;然后点击管理工具中的 ODBC 数据源,添加用户数据源, 选择驱动程序如图 3: 图 9 接下来在输入名称 computer,服务器选择如图 4 即可。 图 10 接下来选择默认即可就可以生产 ODBC 数据源 5.2 创建工程 利用 microsoft visual 6.0 创建一个基于单文档的应用程序并且取名 computersystem。在第二步选择需要数据源支持,并且点击 data source 选择已经注 册好了的 ODBC 数据源 bookmanage。后面的选择默认值,这样就创建了一个工程。 5.3 主窗口设计 进入到对话框中,删除 TODO,添加控件如图 5 所示: 图 11 并且设这号相应的属性如图 6 所示: 图 12 并且选择了绑定的数据记录集指针 m_pSet 对其中几个编辑框控件实行绑定。 5.4.教材管理模块 VC6.0 代码实现过程: 添加功能的代码如下: void CBookmanageView:OnButtonBookaddb() / TODO: Add your control notification handler code here UpdateData(TRUE); /* if(!m_bookid.IsEmpty()|m_bookname.IsEmpty()|m_bookprice.IsEmpty()|m_bookpublis h.IsEmpty() AfxMessageBox(“数据不能伟空“); return; */ m_pSet-AddNew(); m_pSet-m_bookid=m_bookid; m_pSet-m_bookname=m_bookname; m_pSet-m_bookpublish=m_bookpublish; m_pSet-m_bookprice=m_bookprice; try m_pSet-Update(); m_pSet-Requery(); AfxMessageBox(“成功保存数据!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); 5.5 班级信息管理 Vc6.0 实现过程 添加功能代码如下: void CClassDialog:OnButtonAddclass() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_cclassname.IsEmpty()|m_cclassid.IsEmpty() AfxMessageBox(“请输入相应的数据!“); return ; CString sqlStr_findid; sqlStr_findid = “SELECT * FROM dbo.class WHERE dbo.code=“+m_cclassid+“ “; m_pClassSet-AddNew(); /调用添加记录的函数处理 m_pClassSet-m_classid = m_cclassid; /对应变量更新 m_pClassSet-m_classname = m_cclassname; try m_pClassSet-Update(); m_pClassSet-Requery(); AfxMessageBox(“成功保存数据!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新显示 删除功能代码如下: void CClassDialog:OnButtonDeleteclass() / TODO: Add your control notification handler code here m_pClassSet-Delete(); /删除记录 m_pClassSet-Requery(); DisplayRecord(); 第一个记录函数代码如下: void CClassDialog:OnButtonFirstclass() / TODO: Add your control notification handler code here if(!m_pClassSet-IsBOF() m_pClassSet-MoveFirst(); /向前移动一条记录 DisplayRecord(); /更新窗口显示 上一个记录函数代码如下: void CClassDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pClassSet-IsBOF() m_pClassSet-MovePrev(); DisplayRecord(); 下一个函数模块: void CClassDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pClassSet-IsEOF() m_pClassSet-MoveNext(); DisplayRecord(); 5.6 供货商信息管理 VC6.0 实现过程: 添加功能源代码: void CBookfromDialog:OnButtonAddboorfrom() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_bookfromname.IsEmpty()|m_bookfromid.IsEmpty() AfxMessageBox(“请输入相应的数据!“); return ; m_pBookfromSet-AddNew(); /调用添加记录的函数处理 m_pBookfromSet-m_fid = m_bookfromid; /对应变量更新 m_pBookfromSet-m_fname = m_bookfromname; try m_pBookfromSet-Update(); m_pBookfromSet-Requery(); AfxMessageBox(“成功保存数据!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新显示 前一个记录的源代码 void CBookfromDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MovePrev(); DisplayRecord(); 下一个记录的函数源代码 void CBookfromDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsEOF() m_pBookfromSet-MoveNext(); DisplayRecord(); 指向第一个的函数源代码 void CBookfromDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MoveFirst(); /向前移动一条记录 DisplayRecord(); /更新窗口显示 指向最后一个记录的源代码 void CBookfromDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MoveFirst(); /向前移动一条记录 DisplayRecord(); /更新窗口显示 5.7 订购模块 void CDemandDialog:OnButtonAdd() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_bbookid.IsEmpty()|m_cclassid.IsEmpty() AfxMessageBox(“请输入相应的数据!“); return ; m_pDemandSet-AddNew(); /调用添加记录的函数处理 m_pDemandSet-m_bid = m_bbookid; /对应变量更新 m_pDemandSet-m_cid = m_cclassid; m_pDemandSet-m_dnum=m_num; try m_pDemandSet-Update(); m_pDemandSet-Requery(); AfxMessageBox(“成功保存数据!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新显示 bool CDemandDialog:DisplayRecord() if(m_pDemandSet-IsEOF() m_bbookid = “; m_num=0; else if(m_pDemandSet-IsBOF() /移动到了开头,就向后移动 m_pDemandSet-MoveNext(); else /否则前移 if(m_pDemandSet-IsEOF() m_pDemandSet-MovePrev(); m_cclassid=m_pDemandSet-m_cid;/对应变量赋值 m_bbookid=m_pDemandSet-m_bid; m_num=m_pDemandSet-m_dnum; UpdateData(FALSE); return TRUE; void CDemandDialog:OnButtonDel() / TODO: Add your control notification handler code here m_pDemandSet-Delete(); /删除记录 m_pDemandSet-Requery(); DisplayRecord(); void CDemandDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsBOF() m_pDemandSet-MovePrev(); DisplayRecord(); void CDemandDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsEOF() m_pDemandSet-MoveNext(); DisplayRecord(); void CDemandDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsBOF() m_pDemandSet-MoveFirst(); /向前移动一条记录 DisplayRecord(); /更新窗口显示 void CDemandDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsEOF() m_pDemandSet-MoveLast(); DisplayRecord(); 5.8 采购系统 void CStockDialog:OnButtonAdd() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_stockbookfid.IsEmpty()|m_stockbookid.IsEmpty() AfxMessageBox(“请输入相应的数据!“); return ; m_pStockSet-AddNew(); /调用添加记录的函数处理 m_pStockSet-m_bfid = m_stockbookfid; /对应变量更新 m_pStockSet-m_bid = m_stockbookid; m_pStockSet-m_snum=m_booknum; try m_pStockSet-Update(); m_pStockSet-Requery(); AfxMessageBox(“成功保存数据!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新显示 void CStockDialog:OnButtonDel() / TODO: Add your control notification handler code here m_pStockSet-Delete(); /删除记录 m_pStockSet-Requery(); DisplayRecord(); void CStockDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pStockSet-IsBOF() m_pStockSet-MoveFirst(); /向前移动一条记录 DisplayRecord(); /更新窗口显示 void CStockDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pStockSet-IsEOF() m_pStockSet-MoveLast(); DisplayRecord(); void CStockDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pStockSet-IsBOF() m_pStockSet-MovePrev(); DisplayRecord(); void CStockDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pStockSet-IsEOF() m_pStockSet-MoveNext(); DisplayRecord(); 5.9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论