《软件工程》图书管理系统课程设计_第1页
《软件工程》图书管理系统课程设计_第2页
《软件工程》图书管理系统课程设计_第3页
《软件工程》图书管理系统课程设计_第4页
《软件工程》图书管理系统课程设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1

设计目的随着计算机技术的不断开展计算机作为知识经济时代的产物被广泛应用于社会各个行业和领域目前我国的科技水平高速开展计算机作为今天使用最广的现代化工具已深入到各个领域且正在成为未来社会——信息社会的重要支柱在这样的大背景下现代图书馆的管理方式资源建立等方面都发生了重大变化这种变化表现在图书馆工作管理和效劳平台发生的变化图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。图书馆的正常运营中总是面对大量的读者信息书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进展管理。本系统的开发就是在于提高图书管理的工作效率加强图书馆的管理全面实行计算机管理。2

可行性研究告在软件的开发过程中这一步是十分必要的如果在定义阶段及早发现将来可能在开发过程中的问题及早做出决断可以防止大量的人力财力和时间上的浪费。1.

技术可行性:本组开发成员都具有一定的电脑知识,学习过多种程序开发语言。特别是在工程确定后C#和SQLServer数据库的强化学习,使本系统成功开发成为可能。2.

经济可行性:本系统有其生存空间,成功后有其市场。并且本小组开发人员基于一种爱好去研究他的,我们有自己的电脑,可以说本钱开支极其有限。3.

现阶段各种各样的图书馆越来越多,图书馆的书也越来越多,图书的管理工作也越来越复杂。本系统就是为了减轻图书管理人员的工作而设计的。4.

法律可行性:本系统为我五人开发小组独立完成,不关他人,开发成功后其所有权归我们五人所有,用户购置后其使用权一同买断,我们将页脚下载后可删除,如有侵权请告知删除!

提供技术支持。5.

基于水平和时间有限,我们的系统还不是十分完善。可扩展的地方很多,现列举如:建立图书预约机制建立过期催还机制

建立读者反应机制建立条码扫描机制等。3

以现有的人力和时间来衡量,我们只有放弃。经过以上可行性论证,本系统可以按任务书要求开发。工程开发方书开发阶段制定开发方案需求分析概要设计详细设计系统实现系统测试编写课程设计报告

时间进度两天一周一周两周三周一周两周4

系统需求规说明书该过程是个不断认识不断细化的过程里所要完成的工作是深入描述软件的功能和性能确定软件的设计限制和软件同其他系统元素的接口细节从而奠定软件的开发根底。1.性能需求:该系统中,各个模块只有管理人员才能对其进展操作,系统管理人员要进展身分验证才能进入界面操作。2.功能需求:我们设计的系统要完成的功能模块如下:登陆模块

管理员管理模块

借阅卡管理模块

书籍管理模块查询管理模块。3.环境需求:电脑需要安装.net架,安装SQL2021据库,硬件要求酷睿i3双核以上处理器,100G硬盘空间,以上内存,系统应有WindowsXP,Windows7,或Windows8操作系统。页脚下载后可删除,如有侵权请告知删除!

4.界面需求:本软件是面向群众,界面友好,操作简单灵活,根据界面上的提示便可完成一系列动作。5

概要设计说书系统计程(一)(二)

建库;建立数据库;设计相应的操作界面;功能块造设一、软件设计过程对程序构造数据构造过程细节和接口细节逐步细化评审和编写文档的过程。从技术角度上,软件设计分成体系构造设计、数据设计、过程设计、接口设计4个方面的工作从管理角度上讲软件设计分为概要设计和详细设计两个阶段。二、软件设计目标设计必须实现分析模型中描述的所有显示需求须满足用户希望的所有隐式需求设计必须是可读可理解的使得将来易于编程易于测试易于维护;设计应从实现角度出发,给出数据、功能、行为相关的软件全貌。三、根本原理和相关概念⑴抽象化:常用的抽象化手段有过程抽象、数据抽象和控制抽象●过程抽象:任何一个完成明确动能的操作都可被使用者当做单位的实体对待,尽管这个操作时机上可能由一系列更低级的操作来完成。●数据抽象:与过程抽象一样,允许设计人员在不同层次上描述数据对象的细节。●与过程抽象和数据抽象一样,控制抽象可以包含一个程序控制机制而无须规定其内部细节。⑵自顶向下逐步细化将软件的体系构造按自顶向下方式对各个层次的过程细节和数据细节逐层细化知道用程序设计语言的语句能够实现为止从而最后确立整个的体系构造。页脚下载后可删除,如有侵权请告知删除!

