钟林森A组-超市收银系统设计--软件工程实验报告_第1页
钟林森A组-超市收银系统设计--软件工程实验报告_第2页
钟林森A组-超市收银系统设计--软件工程实验报告_第3页
钟林森A组-超市收银系统设计--软件工程实验报告_第4页
钟林森A组-超市收银系统设计--软件工程实验报告_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、佛山科学技术学院计算机科学与技术专业超市收银系统设计实验报告组长: 钟林森(12计算机2班 )组员: 王嘉胜(12计算机2班 )陈小浪(12计算机1班 )刘丽怡(12计算机1班 )方洛宣(12计算机2班 )姚启航(12计算机1班 )佛山科学技术学院计算机系2015年6月目录一项目背景2二系统需求22.1系统功能需求22.2系统使用人员32.3系统使用环境以及开发工具3三系统整体结构设计4四软件部分整体设计54.1软件功能结构设计54.2系统的结构设计74.2.1系统概念结构设计74.2.2系统逻辑结构设计84.2.3)系统物理结构设计16六软件主要界面设计21七软件开发平台选择22八软件开发进

2、度计划与开发团队238.1)软件开发进度表:238.2)项目开发人员组成以及分工23九附:思考题24一 项目背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。随着超市的高速发展,其经营管理也变的愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的思想技术和管理技术进入到超市管理之中。 超市形态具有种种优点,但在目前状况下,它仍存在零售业商业企业所共有的落后的一面。如:收款结算速度慢,

3、容易出现营业差错,不宜进行商品调价,盘点效率底等。而且,在超市日常管理中,随着超市形态的高速发展,其经营管理也变的愈加复杂,竞争也日益激烈,拥有一套快捷,方便,实用的超市收银系统是必须的。为此,在本次设计之中我们小组选择了超市收银系统这个题目。依靠现代化的计算机信息处理技术来对超市销售进行收费,从而节省了大量的人力、减轻了劳动强度,并且能够快速反映出商品的各种反馈信息。 从消费者的角度来说,结帐时应该节省时间和快速,毕竟时间就是金钱。由于传统的超市收银管理给顾客和店主带来很多不便。针对这方面的缺陷,开发这个系统可以方便快捷地查出顾客结帐情况,商品信息情况,每天的售货情况,方便了对超市

4、商品管理、人员管理,大大提高了超市的售货速度。进而加速了社会的发展速度,提高了人民的生活水平。总之,借助于信息系统可以大大提高超市的运作效率,通过全面的信息的采集和处理,不仅辅助提高了超市的决策水平,还可以迅速提高超市的管理水平,为降低经营成本,提高效率,增强超市扩张力,提供有效的技术保障二 系统需求2.1系统功能需求传统的以书本记录的方式已不能满足我们对于超市收费的要求,而数据库技术正缓解了这一问题。 为使商业企业的进销存信息管理自动化、标准化和科学化,需研制具有大规模、高效率的超市收银系统。本次课程设计我们小组将采用C#,SQL Server2008数据库,Micros

5、oft Visual Studio2008集成开发环境,Rational Rose UML工具以及Microsoft Visio等开发工具着手实现本系统的相关功能,从而使得数据库和应用程序紧密结合在一起。  本超市收银系统要解决的问题是:如何实现超市的科学、高效的管理,包括商品基本信息管理、进货信息的管理、销售信息的管理、库存信息的管理以及系统使用人员的管理等。它不但可以提高进销存管理的工作效率,而且可以有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,从根本上提升超市的市场竞争力。基于以上项目背景以及待解决的问题,本系统应当实现以下的功能,即以下

6、即为我们小组篡写的项目计划书的一部分需求说明书1、完成超市现有的所有商品的各类信息的采集并录入基础数据库,提供对某一种类商品的查询,修改,删除功能。2、完成超市中商品的库存情况的管理如查询,修改,删除以及报表打印等功能。3、录入超市每天销售的商品的基本信息,并提供对该商品的修改,删除以及查询,报表打印等功能。4、完成超市对于商品的进货情况的管理,如添加,删除,修改,查询以及报表打印等功能。5、根据不同的使用人员,提供权限保护与管理,是信息的管理与维护进行分级处理。我们本小组将实现三类人员的管理:收银员(一般用户),超市库存管理员(管理用户),超市收银系统管理用户(超级用户)。6、提供本系统基础

