




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.目 录第一章 绪论1.1开发背景-31.2 开发工具的选用及介绍-31.3 本文主要容-4第二章 需求分析2.1 系统总体功能需求分析-52.2 总体功能结构图-52.3 各模块分析-7第三章 概要设计3.1 概念结构设计-73.2 逻辑结构设计-113.3 物理结构设计-12第四章 各模块详细设计4.1 登录模块设计-154.2 用户管理模块设计-174.3 读者管理模块设计-21第五章 编码5.1 编码的重要性-255.2部分模块的代码-25第六章 系统的测试-29设计总结-29学习心得-30参考文献-30第一章 绪论1.1开发背景书是人们的良师益友,在课余时间,读一本好书,给我
2、们很大的精神享受,但需要一个良好的学习环境。图书馆不仅藏书丰富的,而且拥有安静的阅读氛围,可以在很大程度上满足读者的需求,是我们借书,读书的好地方,所以我们在畅游书的海洋,吸收营养,获得更大的精神上的满足。随着信息时代的来临,竞争日趋激烈的职场的数量不断增加,越来越多的人更注重知识和能力的积累。随着各行各业信息存储量增加,书籍储存的增加,规模数量比以往任何时候都更大,个人或部门都需要使用图书馆管理系统简单而有效的方式来管理他们的书。图书管理系统是典型的信息管理系统。提出实现图书管信息管理,资源共享的管理目标,从而推动迈向数字化图书馆的脚步。书籍的管理会浪费大量的人力物力,即使工作人员尽心尽力的
3、工作,有时也没有很明显的效果。所以往往投入了大量的人力和财力,但缺乏有效的管理效率。为了缩短查询时间,减少工作人员的工作量,将工作更加科学化,规化,达到高效,智能化管理的质量和水平,以提高信息化管理图书借阅目的的效率,应建立有效的图书馆管理系统,使图书管理规化,制度化,程序化。图书管理系统要求提高信息处理的及时性,准确性,达到高效的查询速度,减少工作人员的工作量。因此图书管理系统是一件必须开发的工作软件。1.2 开发工具的选用及介绍1.2.1 开发工具的选用本系统选用的是SQL Sever 2000及Visual C+6.01.2.2 开发工具的介绍1 SQL Server 2000简介SQL
4、 Server是微软公司开发的数据库产品,SQL Server 2000被广泛使用,很多电子商务、企业部信息化平台等都是基于SQL Server产品上。 今天的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL Server 2000 还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,。SQL Server 2000 为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。SQL Server 2000 带有交互式调节和调试查询、从任何数据源快速移动和转化数据、以及按Transa
5、ct-SQL方式定义和使用函数等功能。您可以从任意 Visual Studio 工具以可视化方式设计和编写数据库应用2 Visual c+6.0简介Visual C+6.0由Microsoft开发,它不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导App Wizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐开发环境。Visual C+6.0以拥
6、有语法高亮”,自动编译功能以及高级除错功能而著称。界面简单,占用资源少,操作方便Visual c+6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将高级语言”翻译为机器语言(低级语言)”的程序。Visual C+6.0是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+.ENT(Visual C+7.0),但它的应用有很大的局限性,只适用于部分系统,所以实际运用中,更多的是以Visual C+6.0为平台。1.3本文主要容在本文中,通过SQL SEVER2000和Visual C +6.0进
7、行,实现用户管理,图书管理系统读者管理,图书借阅等操作。本文从对系统设计的需求分析开始,画出了系统之后到概念结构以及逻辑结构设计功能结构图,并对每个模块进行功能分析。接下来是第2章数据库设计的需求分析,概念结构设计,逻辑结构设计及物理结构设计和第3章的详细设计。之后第4,5章就是编码以及编码在环境中的实现及测试。第二章 需求分析 2.1系统的主要功能需求分析该系统将在计算机上实现图书馆的管理功能。具体的实现书籍信息管理、读者信息管理、系统用户信息管理及图书借阅管理等功能。对于一个图书管理系统,作为一个读者来说只要拿着自己的借阅卡就可在图书管借到自己所想的书籍。作为一个管理员,只要读者说出他的借
8、阅证号和所借图书编号,就能将借阅信息存入数据库中,而不需要做其他的复杂工作。所以处理好图书、管理员、读者间的关系是最重要的。图书馆最基本的功能是为读者提供数量庞大的藏书,并且通过图书馆与读者之间的借阅归还借阅完成图书在读者与图书馆间的流通。显然,对图书借阅信息和馆藏图书信息的管理也构成了图书借阅管理系统最主要的功能。图书管理系统按照实际业务需要,主要包括用户管理、读者管理、图书管理和借还书管理四个方面。图书管理系统程序运行界面分为登陆界面,功能选择系统主菜单界面两个主要界面。使用时应先知道管理员账号和密码,登陆进入系统主菜单界面,里面包括用户信息管理,读者信息管理,图书信息管理,借书还书信息管
9、理,系统简介等五个菜单选项。然后可以根据操作需要点击相应的模块即可实现相应的功能。2.2系统功能结构图根据分析的功能,可以画出整体的功能结构图,该结构图为以后编写软件的菜单是一个基础,以后的数据库设计就是围绕这个结构功能图做的,只要实现了系统功能结构里的所有功能,该系统可以说是做好了。图书管理系统图书管理读者管理用户管理借书还书管理添加图书修改图书添加读者删除读者添加用户修改密码查询用户退出系统借书操作还书操作续借操作逾期罚金查询读者删除图书查询图书修改密码删除用户查询操作图2-1 图书管理系统功能结构2.3模块功能分析1用户管理模块主要是为用户设计,一般是用户管理者的操作。主要有添加用户,删
10、除用户,修改密码,查询用户,退出系统五个子功能。在实际中,当有新的用户来管理该图书管理系统时则必须将其信息写入数据库,否则该用户可能无法进入该系统。同理当有用户退出管理该系统时,管理员必须将其信息删除以减少数据存。用户的密码修改在实际上也是很必须的,因为一旦用户的密码丢失和泄露可能危及该数据库的安全,所以随时为用户提供修改密码是很必须的。查询用户功能是对各个用户进行随时的管理,对用户信息查询查看其权限也是很必须的。2读者管理模块是数据库管理系统中不能少的一部分。图书馆的最终目的还是为读者服务的,所以需求分析中对读者管理设计是很重要的。在实际中一个图书馆的读者是很庞大的,要管理好他们不能靠人力,
11、当然由系统完成。同对用户的管理一样,对读者的管理包括:添加读者,删除读者,修改密码,查询读者。3图书管理模块是图书管理系统中不可缺少的一部分。添加图书后要对图书进行入库信息输入,如果不明确这些信息,很可能造成日后清查的困难,难以管理。所以,以后购买的或是通过其他渠道得到的图书都可以通过该模块进行录入。另外对图书进行删除,修改等操作已达到规性和灵活性的结合。4图书借阅、归还管理是本系统的核心部分,可完成图书的借与还,i*u做好这一功能的操作,以保证图书馆系统的有效运行。概要设计3.1 概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定,它是整个数据库设计
12、的关键。概念结构的特点是:能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据处理要求,是现实世界的一个真实模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与式数据库设计成功的关键。易于更改,当应用环境和应用要求该变时,容易对概念模型修改和扩充易于向关系、网状、层次等各种数据模型转换。图3-1图书管理系统总体E-R图图3-2 图书及其属性图图3-3 用户管理E-R图图3-4 读者管理E-R图3.2 逻辑结构设计概念结构是独立任何一种数据结构的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为基本关系模式。用户(用户,用户密码,权
13、限)读者(借书证号,*,读者,班级,性别,班级,读者密码,到期日期)图书(图书编号,图书名,作者,价格,数量,条形码,类别)管理读者(用户,借书证号,权限,用户密码)借书信息表(借书证号,图书编号,借书日期,还书日期)还书信息表(借书证号,图书编号,应还日期,最长期限,罚款金额)。3.3 物理结构设计数据库在物理设备上的存储结构域存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个合适应用要求的物理结构的过程,就是数据库的物理结构设计。数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满
14、足原设计要求,则可进入到物理实施阶段,否则就需要重新设计或修改物理结构又时甚至要返回逻辑设计阶段修改数据模型。对于不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能提供设计人员使用的设计变量、参数围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计容和原则。希望设计优化的物理数据库结构,使得在数据库运行的各种事物响应时间小、存储空间利用率高、事物吞吐率。为此,首先对要运行的事物进行详细分析,或得选择物理数据库设计所需要的参数。其次,要充分了解所用RDBMS的部特征,特别是系统提供的存储方法和存储物理结构。物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到
15、约束和具体的程序设计:(1)存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。(2) 确定数据存放位置:可以把经常同时被访问的数据组合在一起,记录聚簇(cluster)”技术能满足这个要求。(3)存取方法的设计:存取路径分为主存取路径及辅存取路径,前者用于主键检索,后者用于辅助键检索。(4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,作出权衡。(5)程序设计:在逻辑数据库结构确定后,应用程序设计就应当随之开始。物理数据独立性的目的是消除由于物理结构的改变而引起对应用程序的修改。当物理独立性未得到保证时,可能会引发对程序的修改。数据库
16、物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。表3-1 用户信息表字段名数据类型长度是否为空用户名(users)Char40否用户密码(password)Char20是权限(Power)Char40是表3-2 读者信息表字段名数据类型长度是否为空借书证号(reader_code)Char40否(name)Char20是性别(se*)Char10是*(sno)Char20是班级(dept)Char20是密码(passwd)Char40是到期日期(limite)Datetime8是表3-3借书信息表字段名数据类型长度是否为空借书证号(reader_code)Ch
17、ar40否图书编号(book_code)Char40否借书日期(borrow_date)Datetime8是应还日期(return_date)Datetime8是字段名 数据类型长度 是否为空图书编号(book_code)Char40否书名(book_name)Char40是作者(writer)Char20是(press)Char40是定价(price)Double20是条形码(isbn)Char40是数量(num)Int4是类别名(type)Char20是表3-5还书信息表字段名数据类型长度是否为空借书证号(reader_code)Char40否图书编号(book_code)Char40否罚
18、款金额(punish)Double4是应还日期(return_date)Datetime8是第四章 详细设计41 登录模块设计登录模块:主要是为管理员设计的,是管理员进入系统的验证之口!因此需要管理员进行与密码的验证!当用户名与密码同时正确时才能进入系统,否则提示用户名不存在或密码错误!图4-1 用户图 将表中的users 用户名及密码输入即可登录。图4-2 登陆界面 表4-1登录界面控件列表控件类型ID属性LableIDC_STATIC登录信息LableIDC_STATIC保存用户名LableIDC_STATIC保存密码LableIDC_STATIC用户名:LableIDC_STATIC密码
19、:EDITIDC_EDIT1无EDITIDC_EDIT2无BUTTONIDOK登录BUTTONIDCANCEL退出进入系统后的主界面,在这个界面可以进行具体操作,如对系统,读者,图书,借书,还书等进行操作。图4-3 系统主界面接下来是退出系统的提示界面,当想退出系统时,点击系统管理的退出系统”,这样系统就会弹出如下对话框,提示是否确定退出。若想退出,点击确定”,否者关闭该对话框即可。图4-4 退出系统界面4.2 系统用户管理模块该模块主要包括:修改密码,删除用户,添加用户,查询用户,退出系统,这五个功能。一个很庞大的图书管理系统一般管理人员也很多,所以对这些用户进行很好的管理也是管理好图书的一
20、部分。添加用户功能:当有新的用户要加入时,需将其信息存入用户信息表中。主要记录用户的,密码,和其权限。该功能设计较好的地方是,当用户在设置自己的密码时,为了不让用户的密码记错,会有第二次确认密码的输入。如果两次密码输入不一致,这会提醒请重新输入,并添加失败。图4-5 添加用户界面图4-6 添加用户失败界面表4-2添加用户界面的控件列表控件类型ID属性LableIDC_STATIC用户名LableIDC_STATIC密码LableIDC_STATIC确认密码LableIDC_STATIC权限EDITIDC_EDIT1无EDITIDC_EDIT2无EDITIDC_EDIT3无EDITIDC_EDI
21、T4无BUTTONIDADDUSERS确定BUTTONIDCANCEL取消、2删除用户功能:如果*个用户不管理该图书管理系统了,需要将其信息从用户信息表中删除,只要输入该用户的名即可将其删除。但如果用户表中不存在,系统则会提醒无此用户请重新输入。图4-7 删除用户界面表4-3删除用户界面的控件列表控件类型ID属性LableIDC_STATIC用户名EDITIDC_EDIT1无BUTTONIDDELUSER删除BUTTONIDCANCEL取消3修改密码:当用户密码丢失或被盗时,必须对密码进行修改,该功能更好的保护了该系统的安全。修改密码时需要用户知道以前的密码,并且用户在修改新密码时会要两次输入
22、,两次的输入一样时才会提醒修改成功。图4-8修改用户密码界面表4-4修改密码界面的控件列表控件类型ID属性LableIDC_STATIC用户名:LableIDC_STATIC原密码:LableIDC_STATIC新密码:LableIDC_STATIC确认密码:EDITIDC_EDIT1无EDITIDC_EDIT2无EDITIDC_EDIT3无EDITIDC_EDIT4无BUTTONID_MODPASSWD确定BUTTONIDCANCEL返回4、查询用户功能:如果想了解*个用户的对该图书管理系统的权限,比如想了解*个管理员是普通的管理员,还是有超级权限的,可通过次功能查询。图4-9 查询用户界面
23、表4-5查询用户信息界面的控件列表 控件类型ID属性LableIDC_STATIC用户名LableIDC_STATIC权限EDITIDC_EDIT1无EDITIDC_EDIT2无BUTTONIDCHECKUSERS查询BUTTONIDCANCEL返回4.3 读者管理模块主要包括添加读者,删除读者,修改读者,查询读者四个功能。读者管理模块也是图书管理系统的一个重要模块,因为图书馆就是为读者免费提供书籍的场所。所以管理好读者,也就是管理好图书管理系统的一部分。1、添加读者功能模块设计:当有新的读者要在图书馆借书时,就要将该读者的信息存入数据库中,可通过该模块的功能进行操作。添加的读者信息有:为读者
24、办的借书证号,读者的,性别,*,班级和密码。当信息添加成功后,系统这会提示添加成功”。图4-10 添加读者界面表4-6添加读者信息界面控件列表控件类型ID属性LableIDC_STATIC借书证号LableIDC_STATICLableIDC_STATIC班级LableIDC_STATIC*LableIDC_STATIC性别LableIDC_STATIC密码EDITIDC_EDIT1无EDITIDC_EDIT2无EDITIDC_EDIT3无EDITIDC_EDIT4无EDITIDC_EDIT5无EDITIDC_EDIT6无BUTTONIDADDREADER添加BUTTONIDCANCEL返回2
25、删除读者功能模块设计:当读者毕业离开学校,或有特殊情况需将其信息删除时,可通过该功能模块执行。由于在图书管理系统中,读者信息中借书证号就是其主码,则只要将借书证号删除时,该读者的信息就会被删除。但如果输入的借书证号不存在,系统则会提醒无此读者,请重新输入。 图4-11 删除读者界面表4-7删除读者界面控件列表控件类型ID属性LableIDC_STATIC借书证号EDITIDC_EDIT1无BUTTONIDDELREADER删除BUTTONIDCANCEL取消3、修改读者功能设计:这个是现实中很实际的一个问题,当读者的个人信息发生改变时,管理员也必须将其信息在数据库中修改过来,否则信息不吻合可能
26、无法借书。图4-12 修改读者界面表4-8修改读者信息界面控件列表控件类型ID属性LableIDC_STATIC借书证号LableIDC_STATIC借书证号LableIDC_STATICLableIDC_STATIC性别LableIDC_STATIC*LableIDC_STATIC班级LableIDC_STATIC密码EDITIDC_EDIT1无EDITIDC_EDIT2无EDITIDC_EDIT3无EDITIDC_EDIT4无EDITIDC_EDIT5无EDITIDC_EDIT6无EDITIDC_EDIT7无BUTTONIDMODREADER修改BUTTONIDCANCEL取消4、查询读者
27、信息功能模块设计:该功能设计是为管理员可以随时了解读者信息,查看该借书证的到期时间,这样可以很好的对借书证进行管理。为了方便管理员的操作,则只要输入借书证号点击查询即可。图4-13查询读者界面表4-9查询读者信息控件列表控件类型ID属性LableIDC_STATIC借书证号LableIDC_STATIC到期日期LableIDC_STATICLableIDC_STATIC性别LableIDC_STATIC*LableIDC_STATIC班级LableIDC_STATIC密码EDITIDC_EDIT1无EDITIDC_EDIT2无EDITIDC_EDIT3无EDITIDC_EDIT4无EDITID
28、C_EDIT5无EDITIDC_EDIT6无EDITIDC_EDIT7无BUTTONIDCHEREADERS查询BUTTONIDCANCEL取消以上就是各个分功能的界面设计以及每个界面的控件列表。第五章 编码5.1 编码的重要性编写代码是系统实现的基础,写代码一般也是一向很重要的任务,他要求程序员要很好的熟悉高级语言的编程。这项工作是最枯燥无味的,一般需要很好的耐心和毅力。一般一个系统开发后都需要很长的时间维护,这样为了以后的管理员能更好的了解该数据的程序,所以程序编写者一定要有很好的编程习惯,对一些重要而难理解的语句加以标志。在理想情况下,一个新的项目是这样创建的:它将已有的可重新利用的组件
29、进行组合,并将新的开发难度降低到最小。如果要编写商业代码,应该尽量限制结构中所用到的代码行数。一个最常使用的方法就是:重新使用已有的代码,而不是为一个新任务编写一个和原来代码只有微小区别的新代码。更少的代码意味着更低的成本。修改已有的代码可能会比编写新代码更加困难。系统的外部接口应该是一致的,其中包括用户接口和系统的外部接口。只要原来的代码是模块化的而且编写良好,则重复使用代码还会节省许多工作。所以不能看编写代码是个很简单的工作,其实要做好它也不是很容易,尤其是在一些大的工程中,所以一定要注重代码的重要。5.2部分模块代码1 /用户密码修改时的算法void CModpsDlg:OnModpas
30、swd() / TODO: Add your control notification handler code hereCString str1,str2,str3,str4;int suc;if(m_uset.IsOpen()m_uset.Close();elsem_uset.Open();if(!m_uset.CanUpdate()Af*MessageBo*(_T(无法修改密码!);elseGetDlgItemTe*t(IDC_EDIT1,str1);GetDlgItemTe*t(IDC_EDIT2,str2);m_uset.MoveFirst();while(!m_uset.IsEOF
31、()m_uset.m_users.Replace( ,);m_uset.m_passwd.Replace( ,);if(m_uset.m_users=str1 & m_uset.m_passwd=str2)/判断密码与名称是否正确suc = 1;break;else m_uset.MoveNe*t();if(suc=1)GetDlgItemTe*t(IDC_EDIT3,str3);GetDlgItemTe*t(IDC_EDIT4,str4);if(str3=str4)m_uset.Edit();m_uset.m_passwd=str3;m_uset.Update();MessageBo*(修改
32、成功!);elseMessageBo*(两次输入的新密码不一致,请重新输入!);elseMessageBo*(用户名或密码错误,请重新输入!);m_uset.Close();m_puset-Invalidate();2/删除读者算法void CDelredDlg:OnDelreader() / TODO: Add your control notification handler code hereCString edit1;int suc=0; if(m_delredet.IsOpen()m_delredet.Close();m_delredet.Open();if (!m_delredet
33、.CanUpdate()Af*MessageBo*(_T(无法完成删除功能!);m_delredet.MoveFirst();GetDlgItemTe*t(IDC_EDIT1,edit1);while(!m_delredet.IsEOF()m_delredet.m_reader_code.Replace( ,);if(m_delredet.m_reader_code=edit1)suc=1;break;elsem_delredet.MoveNe*t();if(suc=1)m_delredet.Delete();MessageBo*(删除成功!);elseMessageBo*(无此读者,请重新输入!);m_delredet.Close();m_pdelredet-Invalidate(); 第六章 系统的测试启动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 控制测量学教程
- 融合性网状乳头瘤病的临床护理
- 探索科技前沿的科技社团工作要点计划
- 企业品牌建设中的管理方式计划
- 实现仓库运输工作时间安排的工作计划
- 病理科病例分析及成果总结计划
- 现金流预测与管理计划
- 延安大学西安创新学院《大学生职业生涯发展与就业指导》2023-2024学年第一学期期末试卷
- 晚期梅毒的临床护理
- 年度工作计划中的价值创造
- 临床护理实践指南2024版
- 人教版七年级下册数学第七章平面直角坐标系-测试题及答案
- “煎炒烹炸”与中药疗效(安徽中医药大学)知道智慧树章节答案
- 行政事业单位内部控制规范专题讲座
- 加油站卸油时跑冒油应急演练及方案
- 药品供货服务方案
- 137案例黑色三分钟生死一瞬间事故案例文字版
- 医院医疗安全(不良事件)分析整改记录表
- 四川省2024年全国高中数学联赛(预赛)试题(解析版)
- 江苏省南京市江宁区2023-2024六年级下学期期末数学试卷及答案
- 2024年新课标高考历史试卷(适用云南、河南、新疆、山西地区 真题+答案)
评论
0/150
提交评论