⑶模块化:将一个待开发的软件分解成假设干个小的简单的局部——模块,每个模块可独立地开发试组装成完整的程序是一种复杂问题的“分而治之〞的原那么。模块化的目的是使程序构造清晰,容易阅读,容易理解,容易测试,容易修改。⑷控制层次:说明了程序构件〔模块〕的组织情况。控制层次往往用程序的层次构造〔树形或网型〕来表示。●深度:程序构造的层次数,可以反映程序机构的规模和复杂程度。●宽度:同一层模块的最大模块个数●模块的扇出:一个模块调用〔或控制〕的其他模块数●模块的扇入:调用〔或控制〕一个给定模块的模块个数⑸信息屏蔽将每个程序的成分隐蔽或封装在一个单一的设计模块中定义每一个模块时尽可能少的显露其内部的处理可以提高软件的可修改性可测试性和可移植性。⑹模块独立每个模块完成一个相对特定独立的子功能并且与其他模块之间的联系简单衡量度量标准有两个模块间的耦合和模块的内聚模块独立性强必须做到高内聚低耦合。●耦合:模块之间联系的严密程度,耦合度越高模块的独立性越差。耦合度从低到高的次序为非直接耦合数据耦合标记耦合控制耦合外部耦合、公共耦合、内容耦合。●内聚是指内部各元素之间联系的严密程度,内聚度越低模块的独立性越差。内聚度从低到高依次是:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚。构造化设计方法采用类似于构造化分析的“由大到小〞“自顶向下逐层分解〞的根本思想描述〔分解〕系统。构造化设计方法,首先以数据流图为根底导出系统模块〔功能〕构造图。在导出系统模块〔功能〕构造图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原那么。先将系统数据流图中的加工转换成模块再将各大模块继续划分为较小的模块直到每一模块都是功能单一的模块。根据系统功能分析和图书馆管理的特点过模块化的分析得到如下图的图页脚下载后可删除,如有侵权请告知删除!

书馆管理系统功能模块构造图。图书管理系统管理员管理

借书卡管理

书籍管理

查询管理

借阅管理管理员维护

增加管理员

增加借书卡

借书卡维护

新增书籍管理

书籍信息维护

书籍信息查询

超期图书查询

借书管理

还书管理E-R管理员图编号

用户名

密码学生图编号图书图

管理员借阅卡姓名

有效期始时间有效期束时间班级页脚下载后可删除,如有侵权请告知删除!

编号

书名

作者借阅图书名借书间归还间系统整体E-R图

图书借书息

出版社出版日期标识编号学生号图书号页脚下载后可删除,如有侵权请告知删除!

N

N

N

N

1

NN1

1

1

6

详细设计说书6.1数据库计根据设计好的各实体E-R图创立数据库的逻辑构造,本系统采用了送了SQLServer2021据库,数据库名称为.数据库包含以下6个表:图书信息book、图书管理员admin、图书类别type、借书卡信息表card、图书借阅表lend。表的具体构造如下:1〕管理员表:用于保存管理员信息,构造如下页脚下载后可删除,如有侵权请告知删除!