7、数据的备份与恢复,以保证系统的可维护性。7、预留相应接口,便于将来进行系统功能的扩展。2.2系统使用人员本系统使用人员分为三类:1、 收银员:完成日常销售商品的采集、更新、查询、统计等功能。2、 库存管理用户:管理超市商品的库存信息如历史数据、核心数据并对数据进行分析汇总3、 超市收银系统管理用户:负责本系统基础数据维护、权限设定、数据备份与恢复等工作2.3系统使用环境以及开发工具本系统采用Client/Server模式进行开发,操作系统采用Windows系列版本(XP及其以上),数据库管理工具采用SQL Server2008以及C#语言作为开发语言。三 系统整体结构设计3.1)根据系统设计原

8、则,系统采用Client/Server模式进行开发,本系统的整体设计考虑应用如下结构来组建:系统采用层次化结构设计,方便系统扩展与可维护性。主要分为三层,即基础数据层,业务逻辑中间层与用户界面层等。基础数据层分为基础数据库与业务数据库,基础数据库存储系统初始化信息、基本数据字典信息等,业务数据库存储超市日常销售的产品等有关的业务数据与历史数据。业务逻辑中间层负责封装所有对数据库的增、删、改、查的操作,采用事物机制维护业务数据库中数据的一致性。用户界面层负责提供用户使用操作的入口,增强用户使用的方便性。用户使用界面业务逻辑中间层ADO/ODBC管理器DBMS基础数据库业务数据库图一:系统总体概要

9、结构图3.2)基于上述对于超市收银系统功能性的需求分析,我们小组为此系统绘制了本系统的业务流程图图二:系统业务流程图四 软件部分整体设计4.1软件功能结构设计本系统完成超市销售的商品情况,日销售情况,库存情况,进货情况以及系统用户管理等核心工作,是进行日常信息交流信息管理的基础。通过应用软件系统提高用户对超市收银系统使用的方便性与集成性。系统的软件功能结构图如下图所示:31商品信息增加商品信息修改商品管理综合查询与统计分析数据恢复销售信息查询销售信息修改删除销售信息录入进货信息修改删除进货信息查询进货信息读入用户信息修改删除用户信息查询用户信息录入系统基础数据维护用户权限数据备份销售情况管理各

10、类报表输出按销售时间查询统计按商品种类查询统计超市收银系统 商品信息查询商品信息删除系统管理进货情况管理系统用户管理 图三:系统的软件功能结构图4.2系统的结构设计4.2.1) 系统概念结构设计a)任务与功能:概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。即我们小组将在上述所表达的系统功能需求的基础,建立超市收银系统所表达的数据模型,我们将采用E-R图来展示这一数据模型,使用的工具是Microsoft Vi

11、siob)系统的E-R图:在这里,考虑到本超市收银系统涉及的实体及其属性不是很复杂,在这里我们小组将直接展示本系统的全局E-R图。如图-四所示图四:系统的E-R图4.2.2) 系统逻辑结构设计a)任务与功能: 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。即首先我们将从概念结构设计阶段中得到的E-R图向关系模式转化,数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。接着我们将进行数据模型的优化,因为数据库逻辑设计的结果不是唯一的。为了进一步提高

12、数据库应用系统的性能,还应该适当修改数据模型的结构,提高查询的速度。最后我们将进行关系视图设计,考虑到本系统涉及的实体对象不是很多我们将省略这一步骤。即我们小组将在上述所展示的系统概念结构设计的基础,建立超市收银系统所表达的数据模型,通过给定的E-R图抽取出特定的实体属性表,并展示本系统涉及的数据的流动过程,使用的工具是Microsoft Visio 2007以及Rational Rose 2007b)系统主要的实体属性表:a.商品信息表 tb_sp中文名称字段名类型关键字缺省值备注商品编号SPnoint(16)主关键字非空自增量商品名称SPnamechar(30)非空商品类型SPtypech

13、ar(40)非空数据字典单价SPpricenumeric(10, 2)非空存储量SPamountint(32)非空(默认为0)供应商编号GYSnoint(16)外关键字非空备注SPmemochar(100)nullb.系统用户表 tb_user中文名称字段名类型关键字缺省值备注用户编号(职工号)userNoint(16)主关键字非空自增量用户名称(登录用户名)userNamechar(10)非空登录密码userPswdchar(22)非空用户性别userSexchar(4)非空出生日期userDatedate非空入职日期userRZDatedate非空用户权限userPowerchar(10)

