1、目录1 设计时间 .22 设计目的 .23 设计任务 .24 设计内容 .24.1 设计内容概述 24.1.1 组织机构介绍 .24.1.2 业务流程介绍与分析 24.1.3 系统开发计划 34.2 需求分析 54.2.1 总体目标 54.2.2 具体目标 54.2.3 系统数据建模 64.2.4 系统功能建模 84.2.5 数据字典 134.3 总体设计 144.3.1 总体设计 HIPO 技术 144.3.2 数据库设计 174.4 详细设计 194.4.1 读者管理模块详细设计 194.4.2 图书管理模块详细设计 204.4.3 借阅管理模块详细设计 214.4.4 查询模块详细设计
2、224.4.5 统计模块详细设计 245 总结与展望 .25参考文献 .27图书管理系统1成绩评定 .281 设计时间第 19、20 周(2011 年 1 月 4 日-2011 年 1 月 14 日)2 设计目的使学生掌握软件工程的基本原理和基本方法,充分理解和掌握软件工程学的概念、原理、方法和技术。3 设计任务运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析和设计。4 设计内容 4.1 设计内容概述4.1.1 组织机构介绍图书馆,是搜集、整理、收藏图书资料供人阅览、参考的机构,因此,它的信息化建设对国民教育有很大的影响。图书馆收藏着大量的文献信息资源,积极地开发,
3、广泛地利用这些文献资源是图书馆的重要职能之一,它也是图书馆承担各种职能的基础。由于当今社会文献的生产数量大、增长快;社会文献的类型复杂、形式多样;文献的时效性强;文献的传播速度加快;文献的内容交叉重复;文献所用语种在扩大,质量下降等特点,使人们普通感到利用起来十分不容易。图书馆通过对文献信息资源进行加工整理、科学分析综合、指引,形成有秩序、有规律、源源不断的信息流,进行更加广泛的交流与传递,使读者更好地利用它们。图书馆的文献资源开发包括下面几项内容:第一,对到馆的文献进行验收、登记、分类、编目、加工,最后调配到各借阅室,以便科学排架,合理的流通;第二,对馆外文献信息资源进行搜索、过滤,成为虚拟
4、馆藏,形成更加宽广、快捷的信息通道;第三,通过最现代化的手段计算机网络操作技术使馆藏文献走向数字化。图书管理系统主要针对用户,图书,借阅三方面进行管理,以提高管理员的工作效率,并针对某些数据做一些统计和查询,来方便地实现对图书馆的宏观掌握。4.1.2 业务流程介绍与分析图书管理系统3(1)业务流程描述为了实现用户的图书借阅功能,需要建立一张用户表来管理用户信息。只有注册过的用户且用户状态为正常状态才可以进行图书的借阅。用户表中可以增加借阅用户、可以对注册用户的信息进行修改、可以注销用户、可以查询用户。用户的信息必须包含用户名称、身份证号、性别、联系方式(手机号码)等重要识别信息。图书馆中的书籍
5、是会发生量的变化的,图书管理中需要包含对图书内容的增加、删除、修改和查询功能。图书馆中的书籍被借阅时需要进行登记。如果书籍归还之后,需要将借阅的状态改成归还。图书管理员可以按照书记名称、借阅名称、借阅日期等做为查询条件来对借阅信息进行管理。(2)业务流程图如图 4-1 所示4.1.3 系统开发计划1.项目目的本项目的设计目标旨在方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现传统的图书管理工作的信息化建设。2.项目背景图书馆收藏着大量的文献信息资源,积极地开发,广泛地利用这些文献资源是图书馆的重要职能之一,它也是图书馆承担各种职能的基础。由于当今社会文献的生产
6、数量大、增长快;社会文献的类型复杂、形式多样;文献的时效性强;文献的传播速度加快;文献的内容交叉重复;文献所用语种在扩大,质量下降等特点,使人们普通感到利用起来十分不容易。随着现代信息科技的发展,软件产业对提高企事业单位效率起到了很大作用,实现了很多业务上的自动化和半自动化。而图书管理系统对图书管理事业的高效发展起着决定性的作用,社会迫切需要一款更优化的图书 MIS 来提高图书馆的自动化程度。3.项目工作内容按照需求分析中对软件的要求,使用如下配置编写程序,并编写使用说明书,指导图书管理员的操作。数据库管理系统:SQL server 2000集成开发环境:visiual studio 2005
7、图书管理系统5读者读者 个人信息表读者信息库管理员读者添加读者信息修改注销读者查询读者挂失与解挂挂失信息查询结果显示管理员 图书入库 图书信息库书商发书清单批注架号删除图书修改图书查询图书查询结果显示借书处理借阅记录库罚款记录库续借登记打印收据超期检查与还书欠款状态解除遗失登记管理员扫描条形码扫描条形码收罚款 收据 读者12统计查询 查询结果显示统计结果显示管理员1221图 4-1 业务流程图开发语言:C#,操作系统平台:Microsoft Windows XP Professional SP34.产品图书管理系统软件和使用说明书5.程序程序分为读者管理,图书管理,借阅管理,查询和统计五大模块
8、。读者管理模块实现对读者的添加,读者的注销,读者的修改,读者的查询,借书证的挂失和解挂失;图书管理模块实现对图书的入库,图书的出库,图书的信息修改,图书的查询;借阅管理模块实现借书登记,还书登记,续借登记,遗失登记和交付罚款;查询和统计分别为方便图书管理员的工作而设计,提供迅速而准确地信息搜索和统计功能。4.2 需求分析4.2.1 总体目标本项目的设计目标旨在方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现传统的图书管理工作的信息化建设。本系统的服务对象为图书馆流通部门的工作人员,用户界面友好,不需计算机专业的专门训练即可使用本系统。软件主要分为读者管理,图书
9、管理,借阅管理,统计与查询五大模块。读者管理包括读者的添加删除,修改,查询以及借书证的挂失与解挂。图书管理包括对图书的入库,出库,信息修改和查询。借阅管理则主要包括借书,还书,续借,遗失图书处理及违章后赔偿处理。4.2.2 具体目标主要包括以下几点:1.读者借书,管理员将读者信息,图书信息输入系统,系统则根据这些信息生成借阅单,存入借阅表。2.读者还书,管理员将图书信息输入系统。若未超期,系统根据图书信息将相应借阅单标记为已还和完结,若已超期,将相应借阅单标记为已还,管理员要求罚款。读者交钱后,借阅单标记为完结,系统将超期信息记录到超期表。3.读者要续借某书,管理员将书号和读者号输入系统,若相
10、应借阅单允许续借,标记为已续借,否则,不予续借。4.读者将书遗失,管理员将遗失信息输入系统,系统执行遗失操作,并要求读者赔偿。5.管理员对图书进行录入,删除,修改,查询操作,系统根据信息对图书表进行改变。6.管理员对读者进行添加,删除,修改,查询操作,系统根据信息对读者表进行改变。7.系统提供借出记录查询,未还记录查询,超期记录查询,罚款记录查询,遗失记录查询。8.系统提供图书统计,读者统计,读者借阅统计,罚款统计来方便管理员的管理工作。4.2.3 系统数据建模ER 图如下所示:图 4-2 ER 图总图图 4-3 读者分 ER 图图 4-4 读者类型分 ER 图图 4-5 图书分 ER 图图
11、4-6 借阅记录分 ER 图图 4-7 罚款记录分 ER 图4.2.4 系统功能建模数据流图如下所示:图书管理系统读者书商读者管理员管理员管理员读者管理员管理员个人信息表 F 1挂失信息表 F 2发书清单 F 3借书证信息 F 4图书信息 F 5统计请求 F 6查询请求 F 7某读者信息 F 8某图书信息 F 9收据 F 1 0借出记录 F 1 1未还记录 F 1 2超期记录 F 1 3罚款记录 F 1 4遗失记录 F 1 5图书统计结果 F 1 6读者统计结果 F 1 7借阅统计结果 F 1 8罚款统计结果 F 1 9P图 4-8 系统顶层数据流图用户管理P 1F 1F 2F 7F 8D 1
12、D 2读者表读者类型库图 4-9 P1 模块一级细化图书管理P 2F 3F 7图书表D 3F 9图 4-10 P2 模块一级细化借阅管理P 3F 4F 5F 1 0D 5D 4D 1借阅记录库罚单库图 4-11 P3 模块一级细化查询D 1D 2D 3D 4D 5P 4F 1 1F 1 2F 1 3F 1 4F 1 5图 4-12 P4 模块一级细化统计D 1D 2D 3D 4D 5P 5F 1 9F 1 8F 1 7F 1 6图 4-13 P5 模块一级细化F 1F 2F 7F 8D 1D 2挂失处理P 1 . 5P 1 . 1P 1 . 2P 1 . 3P 1 . 4读者添加读者修改读者注
13、销读者查询图 4-14 P1 模块二级细化F 3F 7F 8D 3批注架号P 2 . 5P 2 . 1P 2 . 2P 2 . 3P 2 . 4图书添加图书修改图书删除图书查询图 4-15 P2 模块二级细化F 5D 4P 3 . 1P 3 . 2P 3 . 3借书登记还书登记续借P 3 . 4图书遗失P 3 . 5读者状态恢复F 4F 5F 1 0D 1F 5F 4F 4D 5图 4-16 P3 模块二级细化D 1P 4 . 1借出记录查询D 4F 1 1D 1P 4 . 2未还记录查询D 4F 1 2D 1P 4 . 3超期记录查询D 4F 1 3D 1P 4 . 4罚款记录查询D 5F
14、1 4D 1P 4 . 5遗失记录查询D 4F 1 5图 4-17 P4 模块二级细化D 1P 5 . 1图书统计D 3F 1 6D 1P 5 . 2读者统计D 2F 1 7D 1P 5 . 3读者借阅统计D 4F 1 8D 1P 5 . 4罚款统计D 5F 1 9图 4-18 P5 模块二级细化D 4P 3 . 2 . 1超期检查F 5D 5P 3 . 2 . 3罚款登记P 3 . 2 . 2还书处理图 4-19 P3.2 模块三级细化D 4P 3 . 4 . 1遗失查询F 4D 5P 3 . 4 . 3罚款登记P 3 . 4 . 2遗失登记D 3图 4-20 P3.4 模块三级细化4.2.
15、5 数据字典数据字典如下图所示:名字 : 读者表别名 :描述 : 对所有注册用户信息的记录定义 : 读者表 = 借书证号 + 姓名 + 性别 + 身份证号 + 联系方式 + 读者类型 +读者状态 + 职业位置 : 数据库名字 : 读者类型表别名 :描述 : 定义了所有的读者种类定义 : 读者类型表 = 读者类型 + 最长借期 +最大借阅册数 + 最长续期位置 : 数据库名字 : 图书表别名 :描述 : 记录了所有图书的信息定义 : 图书表 = 书号 + 书名 + 作者 + 出版社+ I S B N 号 + 定价 + 是否在库 +是否遗失 + 入库时间 + 图书分类 + 架号位置 : 数据库名字
16、 : 借阅表别名 :描述 : 记录了每次借阅图书的信息定义 : 借阅表 = 借阅号 + 借书证号 + 书号 + 借出日期 + 归还日期 + 应还日期 + 是否续借 + 是否完结位置 : 数据库名字 : 罚单表别名 :描述 : 记录了所有因违章造成的罚款信息定义 : 罚单表 = 罚单号 + 罚款金额 + 罚款原因 + 借书证号 + 罚款日期 + 借阅号 + 是否交钱位置 : 数据库名字 : 个人信息表别名 :描述 : 要注册用户的个人信息定义 : 个人信息表 = 姓名 + 性别 + 身份证号 +联系方式 + 职业位置 : 由读者填写而成名字 : 挂失信息表别名 :描述 : 填写读者挂失借书证的信
17、息定义 : 挂失信息表 = 姓名 + 性别 + 身份证号 +联系方式 + 职业位置 : 由读者填写而成名字 : 借书证信息别名 : 借书证条形码信息描述 : 条形码中的借书证号定义 : 借书证信息 = 借书证号位置 : 扫描借书证条形码获得名字 : 图书信息别名 : 图书条形码信息描述 : 条形码中的书号定义 : 借书证信息 = 书号位置 : 扫描图书条形码获得名字 : 书号别名 :描述 : 唯一标识了数据库中的一本图书定义 : 书号 = 1 0 数字 1 0位置 : 图书表名字 : 借书证号别名 :描述 : 唯一标识了读者定义 : 借书证号 = 1 0 数字 1 0位置 : 读者表图 4-2
18、1 数据字典4.3 总体设计4.3.1 总体设计 HIPO 技术(1)系统层次图系统层次图如图 4-22 所示,主要分为三个层次。图书管理系统读者管理图书管理借阅管理查询统计读者注销读者修改读者添加图书删除读者查询读者挂失图书入库图书修改图书续借还书登记借书登记图书查询罚款记录查询借出记录查询遗失记录查询超期记录查询未还记录查询图书遗失罚款统计图书统计读者统计读者借阅统计图 4-22 系统层次图(2)系统 IPO 图如图 4-23 到图 4-27 所示:I P O 表系统 : 图书管理系统模块 : 读者管理 编号 : P 1作者 : 王顺利日期 : 2 0 1 1 . 1 . 1 0局部数据元
19、素 :注释 :被调用 :系统主模块调用 : 读者添加 , 读者修改 , 读者注销 , 读者挂失 , 读者查询输入 : F 1 , F 2 , F 7 输出 : F 8 , D 1 , D 2处理 : 负责对读者信息的管理 , 包括添加 , 修改 ,注销 , 挂失和查询图 4-23 读者管理模块 IPO 表I P O 表系统 : 图书管理系统模块 : 图书管理 编号 : P 2作者 : 王顺利日期 : 2 0 1 1 . 1 . 1 0局部数据元素 :注释 :被调用 :系统主模块调用 : 图书添加 , 图书修改 , 图书删除 , 图书查询输入 : F 3 , F 7 输出 : F 9 , D 3
20、处理 : 负责对图书信息的管理 , 包括添加 , 修改 ,删除和查询图 4-24 图书管理模块 IPO 表I P O 表系统 : 图书管理系统模块 : 借阅管理 编号 : P 3作者 : 王顺利日期 : 2 0 1 1 . 1 . 1 0局部数据元素 :注释 :被调用 :系统主模块调用 : 借书登记 , 还书登记 , 图书续借 , 图书遗失输入 : F 4 , F 5输出 : F 1 0 , D 1 , D 4 ,D 5处理 : 负责对借阅的管理 , 包括借书登记 , 还书登记 , 图书续借 , 图书遗失图 4-25 借阅管理模块 IPO 表I P O 表系统 : 图书管理系统模块 : 查询
21、编号 : P 4作者 : 王顺利日期 : 2 0 1 1 . 1 . 1 0局部数据元素 :注释 :被调用 :系统主模块调用 : 借出查询 , 未还查询 , 超期查询 , 罚款查询 , 遗失查询输入 : D 1 , D 2 , D 3 ,D 4 , D 5输出 : F 1 1 , F 1 2 , F 1 3 ,F 1 4 , F 1 5处理 : 负责对借阅记录的查询 , 包括借出查询 , 未还查询 , 超期查询 , 罚款查询 , 遗失查询图 4-26 查询模块 IPO 表I P O 表系统 : 图书管理系统模块 : 统计 编号 : P 5作者 : 王顺利日期 : 2 0 1 1 . 1 . 1
22、 0局部数据元素 :注释 :被调用 :系统主模块调用 : 图书统计 , 读者统计 , 读者借阅统计 ,罚款统计输入 : D 1 , D 2 , D 3 ,D 4 , D 5输出 : F 1 6 , F 1 7 , F 1 8 ,F 1 9处理 : 负责对读者和图书的统计 , 包括图书统计 ,读者统计 , 读者借阅统计 , 罚款统计图 4-27 统计模块 IPO 表4.3.2 数据库设计如下表所示:表 4-1 读者表Table4-1 Reader Table列名 数据类型 长度 允许空 文字描述 jszh char 10 借书证号xm char 5 姓名xb int 4 性别sfzh char
23、18 身份证号lxfs char 11 联系方式dzlx char 10 读者类型dzzt char 10 读者状态zy char 20 Y 职业表 4-2 读者类型表Table4-2 Reader-Type Table列名 数据类型 长度 允许空 文字描述 dzlx char 10 读者类型zcjq char 10 最长借期zdjycs int 4 最大借阅册数zcxq int 4 最长续期表 4-3 图书表Table4-3 Book Table列名 数据类型 长度 允许空 文字描述 sh char 10 书号sm char 50 书名zz char 20 作者cbs char 30 出版社
24、isbn char 30 ISBN 号dj double 8 定价sfzk bool 1 是否在库sfys bool 1 是否遗失 rksj date 10 入库时间tsfl char 10 Y 图书分类jh char 10 Y 架号表 4-4 借阅表Table4-4 Borrowing Table列名 数据类型 长度 允许空 文字描述 jyh char 10 借阅号jszh char 10 借书证号sh int 10 书号jcrq date 10 借出日期ghrq date 10 Y 归还日期yhrq date 10 Y 应还日期sfzt bool 1 是否续借sfwj bool 1 是否完
25、结表 4-5 罚单表Table4-5 Fine Table列名 数据类型 长度 允许空 文字描述 fdh char 10 罚单号fkje double 8 罚款金额fkyy char 50 Y 罚款原因jszh char 10 借书证号fkrq date 10 罚款日期jyh char 10 借阅号sfjq bool 1 是否交钱 4.4 详细设计4.4.1 读者管理模块详细设计1.模块定义负责对读者信息的管理,包括添加,修改,注销,挂失和查询,并根据这些信息来维护读者表和读者类型表。2.输入项目F1:个人信息表F2:挂失信息表F7:查询请求3.输出项目F8:某读者信息D1:读者表D2:读者类
26、型表4.程序过程设计如下图所示:结束开始操作判断个人信息表添加到读者表挂失信息表修改读者状态读者修改读者号删除读者读者新信息读者号查询读者信息输出读者信息读者添加读者查询读者删除读者修改读者挂失图 4-28 读者管理模块程序流程图5.测试要点(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。(2)非法测试,例如在输入数字的地方输入字母。 (3)跟踪测试,跟踪一条数据的流程,保证数据的正确性。 (4)在开始测试时应保证数据的正确性,然后在从系统中找出各种 BUG。 (5)接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。 4.4.2 图书管理模块详细
27、设计1.模块定义负责对图书信息的管理,包括添加,修改,删除和查询,并根据这些信息来维护图书表。2.输入项目F3:发书清单F7:查询请求3.输出项目F9:某图书信息D3:图书表4.程序过程设计结束开始操作判断发书清单添加到图书表图书修改图书号删除图书图书新信息图书号查询图书信息输出图书信息图书添加图书查询图书删除图书修改图 4-29 图书管理模块程序流程图5.测试要点(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。(2)非法测试,例如在输入数字的地方输入字母。 (3)限制输入框的数据格式。(4)在开始测试时应保证数据的正确性,然后在从系统中找出各种 BUG。 (5)接口
28、测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。 4.4.3 借阅管理模块详细设计1.模块定义负责对借阅的管理,包括借书登记,还书登记,图书续借,图书遗失,保持借阅表的最新状态2.输入项目F4:借书证条形码信息F5:图书条形码信息3.输出项目F10:收据D1:读者表D4:借阅表D5:罚单表4.程序过程设计结束开始操作判断发书清单添加到图书表记录超期信息并罚款图书号修改应还日期图书号借书证号查询遗失书信息借阅遗失续借还书是否超期还书登记YN修改图书状态并标志遗失图 4-30 借阅管理模块程序流程图5.测试要点(1)代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代
29、码时可能忘记在原有代码上修改或修改不全面,而造成的错误。 (2)突发事件测试,服务器上可能发生意外情况的测试。 (3)外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。 4.4.4 查询模块详细设计1.模块定义负责对借阅记录的查询,包括借出查询,未还查询,超期查询,罚款查询,遗失查询。2.输入项目D1:读者表D2:读者类型表D3:图书表D4:借阅表D5:罚单表3.输出项目F11:借出记录查询结果F12:未还记录查询结果F13:超期记录查询结果F14:罚款记录查询结果F15:遗失记录查询结果4.程序过程设计结束开始操作判断借出信息搜索借出记
30、录未还信息搜索未还记录搜索超期记录罚款信息搜索罚款记录超期信息遗失信息搜索遗失记录显示搜索结果借出查询遗失查询罚款查询超期查询未还查询显示搜索结果显示搜索结果显示搜索结果显示搜索结果图 4-31 查询模块程序流程图5.测试要点(1)错字、错词测试,如果在系统中有用词不当的地方,我想这是不应该的。 (2)系统兼容测试,例如有些程序在 IE6 能运行正常,到 IE5 下不能运行。有些程序在 WIN2000 下能运行,而到 WIN98 却不能运行。像一些很特别的用户去使用系统,你很有可能发现 BUG。 (3)用户的易用性测试,往往用户的需求是不断的变化的,而其中一部份变化的原因,是由用户操作上不方便
31、引起的。 4.4.5 统计模块详细设计1.模块定义负责对读者和图书的统计,包括图书统计,读者统计,读者借阅统计,罚款统计。2.输入项目D1:读者表D2:读者类型表D3:图书表D4:借阅表D5:罚单表3.输出项目F16:图书统计结果F17:读者统计结果F18:读者借阅统计结果F19:罚款统计结果4.程序过程设计结束开始操作判断统计图书统计读者统计借阅统计罚款图书统计罚款统计读者借阅统计读者统计显示统计结果显示统计结果显示统计结果显示统计结果图 4-32 统计模块程序流程图5.测试要点(1)缺陷验证:在程序员刚修复 Bug 之后的地方,一定要在次验证、测试,往往程序员只修复报告出来的缺陷而不去考虑
32、别的功能在修改时可能会重新造成错误。 (2)做好 BUG 管理工作,认真做好测试记录,在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。 5 总结与展望通过本次学习,我掌握了很多只有在实践中才能得到的知识及经验。软件工程作为一门以指导实践为中心的工程学科,必须与实际应用相结合。课本上的知识都是死的,抽象的,必须通过应用才能真正掌握其中的技巧。任意一个项目开发都是对软件工程知识结构的一次再现,从问题定义一直到运行与维护,其中的每一个细节都值得认真推敲。需求分析阶段是我感觉最迷惘的阶段,因为对图书管理系统并无多少理解,仅仅局限于借书,还书概念上。后来经过网上的查
33、询,才确定将该系统划分为五大功能模块,也才最终形成了上文的业务流程图。该图画完之后,我对于图书管理系统的认识也上升了一个台阶,知道了开发该系统的目的和详细要求。在这个基础上,我又认真的设计了系统的数据模型和功能模型。记得上课时候对这些个模型并不了解,就是俗话中的“知其一,不知其二” 。随后,又趁热打铁,设计了系统的数据字典。由于篇幅和时间限制,只画了其中的重要数据元素。在总体设计阶段,任务主要是层次图,IPO 图和数据库设计。层次图主要描绘了系统的层次和调用关系,将整个程序结构用图形表示了出来。IPO 图则针对主要模块进行了记录,包括模块间的调用关系以及输入处理输出的内容,等于是对层次图的进一
34、步介绍。数据库设计则是将需求分析阶段的数据模型付之应用,建立数据表。详细设计阶段是对 IPO 图的加深,过程设计则描绘了程序的流程,为后期的编码做准备。其中,感觉重要的是测试要点的分析,因为,这时的测试对后期工作有很大的影响,包括程序的维护和健壮性,以及性能等方面。总而言之,通过这次实践,我对软件工程的概念有了深刻的认识,懂得了软件工程在软件开发中的重要意义。要想开发出来一套先进,科学的软件系统,必须有软件工程这一概念来支配。而软件工程学科在发展,必须不断用实践经验来给软件工程添加新鲜的血液。参考文献1 郑人杰 殷人昆 陶永雷 实用软件工程 清华大学出版社 19972 赵池龙等, 软件工程实践教程 电子工业出版社 2004.83 萨师喧 王珊数据库实用教程 清华大学出版社 2000.2 第 3 版4 张海藩软件工程导论 清华大学出版社 2008.2 第 5 版成绩评定成绩 教师签字图书管理系统7