《计算机组成原理与汇编语言》课程设计报告范例_第1页
《计算机组成原理与汇编语言》课程设计报告范例_第2页
《计算机组成原理与汇编语言》课程设计报告范例_第3页
《计算机组成原理与汇编语言》课程设计报告范例_第4页
《计算机组成原理与汇编语言》课程设计报告范例_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、广东技术师范学院天河学院计算机组成原理与汇编语言课程设计报告 题 目: 图书馆管理系统 设 计 者: XXXX 专业班级: 学 号: 指导教师: 胡安明 所属系部: 计算机科学与技术系2015年 6月6 日目 录1.实训目的32.实训内容32.1需求分析32.1.1概述32.1.2系统目标32.1.3开发环境42.2模块设计42.2.2系统功能结构52.2.3文件组成结构62.2.4主要模块说明72.3数据库设计82.3.1数据库概要说明82.3.2数据库概念设计92.3.3数据库逻辑结构设计132.4详细制作172.4.1图书借阅界面设计后台程序设计182

2、.4.1.3技术总结232.4.2图书归还界面设计后台程序设计技术总结292.4.3读者首页30界面设计30后台程序设计3技术总结323.实训总结323.1所遇问题和解决方法323.2实训感受341. 实训目的熟悉图书馆管理系统开发的基本过程。初步学会针对项目进行分析并设计数据库。熟悉对SQL Server 2005的使用。学会设计公共类。学会用所学知识实现本系统的主要功能模块。熟悉LINQ语句,一方面体会LINQ语句的简单实用,另一方面也要认识到LINQ语句的局限性。初步建立面向对象的开发思想。

3、体会分层开发模块的实用性。通过本次实训了解自己的知识储备量,争取在今后的学习中弥补自己的不足。自己遇到了问题,通过询问老师和同学,加强自己的表达和沟通能力。通过上网查阅资料,可以拓展视野,收获更多知识。若是分组实训,既可以加强自身的团队协作能力,还可以使自我的能力得到更好的发挥。2. 实训内容2.1需求分析2.1.1概述长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。在借书时,读者首先将要借的书和借阅证交给工作人员,工作人员将每本书的信息卡片和读者的借阅证放在一个小格栏里,然后在借阅证和每本书贴的借阅条上填写借阅信息。在还书时,读者首先将要还的书交给工作人员,工作人员

4、根据图书信息找到相应的书卡和借阅证,并填写相应的还书信息。从上述描述中可以发现,传统的手工流程存在这种种不足。首先处理借书、还书业务流程的效率很低;其次处理能力比较低,一段时间内,所能服务的读者人数只能是很有限的。而且,读者借阅图书相当不方便,这会让读者产生厌烦借书的情绪,不便于知识文化的传播。为此,图书信息管理系统需要为图书馆及读者解决上述问题,提供快速的信息检索、修改功能及快捷的图书借阅、归还功能。2.1.2系统目标根据图书馆日常图书管理工作的需求和图书借阅的管理流程,该系统实施后,应达到以下目标。界面设计友好、美观,数据存储安全、可靠。基本信息设置保证图书信息和读者信息的分类管理。强大的

5、查询功能,保证数据查询的灵活性。实现对图书借阅、续借、归还过程的全程数据信息跟踪。实现对图书馆信息的修改功能。对书架、图书、读者信息的增、删、改、查简易方便。设置读者借阅和图书借阅排行榜,为图书馆管理提供真实的数据信息。提供管理员修改自己登录密码的功能,保证系统的安全性。提供灵活、方便的权限设置功能,使整个系统的管理分工明确。采用人机对话的操作方式,方便管理员的日常操作。实现读者对图书的浏览、查询,对个人信息的查看、修改,对已借图书的续借功能。系统要最大限度地实现易维护性和易操作性。2.1.3开发环境网站开发环境网站开发环境:Microsoft Visual Studio 2008集成开发环境