14、非空普通用户(收银员)管理用户(库存管理员)超级用户(系统总管理员)备注userMemochar(100)nullc.销售情况表tb_xsqk中文名称字段名类型关键字缺省值备注销售编号xsqkNoint(16)主关键字非空自增量用户编号(职工号)userNoint(16)外关键字非空自增量商品编号SPnoint(16)外关键字非空自增量销售时间xsqkDatedate非空 销售数量xsqkAmountInt(32)非空(默认为0)备注xsqkMemochar(100)nulld.进货情况表 tb_jh中文名称字段名类型关键字缺省值备注货单编号jhNoint(16)主关键字非空自增量商品编号SP

15、noint(16)外关键字非空自增量供应商编号GYSnoint(16)外关键字非空用户编号(职工号)userNoint(16)外关键字非空自增量进货时间jhDatedate非空进价jhPricenumeric(10, 2)非空数量jhAmountint(32)非空(默认为0)备注jhMemochar(100)nulle.供应商情况表tb_gys中文名称字段名类型关键字缺省值备注供应商编号GYSnoint(16)主关键字非空自增量商品编号SPnoint(16)外关键字非空自增量供应商地址gysAddrchar(100)null供应商名称gysNamechar(80)非空自增量联系人gysPers

16、onchar(10)非空联系电话gysPhonechar(15)null备注gysMemochar(100)nullf.库存情况表tb_kc (注意:tb_kc将作为一个大的独立表,其信息来源于a-e各个独立的表,主要用于汇总打印时使用)中文名称字段名类型关键字缺省值备注库存流水账号kcNoint(16)主关键字不允许自增量商品类型SPtypechar(40)非空数据字典存库数量kcAmountint(32)非空(默认为0)开始时间kcBeginDatedate非空结束时间kcEndDatedate非空备注kcMemochar(100)nullc)系统主要的DFD图:图五:系统的DFD图d)用

17、例图,类图,顺序图图六:登录用例图图七:库存管理实例图图八:收银人员用例图图九:系统维护用例图图十:系统维护用例的类图图十一:库存管理用例的类图图十二:收银用例的类图图十三:登录用例的类图图十四:收银顺序图4.2.3)系统物理结构设计a)任务与功能:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它将依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。即我们小组将在系统概念设计以及逻辑结构设计的基础,建立实际的依赖于给定的计算机系统的数据库表以及视图,我们将采用SQL Server2008截图展示这一效果。b)系统主要的数据

18、库表截图:a. 商品信息表tb_spb系统用户信息表tb_userc .销售情况信息表tb_xsqkd.进货情况信息表tb_jhe.供应商信息表tb_gysf.独立的系统库存信息表tb_kcc)系统主要的关系视图截图:a商品-销售情况关系图 view_sp_xsqk(一对多)b商品-供应商情况关系图 view_sp_gys(多对多)c用户-销售情况关系图 view_user_xsqk(多对多)d用户-进货情况关系图 view_user_jh(多对多)e进货情况-供应商关系图 view_jh_gys(多对多)六软件主要界面设计 操作主界面:系统的操作主界面采用MDI(多文档窗口)具体如下所示。七

19、软件开发平台选择7.1)操作系统:WINDOWS 系列WINDOWS是主要流行的网络操作系统平台,具有抢先式多任务、虚拟内存、对称多处理器、图形界面、C2安全级、内核坚固而稳定、内置网络功能和完全的32位代码等许多特点。它支持INTEL、ALPHA、POWER PC等多种硬件平台,易操作的图形界面,能运行许多目前在WINDOWS 上流行的应用软件,比其它操作系统更高的性能价格比等。因此,选用WINDOWS 不仅能给用户带来众多的先进性能,而且能充分保护用户的投资。7.2) 软件开发平台:Microsoft Visual Studio 系列Microsoft Visual Studio 系列是一

20、个功能强大的集成开发环境。它提供了所有创建动态windows应用程序的工具,提供VB,VC、C#等多种编程工具,创建应用程序快捷,提供底层汇编级接口编程方式,灵活方便。7.3) 数据库管平台:SQL Server系列SQL Server是一个比较大型的数据库管理系统,能够维护与管理TB级的数据记录,与Microsoft Visual Studio 系列编程工具无缝集成,应用广泛。八软件开发进度计划与开发团队8.1) 软件开发进度表:阶段名称时间安排完成内容阶段验收需求分析与概要设计1周1了解客户的业务流程。3确定系统的需求与实现目标4提出实施方案5配置相应的开发平台及设备1 需求说明书2 概要

