资源描述
南京航空航天大学计算机实践实验报告课程名称: 软件技术基础 专 题: 小型图书销售系统 学生姓名: 陈 凯、步大为、蔡 超 班级学号: 0308103(30) 专业名称: 自 动 化 2010年12月一、可行性报告1、引言1.1编写目的经过对此项目的详细研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。此项目将由指导老师进行最终审核。1.2项目背景开发软件名称:小型图书销售系统项目任务提出者:计算机指导老师 储剑波项目开发者:陈凯、步大为、蔡超用户:暂无实现软件单位:南京航空航天大学项目与其他软件系统关系:本项目以Microsoft Visual C+为开发环境1.3定义(1)数据流图:描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:l 正方形(或立方体)表示数据的源点或终点。l 圆角矩形(或圆形)代表变换数据的处理。 处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的 一个模块;它甚至可以代表一种人工处理过程。l 开口矩形(或两条平行横线)代表数据存储。 数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。 数据存储是处于静止状态的数据。 l 箭头代表数据流,即特定数据的流动方向。数据流是处于运动中的数据。 还有几种附加符号:l 星号表示数据流之间是“与”关系l 加号表示“或”关系l 异或符号表示只能从中选一个(2)数据字典:是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:l 数据项,是数据的最小的单位。l 数据结构,是若干数据项有意义的集合。l 数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。l 数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。l 处理过程。它们的描述内容如下:1 数据项描述=数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。2 数据结构描述=数据结构名,含义说明,组成:数据结构或数据项3 数据流=数据流名,说明,流出过程,流入过程,组成:数据结构或数据项l 流出过程,说明该数据流由什么过程来。l 流入过程,说明该数据流到什么过程去。4 数据存储=数据存储名,说明,输入数据流 ,输出数据流,组成:数据结构或数据项,数据量,存取方式l 数据量,说明每次存取多少数据,每天(或每小时,或每周)存取几次的信息。l 存取方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加以说明。5 处理过程=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明 简要说明中主要说明该处理过程的功能,即“做什么”(不是怎么做);处理频度要 求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面物理设计的输入及性能评价的标准。1.4参考资料软件技术基础教程,万晓东、施玉霞、孔德明,南京航空航天大学。C+程序设计教程,皮德常,机械工业出版社。数据结构,严蔚敏、吴伟明,清华大学出版社。2、可行性研究的前提2.1要求主要功能:实现图书的销售,方便商店的统计和工作,提高书店的服务质量和服务效率。性能要求:销售系统必须能够实现图书条目的输入、销售、统计和库存查询情况。输出要求:数据完整,详实。输出要求:简捷,快速,实时。安全与保密要求:管理员享有对销售系统库存情况的查询权限,售书员只享有对图书统计的权限。2.2目标系统实现后,大大提高图书商店的售书效率,降低售书中的错误发生率,减少管理的复杂度。2.3条件,假定和限制建议软件使用寿命:1年经费来源:无硬件条件:普通pc机运行环境:Windows数据库:投入运行最迟时间:2010/12/282.4可行性研究方法本项目的可行性研究采用确定模型,再将各个模块加入其中。2.5决定可行性的主要因素成本/效益分析:效益成本。技术可行性:现有技术将能完全承担开发任务。操作可行性:软件能被原有工作人员快速接受。3、 技术可行性分析3.1系统简要描述建立图书条目的数据结构,把各种图书信息输入后建立图书的数据库,并按照图书的书名或条形码从数据库内调出图书信息进行销售,同时考虑对该用户是否打折。在销售图书的统计中,分别按照图书的类别和整个销售进行统计,并以报表的形式输出。在考虑权限问题时,实现可以按照图书条目不同的字段属性对库存情况进行查询。最终以实现小型图书销售系统。3.2处理流程和数据流程系统管理员 库存情况数据库显示报表产生报表产生报表及帐单类别统计售书员销售统计按图书类别调出图书销售售书员售书员客户机终端显示报表产生报表客户机终端显示报表产生报表 数据库在客户端输出图书信息和账单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.2图书销售系统流程图图书条目库存情况图书信息及账单数据库处理查 询报表处 理报表处 理报表处 理图书类别销售情况金额输出管理员身份报表输出报表输出数据输入服务器数据输出客户端数据输出客户端数据输出客户端数据输出下面分析各个模块的功能要求:(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、图书销售系统中的数据字典系统中的数据元素:名字:图书信息别名:描述:输入系统的图书信息,用于标记图书定义:图书信息=ISBN号+书名+作者+出版社+进书年月日+库存量+批发价+零售价位置:客户端输入信息名字:账单别名:描述:顾客购买图书后界面显示的价格表定义:账单=图书信息+价格位置:输出界面名字:别名:描述:定义:位置:名字:别名:描述:定义:位置:名字:报表别名:描述:根据数据库中的图书某个关键字进行报表定义:报表=图书信息关键字+图书信息位置:数据库5、图书销售系统的逻辑模型图书销售系统的逻辑模型如下所示:机票预定系统的逻辑模型机票预定系统的逻辑模型如下图所示:出版社ISBN号作者书名库存量查询零售价进书日期 图书信息 1管理员身份 帐单输入 零售价报表 1 1 进书时间图书商店 N ISBN号6、图书销售系统的运行要求6.1图书销售系统中的各个子系统的硬件和软件的配置如下:客户端子系统的运行要求:系统软件:Windows NT Workstation数据库管理系统:SQL Server硬件要求:Pentium 133以上,32M RAM,4.3G HD7、建立图书销售系统的约束7.1 结构总体设计方案对它的约束图书销售系统作为一个应用系统,不可避免的要受到此结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。同时,由于信息的共享,图书销售系统还受到其他系统的信息约束。7.2 人力、资金、时间的约束:图书销售系统工程实施的目标是要带给使用商店可以看得见的效益,其开发过程中也要考虑到人力、资金、时间的约束。因此,在设计中,重点是销售系统中的方便快捷,能提供给顾客以优质高效的服务,并提高销售的效率和便捷,为使用商店带来良好的效益。7.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编写目的在图书馆里项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段获得,并在需求规格说明书中得到详尽得叙述及阐明。本阶段已在系统的需求分析的基础上,对图书管理系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对图书管理系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。(1)项目背景本项目由指导老师老师要求制作,由郝克、陈杰负责开发。 图书管理系统将由两部分组成数据文档用户指令图书销售系统 : : 数据文档输出结果或文档数据文档(2)参考资料以下列出在概要设计过程中所使用到的有关资料:软件技术基础教程图书销售系统计划任务书需求分析说明书概要设计说明书用户操作手册(初稿)数据结构2、任务概述2.1目标实现对书籍相关资料的管理,管理人员可以对数据库的中的信息进行修改筛选,销售人员对其进行遍历,以实现书的销售管理过程。2.2运行环境WindowsXP系统2.3需求概述为方便图书管理,程序需包括图书的借出还入,排序,以及遍历等功能,方便用户管理图书。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求算法简单明了,程序利于维护。3、总体设计3.1处理流程下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。3.1.1程序流程本地信息为书名、作者、出版社、进书日期库存量等。用户输入其中的部分内容可以对明细进行遍历,查找,修改,添加删除等功能2153467数据管理(管理人员)数据库数据遍历(销售人员)下面对各模块(以数字表示)进行功能说明: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+的标准输入/输出对其进行处理。42 内部接口内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。5、数据结构设计5.1数据库数据结构设计DBMS 的使用上系统将采用 SQL SERVER, 系统主要需要维护的数据表:ISBN号书名作者出版社进书日期库存量售价本表包含了所有书的明细信息,供销售人员查询5.2物理数据结构设计物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。图书信息char ISBN;书的ISBN号;char bookTitle51;书名;char author21;作者;char publisher21;出版社;date dateAdded;存放进书日期;int qtyOnHand;存放该书的库存量;double wholesale;存放该书的批发价;double retail; 存放该书的零售价;用以存放图书的详细信息53 数据结构与程序的关系服务器程序在对图书信息进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:在销售、管理过程中都需要对数据库中表,进行联合查询、修改。物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中。6、运行设计61 运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。62 运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。硬件对运行时间有影响,数据量的大小也会影响查找的时间以及操作的速度。7、处理设计71 出错输出信息程序在运行时主要会出现错误:由于输入信息,或无法满足要求时产生的错误,称为软错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。出错信息要给出提示,并重新运行,例:“输入的指令有误,请重新输入!”。72 出错处理对策如果出错将提示按任意键继续,执行清屏命令并重新执行该程序。8、保密设计操作人员须输入相关密码,经判断语句判断通过后才可以进入数据库中调用及修改数据,一次方式来加强文件的保密性。五、详细设计说明书1、引言1.1编写目的:在前一阶段(概要设计说明书)中,以解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分为若干个模块、决定各个模块之间的接口、模块之间的传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在各个阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体的实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在需求分析说明书中所叙述的数据、功能、运行、性能需求,并依据概要设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何(1) 接受:图书信息(2) 输出:顾客所卖图书的信息、价格(3) 分辨信息的种类并采用相应的处理步骤(4) 进行数据库的查询,修改工作(5) 接受并判断错误,输出相应的出错信息在以下的各个阶段中,用户操作手册将与本阶段的工作紧密结合,努力做到让用户易懂易学。测试报告和维护报告也将参考说明书,检验本系统的各项性能指标,即使发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的图书销售系统交到用户手中。1.2项目背景本项目(图书销售系统)是由指导老师要求,由本软件编写小组负责开发。本图书销售系统项目主要由两个部分组成:(1) 图书信息的数据库汇总及查询(2) 顾客购买图书的信息1.3文中特殊的定义和缩写:1.3.1定义(1)数据流图:描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。数据流图有四种基本符号:l 正方形(或立方体)表示数据的源点或终点。l 圆角矩形(或圆形)代表变换数据的处理。 处理不一定是一个程序。一个处理框可以代表一系列程序,单个程序或者程序的 一个模块;它甚至可以代表一种人工处理过程。l 开口矩形(或两条平行横线)代表数据存储。 数据存储可以表示一个文件,文件的一部分,数据库的元素或纪录的一部分等等。 数据存储是处于静止状态的数据。 l 箭头代表数据流,即特定数据的流动方向。数据流是处于运动中的数据。 还有几种附加符号:l 星号表示数据流之间是“与”关系l 加号表示“或”关系l 异或符号表示只能从中选一个(2)数据字典:是对系统中各类数据描述的集合,是各类数据属性清单,是进行详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:l 数据项,是数据的最小的单位。l 数据结构,是若干数据项有意义的集合。l 数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。l 数据存储,处理过程中存取的数据。常常是手工凭证,手工文档,计算机文件。l 处理过程。它们的描述内容如下:6 数据项描述=数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系取值范围,与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。7 数据结构描述=数据结构名,含义说明,组成:数据结构或数据项8 数据流=数据流名,说明,流出过程,流入过程,组成:数据结构或数据项l 流出过程,说明该数据流由什么过程来。l 流入过程,说明该数据流到什么过程去。9 数据存储=数据存储名,说明,输入数据流 ,输出数据流,组成:数据结构或数据项,数据量,存取方式l 数据量,说明每次存取多少数据,每天(或每小时,或每周)存取几次的信息。l 存取方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加以说明。10 处理过程=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明 简要说明中主要说明该处理过程的功能,即“做什么”(不是怎么做);处理频度要 求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面物理设计的输入及性能评价的标准。1.3.2缩写系统:若未特别指出,统指本图书销售系统。1.4参考资料以下列出在概要设计过程中所涉及的有关资料:图书销售系统计划任务书需求分析说明书概要设计说明书用户操作手册(初稿)软件技术基础数据结构2、总体设计:2.1需求概要:图书商店为了方便自身和顾客的需要,需开发一个图书销售系统。为便于销售,用户将图书的信息,包括ISBN号、书名、作者、出版年月日、库存量、批发价、零售价,输入至客户端中,存入数据库并汇总。当需要查询图书信息时,均可以从数据库中输出所需要的信息。当顾客需要购买图书时,得到所需图书的信息,当得知购买数量后得出所需金额(账单)。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户端的界面简单明了,易于操作,便于数据库维护。2.2软件结构:各模块之间的关系已由概要设计给出。(1)客户端数据库信息模块结构图:SetBook()商店用户客户端EditBook()DeleteBook()AddBook()BookInfo()数据库文件Data.bin(2)顾客购买图书信息模块顾客购买图书模块bookInfo()Pay()顾客输出界面ISBN_Search()NAME_Search()SearchBook()(3)数据库汇总报表模块报表模块Screen()RetailList()AllList()QtyList()ValueList()DataList()wholesaleList()Outsale()客户可查询管理员身份可查询文件数据库Data.bin3、程序描述: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项目背景本项目是在指导老师的要求编写,并由本软件开发小组写成。13定义1.4参考资料以下列出在概要设计过程中所涉及的有关资料:图书销售系统计划任务书需求分析说明书概要设计说明书用户操作手册(初稿)软件技术基础数据结构2、人物概述2.1目标测试是“为了发现程序中的错误而执行程序的过程”, 测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。2.2运行环境由于系统将由三部分程序组成,安装在用户商店的数据服务器中。客户端子系统的运行要求:系统软件:Windows NT Workstation数据库管理系统:SQL Server硬件要求:Pentium 133以上,32M RAM,2.1G HD2.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 bookTitle51;书名;char author21;作者;char publisher21;出版社;date dateAdded;存放进书日期;int qtyOnHand;存放该书的库存量;double wholesale;存放该书的批发价;double retail; 存放该书的零售价;(2)AddBook过程:对于新的书的信息:char ISBN;书的ISBN号;char bookTitle51;书名;char author21;作者;char publisher21;出版社;date dateAdded;存放进书日期;int qtyOnHand;存放该书的库存量;double wholesale;存放该书的批发价;double retail; 存放该书的零售价;(3)EditBook过程:对于想改的书,以下为所需要书的输入信息:char ISBN;书的ISBN号;char bookTitle51;书名;char author21;作者;char publisher21;出版社;date dateAdded;存放进书日期;int qtyOnHand;存放该书的库存量;double wholesale;存放该书的批发价;double retail; 存放该书的零售价;(4)DeleteBook过程:输入想要删除的书的ISBN号:char ISBN;书的ISBN号;4.2.2输出(1)BookInfo过程:输出已给ISBN号的书的信息:char ISBN;书的ISBN号;char bookTitle51;书名;char author21;作者;char publisher21;出版社;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 bookTitle51;书名;char author21;作者;char publisher21;出版社;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)图书销售系统的主菜单: 小型图书销售系统 主菜单 1. 收银模块 2. 书库管理模块 3. 报表模块 4. 退出系统 输入选择 : 请输入1-4之间的数(2)图书销售系统的书库管理模块: 图书销售系统 书库管理模块 1. 查找某本书的信息 2. 增加书 3. 修改书的信息 4.
展开阅读全文