6、。网站开发语言:ASP.NET+C#+LINQ。网站后台数据库:SQL Server 2005。开发环境运行平台:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1)。注意:SP(Server Pack)为Windows操作系统补丁。 服务器端操作系统:Windows Server 2003(SP1)。Web服务器:Internet信息服务器。数据库服务器:SQL Server 2005。浏览器:IE6.0及以上版本。网站服务器运行环境:Mircrosoft.NET Framework SDK v2.0。 客户端浏览器: IE6.

7、0及以上版本。分辨率:最佳效果1024768像素。2.2模块设计2.2.1系统流程图图 系统流程图2.2.2系统功能结构根据图书馆管理系统的特点,可以将其分为管理员管理和读者管理两大部分,管理员的管理分为系统设置、读者管理、图书管理、图书借还、系统查询等部分,其中各个部分及其包括的具体功能模块如图所示。读者管理包括的功能有图书查询、查看超期公告、查阅基本信息、查看借阅历史、更改口令等,如图所示。图 系统功能结构图之管理员管理图 系统功能结构图之读者管理2.2.3文件组成结构为了直观地看到整个网站的文件组成结构,下图2.

8、2.3.1将网站的组织结构已展示出来。图 系统文件组成结构图2.2.4主要模块说明entry.aspx页面:管理员登录。index.aspx页面:管理员登录后进入的第一个页面,即首页。该页面显示图书借阅的排行榜。另外,可以通过点击“图书名称”查看图书详细信息。readerInfo.aspx页面:管理员通过此页面可以浏览所有读者的姓名、性别、类型、证件号、联系方式等信息。点击“添加读者信息”便会跳转到另一个页面进行读者的添加操作;点击一条记录后的“修改”,可跳转到另一个页面对这个读者的信息进行修改;点击一条记录后的“删除”,可将该读者信息从图书管理数据库中消除。bookInfoMa

9、nage.aspx页面:管理员可对图书的档案信息进行增、删、改的操作。bookBorrow.aspx页面:读者到图书馆借书,管理员只需要输入该读者条形码和所要借的图书条形码,点击相关按钮就可以将读者信息和图书信息显示出来,并可以点击图书信息后的“借阅”按钮,进行借阅。当然,如果所要借的书是已借出且未归还的,是不允许再外借的。当该图书被外借后,会生成图书借阅档案保存到数据库中,可供读者进行日后的查阅。bookReturn.aspx页面:读者将所要还的书(不管是读者本人所借还是其他人所借)拿到图书馆,管理员只需要输入图书条形码,点击相关按钮,就可以显示读者信息和所还图书信息。点击图书信息记录后的“

10、还书”,即可将此书归还,并生成图书归还档案,以供读者日后查阅。当然,如果图书是超期归还,就会有相应的提示,管理员根据弹出的提示框可对其进行罚款。bookBorrowSearch.aspx页面:本页面是图书借阅查询页面。管理员通过下拉框和单选按钮,搭配选择查询条件,并在文本框中输入相关信息,点击按钮,页面就会自动显示有关图书的借阅信息。extendedAnn.aspx页面:进入该页面会看到所有的超期未归还的图书及读者的部分信息,管理员也可以在文本框中输入读者的借书证号进行模糊或精确查询。readerLogin.aspx页面:该页面供读者登录,可以选择输入借阅证号登录或读者条形码登录。bookSe

11、arch.aspx页面:读者通过下拉框选择查询条件,并在其后的文本框中输入相应的内容,点击有关按钮,图书信息就会自动显示在页面中。例如,读者选择图书类别,而后的下拉框中会显示图书的各种类别,如“小说”、“文学”、“历史”、“哲学”等。选择过后,点击“检索”按钮,页面就会显示相关图书的大致信息。若读者要查看其详细信息,点击其后的“详细”,在另一个页面就可以看到此图书的更为详细的信息。读者可以根据图书信息,决定要不要借阅,如果要借阅,根据图书的馆藏地址、书架、索书号及图书名称很快就可以找到想要借阅的图书,极为方便。BasicInfor.aspx页面:当读者进入此页面时,可以看到自己的基本信息,并可

