欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《软件工程》图书管理系统课程设计.docx

    • 资源ID:10297180       资源大小:1.15MB        全文页数:23页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《软件工程》图书管理系统课程设计.docx

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

    2、就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。2可行性研究报告在软件的开发过程中,这一步是十分必要的。如果在定义阶段及早发现将来可能在开发过程中的问题,及早做出决断,可以避免大量的人力,财力和时间上的浪费。1技术可行性:本组开发成员都具有一定的电脑知识,学习过多种程序开发语言。特别是在项目确定后对C#和SQL Server数据库的强化学习,使本系统成功开发成为可能。2经济可行性:本系统有其生存空间,成功后有其市场。并且本小组开发人员基于一种爱好去研究他的,我们有自己的电脑,可以说成本开支极其有限。3现阶段各种各样的图书馆越来越多,图书馆的书也越来越多,图书的管理工作也越

    3、来越复杂。本系统就是为了减轻图书管理人员的工作而设计的。4法律可行性:本系统为我五人开发小组独立完成,不关他人,开发成功后其所有权归我们五人所有,用户购买后其使用权一同买断,我们将提供技术支持。5基于水平和时间有限,我们的系统还不是十分完善。可扩展的地方很多,现列举如:建立图书预约机制 建立读者反馈机制 建立过期催还机制 建立条码扫描机制等。以现有的人力和时间来衡量,我们只有放弃。经过以上可行性论证,本系统可以按任务书要求开发。3项目开发计划书开发阶段时间进度制定开发计划两天需求分析一周概要设计一周详细设计两周系统实现三周系统测试一周编写课程设计报告两周4系统需求规格说明书该过程是个不断认识不

    4、断细化的过程。这里所要完成的工作是深入描述软件的功能和性能,确定软件的设计限制和软件同其他系统元素的接口细节,从而奠定软件的开发基础。1性能需求:该系统中,各个模块只有管理人员才能对其进行操作,系统管理人员要进行身分验证才能进入界面操作。2功能需求:我们设计的系统要完成的功能模块如下:登陆模块 管理员管理模块 借阅卡管理模块 书籍管理模块 查询管理模块。3环境需求:电脑需要安装.net框架3.5,安装SQL Server 2008数据库,硬件要求酷睿i3双核以上处理器,100G硬盘空间,1G以上内存,系统应有Windows XP,Windows7,或Windows8操作系统。4界面需求:本软件

    5、是面向大众,界面友好,操作简单灵活,根据界面上的提示便可完成一系列动作。5概要设计说明书5.1 系统设计流程(一)建库;建立数据库;(二)设计相应的操作界面;5.2 功能模块结构图设计一、软件设计过程对程序结构、数据结构、过程细节和接口细节逐步细化、评审和编写文档的过程。从技术角度上,软件设计分成体系结构设计、数据设计、过程设计、接口设计4个方面的工作。从管理角度上讲,软件设计分为概要设计和详细设计两个阶段。 二、软件设计目标设计必须实现分析模型中描述的所有显示需求,必须满足用户希望的所有隐式需求;设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护;设计应从实现角度出发,给出数据、

    6、功能、行为相关的软件全貌。 三、基本原理和相关概念抽象化:常用的抽象化手段有过程抽象、数据抽象和控制抽象 过程抽象:任何一个完成明确动能的操作都可被使用者当做单位的实体看待,尽管这个操作时机上可能由一系列更低级的操作来完成。 数据抽象:与过程抽象一样,允许设计人员在不同层次上描述数据对象的细节。 与过程抽象和数据抽象一样,控制抽象可以包含一个程序控制机制而无须规定其内部细节。 自顶向下,逐步细化:将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,知道用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。 模块化:将一个待开发的软件分解成若干个小的简单的部分模块,每

    7、个模块可独立地开发、测试,最后组装成完整的程序。这是一种复杂问题的“分而治之”的原则。模块化的目的是使程序结构清晰,容易阅读,容易理解,容易测试,容易修改。 控制层次:表明了程序构件(模块)的组织情况。控制层次往往用程序的层次结构(树形或网型)来表示。 深度:程序结构的层次数,可以反映程序机构的规模和复杂程度。 宽度:同一层模块的最大模块个数 模块的扇出:一个模块调用(或控制)的其他模块数 模块的扇入:调用(或控制)一个给定模块的模块个数 信息屏蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少的显露其内部的处理,可以提高软件的可修改性,可测试性和可移植性。 模块独

    8、立:每个模块完成一个相对特定独立的子功能,并且与其他模块之间的联系简单。衡量度量标准有两个:模块间的耦合和模块的内聚。模块独立性强必须做到高内聚低耦合。 耦合:模块之间联系的紧密程度,耦合度越高模块的独立性越差。耦合度从低到高的次序为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。 内聚是指内部各元素之间联系的紧密程度,内聚度越低模块的独立性越差。内聚度从低到高依次是:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚。结构化设计方法,采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述(分解)系统。结构化设计方法,首先以数据流图

    9、为基础导出系统模块(功能)结构图。在导出系统模块(功能)结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。根据系统功能分析和图书馆管理的特点,经过模块化的分析得到如图所示的图书馆管理系统功能模块结构图。5.3 E-R图管理员E-R图学生E-R图图书E-R图借阅E-R图系统整体E-R图6详细设计说明书6.1 数据库设计根据设计好的各实体E-R图创建数据库的逻辑结构,本系统采用了送了SQLServer2008数据库,数据库名称为BookMgr数据库BookMgr包含以下6个

    10、表:图书信息表book、图书管理员表admin、图书类别表type、借书卡信息表card、图书借阅表lend。表的具体结构如下:1)管理员表:用于保存管理员信息,结构如下/* Object: Table dbo.Users Script Date: 04/26/2015 15:56:26 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Users( Name nvarchar(50) NULL, Password nvarchar(50) NULL, Type int NULL) ON PRIMARYGO2)图书信

    11、息表/* Object: Table dbo.Book Script Date: 04/26/2015 15:56:26 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Book( Num nvarchar(50) NOT NULL, Name nvarchar(50) NULL, Author nvarchar(50) NULL, Type int NULL, ISBN nvarchar(50) NULL, CBS nvarchar(50) NULL, CBRQ datetime NULL, Status nva

    12、rchar(50) NULL, CONSTRAINT PK_Book PRIMARY KEY CLUSTERED ( Num ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO3)借书卡信息表/* Object: Table dbo.Card Script Date: 04/26/2015 15:56:26 */SET ANSI_NULLS ONGOS

    13、ET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Card( Num nvarchar(50) NOT NULL, Name nvarchar(50) NULL, Class nvarchar(50) NULL, StartTime datetime NULL, EndTime datetime NULL, CONSTRAINT PK_Card PRIMARY KEY CLUSTERED ( Num ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, AL

    14、LOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO4)图书借阅表/* Object: Table dbo.Lend Script Date: 04/26/2015 15:56:26 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Lend( CardNum nvarchar(50) NULL, BookNum nvarchar(50) NULL, Time datetime NULL, Status nvarchar(50) NUL

    15、L) ON PRIMARYGO5)图书类型表/* Object: Table dbo.Type Script Date: 04/26/2015 15:56:26 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.Type( ID int IDENTITY(1,1) NOT NULL, Name nvarchar(50) NULL, CONSTRAINT PK_Type PRIMARY KEY CLUSTERED ( ID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUT

    16、E = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO6.2 系统界面设计登陆界面 / 验证用户 private void okButton_Click(object sender, System.EventArgs e) if (tB_Name.Text = ) MessageBox.Show(请输入用户名!, 提示); return; if (cB_Type.SelectedIndex 0) MessageBox.Show(请选择登陆身份!, 提

    17、示); return; string strCommand; strCommand = select Password from Users where Name = + tB_Name.Text + ; SqlCommand command = new SqlCommand(strCommand, DBHelper.Conn); SqlDataReader reader; reader = command.ExecuteReader(); if (reader.Read() string password = readerPassword.ToString(); / 验证用户 if (pas

    18、sword = tB_Password.Text) /MainForm.m_strName = tB_Name.Text; this.DialogResult = DialogResult.OK; this.Close(); else MessageBox.Show(用户或口令信息不正确!, 提示); else MessageBox.Show(用户不存在!, 提示); reader.Close(); 主界面 private void 图书管理ToolStripMenuItem_Click(object sender, EventArgs e) Book dlg = new Book(); dl

    19、g.MdiParent = this; dlg.Show(); private void 借书卡管理ToolStripMenuItem_Click(object sender, EventArgs e) Card dlg = new Card(); dlg.MdiParent = this; dlg.Show(); 图书管理 private void Book_Load(object sender, EventArgs e) string sql = string.Format(select Num 编号,Book.Name 书名,Author 作者 ,Type.Name 类别,ISBN,CB

    20、S 出版社,CBRQ 出版日期,Status 出借状态 from Book left join Type on Book.Type=Type.ID); dataGridView1.DataSource = DBHelper.GetDataSet(sql); private void btnAdd_Click(object sender, EventArgs e) BookAdd dlg = new BookAdd(); dlg.ShowDialog(); string sql = string.Format(select Num 编号,Book.Name 书名,Author 作者 ,Type.

    21、Name 类别,ISBN,CBS 出版社,CBRQ 出版日期,Status 出借状态 from Book left join Type on Book.Type=Type.ID); dataGridView1.DataSource = DBHelper.GetDataSet(sql); 借书卡管理 private void Card_Load(object sender, EventArgs e) dataGridView1.DataSource = DBHelper.GetDataSet(select Num 编号 ,Name 姓名,Class 班级,StartTime 开始时间,EndTi

    22、me 结束时间 FROM Card); private void button1_Click(object sender, EventArgs e) CardAdd dlg = new CardAdd(); dlg.ShowDialog(); dataGridView1.DataSource = DBHelper.GetDataSet(select Num 编号 ,Name 姓名,Class 班级,StartTime 开始时间,EndTime 结束时间 FROM Card); 借书界面 private void Lend_Load(object sender, EventArgs e) Car

    23、dNum.DataSource = DBHelper.GetDataSet(select * from Card); CardNum.DisplayMember = Num; CardNum.ValueMember = Name; CardName.Text = ; BookNum.DataSource = DBHelper.GetDataSet(select * from Book); BookNum.DisplayMember = Num; BookNum.ValueMember = Name; BookName.Text = ; private void button1_Click(ob

    24、ject sender, EventArgs e) string sql = string.Format(insert into lend values(0, 1, 2, 在借), CardNum.Text, BookNum.Text, DateTime.Now); DBHelper.GetCommand(sql); sql = string.Format(update Book set Status=已借出 where Num=0, BookNum.Text); DBHelper.GetCommand(sql); MessageBox.Show(借阅成功!); this.Close(); 还

    25、书界面 private void Back_Load(object sender, EventArgs e) CardNum.DataSource = DBHelper.GetDataSet(select * from Card); CardNum.DisplayMember = Num; CardNum.ValueMember = Name; CardName.Text = ; private void button1_Click(object sender, EventArgs e) string sql = string.Format(update Lend set Status=归还

    26、where BookNum=0 and CardNum=1, BookNum.Text, CardNum.Text); DBHelper.GetCommand(sql); sql = string.Format(update Book set Status=未借出 where Num=0, BookNum.Text); DBHelper.GetCommand(sql); MessageBox.Show(归还成功!); this.Close(); 图书查询界面 private void button1_Click(object sender, EventArgs e) string sql =

    27、string.Format(select Num 编号,Name 书名,Author 作者 ,Type 类别,ISBN,CBS 出版社,CBRQ 出版日期,Status 出借状态 from Book where Num like %0% or Name like %0% or Author like %0% or ISBN like %0% or CBS like %0%, textBox1.Text); dataGridView1.DataSource = DBHelper.GetDataSet(sql); 超期未还图书界面 private void BackTimeout_Load(obj

    28、ect sender, EventArgs e) string sql = string.Format(select C.Num 借书卡号, C.Name 姓名, C.Class 班级, B.Num 书号, B.Name 书名, L.Time 借阅时间 from Lend L left join Book B on L.BookNum=B.Num left join Card C on L.CardNum=C.Num where L.Status=在借 and L.Time0, DateTime.Now.AddMonths(-1); dataGridView1.DataSource = DBHelper.GetDataSet(sql); 用户管理界面 / 初始化 private void Form_ManagUser_Load(object sender, System.EventArgs e) string strSql = select Name, Password from Users; m_dsUser = new DataSet(); m_adapterUser = new SqlDataAdapter(strSql, DBHelper.Conn); m_adapterUser.Fill(m_dsUser, user


    注意事项

    本文(《软件工程》图书管理系统课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开