21、设计说明书详细设计与应用软件开发2周1 软件各子系统详细设计方案2 编程、系统初步调试3 系统集成调试1 各子系统的详细设计说明书、流程图2 完整程序源代码3 系统使用操作手册安装调试1周1 实际数据测试2 集成安装培训试用与定型1周1 确保系统达到设计要求,实践数据运行2 系统定型3 系统移交系统移交清单8.2) 项目开发人员组成以及分工根据研制进度,结合超市收银系统的具体情况,我们将决定组织优秀的的技术开发人员与团队来实施该项研发,目标是把系统建设成为先进、高效、稳定、实用的系统。人员组成如下:-项目负责人,系统总体分析设计:钟林森-系统需求分析,总体结构设计与软件结构设计: 钟林森(时间

22、为一个星期)-系统概念结构设计: 姚启杭,钟林森(时间为四天)-系统逻辑结构设计: 王嘉胜,方洛宣,钟林森(时间为四天)-系统物理结构设计: 刘丽怡,陈小浪,钟林森(时间为四天)-系统文档篡写:钟林森,王嘉胜,陈小浪,刘丽怡,方洛宣(时间为一个星期左右)九附:思考题1) 什么是软件工程?其目的是什么?答:软件工程是开发、运行、维护和修复软件的系统方法,其目的是实现软件开发的工程化。2) 你认为该软件应具备的最重要的特性是什么。答:从用户角度看:界面简单,易上手,功能强大;从程序员的角度看:用户可用性,用户体验3) 软件开发过程需要经历哪些阶段?答:A市场调研B需求分析 C 软件设计 D程序编码

23、 E软件测试4)软件开发过程各阶段的里程碑是什么?答:A市场调研调研报告书B需求分析需求规格说明书C软件设计项目设计文档D程序编码程序代码文本E软件测试测试报告5) 需求分析在软件开发中的重要性?答:“需求分析”就是对需要解决的问题进行详细分析,弄清楚需要解决的问题。开发人员需要了解顾客的需求,然后体现在软件中。如果说软件开发过程中,开发人员需要了解自己做什么,顾客需要告诉开发人员自己需要什么,而需求分析就是连接开发人员和顾客之间的重要纽带。只有真正理解顾客的需求,才能设计出顾客所需要的软件。6) 针对所开发项目的用例模型,谈谈识别Actor(参与者)和Use Case(用例)的方法。Acto

24、r:对于每个有意义的系统,都存在着一些与系统打交道的事物,这些事物为了某些目的而与系统进行交互,这些事物被命名为参与者(Actor)。参与者代表的是系统的使用者或使用环境,它们向系统提供输入或接收系统输出。需要注意的是,尽管在模型中使用了参与者,但参与者实际上并不是系统的一部分。参与者只能位于系统边界之外,是在系统之外与系统进行交互的任何事物,边界之内的所有人和事物都不是参与者Use Case:用例是一组连续的操作,在参与者使用系统来完成某个过程时出现。起初,用例是用于测试在系统响应来自环境的消息时会发生何种情况,是一种在系统内提供所需功能的过程。它是对系统如何反应外界请求的描述,是一种通过用

25、户的使用场景来获取需求的技术,也就是说系统是如何被参与者所使用的,从而获得一个明确的业务目标。可以利用系统对事件响应所需要执行的动作或行为来标识用例。       用例一般是由软件开发者和最终用户共同创作的。7) 用例之间有哪几种关系?怎样表示? 泛化(generalization):泛化关系是一种继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向基用例。扩展(extend): extend关系是对基用例的扩展,基用例是

26、一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。包含(include): include为包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭

27、头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例。需求评审必须要有用户或用户代表参与,同时还需要包括项目的管理者、系统工程师、相关开发人员、测试人员、市场人员、维护人员等。在项目开始阶段就应当确定不同级别、不同类型的评审必须要有哪些人员的参与,否则,评审可能会遗漏部分人员的意见,导致需求的缺失。8) 怎样组织对该工作的评审?答:对需求的评审应从以下几个方面进行:    完整性:每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。    正确性:每一项需求都必须准确地陈述其要开发的功能。    一致性:一致性是

温馨提示

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

评论

0/150

提交评论