12、以修改联系电话、联系地址或电子邮件。在个人信息下面会显示当前已借阅的图书信息,而且在图书信息后面,有“续借”按钮,这样,足不出门,就可以续借图书。borrowHistory.aspx页面:这个页面显示的内容是读者本人曾经所有的借阅信息,包括借书信息和还书信息。updatepassword.aspx页面:此页面供读者更改登录密码所用。当管理员添加读者时,默认读者登录密码是读者的借阅证号,而后,读者可以登录系统通过此页面更改自己的登录密码,以保安全。2.3数据库设计本系统采用SQL Server 2005 数据库,名称为db_tsrj,其中包含9张表。下面分别给出数据表概要说明、数据表E-R图及主

13、要数据表的结构。2.3.1数据库概要说明下面是数据表的树形结构图,如图所示,其中包含系统所有数据表。图 数据库表结构2.3.2数据库概念设计通过对本系统进行的需求分析、系统流程设计、以及系统功能结构的确定,规划出系统中使用的数据库实体对象,具体说明如下。只有系统分配的用户才可以操作图书馆管理系统,而用户的权限又各不相同。管理员权限设置信息实体E-R图如图所示。图 管理员权限设置信息实体E-R图图书借阅信息实体,用于存储所有图书借阅情况的信息,以准确地记录每本图书的借阅情况。图书借阅信息实体E-R图如图所示。图 2.3.2

14、.2 图书借阅信息实体E-R图图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书架上。书架信息实体,用于存储图书馆中所有的书架信息。书架信息实体E-R图如图所示。图 书架信息实体E-R图不同的图书会有不同的图书信息。对这些图书进行详细的记录,方便图书分类和查询。图书信息实体,用于存储所有图书的相关信息。图书信息实体E-R图如图所示。图 图书信息实体E-R图图书馆中会有不同类型的图书,为了避免图书归类发生混乱,需建立一个图书类型信息实体,用于存储图书的类型信息。图书类型信息实体E-R图如图所示。图 2.3.2

15、.5 图书类型信息实体E-R图每个事物都有自身的历史背景,图书馆也不例外。为了记录和修改图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储与图书馆相关的信息。图书馆信息实体E-R图如图所示。图 图书馆信息实体E-R图每位可到图书馆借阅图书的读者都有自己的基本信息和借阅信息,一方面,方便管理员修改和查询,另一方面,方便自己查询和修改。读者信息实体,用于存储所有读者的个人信息。读者信息实体E-R图如图所示。图 读者信息实体E-R图去图书馆的可能是教师,可能是学生,可能是工人等,所以读者有不同的类型。读者类型信息实体用来存

16、储读者类型信息。读者类型信息实体E-R图如图所示。图 读者类型信息实体E-R图当管理员登录图书管理系统时,需要通过登录窗口验证成功后才能进入系统主页。管理员信息实体,用来存储管理员的登录名称和密码。管理员信息实体E-R图如图所示。图 管理员信息实体E-R图2.3.3数据库逻辑结构设计在设计完数据库实体E-R图之后,需要根据实体E-R图设计数据表结构。下面给出各数据表的数据结构和用途。 tb_admSet(管理员权限设置表)。表tb_admSet用于保存与管理员权限设置相关的信息,该表的结构如表所示。字段名数据类型长度是否

17、主键描述userIdint4是管理员编号userNamevarchar80否管理员名称systemSetbit1否系统设置readerManagebit1否读者管理bookManagebit1否图书管理bookBorrowbit1否图书借还systemSearchbit1否系统查询表 管理员权限设置表 tb_bookBorrow(图书借阅表)。表tb_bookBorrow用于保存所有借阅和归还图书的信息,该表的结构如表所示。字段名数据类型长度是否主键描述IDint4是系统编号bookBarcodevarchar50否图书条形码bookNamevarchar20否图

