软件工程银行管理系统数据流图盒图AD图流图层次图流程图
软件工程—银行管理系统—大数据流图,盒图,PAD图,流图,层次图,流程图
淮海工学院计算机科学系实验报告书课程名:《软件工程》题目:结构化设计实验班级:***********学号:*************姓名:*************结构化设计验报告要求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)流程图登录:存取款:办理银行卡:开始姓名为空FT 填写个人信息提示银行卡类型未选提示办卡成功T提示姓名为空提示身份证号码为空结束身份证号码为空TF银行卡类型已选两次密码一致TF提示两次密码输入不一致F(2)盒图登录: 存取款:(3)PAD 图 登录:用户名存在且密码正确提示错误登陆成功业务办理:要办理的业务手机银行存取款存取款转账贷款缴费网上银行手机银行转账贷款缴费网上银行4.根据选择的E-R 图进行数据库(以关系数据库模型为基准,进行数据库表及其关系设计); 储户数据库:存取款数据库:银行数据库:5.根据H 图进行界面菜单设计(模拟菜单显示样式绘制菜单设计图),选择一个数据库表(实体)进行界面表单(数据编辑界面)设计; 用户界面功能菜单:Form Title办理银行卡帐户管理存取款转帐贷款缴费网上银行手机银行密码修改存款银行卡挂失个人信息修改取款卡内定期转活期历史明细卡内活期转定期汇款卡转帐卡折互转水费电费天然气手机充值开通网上银行修改信息开通手机银行修改信息注销网上银行注销手机银行注销银行卡住房公积金短期小额贷款助学贷款长期抵押贷款银行卡办理界面:办理银行卡欢迎进入银行卡办理系统姓 名性 别身份证号码家庭住址银行卡类型男女信用卡储蓄卡银联卡请输入密码:请再次输入密码:确定清空返回6.选择第3步中某一模块的详细设计结果,画出对应得流图,并计算其圈复杂度。
软件工程实验报告-十个实验(银行系统)
软件⼯程实验报告-⼗个实验(银⾏系统)软件⼯程实验报告班级:****学号:**********姓名:***实验⼀软件需求分析实验项⽬名称:软件需求分析实验⽬的: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层简要描述:对⽤户存取款进⾏管理和处理输⼊数据流:存款单、取款单输出数据流:存单、利息清单(或账单)加⼯逻辑:若存取款信息正确且密码正确⽆误则存取款成功,否则提⽰重写或重填。
软件工程(简答题)
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
软件工程的程序流程图、盒图和PAD
.
举例:
.
条件复合法 这种方法是把控制循环结束的两个或两个以上的单一条件组 合成一个复合条件,用一个逻辑表达式作为循环控制条件, 把循环体中产生非正常出口的条件语句移到循环体之外。
.
布尔标志变量法: 它是利用向非结构化程序中引入一个赋了某个假定值的辅助 变量作标志, 并把此辅助变量作为循环控制条件之一, 从而有 效地使循环多出口转化为循环单出口
.
终止标志变盘法: 在B A SI C 语言的FO R 一N E x T 循环中, 终止标志技术是 消除循环体内非正常出口的有效方法. 它是利用循环变量作 终止标志, 解决循环体内多出口问题, 变非结构化程序为结构 化程序。
.
盒图
if (POWER_N=1) OUTPUT;
else {caculate new line; while (Required LINE_NUMBER in triang) { caculate new line; } output expansion; }
.
PAD图
.
The end
.
此课件下载可自行编辑修改,此课件供参考! 部分内容来源于网络,如有侵权请与我联系删除!
.
程序流程图基本结构
.
盒图基本结构
.
PAD基本结构
.
(2)比较程序流程图、盒图和D的特点
.
程序流程图
特点:历史最悠久、使用最广泛、最混乱 优:直观,适合初学者 缺: 1. 不是逐步求精的好工具 2. 不以表示数据结构 3. 用箭头表示数据流,程序员可能随意转移控制
.
盒图
特点: 1. 功能域明确,一眼看出 2. 不可能任意转移控制 3. 容易确定局部、全程数据的作用域 4. 容易表现嵌套关系,模块层次结构
UML8种图——银行系统
银行系统UML 图一、用例图1.银行职员用例图登录管理账户修改账户2.客户与银行职员用例图Bank取款转账二、类图holder:String number:int type:Stringname:String ID:int数目:日期:数目:日期:ID:intname:String数目:日期:三、时序图1.登录时序图:LoginForm :MainForm Clerk2.创建登录对话框4.系统身份验证5.通过创建主界面2.存款时序图Clerk:MainForm:WithdrawForm:Account:Deposit2.请求存款操作3.修改账户时序图Clerk:LoginForm:QueryForm:AccountForm:Customer:Account1.进入主界面2.请求查询账户3.创建查询界面4.提交账号5.获得指定账户的信息6.创建账户界面7.修改账户信息8.更新账户信息9.更新账户信息Clerk:LoginForm :QueryFormCreateAccountAccount:Customer四、活动图1.银行职员登录活动图提示错误信息验证信息进入主界面N2.取款活动图验证账户是否存在且有效修改账户信息保存交易记录创建交易记录不存在或无效3.转账活动图提示错误信息验证账户是否存在且有效创建交易记录保存交易记录修改账户信息通知另一银行五、状态图六、协作图1.修改账户协作图提示错误信息验证账户是否存在且有效创建交易记录保存交易记录修改账户信息通知另一银行2.删除账户协作图Clerk:QueryForm:LoginForm七、系统组件图八、系统部署图。
银行系统数据流图和ER图
思考:
如何用覆盖法来测试?
用覆盖法测试 流程图
习题7第3题 流程图
F g n
开始 P
T
q循环 WHILE q
f
q循环
停止
习题7第3题 盒图
F g n
p T
q
f
e.利息值 b.取款信息
i.错误信息
银行系统软件结构图(一级)
a,b,j
读入单据 存款单 取款单
银行系统
a,b
a,e,b,i
a,e,b,i
存储业务处理 单据输出
c,g,h,i
二级软件结构图: 输入
处理
输出
1
a.存款信息 4.1
记录存
打印
c.存单 储户
a.存款信息 款信息
3
a.存款信息
存单
4.3
i.错误信息
利息值 取款信息
错误提示信息
存单 储户
利息清单
现金
错误提示信息
1、银行系统数据流图(2层)
1
a.存款信息 4.1
记录存
打印
c.存单 储户
a.存款信息 款信息
3
a.存款信息
存单
4.3
i.错误信息
输入
D1 帐户信息 b.取款信息
显示错 误提示
b.取款信息 d.帐户信息
i.错误信息
g.利息清单 h.现金
1、建立等价类表
输入条件
a、b、c能 否构成三 角形
合理等价类
(1)a=b=c (2)b=c且b+c>a (3)b=a且b+a>c (4)a=c且a+c>b (5)a≠b≠c且a+b>c (6)a≠b≠c且a+c>b (7)a≠b≠c且b+c>a
武汉理工大学软件工程之简易银行卡管理系统的开发
简易银行卡管理系统开发详细设计说明书学院:计算机科学与技术班级:学号:姓名:简易银行卡管理系统的开发1.问题描述本设计开发一个简易的银行卡管理系统,模拟银行卡的一系列基本功能,包括开户、销户、挂失、解挂、存款、取款、转账、查询余额、修改密码等。
要求人机界面设计友好,用户使用方便,在用户输入有误时能给出相关的出错提示,并能承受一定的错误信息。
要求具有一定的安全机制,如用户在一定的时间范围内对系统未予以响应,或者用户多次输入错误的登录信息时,系统可将用户的银行卡代为保管。
用户的部分操作必须在拥有合法的足够的权限时才能生效,如销户、挂失、解挂等,这些操作必须在用户正确登录后才能使用。
建立后台数据库保存用户的信息,用户的操作通过系统程序反映到数据库中。
本系统由于是做一个简易的银行卡管理系统,因此只涉及到了用户的相关操作,将系统所有应有的功能都赋予了正确登录的用户,而没有再将权限部分的分配给系统管理员。
用户操作的最后结果将通过系统程序直接反映到数据库中,最终实现系统的各种功能。
2. 功能描述开户:创建一个新的账户,接受用户输入的身份证号,以及账户密码,判断用户输入的身份证号是否唯一且账户密码是否符合要求,如验证成功则为该用户生成一个唯一的帐号。
存款:在用户输入正确的帐号和密码的情况下,接受用户输入的存款金额,并对该帐号的存款信息进行更新。
取款:在用户输入正确的帐号和密码的情况下,接受用户输入的取款金额。
取款金额不应该大于当前帐号存款金额,当取款金额不大于当前帐号存款金额时,执行取款操作,并对该帐户的存款信息进行更新。
挂失:在用户输入正确的帐号和密码的情况下,接受用户挂失操作。
当帐号挂失后,与该帐号相关的操作都将被禁止。
销户:在用户输入正确的帐号和密码的情况下,接受用户销户。
当用户销户后,该帐号将被永久删除。
转帐:在用户输入正确的帐号和密码的情况下,接受用户转账操作,转帐金额不应该大于当前帐号存款金额,当转帐金额不大于当前帐号存款金额时,执行转帐操作,并对该帐户的存款信息及转帐的接受账户的存款信息进行更新。
软件工程各种图结构
软件工程各种图结构摘要:本文档旨在详细介绍软件工程中常见的图结构,包括数据流图、用例图、类图、时序图、活动图等。
每个章节都对不同的图结构进行了细化讲解,以帮助读者更好地理解和使用这些图结构。
1、数据流图1.1 概述1.2 数据流图符号1.3 数据流图的绘制步骤1.4 数据流图的应用场景2、用例图2.1 概述2.2 用例图符号2.3 用例图的绘制步骤2.4 用例图的应用场景3、类图3.1 概述3.2 类图符号3.3 类图的绘制步骤3.4 类图的应用场景4、时序图4.1 概述4.2 时序图符号4.3 时序图的绘制步骤4.4 时序图的应用场景5、活动图5.1 概述5.2 活动图符号5.3 活动图的绘制步骤5.4 活动图的应用场景6、总结在本文档中,我们详细介绍了软件工程中常见的各种图结构,包括数据流图、用例图、类图、时序图和活动图。
每个章节都对不同的图结构进行了介绍、符号说明和绘制步骤。
这些图结构在软件开发过程中有着重要的应用,能够帮助开发人员更好地理解需求、设计系统和测试功能。
附件:本文档无附件。
法律名词及注释:1、软件工程:指以工程化的方法开发、维护和管理软件的一门学科或技术体系。
2、数据流图:是一种表示系统功能模型的图形符号技术,用来描述系统功能的输入、输出以及数据在系统中流动的路径。
3、用例图:是一种用来表示系统功能和用户之间交互的图形符号技术,以用户使用系统的需求为基础来描述系统功能。
4、类图:是一种用来表示系统中各个类以及它们之间的关系的图形符号技术,以类、属性和方法为基础进行建模。
5、时序图:是一种用来描述对象之间消息交互顺序的图形符号技术,以时间为基准,展示对象之间的时序关系。
6、活动图:是一种用来表示系统中各个活动以及它们之间的关系的图形符号技术,以流程、动作和决策为基础进行建模。
软件工程-第2章-数据流图
Data flow diagram of the main graphic elements (主要图形元素)
编号 加工 名称
Example of DFD:
DFD of Bank Withdrawals Process
描述银行取款过程的数据流图
Example of DFD:
Each element must have a name DFD can not be attached to control flow In the beginning, the trivial details could be ignored, in order to concentrate on the main data stream
图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节,以集中精力于主要数据流
Naming for each elements of DFD If it is difficult to give a name, it is possible because DFD decomposition problem Data Flow (Database): Using data noun Processing: using verb-object phrase. Data source: using normal noun
Tools of Software Need Analyzing 需求分析工具
Ning Hong-yun 2009.8
Tools of Software Need Analyzing 需求分析工具
Data flow diagram ( DFD, 数据流图)
软件工程流程图
软件工程流程图首先,软件工程流程图可以分为几个主要的类型,包括需求分析流程图、设计流程图、编码流程图、测试流程图和部署流程图等。
每种类型的流程图都有其特定的作用和应用场景,可以帮助团队成员更好地理解和把握软件开发的全貌。
需求分析流程图主要用来描述软件需求分析阶段的工作流程,包括需求收集、需求分析、需求确认等步骤。
通过需求分析流程图,团队成员可以清晰地了解每个步骤的工作内容和工作顺序,有助于避免遗漏和混乱,提高需求分析的质量和效率。
设计流程图主要用来描述软件设计阶段的工作流程,包括总体设计、详细设计、接口设计等步骤。
设计流程图可以帮助团队成员更好地理解软件设计的全貌,把握设计的重点和难点,有助于设计工作的规范和统一。
编码流程图主要用来描述软件编码阶段的工作流程,包括编码、调试、代码审查等步骤。
编码流程图可以帮助团队成员更好地把握编码的规范和标准,提高编码的质量和效率。
测试流程图主要用来描述软件测试阶段的工作流程,包括单元测试、集成测试、系统测试等步骤。
测试流程图可以帮助团队成员更好地理解测试的全貌,把握测试的重点和难点,提高测试工作的覆盖范围和深度。
部署流程图主要用来描述软件部署阶段的工作流程,包括部署计划、部署环境准备、部署实施等步骤。
部署流程图可以帮助团队成员更好地规划和执行部署工作,提高部署的效率和成功率。
总的来说,软件工程流程图在软件开发过程中起着非常重要的作用,它可以帮助团队成员更好地理解和规划软件开发的各个阶段和步骤,提高工作效率和质量。
因此,我们在软件开发过程中应该充分利用软件工程流程图,加强团队成员之间的沟通和协作,提高软件开发的整体水平和质量。
银行系统数据流图和ER图
取款信息
4 输出
2
取款 处理
利息值 取款信息
错误提示信息
存单 储户
利息清单
现金
错误提示信息
1、银行系统数据流图(2层)
1
a.存款信息 4.1
记录存
打印
c.存单 储户
a.存款信息 款信息
3
a.存款信息
存单
4.3
i.错误信息
输入
D1 帐户信息 b.取款信息
显示错 误提示
b.取款信息 d.帐户信息
i.错误信息
(5)a≠b≠c且a+b>c (6)a≠b≠c且a+c>b (7)a≠b≠c且b+c>a
1,2,3 1,3,1 6,2,3
5,6,7
(8)a+b≤c (9)a+c≤b (10)b+c≤a (11)都为正整数
期望结果
等边三角形 等腰三角形 等腰三角形 等腰三角形 一般三角形 一般三角形 一般三角形 不能构成三角形 不能构成三角形 不能构成三角形
告
缺纸 Do/警
告
装满纸
三、电话号码数据字典
电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 非零数字=[1|2|3|4|5|6|7|8|9] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 数字零=0 8位数字=非零数字+7位数字 3位数字=3{数字}3 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]
本题另一种解法
数据流图
结构图
二、医院监护系统数据流图(0层)
病人 生理信号 时钟
日期、时间
0 监护系统
病情报告 护士
程序流程图盒图PAD图(最终)
对于盒图,本研究发现 盒图可以清晰地展示数 据流和模块之间的关系 ,同时也可以用于表达 算法逻辑和流程。
对于PAD图,本研究发 现PAD图可以清晰地展 示程序的控制流程和数 据结构之间的关系,同 时也可以用于表达算法 逻辑和流程。
综上所述,程序流程图 、盒图和PAD图都可以 用于描述算法逻辑和流 程,但它们具有各自的 特点和适用场景,需要 根据具体需求进行选择 和使用。
PAD图
定义与特点
PAD图(Programming Age Diagram)是一种以方框和箭 头表示程序流程的图形表示方法,用于描述程序逻辑流程和 结构。
PAD图具有结构清晰、层次分明、易于阅读和维护等特点。
PAD图的绘制技巧
将程序按照模块进行分解,并使用方框表示每个模块 。
在箭头上标注相应的操作或判断。
PAD图
由基本模块组合而成,表达清晰简洁。
优缺点比较
程序流程图
盒图(N-S图)
PAD图
优点在于表达清晰直观,易于 理解和分析;缺点是对于复杂 过程的分析可能不够灵活。
优点在于能够将复杂系统分解 为更小的功能模块,方便理解 和分析;缺点是对于具体逻辑 流程的表达不够清晰。
优点在于能够清晰描述程序的 逻辑流程,方便程序设计和编 码;缺点是对于复杂过程的表 达可能不够直观。
01
02
03
程序流程图
用于描述算法或程序的逻 辑流程,表达清晰且易于 理解,适合各种复杂度的 程序。
盒图(N-S图)
用于描述一个过程或系统 的功能模块,特别适合用 于系统分析初期。
PAD图
用于描述具体程序的逻辑 流程,对于程序设计和编 码非常有用。
绘制元素比较
程序流程图
由各种形状的框(代表各种操作)和箭头(代表 流程方向)组成。
软件工程习题 答案
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A) 可行性研究,问题定义,需求分析。
B) 问题定义,可行性研究,需求分析。
C) 可行性研究,需求分析,问题定义。
D) 以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A) 内容耦合,控制耦合,数据耦合,公共环境耦合。
B) 内容耦合,控制耦合,公共环境耦合,数据耦合。
C) 内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D) 控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C)A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
软件工程讲义数据流图
[问题1]
指出图C的数据流图中①,②,③的数据流名。
[问题2]
要供应者,次要供应者)
(2)库存清单(零件编号,库存量,库存量临界值)
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
五、数据流图实例——定货系统
3、画顶层数据流图,即 系统的基本模型。
系统的基本模型由若干个 数据源点/终点以及一个 处理组成,这个处理代表 了系统对数据加工变换的 基本功能。
出入库
仓库 管理员
D1 库存清单
出入库 事务
库存 清单
1 处理 事务
2
定货
产生 报表
报表
采购员
订货 信息
D2
订货 信息
定货信息
图2: 定货系统的功能级数据流图(1层)
泉州师范学院数计学院计算机科学与技术专业
一、数据流图的概念
软件工程讲义
• 数据流图(Data Flow Diagram,DFD)是 一种图形化技术,它描绘信息流和数据从 输入移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件, 它只是描绘数据在软件中流动和被处理的 逻辑过程。它与数据字典一起用来构成系 统的逻辑模型。
数据源点/终点的命名
• 不属于数据流图的核心内容,通常是目标系统的外围环境部分。 通常采用它们在问题域中习惯使用的名字。
泉州师范学院数计学院计算机科学与技术专业
软件工程讲义
六、使用数据流图的几点说明
2、在分析下层的数据流图时,有时没有给出源点与终 点。
3、从一个数据存储中取出来的或放进去的数据通常和 原来存储的数据相同,即数据存储和数据流只不过 是同样数据的两种不同形式。这时候,与数据存储 同名的数据流经常被省略。
软件工程导论选择题
选择题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、软件工程的过程模型中,瀑布模型是经典的传统模型。
软件工程各种图结构
• 数据字典(Data Dictionary ,DD) 是对实体-关系图、状态转换图和数据流图中出现的 所有数据对象、属性、关系、状态、数据流、文件、 处理等元素的定义的集合。
数据字典
数据字典的内容 • 1. 数据元素 • 2. 数据流 • 3. 数据存储 • 4. 数据处理
数据字典使用的符号
• • • • •
过程设计语言
• 过程设计语言(Program Design Language,简称 PDL),也称伪码, 是一种混杂语言,说明某种结构化的程序设计语言的语法形式。 • 用PDL表示的程序结构: 1 顺序结构 处理1 处理2 … 处理3 2 选择结构 l IF-THEN-ELSE结构: IF 条件 处理1 ELSE 处理2 ENDIF
= 表示“等价于”或“定义为” + 连接 [ ],| 表示“或”,用“|”分隔,表示可任选其中某一项 { } 表示“重复” ( ) 表示“可选”,用“,”号隔开
• 1{A} 表示 A 的内容至少要出现 1 次。 • {B} 表示 B 的内容允许重复 0 至任意次。 如: 成绩单=学号+姓名+1{课程名+成绩}3 • 也可写为 成绩单=学号+姓名+ {课程名+成绩}
面向数据结构设计方法
• Jackson 把数据结构(或程序结构)分为 三种基本类型 :(a)顺序 (b)选择 (c) 循环
Jacksan 图特点:
l 能对结构进行自顶向下分解,可以清晰地表示层次结
构 l 结构易读、形象、直观 l 既可表示数据结构也可表示程序结构 Jackson 设计方法的四个步骤: • 1、分析并确定输入数据和输出数据的逻辑结构; • 2、找出输入数据结构和输出数据结构中有对应关系的数 据单元; • 3、从描述数据结构的Jackson 图导出描述程序结构的 Jackson 图; • 4、列出所有的操作和条件,并把它们分配到程序结构图 中去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院计算机科学系实验报告书
课程名:《软件工程》
题目:结构化设计实验
班级: ***********
学号: *************
姓名: *************
结构化设计验报告要求
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图、流图有了真正的了解,对设计各种图的工具更加熟悉,对于结构化软件工程设计阶段的基本任务、概念、原理、技术和方法有了进一步的了解。