软件工程—银行管理系统—数据流图盒图PAD图流图层次图流程图
- 格式:doc
- 大小:445.00 KB
- 文档页数:4
软件⼯程实验报告-⼗个实验(银⾏系统)软件⼯程实验报告班级:****学号:**********姓名:***实验⼀软件需求分析实验项⽬名称:软件需求分析实验⽬的:1) 根据所选定题⽬进⾏需求分析⼯作;2) 通过实例掌握结构化数据流分析技术;3) 进⾏业务需求分析、⽤户需求、功能需求、⾮功能需求分析;4) 写出需求规格说明书(含数据流图)。
实验内容:⽤结构化数据流分析技术进⾏软件系统需求分析,得出系统得数据流图和数据字典。
实验步骤:1) 到相关单位进⾏需求分析。
2) 综合利⽤Internet ⽹和相关书籍整理并完善需求分析。
3) 画出系统数据流图(分清系统是事务型还是加⼯型)。
4) 得出系统数据字典。
1.软件系统需求描述:(从功能,性能上进⾏描述)(1)功能需求:银⾏系统系统所要完成的主要功能有两⽅⾯:①填写存款单或取款单交给业务员键⼊系统,如果是存款,系统记录存款⼈姓名、住址、存款类型、存款⽇期、利率等信息,完成后由系统打印存款单给储户。
②如果是取款,业务员把取款⾦额输⼊系统并要求储户输⼊密码以确认⾝份,核对密码正确⽆误后系统计算利息并印出利息清单给储户。
(2)性能需求:为了满⾜储户的要求,系统必须要有⾼的运作速度,储户填写的表单输⼊到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显⽰出所有必需信息并打印出各项清单,所以要求很⾼的信息量速度和⼤的主存容量;由于要存贮⼤量的数据和信息,也要有⾜够⼤的磁盘容量;另外,银⾏计算机储蓄系统必须有可靠的安全措施,以保证储户的存储安全。
2.软件系统数据流图(由加⼯、数据流、⽂件、源点和终点四种元素组成):1) 顶层数据流打印存单打印清单2) 1层数据流图3) 2层数据流图3.软件系统数据字典:1) 数据流条⽬(1)数据流名:存单(反馈信息)说明:银⾏系统给⽤户每次存款打印的存款资料表单数据流来源:银⾏计算机储蓄系统数据流去向:⽤户数据流组成:存单=存款⼈+存款银⾏+业务员编号+存款⾦额+存款⽇期+⼿续费+帐户余额业务员编号=“01”..“99”存款⽇期=年+⽉+⽇位置:输出到打印机数据量流通量:暂不统计(2)数据流名:取款单说明:记录⽤户每次取款的资料和情况数据流来源:⽤户数据流去向:银⾏计算机储蓄系统数据流组成:取款单=取款⼈+取款银⾏+业务员编号+取款⾦额+取款⽇期业务员编号=“01”..“99”取款⽇期=年+⽉+⽇数据量流通量:暂不统计(3)数据流名:利息清单(或账单)说明:当⽤户取款时,银⾏内库要把利息清单(或账单)给银⾏计算机储蓄系统处理,再把利息清单(或账单)交于⽤户数据流来源:书库数据流去向:事务处理数据流组成:取款信息=取款⼈+取款银⾏+受理业务员+取款⾦额+取款⽇期+⼿续费+帐户余额业务员编号=“01”..“99”取款⽇期=年+⽉+⽇位置:输出到打印机数据量流通量:暂不统计2) 加⼯条⽬a)加⼯名:银⾏计算机储蓄系统加⼯编号:0层简要描述:对⽤户存取款进⾏管理和处理输⼊数据流:存款单、取款单输出数据流:存单、利息清单(或账单)加⼯逻辑:若存取款信息正确且密码正确⽆误则存取款成功,否则提⽰重写或重填。
流程图、N-S图、PAD图、判定表、PDL、HIPO图程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。
但流程图也存在一些严重的缺点。
例如流程图所使用的符号不够规范,常常使用一些习惯性用法。
特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。
这些现象显然是与软件工程化的要求相背离的。
为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。
例如,为使用流程图描述结构化程序,必须限制流程图只能使用图 3.25所给出的五种基本控制结构。
图4.3 流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。
作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。
图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。
显然,这个流程图所描述的程序是结构化的。
图4.4流程图的基本控制结构N-S图Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。
为表示五种基本控制结构,在N-S图中规定了五种图形构件。
参看图 4.5。
为说明N-S图的使用,仍用图 4.4给出的实例,将它用如图 4.6所示的N-S图表示。
如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。
当问题很复杂时,N-S图可能很大。
图4.5 N-S图的五种基本控制结构图4.6 N-S图的实例PADPAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。
现在已为ISO认可。
PAD也设置了五种基本控制结构的图式,并允许递归使用。
图4.7 PAD的基本控制结构做为PAD应用的实例,图 4.8给出了图 4.4程序的PAD表示。
PAD所描述程序的层次关系表现在纵线上。
选择题1、以下哪个不是详细设计中常用的图形描述工具 A 。
A、数据流图B、程序流图C、盒图(N-S图)D、问题分析图(PAD)2、耦合是对软件结构中各个不同模块之间互相关联程度的度量。
一个模块直接访问另一个模块的内部信息应属于 B 方式。
A、控制耦合B、内容耦合C、数据耦合D、外部耦合3、在七种内聚中属于最强的是功能内聚,最弱的是偶然内聚4、软件工程的原则包括:模块化、抽象与逐步求精、信息隐藏与局部化、模块独立。
模块 D ,则说明模块的独立性越强。
A.耦合越强B、扇入数越高C、扇入数越低D、耦合越弱5、软件设计包括 D 两个阶段。
A、接口设计和结构设计B、数据设计和概要设计C、结构设计和过程设计D、概要设计和详细设计6、现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。
现从输入的角度考虑设计了一组测试用例:—100,100,0。
设计这组测试用例的方法是 D 173页A、条件覆盖法B、边缘值分析法C、错误推测法 D 、等价划分法7、系统设计分为两个阶段分别为设计方案与选择方案 92页。
8、对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的输入边界,输出边界和变换中心。
9、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先的策略157页。
10、在用面向对象观点建立起的3种模型中, B 231页基本、最重要、最核心的。
A、动态模型B、对象模型C、功能模型D、状态模型11、在软件结构图的有关术语中,用于表示软件结构中控制的层数的是 C 。
A、扇出B、扇入C、深度D、宽度12、指出PDL是哪种语言过程设计语言128页13、在进行软件测试时,首先应当进行单元测试,然后再进行组装测试,最后再进行有效性测试。
14、结构化设计方法是面向 B 的设计。
A.数据编码 B.数据流 C.数据库 D.数据结构15、软件工程的过程模型中,瀑布模型是经典的传统模型。
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是: ( B )A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
2.可行性研究主要从以下几个方面进行研究:(A )A ) 技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3 耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下: (C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是: (A )A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。
C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A )A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)A.概要设计B.详细设计C.需求分析D.可行性分析7 下面不是软件工程的3 个要素的是(C )A过程B.方法C.环境D.工具8.下面不属于软件的组成的是(B )A程序B.记录 C.文档 D.数据9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C )A.维护时期B.运行时期C.定义时期D.开发时期10.在瀑布模型中,下面(C )是其突出的缺点。
软件工程中的图软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2.可行性研究3.需求分析4.总体设计(概要设计)5.详细设计6.编码和单元测试7.综合测试8.软件维护下面我们就说说各个阶段中与图的难解难分。
1. 问题定义问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功能。
2. 可行性研究可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。
这个阶段的分析主要涉及以下几个图形工具。
2.1 系统流程图系统流程图是描述系统物理模型的一种传统工具。
它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。
系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。
2.2 数据流图数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。
数据流图的基本符号:数据流图的使用例子:2.3 数据字典数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。
数据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。
3. 需求分析需求分析阶段主要确定系统必须做什么。
比如用户对系统的要求,确定目标系统所有的功能,确定系统运行的硬件和软件环境,系统性能要求,出错处理要求,接口需求,验证软件需求等等。
3.1 E-R图E-r图的主要作用就是把用户的数据要求用可视化的图形呈现出来。
3.2 状态转换图状态转换图说白了就是系统的行为建模,就是通过描述系统的状态以及引起状态变化的事件来表示系统的行为,将系统运行时详细的状态变化呈现给用户。
简易银行卡管理系统开发详细设计说明书学院:计算机科学与技术班级:学号:姓名:简易银行卡管理系统的开发1.问题描述本设计开发一个简易的银行卡管理系统,模拟银行卡的一系列基本功能,包括开户、销户、挂失、解挂、存款、取款、转账、查询余额、修改密码等。
要求人机界面设计友好,用户使用方便,在用户输入有误时能给出相关的出错提示,并能承受一定的错误信息。
要求具有一定的安全机制,如用户在一定的时间范围内对系统未予以响应,或者用户多次输入错误的登录信息时,系统可将用户的银行卡代为保管。
用户的部分操作必须在拥有合法的足够的权限时才能生效,如销户、挂失、解挂等,这些操作必须在用户正确登录后才能使用。
建立后台数据库保存用户的信息,用户的操作通过系统程序反映到数据库中。
本系统由于是做一个简易的银行卡管理系统,因此只涉及到了用户的相关操作,将系统所有应有的功能都赋予了正确登录的用户,而没有再将权限部分的分配给系统管理员。
用户操作的最后结果将通过系统程序直接反映到数据库中,最终实现系统的各种功能。
2. 功能描述开户:创建一个新的账户,接受用户输入的身份证号,以及账户密码,判断用户输入的身份证号是否唯一且账户密码是否符合要求,如验证成功则为该用户生成一个唯一的帐号。
存款:在用户输入正确的帐号和密码的情况下,接受用户输入的存款金额,并对该帐号的存款信息进行更新。
取款:在用户输入正确的帐号和密码的情况下,接受用户输入的取款金额。
取款金额不应该大于当前帐号存款金额,当取款金额不大于当前帐号存款金额时,执行取款操作,并对该帐户的存款信息进行更新。
挂失:在用户输入正确的帐号和密码的情况下,接受用户挂失操作。
当帐号挂失后,与该帐号相关的操作都将被禁止。
销户:在用户输入正确的帐号和密码的情况下,接受用户销户。
当用户销户后,该帐号将被永久删除。
转帐:在用户输入正确的帐号和密码的情况下,接受用户转账操作,转帐金额不应该大于当前帐号存款金额,当转帐金额不大于当前帐号存款金额时,执行转帐操作,并对该帐户的存款信息及转帐的接受账户的存款信息进行更新。
软件工程--软件工程用图目录数据流图ER图层次方框图状态转换图Warnier图Petri图网HIPO图判定树盒图(N-S图)PAD图数据流图简介:数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型数据流程图中有以下几种主要元素:∙→:数据流。
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成.如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成.由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名∙□:数据源(终点).代表系统之外的实体,可以是人、物或其他软件系统∙○:对数据的加工(处理).加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出∙〓:数据存储.表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等例子:实体-联系图(ER图)目的:为了把用户的数据要求清楚准确地描述起来系统分析员通常建立一个概念性的数据模型要素:∙实体型:用矩形表示,矩形框内写明实体名;∙属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;∙联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型在E-R图中要明确表明1对多关系,1对1关系和多对多关系:∙1对1关系在两个实体连线方向写1;∙1对多关系在1的一方写1,多的一方写N∙多对多关系则是在两个实体连线方向各写N,M例子:层次方框图概述:层次方框图用树形结构的一系列多层次的矩形描述数据的层次结构.树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)例子:状态转换图概述:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为.此外状态转换图还指明了作为特定事件的结果系统将做那些动作(例如,处理数据).因此状态转换图提供了行为建模机制在状态转换图中,每一个节点代表一个状态,其中双圈是终结状态例子:Warnier图概述:是表示数据层次结构的一种图形工具,它用树形结构来描绘数据结构.它还能指出某一类数据或某一数据元素重复出现的次数,并能指明某一特定数据在某一类数据中是否是有条件的出现.在进行软件设计时,从Warnier图入手,能够很容易转换成软件的设计描述例子:Petri图网Petri网模型3种基本元素:∙位置集P(Place Set)∙转换集T(Transition Set)∙标记集M(Marker Set或Token Set)∙三元组模型S = (P,T,M)Petri网用一个八元组来表示知识间的因果关系,形式为:∙n P:位置的有限集∙n T:转换的有限集∙n D:命题的有限集∙n I:输入函数,表示从位置到转换的映射∙n O:输出函数,表示从转换到位置的映射∙n f:相关函数,表示强度,0-1之间∙n α:相关函数,表示位置对应命题的可信度,0-1之间∙β:相关函数,表示位置到命题的映射,位置对应的命题例子:IF dj THEN dk (CF=ui),若dj的可信度为0.8,规则强度ui=0.9 图2 Petri网表示例示P={Pj,Pk}T={ti}D={dj,dk}I(ti)={Pj}O(ti)={Pk}f(ti)=ui=0.9(Pj)=0.8(Pj)=dj (Pk)=dkHIPO图概述:HIPO(Hierarchy Plus Input/Processing/Output)图是美国IBM公司70年代发展起来的表示软件系统结构的工具。
淮海工学院计算机科学系实验报告书
课程名:《软件工程》
题目:结构化设计实验
班级: ***********
学号: *************
姓名: *************
结构化设计验报告要求
1目的与要求:
1)系统学习和理解结构化软件工程设计阶段的基本任务、概念、原理、技术和方法;
2)掌握设计阶段各种设计工具,如、层次图、程序流程图、N-S图、PAD图、判定表(树)、伪代码语言等工具的使用方法;
3)通过理论学习和试验要逐步提高运用结构化软件工程的设计理论、技术和方法解决实际问题的综合应用和实践创新能力;
4)请借阅有关Microsoft Office Visio 系统,预习系统有关的结构化设计工具和使用方法;
5)按照实验题目要求独立完成结构化设计实验内容,严禁拷贝、抄袭他人设计成果;
6)认真书写实验报告,并于下周5以前提交。
2 实验内容或题目
1.针对自己第一次实验所完成的结构化分析项目(或题目),选择所绘制
的数据流图,E-R图、状态图,完成下面2、3、4、5、6要求的结构化
设计内容;
2.按照面向数据流图的结构化设计方法,并在优化所选择数据流图的基础
上,导出项目的总体设计层次图(H图);
3.按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和
PAD图等设计工具,在第2所得层次图中选择几个主要模块进行详细设
计,画出相应设详细计结果图形;
4.根据选择的E-R图进行数据库(以关系数据库模型为基准,进行数据库
表及其关系设计);
5.根据H图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选
择一个数据库表(实体)进行界面表单(数据编辑界面)设计;
6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其圈
复杂度。
3 实验步骤与源程序
1.优化所选择数据流图
2.导出项目的总体设计层次图(H图);
3.按照详细设计阶段所学的过程设计工具,分别选择程序流程图、盒图和PAD 图等设计工具,在第2所得层次图中选择几个主要模块进行详细设计,画出相应设详细计结果图形;
(1)流程图
登录:存取款:
办理银行卡:
(2)盒图
登录:存取款:
(3)PAD图
登录:
业务办理:
4.根据选择的E-R图进行数据库(以关系数据库模型为基准,进行数据库表及其关系设计);
储户数据库:
存取款数据库:
银行数据库:
5.根据H图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实体)进行界面表单(数据编辑界面)设计;
用户界面功能菜单:
银行卡办理界面:
6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其圈复杂度。
办理银行卡:
圈复杂度为:5。
4 测试数据与实验结果(可以抓图粘贴)
见实验步骤
5 结果分析与实验体会
这次实验通过动手实践,对书上介绍的层次图、流程图、盒图、PAD图、流图有了真正的了解,对设计各种图的工具更加熟悉,对于结构化软件工程设计阶段的基本任务、概念、原理、技术和方法有了进一步的了解。