概述
图书管理信息系统的总体目标是以科学的管理方法来管理图书馆的各种信息、实现图书、读者、管理员等实时控制、修改、加工、分析相关的数据,为读者借书及管理员的管理提供方便。
随着国家对教育的大力投入,各地都建立了很多的图书馆,而且图书馆的数据也在不断的增大,数据查找很不方便,数据掌握也不准确,容易数据混乱和错误,因此开发一套对数据管理和决策的管理信息是必须的,以提高图书馆的管理水平,使读者与管理者更方便、轻松、高效。
系统组织结构的调查
馆长:负责图书馆全面工作
办公室:办公室协助馆长负责日常工作、了解读者的需求,并制定采购计划。
财务室:负责图书馆的财务工作。
采编试:负责图书的采购、入库和图书的编目,编目后的图书粘贴标签,并送到图书借阅室上架。
学术论文室:负责学术论文的收集和整理。
图书借阅室:负责为读者提供图书查询服务和图书借阅服务。
电子阅览室:收集整理电子读物,提供电子读物的查询和借阅。
期刊阅览室:负责情况的收集和借阅。
技术室:负责对图书馆的网络和计算机系统提供技术支持。
图书元组成人员:馆长、办公室老师、出纳、编辑员、采购员、图书管理员。
举例说明——南京航空航天大学小型图书销售系统的计算机实践实验报告
一、可行性报告
1、引言
1.1编写目的
经过对此项目的详细研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。此项目将由指导老师进行最终审核。
1.2项目背景
开发软件名称:小型图书销售系统
项目任务提出者:计算机指导老师 储剑波
项目开发者:陈凯、步大为、蔡超
用户:暂无
实现软件单位:南京航空航天大学
项目与其他软件系统关系:本项目以Microsoft Visual C++为开发环境
1.3定义
(1)数据流图:
描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:
正方形(或立方体)表示数据的源点或终点。
圆角矩形(或圆形)代表变换数据的处理。
处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的
一个模块;它甚至可以代表一种人工处理过程。
开口矩形(或两条平行横线)代表数据存储。
数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。
数据存储是处于静止状态的数据。
箭头代表数据流,即特定数据的流动方向。
数据流是处于运动中的数据。
还有几种附加符号:
星号表示数据流之间是“与”关系
加号表示“或”关系
异或符号表示只能从中选一个
(2)数据字典:
是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:
数据项,是数据的最小的单位。
数据结构,是若干数据项有意义的集合。
数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。
数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。
处理过程。
它们的描述内容如下:
1. 数据项描述={数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系}
取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。
2. 数据结构描述={数据结构名,含义说明,组成:{数据结构或数据项}}
3. 数据流={数据流名,说明,流出过程,流入过程,组成:{数据结构或数据项}}
流出过程,说明该数据流由什么过程来。
流入过程,说明该数据流到什么过程去。
4. 数据存储={数据存储名,说明,输入数据流 ,输出数据流,组成:{数据结构或数据项},数据量,存取方式}
数据量,说明每次存取多少数据,每天(或每小时,或每周)存取几次的信息。
存取方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加以说明。
5. 处理过程={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
简要说明中主要说明该处理过程的功能,即“做什么”(不是怎么做);处理频度要 求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面物理设计的输入及性能评价的标准。
1.4参考资料
《软件技术基础教程》,万晓东、施玉霞、孔德明,南京航空航天大学。
《C++程序设计教程》,皮德常,机械工业出版社。
《数据结构》,严蔚敏、吴伟明,清华大学出版社。
2、可行性研究的前提
2.1要求
主要功能:实现图书的销售,方便商店的统计和工作,提高书店的服务质量和服务效率。
性能要求:销售系统必须能够实现图书条目的输入、销售、统计和库存查询情况。
输出要求:数据完整,详实。
输出要求:简捷,快速,实时。
安全与保密要求:管理员享有对销售系统库存情况的查询权限,售书员只享有对图书统计的权限。
2.2目标
系统实现后,大大提高图书商店的售书效率,降低售书中的错误发生率,减少管理的复杂度。
2.3条件,假定和限制
建议软件使用寿命:1年
经费来源:无
硬件条件:普通pc机
运行环境:Windows
数据库:
投入运行最迟时间:2010/12/28
2.4可行性研究方法
本项目的可行性研究采用确定模型,再将各个模块加入其中。
2.5决定可行性的主要因素
成本/效益分析:效益>>成本。
技术可行性:现有技术将能完全承担开发任务。
操作可行性:软件能被原有工作人员快速接受。
3、 技术可行性分析
系统简要描述
建立图书条目的数据结构,把各种图书信息输入后建立图书的数据库,并按照图书的书名或条形码从数据库内调出图书信息进行销售,同时考虑对该用户是否打折。在销售图书的统计中,分别按照图书的类别和整个销售进行统计,并以报表的形式输出。在考虑权限问题时,实现可以按照图书条目不同的字段属性对库存情况进行查询。最终以实现小型图书销售系统。
4、经济可行性分析
4.1支出
一个星期的时间。
4.2效益:
4.3收益/投资比
相对比较大。
4.4投资回报周期:
两个星期。
4.5敏感性分析
设计系统周期:一年。
处理速度:一般查询速度<2秒。
关键数据查询速度:<1秒。
5、社会因素可行性分析
5.1法律方面可行性
一般不会出现侵权现象
5.2使用方面的可行性
用户商店均可以使用该系统软件,使用人员的知识水品均适合使用。
6、其他可选用的方案
客户端与服务器端联系在一起:
在商店只设立终端,在总店设立服务器,数据输入由终端输入,所有数据都由服务器处理,只在终端上显示数据结果。
此设计简化了数据处理,加重了服务器的数据处理。而使用客户端/服务器机理,简化数据流量,加快数据处理。
7、结论意见
由于投资效益比远大于100%,技术,经济,操作,社会均有可能性,此系统设计可以即刻进行!
二、需求分析报告
1、小型图书销售系统的功能要求
1.1销售系统的总目标
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好的人机交互界面的图书销售系统,实现图书商店销售的自动化的计算机系统,为商店的决策层提供准确、精确、迅速的图书销售消息。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/server结构,将图书销售系统划分为三个模块:客户端数据库信息模块、顾客购买图书信息模块、数据库汇总报表模块。
下面分析各个模块的功能要求:
(1)客户端数据库信息模块:
在客户端数据库的功能实现上,可以分为一下几个部分:
(1.1) 图书条目的输入和统计
商店在客户端输入新进图书的详细信息。这部分是客户端子系统的基本部分,这个功能是以后各个部分的基础。系统要求做到既能够从其他子系统中分享一部分信息,又有方便的操作界面手工输入图书信息。这部分要求输入的数据进行简单的统计,供商店进行查询和宏观调控。
(1.2) 图书信息的存储
将图书信息存储到商店的客户端系统中,以备以后的查询使用、
(1.3) 销售及账单生成
在查询到书目后,向客户询问购买数量,并在此客户端生成账单。
(1.4) 图书销售情况报表
这一功能是在上一功能的基础上,对图书销售情况的单项核算,得到该商店的销售情况。
(2)数据库管理模块:
通过计算机将客户端得到的信息进行处理,实现图书查询,销售统计,综合信息查询等子系统。以计算机成本核算为中心,实现销售业务的计算机自动化,为商店降低成本、提高销售额、经营决策提供及时准确的依据。
基于数据库功能实现上,可以分为以下一个部分:
(2.1)生成图书总信息
(2.2)传递图书信息到客户端
当客户查询图书时,服务器端就将数据传入客户端。
(2.3)生成图书库存给有权限的用户
只有拥有权限的管理员才能查询图书库存情况。
(2.4)销售分析和管理
这一步骤的功能要求包括对销售的图书进行分析,这一工作是在前面的基础上,以计算机为辅助,对图书销售系统的功能和目标进行扩充。它以财务管理学为理论基础,以辅助决策为目标,以图书销售数据为中心,广泛采用统计学、运筹学的分析方法,对销售信息进行深层加工,提供管理上所需的各种辅助决策信息和财务信息。这一要求是图书销售系统的最高目标,将通过系统运行后获得的大量销售历史数据基础上,实现这一目标。
(3)顾客购买图书信息模块
顾客查询图书信息后,系统显示顾客账单。
2、 图书销售系统的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书销售系统应该满足以下的性能需求:
a) 系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,是系统的处理能力和响应时间能够满足企业对信息处理的需求。
由于图书销售系统的查询功能对整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而图书数量和销售又影响着商店的决策活动,其准确性很大程度上决定了图书销售系统的成败。在系统开发过程中,必须采用一定的方法保证系统的正确性。
b) 系统的开放性和系统的可扩充性
图书销售系统的开发过程中,应该充分考虑以后的可扩充性。例如查询系统的多样性。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而这一点的实现,应通过系统的开放性来完成,即系统应该是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
c) 系统的易用性和易维护性
图书销售系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
图书销售系统中涉及到的数据是书店的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
d) 系统的标准性
系统在设计开发使用过程中都要涉及很多计算机软件、硬件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。同时,在自主开发本系统时,要进行良好的设计工作,制定行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
e) 系统的先进性
目前计算机系统的技术发展相当快,作为图书销售系统工程,在系统的生命周期内尽量做到系统的先进性,从分完成企业的信息处理的要求不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开放的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
f) 系统的响应速度
图书销售系统在日常处理数据的响应速度为秒级,达到实时要求,以及反馈信息。在进行分析统计时,根据所需数据量的不同响应时间不同,原则是保证操作人员不会因为速度而影响工作效率。
3、图书销售系统的数据需求
图书销售系统的数据需求包括如下几点:
(1) 数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
(2) 数据的一致性与完整性
由于系统的数据是共享的,在不同的客户端中,图书信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
(3) 数据的共享与独立性
整个图书销售系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。
4、图书销售系统的运行要求
4.1图书销售系统中的各个子系统的硬件和软件的配置如下:
客户端子系统的运行要求:
系统软件:Windows NT Workstation
数据库管理系统:SQL Server
硬件要求:Pentium 133以上,32M RAM,4.3G HD
5、建立图书销售系统的约束
5.1 结构总体设计方案对它的约束
图书销售系统作为一个应用系统,不可避免的要受到此结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。同时,由于信息的共享,图书销售系统还受到其他系统的信息约束。
5.2 人力、资金、时间的约束:
图书销售系统工程实施的目标是要带给使用商店可以看得见的效益,其开发过程中也要考虑到人力、资金、时间的约束。因此,在设计中,重点是销售系统中的方便快捷,能提供给顾客以优质高效的服务,并提高销售的效率和便捷,为使用商店带来良好的效益。
5.3 技术发展规律的约束
计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如图像和语音技术的进步,多媒体技术的发展,这些都要求在设计师考虑到技术变化的可能性,为可能的变化预留一定的系统处理能力。
三、项目开发计划
1、引言
1.1编写目的
本报告的主要作用明确制作进度分工,按步有序进行的制作,加快制作效率..
具体步骤:拟订开发计划书,分配项目工作,安排项目进度。
1.2项目背景
完成计算机软件课程设计,设计图书管理系统。
2、项目概述
2.1工作内容
小组根据时间先后安排,分别对项目进行开发:
各项主要工作: 对调查结果进行分析,拟订实现方案(如 程序结构,流程,数据结构等)。
对软件进行集中开发。
进行检查与测试。
2.2条件与限制
完成项目应具备的条件:计算机、制作人员
开发单位已具有的条件:计算机、制作人员
2.3产品
(1)程序
程序名称:图书管理系统
使用语言:TC
存储形式:硬盘
(2)文档
可行性报告;
需求分析说明书;
项目开发计划书;
概要设计说明书;
详细设计说明书;
测试计划;
测试分析报告;
用户操作手册;
程序维护手册;
总结性报告。
2.4运行环境
运行软件环境:WindowsXP以上。
验收标准:系统运行流畅,功能符合需求
3、实施计划
3.1任务分解
分析阶段(一天) 调研小组
设计阶段(五天) 设计小组
写代码及单元测试阶段(两天) 开发小组
总测试及修改阶段(一天) 测试小组
维护阶段(不定) 维护小组
3.2进度
一天进行调研;五天进行实现;两天进行测试,维护。
(1)预算
分析阶段 0
设计阶段 0
写代码及单元测试阶段 0
总测试及修改阶段 0
(2)关键问题
关键的问题是如何利用链表实现数据的管理,如插入,删除,排序,写入读出,并在功能满足需求的基础上加快程序的运行速度,优化算法。
4、人员组织及分工
调研小组、设计小组、开发小组、测试小组:陈凯、步大为、蔡超
5、交付期限
最迟交付日期:2010年1月6号
四、概要设计说明书
1、引言
1.1编写目的
在图书馆里项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对图书管理系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对图书管理系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
2、任务概述
2.1目标
实现对书籍相关资料的管理,管理人员可以对数据库的中的信息进行修改筛选,销售人员对其进行遍历,以实现书的销售管理过程。
2.2运行环境
WindowsXP系统
2.3需求概述
为方便图书管理,程序需包括图书的借出还入,排序,以及遍历等功能,方便用户管理图书。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求算法简单明了,程序利于维护。
3、总体设计
3.1处理流程
下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。
3.1.1程序流程
本地信息为书名、作者、出版社、进书日期库存量等。用户输入其中的部分内容可以对明细进行遍历,查找,修改,添加删除等功能
下面对各模块(以数字表示)进行功能说明:
1.写入图书明细:输入需要修改或显示的数据明细
2.检验输入资料:检验格式化输入资料,初步检查输入是否有误,它是一个事务处理中心,有误则转1再次读入,检查无误则将数据库中相应的信息调出。
3.执行相应操作:输入的数据执行相应的删除替换等操作
4.返回数据:将修改完毕的信息存回数据库
5.读入并输出:将售人员输入部分明细,去数据库中查找对应的数据,若没有则返回1。
6.遍历数据:将详细的数据显示出来,销售人员进行确认
7.输出:将数据存入数据库,返回主菜单
3.2总体结构和模块外部设计
3.3功能分配
各项模块的功能可参照3.1 中的说明。客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。服务器程序需与已建立的SQL SERVER 数据库互连,其接口将于下面部分阐述。
4、接口设计
4.1外部接口
4.1.1 用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化。在设计语言上,已决定使用 VISUAL C++ 进行编程,在界面上可使用VISUAL C++ 所提供的可视化组件。 其中服务器程序界面要做到操作简单,易于管理。在出错显示上可调用VISUAL C++ 库中的错误提示函数。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用
4.1.2 软件接口
服务器程序可使用VISUAL C++ 提供的对 SQL SERVER 的接口,进行对数据库的所有访问。
服务器程序上可使用SQL SERVER 的对数据库的备分命令,以做到对数据的保存。
4.1.3硬件接口
在输入方面,对于键盘、鼠标的输入,可用VISUAL C++的标准输入/输出,对输入进行处理。
在输出方面,用VISUAL C++的标准输入/输出对其进行处理。
4.2 内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5、数据结构设计
5.1数据库数据结构设计
DBMS 的使用上系统将采用 SQL SERVER, 系统主要需要维护的数据表:
ISBN号 书名 作者 出版社 进书日期 库存量 售价
本表包含了所有书的明细信息,供销售人员查询
5.2物理数据结构设计
物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。
5.3 数据结构与程序的关系
服务器程序在对图书信息进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:在销售、管理过程中都需要对数据库中表,进行联合查询、修改。
物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中。
6、运行设计
6.1 运行控制
运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
6.2 运行时间
在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。硬件对运行时间有影响,数据量的大小也会影响查找的时间以及操作的速度。
7、处理设计
7.1 出错输出信息
程序在运行时主要会出现错误:由于输入信息,或无法满足要求时产生的错误,称为软错误。
对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
出错信息要给出提示,并重新运行,例:
“输入的指令有误,请重新输入!”。
7.2 出错处理对策
如果出错将提示按任意键继续,执行清屏命令并重新执行该程序。
8、保密设计
操作人员须输入相关密码,经判断语句判断通过后才可以进入数据库中调用及修改数据,一次方式来加强文件的保密性。
五、详细设计说明书
1、引言
1.1编写目的:
在前一阶段(概要设计说明书)中,以解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分为若干个模块、决定各个模块之间的接口、模块之间的传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在各个阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体的实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所叙述的数据、功能、运行、性能需求,并依据《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何
(1) 接受:图书信息
(2) 输出:顾客所卖图书的信息、价格
(3) 分辨信息的种类并采用相应的处理步骤
(4) 进行数据库的查询,修改工作
(5) 接受并判断错误,输出相应的出错信息
在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力做到让用户易懂易学。《测试报告》和《维护报告》也将参考说明书,检验本系统的各项性能指标,即使发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的图书销售系统交到用户手中。
1.2项目背景
本项目(图书销售系统)是由指导老师要求,由本软件编写小组负责开发。
本图书销售系统项目主要由两个部分组成:
(1) 图书信息的数据库汇总及查询
(2) 顾客购买图书的信息
1.3文中特殊的定义和缩写:
1.3.1定义
(1)数据流图:
描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:
正方形(或立方体)表示数据的源点或终点。
圆角矩形(或圆形)代表变换数据的处理。
处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的
一个模块;它甚至可以代表一种人工处理过程。
开口矩形(或两条平行横线)代表数据存储。
数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。
数据存储是处于静止状态的数据。
箭头代表数据流,即特定数据的流动方向。
数据流是处于运动中的数据。
还有几种附加符号:
星号表示数据流之间是“与”关系
加号表示“或”关系
异或符号表示只能从中选一个
(2)数据字典:
是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:
数据项,是数据的最小的单位。
数据结构,是若干数据项有意义的集合。
数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。
数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。
处理过程。
它们的描述内容如下:
6. 数据项描述={数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系}
取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。
7. 数据结构描述={数据结构名,含义说明,组成:{数据结构或数据项}}
8. 数据流={数据流名,说明,流出过程,流入过程,组成:{数据结构或数据项}}
流出过程,说明该数据流由什么过程来。
流入过程,说明该数据流到什么过程去。
9. 数据存储={数据存储名,说明,输入数据流 ,输出数据流,组成:{数据结构或数据项},数据量,存取方式}
数据量,说明每次存取多少数据,每天(或每小时,或每周)存取几次的信息。
存取方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加以说明。
10. 处理过程={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
简要说明中主要说明该处理过程的功能,即“做什么”(不是怎么做);处理频度要 求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面物理设计的输入及性能评价的标准。
1.3.2缩写
系统:若未特别指出,统指本图书销售系统。
1.4参考资料
以下列出在概要设计过程中所涉及的有关资料:
《图书销售系统计划任务书》
《需求分析说明书》
《概要设计说明书》
《用户操作手册》(初稿)
《软件技术基础》
《数据结构》
2、总体设计:
2.1需求概要:
图书商店为了方便自身和顾客的需要,需开发一个图书销售系统。为便于销售,用户将图书的信息,包括ISBN号、书名、作者、出版年月日、库存量、批发价、零售价,输入至客户端中,存入数据库并汇总。当需要查询图书信息时,均可以从数据库中输出所需要的信息。当顾客需要购买图书时,得到所需图书的信息,当得知购买数量后得出所需金额(账单)。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户端的界面简单明了,易于操作,便于数据库维护。
2.2软件结构:
各模块之间的关系已由概要设计给出。
(1)客户端数据库信息模块结构图:
(2)顾客购买图书信息模块
(3)数据库汇总报表模块
3、程序描述:
3.1客户端数据库信息模块结构图:
(1)setBook过程:
在初始界面上询问是否想要新输入图书信息时,若为“n”,则转入bookInfo过程;若为“y”,则询问想要输入的图书种类数,再让用户输入新的图书信息。
图书信息如下:
ISBN:ISBN号 Booktitle:书名
Author:作者 Publisher:出版社
Date-year-month-day:出版年月日 qtyOnHand:库存量
wholesale:批发价 retail:零售价
(2)editBook过程:
若用户需要修改某图书信息,经过图书信息界面后选择进入修改信息界面。先寻找该图书位置,再一次输入新的图书信息。
若没有找到该图书,则输出“对不起,没有您要找的书!”。
(3)deleteBook过程:
用户输入想要删除的图书的ISBN号,若系统寻找到该图书,则将该图书信息全部删除;若系统没有找到该图书,则输出“对不起,没有您要找到的书!”。
(4)addBook过程:
当用户在非初始界面想要增加某新图书的信息,则通过该过程向系统数据库中输入新的图书信息。
3.2顾客购买图书信息模块:
(1)bookInfo过程:
在初始界面后,当用户想要知道某个图书的信息,则在输入正确的ISBN号后,在界面显示该图书的所有信息。
(2)LookUpBook过程:
用户输入正确的ISBN号后,系统界面显示所需要图书的信息;若系统中没有该图书,则显示“对不起,没有您要找的书!”。
(3)pay过程:
当顾客输入想要图书的ISBN号后,显示出图书信息后,询问所需图书数量,并询问该顾客是否能打折,最后输出该顾客所需要付的金额(即账单)。
3.3数据库汇总报表模块:
(1)retailList过程:
根据系统数据库中的图书信息中的零售价为依据进行报表输出。
(2)allList过程:
根据系统数据库中的图书信息先后输入次序为依据进行报表输出。
(3)wholesaleList过程:
根据系统数据库中的图书信息中的批发价为依据进行报表输出。
(1)qtyOnHand过程:
根据系统数据库中的图书信息中的库存量为依据进行报表输出。
(1)valueList过程:
根据系统数据库中的图书信息中的价值额为依据进行报表输出。
(1)dateAddList过程:
根据系统数据库中的图书信息中的进书日期为依据进行报表输出。
(1)outsale过程:
根据系统数据库中的图书信息中的售出书数量为依据进行报表输出。
六、测试计划
1、引言
1.1编写目的
在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。因此,在软件生命周期的每个阶段都不可避免地会产生差错。尤其对于机票预订系统这类会影响人们生活.财产的工程软件,必须尽量减少差错,以免造成严重的损失。测试是“为了发现程序中的错误而执行程序的过程”。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。
1.2项目背景
本项目是在指导老师的要求编写,并由本软件开发小组写成。
1.3定义
1.4参考资料
以下列出在概要设计过程中所涉及的有关资料:
《图书销售系统计划任务书》
《需求分析说明书》
《概要设计说明书》
《用户操作手册》(初稿)
《软件技术基础》
《数据结构》
2、人物概述
2.1目标
测试是“为了发现程序中的错误而执行程序的过程”, 测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。
2.2运行环境
由于系统将由三部分程序组成,安装在用户商店的数据服务器中。
客户端子系统的运行要求:
系统软件:Windows NT Workstation
数据库管理系统:SQL Server
硬件要求:Pentium 133以上,32M RAM,2.1G HD
2.3需求概述
图书商店为了方便自身和顾客的需要,需开发一个图书销售系统。为便于销售,用户将图书的信息,包括ISBN号、书名、作者、出版年月日、库存量、批发价、零售价,输入至客户端中,存入数据库并汇总。当需要查询图书信息时,均可以从数据库中输出所需要的信息。当顾客需要购买图书时,得到所需图书的信息,当得知购买数量后得出所需金额(账单)。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户端的界面简单明了,易于操作,便于数据库维护。
2.4条件与限制
必须在保证各硬件设备、软件系统齐全的情况下,资金充足,人员齐备,各方面相互配合,齐心协力,共同完成。
3、计划
3.1测试方案
测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。在黑盒法测试方案中,采用等价划分技术,把所有可能的输入数据(有效的和无效的)划分成几等价类,其划分类在以下的输入中再详述。
3.2测试项目
客户端数据库信息模块测试
顾客购买图书信息模块测试
数据库汇总报表模块测试
各模块之间的接口测试
系统测试
3.3测试准备
在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。
3.4测试结构及人员
测试结构由本软件编写小组全体成员共同编写与测试。
4、测试项目说明
4.1测试项目名称及测试内容
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
各子模块测试名称如下:
客户端数据库信息模块测试
顾客购买图书信息模块测试
数据库汇总报表模块测试
各模块之间的接口测试
系统测试
4.2测试用列
4.2.1输入
(1)SetBook过程:
初始界面中的书的信息的输入:
char ISBN;书的ISBN号;
char bookTitle[51];书名;
char author[21];作者;
char publisher[21];出版社;
date dateAdded;存放进书日期;
int qtyOnHand;存放该书的库存量;
double wholesale;存放该书的批发价;
double retail; 存放该书的零售价;
(2)AddBook过程:
对于新的书的信息:
char ISBN;书的ISBN号;
char bookTitle[51];书名;
char author[21];作者;
char publisher[21];出版社;
date dateAdded;存放进书日期;
int qtyOnHand;存放该书的库存量;
double wholesale;存放该书的批发价;
double retail; 存放该书的零售价;
(3)EditBook过程:
对于想改的书,以下为所需要书的输入信息:
char ISBN;书的ISBN号;
char bookTitle[51];书名;
char author[21];作者;
char publisher[21];出版社;
date dateAdded;存放进书日期;
int qtyOnHand;存放该书的库存量;
double wholesale;存放该书的批发价;
double retail; 存放该书的零售价;
(4)DeleteBook过程:
输入想要删除的书的ISBN号:
char ISBN;书的ISBN号;
4.2.2输出
(1)BookInfo过程:
输出已给ISBN号的书的信息:
char ISBN;书的ISBN号;char bookTitle[51];书名;char author[21];作者;char publisher[21];出版社;date dateAdded;存放进书日期;int qtyOnHand;存放该书的库存量;double wholesale;存放该书的批发价;double retail; 存放该书的零售价;
(2)AllList过程:
书的总列表。
(3)RetailList过程:
按书的零售价报表。
(4)WholesaleList过程:
按书的批发价报表。
(5)QtyOnHand过程:
按库存量报表。
(6)ValueList过程:
按书价值额报表。
(7)DateAddList过程:
按书的进货日期报表。
(8)Outsale过程:
按书的卖出数量报表。
(9)LookUpBook过程:
在顾客寻找某本书时,系统搜到该书,并在界面显示出该书的所有信息。
char ISBN;书的ISBN号;
char bookTitle[51];书名;
char author[21];作者;
char publisher[21];出版社;
date dateAdded;存放进书日期;
int qtyOnHand;存放该书的库存量;
double wholesale;存放该书的批发价;
double retail; 存放该书的零售价;
4.2.3步骤及操作
在测试过程中,首先需要对各子单元过程进行测试。各子单元过程的测试必须先在程序设计员调试并编译通过后才能进行。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
其操作过程如下:
在客户端数据库信息模块过程中,先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。
同样,客户端数据库信息模块、顾客购买图书信息模块、数据库汇总报表模块(包括数据库)过程中先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。,
然后,根据各模块之间的各种关系,对其接口进行测试。
在系统测试中,要注意对各种意外情况(例如断电.硬盘损坏等)加以处理,对数据库要注意其安全性.可靠性.健壮性.效率。网络传输更要注意其安全性。
4.2.4允许偏差
4.3进度
由于其测试过程不是很长,只需要对其三个模块进行简单的测试,各模块及它们之间的接口问题都比较小,一般测试过程都伴随其概要设计,详细设计过程一起进行,进度在两天左右。
4.4条件
必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。
4.5测试资料
测试资料主要是本软件编写小组编写。
5、评介
5.1准则
首先,我们要认识到测试是软件开发过程中一个非常重要的环节,一个好的软件必须经过无数次的测试。软件测试是保证软件质量的关键步骤。所以在测试过程中必须抱着不骄不躁.谦虚谨慎的态度,把好关!
七、测试分析报告
1、引言
1.1编写目的
测试分析报告是在测试分析的基础上,对测试的结果以及测试的数据等加以记录和分析总结。它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总的分析和认可及对不足之处的说明。因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析原代码,掌握各函数的功能和局限性。从而缩短软件开发者的再开发时间和所耗费的精力.资金。
从这方面上,我们不难发现,测试分析报告所指明的对象主要是针对于软件开发者。
1.2项目背景
此项目是由指导老师要求,在课程设计期间所要编写的程序。
1.3定义
1.4参考资料
以下列出在概要设计过程中所涉及的有关资料:
《图书销售系统计划任务书》
《需求分析说明书》
《概要设计说明书》
《用户操作手册》(初稿)
《软件技术基础》
《数据结构》
2、测试计划执行情况
2.1测试项目
(1)客户端数据库信息模块测试
用户输入新的图书的信息。
(2)顾客购买图书信息模块测试
顾客购买图书的信息及顾客的账单。
(3)数据库汇总报表模块测试
数据库中根据各个关键字进行报表。
(4)各模块之间的接口测试
对各模块之间的接口进行测试。
(5)系统测试
用黑盒法对系统进行各类功能的测试。
2.2测试结构和人员
测试机构:本软件编写小组
2.3测试结果
(1)图书销售系统的主菜单:
(2)图书销售系统的书库管理模块:
查找书信息:
增加书:
修改书:
删除书:
(3)数据库报表模块:
(4)前台销售:
3、软件需求测试结论
在经过对各模块的测试后,已经能够证实该软件各方面的能力都可以。
4、评介
4.1软件能力
经过测试证实该软件在各方面的综合能力都是可以的。
4.2缺陷和限制
有可能会由于传输过程中数据的丢失造成软件运行的错误。
4.3建议
建议在输入结构上多做强化
4.4测试结论
该软件在各方面的综合能力都可以,通过!!!
八、用户操作手册
1、引言
1.1编写目的
本操作手册是供本系统的操作人员参考使用。
1.2项目背景
本项目(图书销售系统)是由指导老师要求,并由本软件编写小组编写。
1.3定义
系统:若未特别指出,则统指本图书销售系统。
1.4参考资料
《图书销售系统计划任务书》
《需求分析说明书》
《概要设计说明书》
《软件技术基础》
《数据结构》
2、软件概述
2.1目标
本系统为客户端数据库信息模块、顾客购买图书信息模块、数据库汇总报表模块三个模块。用户商店通过图书的信息(ISBN号,书名,作者,出版社,进书年月日,库存量,批发价,零售价)对图书进行各方面的操作。在顾客查询到所需要购买的图书后,系统通过输出界面给顾客展示账单。
2.2功能
系统实现三个模块的功能,在此基础上采用了一些实时处理,以快速达到预定的要求。
2.3性能
(1)数据精确度:
输入数据:
图书信息输入:
ISBN号:char
书名:char
作者:char
出版社:char
进书日期:char
库存量:int
批发量:float
零售价:float
输出数据:
图书信息输出:
ISBN号:char
书名:char
作者:char
出版社:char
进书日期:char
库存量:int
批发量:float
零售价:float
时间特性:
要求数据处理在10秒钟之内。
3、运行环境
3.1硬件
客户端:Pentium 133以上,32M RAM,2.1G HD
3.2支持软件
系统软件:Windows XP以上
4、使用说明
4.1安装和初始化
只要运行exe文件即可根据提示安装该软件。
在安装过程中,系统将自动初始化,为第一次运作做准备。
4.2输入
4.2.1数据背景
数据的来源参见需求分析说明书和概要说明书。
4.2.2数据格式
输入数据:
图书信息输入:
ISBN号:char
书名:char
作者:char
出版社:char
进书日期:char
库存量:int
批发量:float
零售价:float
输出数据:
图书信息输出:
ISBN号:char
书名:char
作者:char
出版社:char
进书日期:char
库存量:int
批发量:float
零售价:float
4.2.3输入举例
4.3输出
4.3.1数据背景
数据的来源参见需求分析说明书和概要设计说明书。
4.3.2数据格式
4.3.3输出举例
4.4出错和恢复
如果输入数据出错,即可立即进行取消输入图书信息和购买操作。
如果突然断电或系统没有响应,则关机,等待系统重新启动时,会根据文件自动恢复之前的操作。
4.5求助查询
软件较小,本用户操作手册为要求的查询来源。
5、程序文件和数据文件一览表
执行文件:图书销售系统.exe
数据库文件:book.dat
程序源文件:图书销售系统.cpp
九、程序维护手册
1、引言
1.1编写目的
软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的时期中,因此不属于系统开发过程。
软件维护需要的工作量非常大,虽然在不同应用领域维护成本差别很大,但是,平均说来,大型软件的维护成本高达开发成本的四倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。
软件维护就是在软件已经交付使用之后,为了改正错误或者满足新的需要而修改软件
的过程。它有如下几种性质的维护:
(1)改正性维护
因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误,所以在使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。
(2)适应性维护
计算机科学技术领域的各方面都在迅速进步,需要经常地修改版本。为了和变化了的环境适当地配合而进行的修改软件的活动称为适应性维护。
(3)完善性维护
在软件编写完成之后,投入实践,在使用软件的过程中,用户往往提出增加新功能或修改已有的功能的建议,这就需要进行完善性维护。
(4)预防性维护
为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,就需要进行预防性维护。
维护的过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。
鉴于以上各点,编写维护软件的文档十分重要。它给软件维护人员提供了一份完整,清晰的说明文档,便于其快速有效地进行维护工作。
1.2开发单位
本程序编写小组。
1.3定义和缩写
(1)数据流图:描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:
正方形(或立方体)表示数据的源点或终点。
圆角矩形(或圆形)代表变换数据的处理。
处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的
一个模块;它甚至可以代表一种人工处理过程。
开口矩形(或两条平行横线)代表数据存储。
数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。 数据存储是处于静止状态的数据。
箭头代表数据流,即特定数据的流动方向。
数据流是处于运动中的数据。
还有几种附加符号:
星号表示数据流之间是“与”关系
加号表示“或”关系
异或符号表示只能从中选一个
(2)数据字典:是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:
数据项,是数据的最小的单位。
数据结构,是若干数据项有意义的集合。
数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。
数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。
处理过程。
它们的描述内容如下:
11. 数据项描述={数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系}
取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。
12. 数据结构描述={数据结构名,含义说明,组成:{数据结构或数据项}}
13. 数据流={数据流名,说明,流出过程,流入过程,组成:{数据结构或数据项}}
流出过程,说明该数据流由什么过程来。
流入过程,说明该数据流到什么过程去。
14. 数据存储={数据存储名,说明,输入数据流 ,输出数据流,组成:{数据结构或数据项},数据量,存取方式}
数据量,说明每次存取多少数据,每天(或每小时,或每周)存取几次的信息。
存取方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加以说明。
15. 处理过程={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
简要说明中主要说明该处理过程的功能,即“做什么”(不是怎么做);处理频度要 求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面物理设计的输入及性能评价的标准。
(3)系统:若未特别指出,统指本图书销售系统。
1.4参考资料
《图书销售系统计划任务书》
《需求分析说明书》
《概要设计说明书》
《用户操作手册》(初稿)
《软件技术基础》
《数据结构》
2、系统说明
2.1系统用途
输入:图书的信息,包括书的ISBN,书名,作者,出版社,进书年月日,库存量,批发价,零售价。
输出:系统的各种关键字报表和顾客购书的账单。
功能:图书销售。
2.2安全保密
系统提供一定的方式让某个环节只能够由管理员的身份运行。
2.3总体说明
(1)接受:图书信息
(2)输出:顾客所卖图书的信息、价格
(3)分辨信息的种类并采用相应的处理步骤
(4)进行数据库的查询,修改工作
(5)接受并判断错误,输出相应的出错信息
2.4程序说明
(1)SetBook过程:
在初始界面上询问是否想要新输入图书信息时,若为“n”,则转入bookInfo过程;若为“y”,则询问想要输入的图书种类数,再让用户输入新的图书信息。
图书信息如下:
ISBN:ISBN号 Booktitle:书名
Author:作者 Publisher:出版社
Date-year-month-day:出版年月日 qtyOnHand:库存量
wholesale:批发价 retail:零售价
(2)Pay过程:
当顾客输入想要图书的ISBN号后,显示出图书信息后,询问所需图书数量,并询问该顾客是否能打折,最后输出该顾客所需要付的金额(即账单)。
2.5操作环境
(1)设备
共享一个数据库。
(2)支持软件
常用的程序编写软件:Visual C++
(3)数据库
标识符:ISBN号,书名,作者,出版社,进书年月日