18、书名称borrowTimedatetime8否借阅日期returnTimedatetime8否应还日期readerIDvarchar50否借书证号readerBarCodevarchar50否读者条形码readerNamevarchar20否读者姓名sexvarchar50否读者性别departmentvarchar50否读者单位gradevarchar50否读者类型编号renewCountint4否续借次数extendedDaysint4否超期天数FKMoneydecimal18否罚款金额handlingTimedatetime8否处理时间operationTypesvarchar50否操作

19、类型isReturnbit1否是否归还表 图书借阅表 tb_bookcase(书架信息表)。表tb_bookcase用于保存书架的详细信息,该表的结构如表所示。字段名数据类型长度是否主键描述bookcaseIDint4是书架编号bookcaseNamevarchar80否书架名称表 书架信息表 tb_bookInfo(图书信息表)。表tb_ bookInfo用于保存与图书相关的所有信息,该表的结构如表所示。字段名数据类型长度是否主键描述bookBarCodevarchar100是图书条形码linebooknumbervarchar50否索

20、书号bookNamevarchar100否图书名称bookTypeint4否图书类型编号bookcaseint4否书架编号bookConcernvarchar100否出版社authorvarchar80否作者pricedecimal18否图书价格Imagevarchar50否图书图片CollectionAddressvarchar50否馆藏地址isReturnvarchar50否是否归还borrowSumint4否借阅总次数表 图书信息表 tb_bookType(图书类型信息表)。表tb_ bookType用于保存图书类型信息,该表的结构如表所示。字段名数据类型长度

21、是否主键描述typeIDint4是图书类型编号typeNamevarchar50否类型名称borrowDayint4否可借天数表 图书类型信息表 tb_library(图书馆信息表)。表tb_ library用于保存图书馆信息,该表的结构如表所示。字段名数据类型长度是否主键描述IDint4是系统编号libraryNamevarchar80否图书馆名称curatorvarchar80否馆长名称telvarchar100否联系电话addressvarchar200否联系地址emailvarchar100否电子邮箱netvarchar200否网址upbuildTimeda

22、tetime8否建馆时间remarkvarchar500否备注表 图书馆信息表 tb_readerInfo(读者信息表)。表tb_ library用于保存所有读者信息,该表的结构如表所示。字段名数据类型长度是否主键描述readerBarCodevarchar50是读者条形码readerIDvarchar50否借阅证号passWordvarchar50否登录密码readerNamevarchar50否读者姓名sexchar10否读者性别departmentvarchar50否读者单位readerTypevarchar50否读者类型编号certificateTypeva

23、rchar50否证件类型certificatevarchar50否证件号码telvarchar50否联系电话emailvarchar50否电子邮箱canBorrowint4否可借数量borrowedint4否已借数目borrowedbookAllnumberint4否借阅总数contactAddressvarchar50否联系地址readerImagevarchar50否读者头像remarkvarchar500否备注表 读者信息表 tb_readerType(读者类型信息表)。表tb_ library用于保存所有读者类型信息,该表的结构如表所示。字段名数据类型长度是

24、否主键描述idint4是读者类型编号typevarchar50否读者类型名称numvarchar50否可借图书数量表 读者类型信息表 tb_user(管理员信息表)。表tb_ user用于保存所有管理员信息,该表的结构如表所示。字段名数据类型长度是否主键描述userIdint4是管理员编号userNamevarchar50否管理员名称userPwdvarchar50否管理员密码表 管理员信息表2.4详细制作2.4.1图书借阅界面设计图 .1 图书借阅界面设计图后台程序设计public partial class

