资源描述
无锡商业职业技术学院毕 业 设 计(2010届)设 计 题 目:图书馆管理系统 系 科 信息工程系 专 业 软件技术 姓 名 学 号 08477347 指导教师 完成日期:2010 年 9 月图书馆管理系统摘要图书馆管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本文介绍了图书馆管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。并采用VisualS2005作为开发工具,SQL Server 2000作为后台数据库。本系统具有用户登录、图书管理、图书征订等。本人在此次毕业设计中主要对“用户登陆”,“ 客户管理”,“ 图书管理”,“ 流通管理”四个模块进行了具体设计。关键词: 图书馆管理系统、生命周期、软件工程、原型法绪论项目背景该项目开发的软件为学校图书馆管理系统软件,是鉴于目前学校学生人数剧增,图书信息呈爆炸性增长的前提下,学校对图书管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等的图书的信息管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,图书管理系统也是有了很大的发展,商业化的图书管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作目的背景与意义图书馆管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以图书馆管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类图书进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息图书馆管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。项目开发的目标 建立图书馆管理系统,采用计算机对图书的信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现图书信息管理工作流程的系统化、规范化和自动化。团队成员及分工束云:用户登陆、图书管理两大模块的功能朱小美:流通管理大模块功能杨莉: 客户管理大模块功能第一章系统需求分析 现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual S, Microsoft公司的Visual C, Borland公司的Delphi和 Powersoft公司的PowerBulider以及Java等。在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。作为数据库系统的开发,Visual S 2005是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。数据库技术是MIS设计中的重要支持技术,在MIS开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库SQL Server2005,开发工具当然是非Visual S 2005莫属了。Visual S 2005是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual S 2005环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。1.1系统主要功能(1)图书管理:用于管理图书的基本信息,所包含的字段有:书名、出版社、作者、图书条码等。(2)客户管理:用于管理客户的信息,所包含的字段有:会员号、姓名、出生日期、学历、通讯地址、联系电话、email地址、积分级别等。(3)流通管理:用于管理书籍流通的信息,分为五个小模块:图书征订、图书借阅、图书归还、逾期清单、图书罚款等。1.2 数据描述图书馆管理系统主要包括用户登陆、图书管理、流通管理、客户管理等,如图1. 1所示。图书馆管理系统图书管理流通管理客户管理用户登陆 1.2.1系统模块图 第2章 系统总体设计2.1 程序流程图依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。如图2.1所示。图书管理 客户管理流通管理退出系统图书归还图书借阅图书征订增加会员图书馆管理系统登陆界面逾期清单图书罚款图2-1 组织结构图根据以上组织结构图,我们可以得出下面的关于各个模块的程序流程图,如图2.2图2-2 程序流程图第三章 数据库设计图书信息表(book):用于图书管理,便于学生查询书籍会员注册查询表(customer):用于学生会员注册第四章 用户界面设计第5章 编码5.1“客户管理”模块 private void button1_Click(object sender, EventArgs e) bool x; if (comboBox1.Text = ) MessageBox.Show(请输入你要查询的会员号); comboBox1.Focus(); else mycon = Connection.getconnection(); cmd = new SqlCommand(); cmd.Connection = mycon; mycon.Open(); cmd.CommandText = select name,gender,birthday,degree,address,telephone,email,score from Customer where id = + comboBox1.Text + ; reader = cmd.ExecuteReader(); while (reader.Read() xingming.Text = reader.GetString(0); x = reader.GetBoolean(1); if (x = true) radioButton1.Checked = true; radioButton2.Checked = false; else radioButton2.Checked = true; radioButton1.Checked = false; chushengriqi1.Value = reader.GetDateTime(2); xueli.Text = reader.GetString(3); tongxundizhi.Text = reader.GetString(4); lianxidianhua.Text = reader.GetString(5); emaildizhi.Text = reader.GetString(6); jifen.Value = reader.GetInt32(7); if (jifen.Value 1000) jibie.Value = 1; else if (jifen.Value 500) jibie.Value = 2; else jibie.Value = 3; private void kehuguanli_Load(object sender, EventArgs e) sqlDataAdapter1.Fill(huiyuan1.Customer); mycon = Connection.getconnection(); cmd = new SqlCommand(); cmd.Connection = mycon; mycon.Open(); cmd.CommandText = select ID from Customer; reader = cmd.ExecuteReader(); comboBox1.Items.Clear(); while (reader.Read() comboBox1.Items.Add(reader.GetValue(0).ToString(); private void button2_Click(object sender, EventArgs e) bool x; SqlConnection con = Connection.getconnection(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open(); if (radioButton1.Checked = true) x = false; else x = true; cmd.CommandText = update customer set Name= + xingming.Text + ,Gender= + x + ,Birthday= + chushengriqi1.Value + ,Degree= + xueli.Text + ,Address= + tongxundizhi.Text + ,Telephone= + lianxidianhua.Text + ,Email= + emaildizhi.Text + where ID= + comboBox1.Text + ; if (cmd.ExecuteNonQuery() 0) MessageBox.Show(修改成功); else MessageBox.Show(修改失败); this.Close(); con.Close(); private void button3_Click(object sender, EventArgs e) zengjiahuiyuan a = new zengjiahuiyuan(); a.ShowDialog(); 5.2“增加会员管理”模块 private void quediang_Click(object sender, EventArgs e) string a = ; if (nan.Checked) a = True; else a = False; cmd = new SqlCommand(); cmd.Connection = con; con.Open(); cmd.CommandText = update customer set Name= + xingming.Text + ,Levels= + Convert.ToByte(jibie.Value) + ,Gender= + a + ,Birthday= + chushengriqi.Value + ,Degree= + xueli.Text + ,Address= + tongxundizhi.Text + ,Telephone= + lianxidianhua.Text + ,Email= + emaildizhi.Text + ,Score= + Convert.ToInt32(jifen.Value) + ; if (cmd.ExecuteNonQuery() 0) MessageBox.Show(添加成功); else MessageBox.Show(添加失败); con.Close(); 第6章 测试有两种基本方法可以用来标识测试用例,即功能测试(黑盒测试)和结构测试(白盒测试)。本次测试我主要采用了功能测试。功能测试的基本观点是,任何程序都可以看作是将输入定义域取值映射到输出值域的函数。6.1 测试计划和要点软件测试的本质是针对要测试的内容确定一组测试用例。在讨论之前,我先把要测试各个模块的计划和要点列出:6.1.1 主模块测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。6.2图书查询模块测试要点数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不合法数据库数据异常数据库连接异常6.2 测试用例测试用例是为了特定目的(如考察特定程序路径或验证是否符合特定的需求)而设计的测试数据及与之相关的测试规程的一个特定的集合,或称为有效地发现软件缺陷的最小测试执行单元。根据上一节给出的测试要点,又因为测试是不可能穷举的。所以我们采用等价划分法来进行对图书管理系统的测试。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有代表性和完整性。结束语这次软件工程课程设计,我主要采用Visual Basic作为前台开发工具,Microsoft SQL Severe2005作为后台数据库,结合软件工程设计和数据库编程的有关知识,开发了这个图书管理系统。通过这次软件工程课程设计,我对于软件工程设计的相关步骤和流程有了更深刻的理解,熟悉并掌握了Microsoft SQL Severe2005和SQL的数据库使用,另一方面,也对SQL语言作为嵌入式语言的功能有了更深刻的体会。同时,我也发现自己对于软件工程设计和数据库设计的知识掌握的还不够,设计和编程能力还有待于进一步提高。这次课程设计给了我一个锻炼自己,强化专业知识的机会,通过这次课程设计,我也得以一窥软件工程设计的广袤天地,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,就一定能够成为一个合格的软件设计人员,能够翱翔在软件开发的天地。同时,在这里感谢我的指导老师黄正宝老师的悉心指导。参考文献 1 史济明等编著,软件工程-原理、方法与应用,高等教育出版社,2002 2 汪孝宜等,信息系统开发实例精粹(C#版),电子工业出版社,2006 3 张立,C#2.0宝典,电子工业出版社,2007 4 李兰友等编著,Visual C#.Net程序设计,清华大学出版社,2003 5 何玉洁编著,数据库原理与应用,机械工业出版社,2006 6 王东明等编著,VISUAL C#.NET程序设计与应用开发,清华大学出版社,2008 7郭睿志、张学志等编著,C#+SQL项目开发实践,中国铁道出版社,200718
展开阅读全文