/******Object:Table[dbo].[Users]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Users]([Name][nvarchar]50)NULL,[Password][nvarchar]50)NULL,[Type][int]NULL)ON[PRIMARY]GO2〕图书信息表/******Object:Table[dbo].[Book]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Book]([Num][nvarchar]50NOTNULL,[Name][nvarchar]50)NULL,[Author][nvarchar](50NULL,[Type][int]NULL,[ISBN][nvarchar]50)NULL,[CBS][nvarchar]50NULL,[CBRQ][datetime]NULL,[Status][nvarchar](50NULL,CONSTRAINT[PK_Book]KEYCLUSTERED([Num]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]页脚下载后可删除,如有侵权请告知删除!

GO3〕借书卡信息表/******Object:Table[dbo].[Card]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Card]([Num][nvarchar]50NOTNULL,[Name][nvarchar]50)NULL,[Class][nvarchar](50)NULL,[StartTime][datetime]NULL,[EndTime][datetime]NULL,CONSTRAINT[PK_Card]KEYCLUSTERED([Num]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]GO4〕图书借阅表/******Object:Table[dbo].[Lend]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Lend](页脚下载后可删除,如有侵权请告知删除!

[CardNum][nvarchar](50)NULL,[BookNum][nvarchar](50)NULL,[Time][datetime]NULL,[Status][nvarchar](50NULL)ON[PRIMARY]GO5〕图书类型表/******Object:Table[dbo].[Type]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Type]([ID][int]IDENTITY11)NOTNULL,[Name][nvarchar]50)NULL,CONSTRAINT[PK_Type]KEYCLUSTERED([ID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]GO6.2系统界设计登陆界面页脚下载后可删除,如有侵权请告知删除!

//验证用户privatevoidokButton_Click(objectsender,System.EventArgse){if(tB_Name.Text==""){MessageBox.Show("请输入用户名!,"提示);return;}if(cB_Type.SelectedIndex<0){MessageBox.Show("请选择登陆身份!"示);return;}stringstrCommand;strCommand="selectPasswordfromUserswhereName='"+tB_Name.Text+"'";SqlCommandcommand=newSqlCommand(strCommand,DBHelper.Conn);SqlDataReaderreader;reader=command.ExecuteReader();if(reader.Read()){stringpassword=reader["Password"//验证用户if(password==tB_Password.Text){//MainForm.m_strName=tB_Name.Text;this=DialogResult.OK;this}else{MessageBox"户或口令信息不正确!,"提);}}elseMessageBox.Show("用户不存在!,"提示);reader.Close();}主界面页脚下载后可删除,如有侵权请告知删除!

privatevoid图书管理oolStripMenuItem_Click(objectsender,EventArgse){Bookdlg=newBook();dlg.MdiParent=this;dlg.Show();}privatevoid借书卡管理oolStripMenuItem_Click(objectsender,EventArgse){Carddlg=newCard();dlg.MdiParent=this;dlg.Show();}图书管理页脚下载后可删除,如有侵权请告知删除!

privatevoidBook_Load(sender,EventArgse){stringsql=string@"select[Num]编号Book.[Name]书名[Author]作者,Type.Name类别[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出状态fromBookleftjoinTypeonBook.Type=Type.ID");dataGridView1.DataSource=DBHelper.GetDataSet(sql);}privatevoidbtnAdd_Click(sender,EventArgse){BookAdddlg=newBookAdd("");dlg.ShowDialog();stringsql=string@"select[Num]编号Book.[Name]书名[Author]作者,Type.Name类别[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出状态fromBookleftjoinTypeonBook.Type=Type.ID");dataGridView1.DataSource=DBHelper.GetDataSet(sql);}借书卡管理页脚下载后可删除,如有侵权请告知删除!

privatevoidCard_Load(sender,EventArgse){dataGridView1.DataSource=DBHelper.GetDataSet(@"select[Num]编号,[Name]姓名,[Class]班级,[StartTime]开场时间[EndTime]完毕时间[Card]");}privatevoidbutton1_Click(sender,EventArgse){CardAdddlg=newCardAdd("");dlg.ShowDialog();dataGridView1.DataSource=DBHelper.GetDataSet(@"select[Num]编号,[Name]姓名,[Class]班级,[StartTime]开场时间[EndTime]完毕时间[Card]");}借书界面页脚下载后可删除,如有侵权请告知删除!

privatevoidLend_Load(sender,EventArgse){CardNum.DataSource=DBHelper.GetDataSet("select*fromCard");CardNum.DisplayMember="Num"CardNum.ValueMember="Name";CardName.Text="";BookNum.DataSource=DBHelper.GetDataSet("select*fromBook");BookNum.DisplayMember="Num"BookNum.ValueMember="Name";BookName.Text="";}privatevoidbutton1_Click(sender,EventArgse){string=.Format("insertintolendvalues('{0}','{1}','{2}',')"CardNum.Text,BookNum.Text,DateTime.Now);DBHelper.GetCommand(sql);sql=stringBooksetStatus='已借出whereNum='{0}'",BookNum.Text);DBHelper.GetCommand(sql);MessageBox"阅成功!");this.Close();}还书界面页脚下载后可删除,如有侵权请告知删除!

privatevoidBack_Load(sender,EventArgse){CardNum.DataSource=DBHelper.GetDataSet("select*fromCard");CardNum.DisplayMember="Num"CardNum.ValueMember="Name";CardName.Text="";}privatevoidbutton1_Click(sender,EventArgse){stringsql=string.Format("updateLendsetStatus='还'whereBookNum='{0}'andCardNum='{1}'"BookNum.Text,CardNum.Text);DBHelper.GetCommand(sql);sql=stringBooksetStatus='未借出whereNum='{0}'",BookNum.Text);DBHelper.GetCommand(sql);MessageBox"还成功!");this.Close();}图书查询界面页脚下载后可删除,如有侵权请告知删除!

privatevoidbutton1_Click(sender,EventArgse){stringsql=string@"select[Num]编号[Name]书名,[Author]作者,[Type]类别,[ISBN],[CBS]出版社[CBRQ]出版日期[Status]出借状态fromBookwhereNumlike'%{0}%'orNamelike'%{0}%'orAuthorlike'%{0}%'orISBNlike'%{0}%'orCBSlike'%{0}%'"textBox1.Text);dataGridView1.DataSource=DBHelper.GetDataSet(sql);}超期未还图书界面privatevoidBackTimeout_Load(sender,EventArgse){stringsql=string@"selectC.Num借书卡,C.Name姓,C.Class班级,B.Num书号B.Name书名,L.Time借阅时间LendLleftjoinBookBon页脚下载后可删除,如有侵权请告知删除!

L.BookNum=B.NumleftjoinCardConL.CardNum=C.NumwhereL.Status='借andL.Time<'{0}'"DateTimedataGridView1.DataSource=DBHelper.GetDataSet(sql);}用户管理界面//初始化privatevoidForm_ManagUser_Load(sender,System.EventArgse){stringstrSql="selectName,PasswordfromUsers";m_dsUser=newDataSetm_adapterUser=newSqlDataAdapter(strSql,DBHelper.Conn);m_adapterUser.Fill(m_dsUser,"users");dG_User.DataSource=m_dsUser;dG_User.DataMember="users"}//添加用户privatevoidbutton_Add_Click(objectsender,System.EventArgse){string=.Format(INTOPassword,Type)VALUES('{0}','{1}',{2})"tB_Name.Text,tB_Password.Text,cB_Type.SelectedIndex);S

温馨提示

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

评论

0/150

提交评论