25、 bookBorrow : System.Web.UI.Page MyLinqDataContext db = new MyLinqDataContext();/建立LINQ对象 static int isSum = 0; protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null)/判断管理员是否登录 if (!getSet()/判断是否拥有权限 Response.Write(alert(您没有此权限);location=index.aspx;); else Response.Redirec

26、t(entry.aspx);/返回到登录页面 / / 自定义方法,返回登录用户的权限 / / public bool getSet() string userName = SessionuserName.ToString();/获取管理员登录名 var sql = db.tb_admSet.Where(p = p.userName = userName).First(); return Convert.ToBoolean(sql.bookBorrow);/返回是否拥有图书借阅权限 / / 点击“查找读者”按钮,显示读者信息 / / / protected void btnReaderSearc

27、h_Click(object sender, EventArgs e) bindReaderInfo();/调用自定义方法显示读者信息 / / 绑定数据到GridView控件上 / / public void bindGridView(IQueryable sql) gvBookBorrow.DataSource = sql; gvBookBorrow.DataKeyNames = new string bookBarCode ; gvBookBorrow.DataBind(); / / 自定义方法显示读者信息 / public void bindReaderInfo() string rea

28、derBarCode = txtReaderBarCode.Text.Trim();/获取读者条形码 var readerSql = db.tb_readerInfo.Where(j = j.readerBarCode = readerBarCode).Count();/在读者信息表中查询符合读者条形码条件的记录数目 if (readerSql 0) var reader = db.tb_readerInfo.Where(s = s.readerBarCode = readerBarCode).First();/获取该读者详细信息 txtReaderName.Text = reader.rea

29、derName.ToString(); /显示读者姓名 txtReaderSex.Text = reader.sex.ToString(); /显示读者性别 txtCertificateType.Text = reader.certificateType.ToString();/显示证件类型 txtCertificate.Text = reader.certificate.ToString(); /显示证件号 var typeSdr = db.tb_readerType.Where(m = m.id = Convert.ToInt32(reader.readerType).First();/查

30、询符合读者类型编号的记录 txtReaderType.Text = typeSdr.type.ToString();/显示读者类型 txtNum.Text = reader.canBorrow.ToString();/显示还可以借阅的图书数目 isSum = 1; else RegisterStartupScript(, alert(读者条形码输入错误!); / / 点击“查找图书”按钮,根据图书条形码查找图书 / / / protected void btnBookSearch_Click(object sender, EventArgs e) if (isSum 0) if (Conver

31、t.ToInt32(txtNum.Text.Trim() 0)/判断读者是否还可以借书 if (txtBookBarCode.Text.Trim() != )/判断图书条形码是否为空 string bookBarCode = txtBookBarCode.Text;/获取文本框中图书条形码 if (db.tb_bookInfo.Where(x = x.bookBarCode = bookBarCode).Count() 0)/判断图书信息表中符合文本框中图书条形码条件的记录数目是否大于0 var sql = db.tb_bookInfo.Where(k = k.bookBarCode = bo

32、okBarCode);/根据图书条形码获取查询tb_bookInfo表中信息 bindGridView(sql);/传递参数,绑定数据源 else RegisterStartupScript(, alert(图书条形码错误!); else RegisterStartupScript(, alert(图书条形码不能为空); else RegisterStartupScript(, alert(借阅数量已满!不可以再借阅); else RegisterStartupScript(, alert(请先输入正确的读者条形码!); / / 在对行进行了数据绑定后激发 / / / protected vo

33、id gvBookBorrow_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) string bookType = e.Row.Cells1.Text.ToString();/获取图书类型编号 var typeSdr = db.tb_bookType.Where(v = v.typeID = Convert.ToInt32(bookType).First();/在图书类型表中查询符合图书类型编号条件的记录 e.Row.Cells1.Text =

34、 typeSdr.typeName.ToString();/显示图书类型 e.Row.Cells5.Text = typeSdr.borrowDay.ToString();/显示图书可借天数 e.Row.Cells6.Text = DateTime.Now.ToString();/显示借书日期 e.Row.Cells7.Text = DateTime.Now.AddDays(Convert.ToInt32(typeSdr.borrowDay).ToString();/显示应归还图书日期 / / 在GridView中选择新行时或选择新行前激发 / / / protected void gvBoo

35、kBorrow_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) string bookBarCode = gvBookBorrow.DataKeyse.NewSelectedIndex.Value.ToString();/获取GridView控件选中行的数据键值(即该行的图书条形码) if (db.tb_bookBorrow.Where(b = b.bookBarcode = bookBarCode & b.isReturn = false).Count() 0)/判断图书借阅表里该书是否归还 RegisterSt

36、artupScript(, alert(本书已借出!);/如果未归还,则弹出提示 else var sql = db.tb_bookInfo.Where(code = code.bookBarCode = bookBarCode).First();/查询tb_bookInfo表中符合文本框中图书条形码的记录 var sdr = db.tb_bookType.Where(ty = ty.typeID = sql.bookType).First();/根据图书类型编号查询tb_bookType表中信息 int borrowDay = Convert.ToInt32(sdr.borrowDay);/

37、获取借阅天数 string bookName = sql.bookName.ToString();/获取图书名称 string borrowTime = DateTime.Now.ToString();/获取借阅日期 string readerBarCode = txtReaderBarCode.Text;/获取读者条形码 string returnTime = DateTime.Now.AddDays(borrowDay).ToString(); /获取应还日期 string readerName = txtReaderName.Text;/获取读者姓名 var readerinfo = d

38、b.tb_readerInfo.Where(info = info.readerBarCode = readerBarCode).First();/根据读者条形码获取读者信息表中的信息 var bookinfo = db.tb_bookInfo.Where(bi = bi.bookBarCode = bookBarCode).First();/根据图书条形码获取图书信息表中信息 try var addSql = new tb_bookBorrow/将图书借阅信息添加到图书借阅信息表中 bookBarcode = bookBarCode,/插入图书条形码 bookName = bookName,

39、/插入图书名称 borrowTime = Convert.ToDateTime(borrowTime),/插入借阅时间 returnTime = Convert.ToDateTime(returnTime),/插入应归还日期 readerID = readerinfo.readerID.ToString(),/插入借阅证号 readerBarCode = readerBarCode,/插入读者条形码 readerName = readerName,/插入读者姓名 sex = readerinfo.sex.ToString(),/插入性别 department = readerinfo.depa

40、rtment.ToString(),/插入读者单位 grade = readerinfo.readerType.ToString(),/插入读者类型 renewCount = 0,/插入续借次数 extendedDays = 0,/插入超期天数 FKMoney = 0,/插入罚款金额,默认为0 handlingTime = DateTime.Now,/插入处理时间 operationTypes = 借书,/插入操作类型 isReturn = false/插入未归还 ; db.tb_bookBorrow.InsertOnSubmit(addSql);/准备插入 readerinfo.canBor

41、row -= 1;/对tb_readerInfo表的可借次数减1 readerinfo.borrowed += 1;/对tb_readerInfo表的已借次数加1 readerinfo.borrowedbookAllnumber += 1;/该读者的外借总数加1 bookinfo.borrowSum += 1;/该图书的借阅总数加1 bookinfo.isReturn = 否;/将该书设置为未归还状态 db.SubmitChanges();/执行插入和更改命令 bindReaderInfo(); /重新绑定读者信息 gvBookBorrow.DataSource = null; /将数据源设置

42、为空 gvBookBorrow.DataBind();/绑定数据 txtBookBarCode.Text = ;/将图书条形码文本框清空 RegisterStartupScript(, alert(借阅成功!); catch (Exception ex) MessageBox.Show(this.Page, 借阅失败! + ex.Message); 技术总结当管理员登录后才能进入此页面,并且在访问此页面时会判断管理员的权限,只有拥有“图书借还权限”的管理员才能对此进行访问。当输入错误的读者条形码后点击“查找读者”按钮,会弹出如图.1所示的对话框。图 .1 读者条形码输入错误时的结果当此书原本已借出且未归还时,点击“借阅”会弹出如图.2所示的提示信息。图 .2 图书已借出的提示框2.4.2图书归还界面设计图 .1 图书归还设计页面后台程序设计public partial class bookReturn : System.Web.UI.Page MyLinqDataContext db = new My

温馨提示

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

评论

0/150

提交评论