教材管理系统说明书.docx
- 文档编号:13005961
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:31
- 大小:276.84KB
教材管理系统说明书.docx
《教材管理系统说明书.docx》由会员分享,可在线阅读,更多相关《教材管理系统说明书.docx(31页珍藏版)》请在冰豆网上搜索。
教材管理系统说明书
数学与计算机学院
课程设计说明书
课程名称:
软件工程设计与实践
课程代码:
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
摘要
由于学校教材量大大增加,使教材管理员的工作日益繁重起来。
院校的教材管理在学生规模日益增大、教材日益多样化、学生个人之间教材差异越来越大的现实面前已呈现出无法应对的局面。
开发该教材管理系统是为了更好地管理学校的各类教材,便于教材管理人员订书、领书、查询教材资料及其库存情况。
使教材信息管理工作系统化、规范化、自动化,从而达到提高教材管理效率的目的。
该系统是运用MicrosoftSQLSERVER2000数据库系统和VisualC++程序语言开发实现的。
关键词:
教材管理;数据库;课程设计
引言
教材管理系统用于学校的教学计划、教材管理。
可以制定所开设的课程,制定教学计划,制定教材计划,对教材进行需求统计,教材入库,出库管理。
可查询每个系的开课课程,所用教材,所需教材数量,对书库进行各种类型盘点,维护整个书籍库存。
并对书库的入库,出库的书籍进行实时跟踪,实现书籍的出入库落实到人。
教材管理系统实现学校的无纸化、网络化的教材管理,从而节省学校的教材管理开支。
1可行性分析
1.1技术可行性
C++是美国Bell实验室于20世纪80年代在C语言的基础上成功开发出来的,是目前已经得到广泛应用的混合型面向对象程序设计语言。
现在比较流行的有BorlandC++和VisualC++。
C++的类库也包括Borland的OWL(ObojectWindowsLibrary)和Microsoft的MFC,特别是MFC在国内外都具有众多开发商和使用者,具有广泛的用户基础。
C++早期主要应用是系统程序设计,Compbell、Hamilton和Rozier等操作系统或全部或部分使用C++编写。
C++还应用于设备驱动程序、需要直接操作硬件的软件系统及动态链接库(DLL)等。
图形学和用户界面也是使用C++得到深入的领域。
VisualC++6.0是以C++作为语言、以MFC类库为基础的功能强大的可视化软件开发工具。
它是Microsoft推出的功能最为强大、代码效率最高的开发工具。
它包括了Microsoft基于Windows和Web的全面解决方案的核心,是用于创建高性能的Windows和Web应用程序与Web服务的最佳语言。
它支持面向对象编程、可视化、模块化、代码可重用和组件共享等技术,可以大大提高软件系统的设计、管理、和开发速度。
它也是编写ActiveX控件以及像ISAPI(Internet服务器应用程序接口)扩展和ISAPI过滤器这样针对IIS的专用代码的理想编程环境。
VisualC++6.0提供了ODBC、DAO、和ADO等多种数据库访问方式,其中ADO是Microsoft为数据库应用程序开发而推出的一种新的数据库访问技术,正得到越来越广泛的应用。
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。
它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
1.2经济可行性
在教材管理系统中,实现对教材的物流、资金流和信息流的管理,即针对教材出入库管理、教材库存管理、教材费的收取和使用、教材需求信息、学生个人需用教材信息等进行管理。
这些措施将为提高高等院校教材管理水平、提高工作效率、减少人为差错提供良好的管理平台。
极低成本的数据处理、信息查询、信息录入等,可实现教材需求信息、订单管理、教材费用处理、教材费查询、教材出入库管理、库存管理、教材发放等功能。
从目前校园网和教材管理系统的推广和运行情况来看,本系统不需增加过多的硬件投入和应用方面的培训,因此,其经济成本是很低的。
1.3开发环境可行性
VisualC++是一种较简单编程工具,易于程序的开发和调试维护。
VisualC++不仅基于不同的平台开发,而且可以在不同的系统上进行移植,从而加快了软件的开发,促进了发展。
产品销售管理系统就是基于这种简单的语言,以SQL2000作为数据库的后台,通过JDBC-ODBC空间来访问数据库,使软件的开发更为简单,同时也提高了开发的速度。
2需求分析
2.1系统现状
这个教材管理系统能够实现基本功能,并通过图形界面和操作提示供用户使用。
但是程序本身比较复杂,在编程过程中,难免漏掉细节,留下缺陷。
以后,这个程序能够进一步改进和完善。
2.2用户需求
供货商信息管理:
实现增加供应教材单位和企业信息的添加、删除、修改、查询功能。
教材信息管理:
能实现对新增教材实现入库,对已经淘汰的教材实现删除,对有关教材信息不完整要求能进行修改,以及能查询所有教材书信息。
班级信息管理:
能实现对新增班级加入到数据库中,能对已经不存在的班级实现删除,能及时的查询所有班级的有关信息,能实现修改有关班级信息。
采购系统:
过班级的需要能实现对教材的添加,删除,修改等功能。
订购系统:
能实现通过采购系统的有关信息向有关供货商发出有关订购信息,该模块能实现增加,删除,修改等功能。
交互功能:
通过界面,能够直观的了解到各个子功能的信息。
2.3系统功能需求
代码管理:
建立出版社、新华书店等供应商代码以及教师、班级等代码管理。
计划管理:
对购书计划进行管理。
登记编目:
完成图书的验收、登记、编目、审核、入库等功能。
图书发放:
包括教材的领用和发放等功能。
综合查询、统计、报表处理。
库存图书信息浏览、修改、下架。
2.4数据描述
教材=教材专利号+教材名称+出版社+价格
班级=班级编号+班级名称
销售商=销售商号+销售商名
教材库存=库存号+库存数量
根据用户需求、系统功能需求和数据描述建立一下的E-R图:
图1E-R关系图
3程序运行平台
应用程序VC6.0++,操作系统WINDOWSXP,数据库MicrosoftSQLserver2005。
4总体设计
图2系统总体框架图
5详细设计
教材管理系统就是通过系统总设计的6个子功能模块来实现的,以下是各个子功能模块的详细设计。
5.1创建数据库
利用MicrosoftSQLserver2005创建一个空的数据库,取名为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创建工程
利用microsoftvisual6.0创建一个基于单文档的应用程序并且取名computersystem。
在第二步选择需要数据源支持,并且点击datasource选择已经注册好了的ODBC数据源bookmanage。
后面的选择默认值,这样就创建了一个工程。
5.3主窗口设计
进入到对话框中,删除TODO,添加控件如图5所示:
图11
并且设这号相应的属性如图6所示:
图12
并且选择了绑定的数据记录集指针m_pSet对其中几个编辑框控件实行绑定。
5.4.教材管理模块
VC6.0代码实现过程:
添加功能的代码如下:
voidCBookmanageView:
:
OnButtonBookaddb()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData(TRUE);
/*if(!
m_bookid.IsEmpty()||m_bookname.IsEmpty()||m_bookprice.IsEmpty()||m_bookpublish.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实现过程
添加功能代码如下:
voidCClassDialog:
:
OnButtonAddclass()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData(TRUE);
if(m_cclassname.IsEmpty()||m_cclassid.IsEmpty())
{
AfxMessageBox("请输入相应的数据!
");
return;
}
CStringsqlStr_findid;
sqlStr_findid="SELECT*FROMdbo.classWHEREdbo.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();//更新显示
}
删除功能代码如下:
voidCClassDialog:
:
OnButtonDeleteclass()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
m_pClassSet->Delete();//删除记录
m_pClassSet->Requery();
DisplayRecord();
}
第一个记录函数代码如下:
voidCClassDialog:
:
OnButtonFirstclass()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pClassSet->IsBOF())
{
m_pClassSet->MoveFirst();//向前移动一条记录
DisplayRecord();//更新窗口显示
}
}
上一个记录函数代码如下:
voidCClassDialog:
:
OnButtonPre()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pClassSet->IsBOF())
{
m_pClassSet->MovePrev();
DisplayRecord();
}
}
下一个函数模块:
voidCClassDialog:
:
OnButtonNext()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pClassSet->IsEOF())
{
m_pClassSet->MoveNext();
DisplayRecord();
}
}
5.6供货商信息管理
VC6.0实现过程:
添加功能源代码:
voidCBookfromDialog:
:
OnButtonAddboorfrom()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
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();//更新显示
}
前一个记录的源代码
voidCBookfromDialog:
:
OnButtonPre()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pBookfromSet->IsBOF())
{
m_pBookfromSet->MovePrev();
DisplayRecord();
}
}
下一个记录的函数源代码
voidCBookfromDialog:
:
OnButtonNext()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pBookfromSet->IsEOF())
{
m_pBookfromSet->MoveNext();
DisplayRecord();
}
}
指向第一个的函数源代码
voidCBookfromDialog:
:
OnButtonFirst()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pBookfromSet->IsBOF())
{
m_pBookfromSet->MoveFirst();//向前移动一条记录
DisplayRecord();//更新窗口显示
}
}
指向最后一个记录的源代码
voidCBookfromDialog:
:
OnButtonLast()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pBookfromSet->IsBOF())
{
m_pBookfromSet->MoveFirst();//向前移动一条记录
DisplayRecord();//更新窗口显示
}
}
5.7订购模块
voidCDemandDialog:
:
OnButtonAdd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
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();//更新显示
}
boolCDemandDialog:
:
DisplayRecord()
{
if(m_pDemandSet->IsEOF()&&m_pDemandSet->IsBOF())//判断是否移动到了开头和结尾
{
m_cclassid="";
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);
returnTRUE;
}
voidCDemandDialog:
:
OnButtonDel()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
m_pDemandSet->Delete();//删除记录
m_pDemandSet->Requery();
DisplayRecord();
}
voidCDemandDialog:
:
OnButtonPre()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(!
m_pDemandSet->IsBOF())
{
m_pDemandSet->MovePrev();
DisplayRecord();
}
}
voidCDemandDialog:
:
OnButtonNext()
{
//TODO:
Addyourcontrolnotificationhandle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教材 管理 系统 说明书