从数据流程图导出初始结构图方法模板
- 格式:doc
- 大小:35.50 KB
- 文档页数:7
实验04Visio 绘制工程图形1. 阅读:《未来之路》与《数字化生存》1996年,微软公司的缔造者比尔·盖茨 (Bill Gates ,图4.11)曾撰写过一本在当时轰动一时的书——《未来之路》,他在书中预测了微软乃至整个科技产业未来的走势。
盖茨在书中写道:“尽管现在看来这些预测不太可能实现,甚至有些荒谬,但是我保证这是本严肃的书,而决不是戏言。
十年后我的观点将会得到证实。
”十年后,回望盖茨的《未来之路》,部分预测已经成为现实。
1996年,一本充满洞见的《数字化生存》风靡中国,它的翻译出版曾经引发中国人对未来信息世界的狂热激情与无尽梦想,这几乎被视为中国因特网启蒙运动的开始。
而此书的作者尼古拉斯•尼葛洛庞帝 (Nicholas Negroponte ,图4-12) 也由此被称Visio 绘制工程图形 图4.11 比尔 盖茨之中国因特网的启蒙者。
尼葛洛庞帝是美国麻省理工学院教授及媒体实验室的创办人,同时也是《连线》杂志的专栏作家。
他被西方媒体推崇为“电脑与传播科技领域最具影响力的大师之一”,一直倡导利用数字化技术来促进社会生活转型。
回顾10多年来,尼葛洛庞帝的数字化生存理论已经被一一验证。
一场轰轰烈烈的数字图4.12 尼葛洛庞帝革命使中国人的生活方式、生存方式乃至思维方式发生了深刻的变革。
结合本课程的学习,建议你找出时间来阅读一下盖茨的《未来之路》与尼葛洛庞帝的《数字化生存》,尝试从广泛阅读中体会学习的乐趣与汲取丰富的知识。
阅读后,建议你找个机会和老师、同学们来分享你所获得的体会与认识。
2. 习题与思考4.1 当你要“写”一个程序时,你是在设计软件吗?什么原因使得软件设计不一致于编写程序?答:_________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 4.2 模块独立性与信息隐蔽(反映模块化有效程度的属性) 有何关系?答:_________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 4.3 模块的内聚性程度与该模块在分层结构中的位置有关系吗?说明你的论据。
2022年太原理工大学软件工程期末考试一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚B模块低耦合C模块独立性D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A)A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D)A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D)A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依托据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从()语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系D属性12、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小13、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A)A.黑盒法B.白盒法C.灰盒法D.综合法14、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C)A业务流程图,数据字典B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码15、结构化程序设计思想的核心是要求程序只由顺序、循环和( A)三种结构组成。
数据流程图和系统结构图_详细版本数据流程图1.该图由业务流程图转换而来。
用以描述数据在系统中的流动情况。
2.目的有二。
1,看是否因为我们工作的失误,漏掉了某些数据。
2,如果某些数据,从来没有哪个数据处理用到,而且确实没有失误,说明该数据的产生没有意义。
3.组成:数据处理:名字必须是动词+名词。
动词是对数据的操作,名词是被操作的数据,如填写密码。
有一个唯一的编码。
数据流:Array数据存储:数据流的集合,将来很有可能变成数据库。
外部实体:系统之外,又与本系统发生联系的事物。
往往是数据的来源或者去向。
4.如何绘制数据流程图:(1)根据给出的题意,找出每句的动词+名词,分析该名词是不是数据处理。
动词+名词不一定是数据处理,但数据处理一定是动词+名词。
分析每个句子中,有几个数据处理,哪些可以省略不写,哪些级别太低,在现在正在画的层次上,不需要些。
例如第6句,动词+名词有信息汇总排序、确定信息等级、形成初始表和上报初始表这4个,但我们上报初始表,可以通过一个数据流的来表示,数据流的名字叫做初始表,数据流的方向代表了上报的方向;而信息汇总排序、确定信息等级我们认为他们是形成初始表的具体过程,故此,这句话,我们整理的数据处理只有一个,那就是形成初始表。
并不是说每句话只能有一个数据处理。
有一句话有两个甚至以上的数据处理。
例如第7句,这里面有两个数据处理,因为是不同对象操作的不同的业务,因此两个都留着。
(2)第2步是找出所有的外部实体,外部实体一般数据的来源或者去向。
在画外部实体的时候,注意别忘了一些容易忽视的,例如第5句中的文件。
(3)第3步是找出主要的数据存储。
其实,基本上每一个数据处理,都可能产生一个数据存储,例如提供考试成绩这个数据处理,产生一个考试成绩的数据存储。
但一个是为了阅读的清晰,另外数据存储将来可能转换为未来系统的数据库。
因此,一般只画主要的。
因为这个是奖学金评定的流程,因此,将奖学金的初始表、总名单作为了数据存储,包括档案,在这里,档案其实也可以画成外部实体。
从数据流程图导出结构图数据流程图有两种典型的结构:变换型结构和事务型结构。
对这两种结构,可以分别通过变换分析和事务分析方法导出标准形式的结构图。
采用这些方法时,都是先设计结构图的顶端主模块,然后自顶向下逐步细化,最后得到满足数据流程图要求的系统结构。
一、变换分析变换结构是一种线性结构。
它可以明显地分成逻辑输入、主加工和逻辑输出。
变换分析过程可以分为三步:找出逻辑输入、主加工和逻辑输出,设计顶层模块和第一层模块,设计中、下层模块。
下面分别讨论。
1、找出系统的逻辑输入、主加工和逻辑输出如果设计人员经验丰富,又熟悉系统说明书,则容易确定系统的主加工。
例如,几股数据流的汇合处往往就是系统的主加工。
若一时不能确定哪是主加工,可以用下面的方法先确定哪些数据流是逻辑输入,哪些数据流是逻辑输出。
从物理输入端开始,一步步向系统的中间移动,直至这样一个数据流:它已不能再被看作系统的输入,则它的前一个数据流就是系统的逻辑输入。
同理,从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。
介于逻辑输入和逻辑输出之间的加工就是主加工。
当然,实际的数据流程图往往比这个例子复杂,输入、输出数据流都可能有多个。
这时,需要对每个输人、输出数据流进行分析,确定相应的逻辑输入、逻辑输出。
处于这些逻辑输入、逻辑输出之间的处理框就是主加工。
主加工可能包括数据流程图中的多个处理框。
从上面的分析过程可以看出,逻辑输入、逻辑输出的划分涉及对数据流的理解。
各人的理解不同,结果就有差异,但一般出入不会太大。
2、设计顶层模块和第一层模块找到主加工之后,遵照"自顶向下,逐步加细"的原则,设计各层的模块。
每创建一个模块,必须确定该模块的外部特征:模块的功能、与其他模块的界面(调用时传送的信息)。
为每个模块起一个名字,这个名字应当恰如其分地反映出这个模块的功能。
系统的主加工就是系统的顶层模块,其功能就是整个系统的功能。
第一层模块按输入、变换、输出等分支来处理:为每一个逻辑输入设计一个输人模块,其功能是为顶层模块提供相应的数据;为每一个逻辑输出设计一个输出模块,它的功能即是输出顶层模块的输出信息;为主加工设计一个变换模块,它的功能就是将逻辑输入变换成逻辑输出。
软件工程中的结构化设计方法张耀民【摘要】针对大型项目开发,为了保证软件产品质量,提高软件开发效率,在进行详细设计、程序设计之前,必须先确定软件总体结构,而结构化设计方法是进行软件总体结构的主要方法.该方法以需求分析阶段获得的数据流图为基础,通过一系列映射,把数据流图变换为软件结构图.在此主要分析了不同类型数据流图如何“映射”成软件总体结构,并给出了优化软件结构的规则,及不同类型数据流图“映射”成软件总体结构图时顶层、第1层及其下层的转换方法,其可操作性强.%For large-scale project development, the general software structure must be confirmed to guarantee the quality of the software product and improve the software development efficiency before a detailed design and program design. The structured design method is a main method to design the general structure of software, The method takes the data flow diagram obtained in the requirement analysis stage as a foundation to convert the data flow graphs to the software structure diagrams through a series of maps. This paper analyzes how different types of data flow diagrams map into the software general structure and gives the rules of optimizing software structure. The innovation is a conversion method of top layer, first layer and bottom layer when a different type of data stream graph is converted into a general software structure diagram. The method has a strong operability.【期刊名称】《现代电子技术》【年(卷),期】2012(035)016【总页数】4页(P39-42)【关键词】软件工程;结构化设计;软件结构优化;映射【作者】张耀民【作者单位】陕西工商职业学院,陕西西安 710119【正文语种】中文【中图分类】TN919-34软件工程的基本思想是面对复杂的问题,让软件的开发按照工程的概念、原理、技术和方法模式来实施,有计划地按照要求分阶段实现。
10。
在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c: Course),则类CourseSchedule和类Course之间的关系是:( )A。
泛化(generalization)关系 B.组合(composition)关系C.依赖(dependency)关系 D。
包含(include)关系13. 进行企业系统规划,哪种规划方法使目标识别比较全面A、企业系统规划法B、关键成功因素法C、战略目标集转化法D、成本效益分析法14. 系统开发的生命周期中不包括下列哪个阶段()A。
系统规划 B.系统分析 C.系统设计 D。
系统实施19.面向对象程序设计将描述事物的数据与 ( )封装在一起,作为一个相互依存、不可分割的整体来处理。
A。
信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象22。
属于系统设计阶段的工具是():A.数据流程图B. 处理流程图C.系统流程图D. HIPO图23.进行企业系统规划,哪种规划方法可以形成一套完整的信息系统结构方案( )A。
企业系统规划法 B。
关键成功因素法C。
战略目标集转化法 D。
成本效益分析法30. 导出模块结构图的基础是()A。
业务流程图 B.数据流程图 C.处理流程图 D。
层次结构图32。
( )是从用户使用系统的角度描述系统功能的图形表达方法。
A。
类图 B. 对象图 C. 序列图 D. 用例图35. UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。
消息序列可用两种图来表示,分别是( D )A.状态图和顺序图B.活动图和协作图C.状态图和活动图 D。
顺序图和协作图36. 用例(Use-case)用来描述系统在事件做出响应时所采取的行动。
用例之间是具有相关性的.在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。
从数据流程图导出初始结构图方法
下面分别讨论经过”变换分析”和”事务分析”技术, 导出”变换型”和”事务型”初始结构图的技术。
1.变换分析
根据系统说明书, 能够决定数据流程图中, 哪些是系统的主处理。
主处理一般是几股数据流汇合处的处理, 也就是系统的变换中心, 即逻辑输入和逻辑输出之间的处理。
确定逻辑输入——离物理输入端最远的, 但仍可被看作系统输入的那个数据流即为逻辑输入。
确定方法是从物理输入端开始, 一步步向系统的中间移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输入, 则其前一个数据流就是系统的逻辑输入。
确定逻辑输出——离物理输出端最远的, 但仍可被看作系统输出的那个数据流即为逻辑输出。
方法是从物理输出端开始, 一步步向系统的中间反方向移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输出, 则其后一个数据流就是系统的逻辑输出。
对系统的每一股输入和输出, 都用上面的方法找出相应的逻辑输入、输出。
逻辑输入和逻辑输出之间的加工, 就是系统的主加工。
如图4-24所示。
图4-24(a)初始DFD图
图4-24(b)找系统的主加工
2) 设计模块的顶层和第一层
”顶层模块”也叫主控模块, 其功能是完成整个程序要做的工作。
在与主加工对应的位置上画出主模块。
系统结构的”顶层”设计后, 下层的结构就按输入、变换、输出等分支来分解。
设计模块结构的第一层: 为逻辑输入设计一个输入模块, 它的功能是向主模块提供数据; 为逻辑输出设计一个输出模块, 它的功能是输出主模块提供的数据; 为主加工设计一个变换模块, 它的功能是将逻辑输入变换成逻辑输出。
第一层模块同顶层主模块之间传送的数据应与数据流程图相对应。
这里主模块控制并协调第一层的输入、变换、输出模块的工作。
( 3) 设计中、下层模块
由自顶向下、逐步细化的过程, 为每一个上层模块设计下属模块。
输入模块的功能是向它的调用模块提供数据, 由两部分组成: 一部分是接受输入数据; 另一部分是将这些数据变换成其调用模块所
需要的数据。
在有多个输入模块的情况下, 我们可为每一个输入模块设计两个下层模块, 其中一个是输入, 另一个是变换。
输出模块的功能是将其调用模块提供的数据变换成输出的形式。
也就是说, 要为每一个输出模块设计两个下层模块, 其中一个是变换, 另一个是输出。
该过程自顶向下递归进行, 直到系统的物理输入端或物理输出端
为止, 如图4-25所示。
图4-25由变换型数据流程图导出初始模块结构图
变换模块设计下层模块则没有通用的规则能够遵循, 能够根据数
据流程图中主处理的复杂与否来决定是否分为子处理。
每设计出一个新模块, 应同时给它起一个能反映模块功能的名字。
运用上述方法, 就可获得与数据流程图相对应的初始结构图。
2.事务分析。