《结构化开发方法》PPT课件.ppt

上传人:牧羊曲112 文档编号:1310901 上传时间:2022-11-07 格式:PPT 页数:130 大小:4.76MB
返回 下载 相关 举报
《结构化开发方法》PPT课件.ppt_第1页
第1页 / 共130页
《结构化开发方法》PPT课件.ppt_第2页
第2页 / 共130页
《结构化开发方法》PPT课件.ppt_第3页
第3页 / 共130页
《结构化开发方法》PPT课件.ppt_第4页
第4页 / 共130页
《结构化开发方法》PPT课件.ppt_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《《结构化开发方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《结构化开发方法》PPT课件.ppt(130页珍藏版)》请在三一办公上搜索。

1、第3章 结构化开发方法,结构化开发方法,20世纪70年代发展起来的最早的开发方法典型的结构化开发方法美国的Coad/Yourdon的面向数据流的开发方法欧洲的Jackson/Warnier-Orr的面向数据结构的开发方法日本小村良彦的PAD(问题分析图)开发方法,本章内容安排,需求与需求分析结构化分析软件设计面向数据流的设计面向数据结构的设计PAD图的设计原型开发,需求与需求分析,需求分析的意义完全弄清用户软件需求是任何一项软件开发工作成功的前提和基础需求分析的作用是系统层软件配置与软件设计之间的桥梁能够刻画软件的功能和性能确定软件与其他系统元素(硬/软件和人)的接口建立软件必须满足的约束需求

2、分析的产品为软件设计提供可用的数据、体系结构、人-机界面和过程设计模型为开发者和用户提供对软件质量进行最后验收的准则,分析过程,软件需求分析过程1.问题识别2.评价和综合3.建模4.规格说明5.评审,1. 问题识别,问题识别(Problem Recognition)研究系统规格说明和软件项目计划必须为分析建立各种沟通(communication)关系 目标是弄清用户已经理解的基本问题元素,2. 评价和综合,评价和综合(Evaluation and Synthesis)必须评价信息流和信息内容定义和详细描述全部软件功能熟悉影响系统事件前后关系的软件行为建立系统界面的特征揭示设计限制综合出一个或多

3、个解,3. 建模(Modeling),系统建立模型的目的主要是说明系统必须做什么,而不是怎么做建模的方法问题域划分-必须把大且复杂的问题划分为小且较简单的问题划分的方法-可以按垂直方向对功能逐层细化或按水平方向对功能进行分解,也可两者兼有软件需求是给出要完成的功能和处理信息上,而不应该把实现观点作为给出要完成功能和要处理数据的出发点模型的表达式(representation)图形表格专用语言和自然语言,模型的重要作用,用辅助分析员更好地了解系统的信息、功能和行为,从而使分析更容易和更系统化是评审系统完整性、一致性和规格说明准确性的关键元素是设计的基础,能给设计人员提供一种软件的基本表达式,它可

4、以影射为实现文档,4. 规格说明(Specification),Balyer和Goldman提出了获得良好的规格说明的8条原则(1) 从现实中抽象功能性(2) 要求一个面向过程的系统规格说明的语言(3) 必须围绕整个系统,而软件只是它的一个部分(4) 必须围绕系统的操作环境(5) 必须是一个可以认知的模型(6) 必须是可操作的(7) 必须允许它是不完整的和可扩展的(8) 必须是局部化和松散耦合的,软件需求规格说明,软件需求规格说明 是在对用户需求分析的基础上,把用户的需求规范化、形式化而写成的,其目的:为软件开发提出总体要求作为用户和开发人员之间相互了解和共同开发的基础具有合同的性质初步用户手

5、册初步用户手册作为软件需求规格说明的附件这是为了使开发人员与用户之间更好的沟通必须开发 的。其重点放在用户的功能和I/O上,主要用来发现系统 功能和人-机界面上存在的各种问题 一,软件需求规格说明(GB 8567-88),1. 引言1.1编写说明1.2背景1.3定义1.4参考资料2.任务概述2.1目标2.2用户的特点2.3假定与约束,3.需求规定3.1对功能的规定3.2对性能的规定3.2.1精度3.2.2时间特性要求3.2.3灵活性3.3 I/O需求3.4数据管理能力要求3.5故障处理要求3.6其它专门需求4. 运行环境规定,5.评审,软件需求规格说明的评审是由软件开发者和用户共同完成在宏观高

6、层上评审者要保证规格说明的完整、一致和准确,评审时需要考虑14个方面的问题(教材3637页)在详细低层上为了得到对上述各种问题的回答。评审者可以集中在规格说明的用词上,这样做能够发现隐藏在规格说明内容中的问题。详细评审建议大纲可以从10个方面的用词考虑(教材37页)评审一旦完成,用户和开发者要双方签字,成为软件开发的合同原型开发是解决软件需求规格说明确定中各种问题的可选方法,分析员,有许多叫法系统分析员、系统工程师、程序员、分析员分析员必须具备的条件有掌握抽象概念,并能把其整理为逻辑划分和根据每一个逻辑划分综合为解的能力有从冲突或混惑中吸取恰当事实的能力有弄清用户环境的能力有把硬件和软件系统用

7、于用户环境的能力有较好的用书面和口头形式进行沟通的能力有“从树木见森林”的能力。这是区分一位真正杰出的分析员与一般分析员的标准。只有懂得软件工程的分析员才做一能做到这一点,结构化分析(structured analysis, SA),是一种信息流内容和结构的建模技术是基于计算机系统的一种信息变换,DFD基本符号,实例:一个简化的机票销售系统,需求 售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息(姓名、身份证号码、航班号、票价和到达港);保险公司的服务员负责录入保险金额;售票部经理可随时查询每一个航班的售票情况(航班号、售出机票的数量及营业额),并在当日结算时能

8、计算出日营业额 给出该系统的DFD和DD,DFD(Data Flow Diagram),本系统DFD(一种方案)顶层DFD(0层)二层DFD(1层)三层DFD-1(2层-1)三层DFD-2(2层-2),顶层DFD(0层),二层DFD(1层),三层DFD-1(2层-1),三层DFD-2(2层-2),DD(Data Dictionary ),本系统DD(一种方案)文件(File)数据流(Data Flow)数据项(Data Item)最小处理(Minimum Process)这里只给出一个简化了的机票销售系统DFD图中的部分条目定义。在实际应用中,应给出全部必须说明条目的定义,数据字典-文件,1.

9、 文件1)文件名:旅客基本信息 组成:姓名+身份证号码+航班号+票价+到达港+保险金额 组织:按售票先后顺序2)文件名:机票销售信息 组成:航班号+座位数+售出机票数 组织:按航班号、离港时间的先后顺序排序,数据字典-数据流,2. 数据流1) 数据流名:旅客基本信息 组成:姓名+身份证号码+航班号+票价+到达港+保险金额2) 数据流名:各航班售票信息 组成:航班号+座位数+售出机票数,数据字典-数据项,3. 数据项1) 数据项名:姓名 值:字符串2) 数据项名:身份证 值:1-17位为数字,18位为校验位,值为0-9、X3) 数据项名:航班号 值:前两位为汉语拼音字母后四位方数字4) 数据项名

10、:保险金额 值:204060200,数据字典-最小处理,4. 处理名1) 处理名: 录入保险金额 编号:1.4 输入:保险级别 输出:保险金额 过程:保险服务员根据每位旅客的要求,输入保险级别,系统按照保险金额规定的标准,录入旅客保险金额 触发条件:接到服务员输入旅客姓名和保险金额级别,DFD图中信息流的细化,分析方法-DFD分解规则,在求解DFD的过程中应有以下规则0层数据流图,应当把系统或软件作为一个单一的圆圈来描绘应当格外注意原始输入和原始输出过程的下层细化,一般应控制在3-4个分过程,最多不应超过7个过程(圆圈)和数据流(箭头)应用有意义的名称标注。在同一DFD中,一个名称标注只能出现

11、一次,分析方法- DFD分解规则(续),必须保持层到层之间I/O信息流的连续性最好一次只对一个过程细化;一个过程的细化,一般应细化到最小处理为止一个系统给出DFD的同时,还应开发一个与之对应的DD在开发DFD和DD中,有时还需要给出辅助说明,软件设计,是软件工程过程的技术核心是一个把软件需求转换为软件表达式的过程首先,这种表达式只描绘一个软件的概貌然后,将其细化为一个非常接近于源代码的设计表达式是决定软件质量的重要步骤,它给我们提供了可以进行质量评价的软件表达式软件设计的发展是一个持续的过程早期着重于开发模块化所需要的准则,以及按自顶向下的方式逐步细化软件体系结构接着设计定义的过程逐渐发展成结

12、构化编程原则之后提出了把数据流和数据结构翻译为设计定义的方法近年则建议采用OO设计方法和形式化方法,软件设计准则,为了评价设计表达式的质量,必须建立良好的设计准则:有分层的组织结构应模块化(软件应被逻辑地划分为能完成特定的功能和子功能的构件)有性质不同可区分的数据和过程表达式形成具有独立功能特征的子过程减小子过程间和与外部环境间接口的复杂性应利用需求分析中得到的信息和可重复的方法,设计的基本原理,1.抽象(abstraction)2.细化(refinement)3.模块化(modularization)4.软件体系结构5.控制层次6.数据结构7.软件过程8.信息隐藏,抽象,抽象是强调所注意的方

13、面,而忽略与当前目标无关方面的原理软件工程过程中的每一步都是对软件解的抽象层次一次细化在抽象的最高层可以使用问题环境语言以概括的方式叙述问题的解;在抽象的较低层采用更为过程化的方法;在抽象的最低层则用直接实现的方式来说明抽象的应用对理解各种形式的计算机系统和进行系统开发都是十分重要的,示例:二维绘图系统,第一层抽象该软件包括一个计算机图形接口,它能在 绘图员和鼠标之间进行可视化通信,鼠标代替了绘图板和丁字尺。所有的直线和曲线描绘、所有的几何计算、所有的剖面图和辅助视图都可以由CAD软件来完成。画法存储在一个绘图文件中,它包括所有几何、文本和辅助设计信息 由此可见,其解是使用问题环境语言来概括的

14、,示例:二维绘图系统,第二层抽象CAD软件的任务:用户交互任务;二维图形绘制任务;图形显示任务;绘图文件管理任务;结束 应当注意:应把与CAD软件有关的每一个软件任务都列出来。所用术语已离开问题所处环境,但仍不是实现说明,示例:二维绘图系统,第三层抽象procedure:二维图形绘制 repeat until绘图任务终止 do while与绘图机进行交互 绘图机接口任务; 终止绘图请求; 直线:直线绘制任务; 曲线:曲线绘制任务; 卜 end; do while与键盘进行交互 键盘交互任务; 分析/计算选择; 视图:辅助视图任务; 剖面图:横剖面任务; end; end repetitione

15、nd procedure. 在这个层次上一个初步的过程表示已经产生。其所用术语已经是面向程序(使用了do while等结构),并开始显一出楼模块化的意义,细化,细化是一种自顶向下的设计策略程序的体系结构开发是由过程的细节层次不断细化而成分层开发则是逐步分解一个宏功能(一个过程抽象)直到获得编程语言语句每一步细化都隐含着一定的设计决策随着任务的细化,数据也要细化、分解或结构化,模块化,模块(module)是单独命名和可编址的构件模块化是软件的一个重要属性模块化使得一个程序易于为人们所理解、设计、测试和维护模块化过程中,必须减少接口的复杂性,提高模块的独立性,才能有效地降低软件总的复杂性,模块化原

16、则,软件体系结构,软件体系结构包含了过程构件(模块)的层次结构和数据结构结构决定于软件设计方法。由于各种设计方法的原理不同,因而同一个软件需求也会导出不同的软件件系结构到底哪一种设计方法最好?可以通过分析的方法来确定它们的整体质量,需求分析到设计的转换,可供选择的结构,控制层次,常用的为树形结构深度表示控制的层次,宽度表示同一个层次上控制的最大数扇出(fan out)是对一个模块直接控制其他模块数目的量度,扇入(fan in)则是一个给定模块被多少个模块直接控制的量度,树形控制结构图,数据结构,数据结构是一种数据各元素之间逻辑关系的表达式数据结构与程序结构同样重要。因为数据结构影响最后的过程设

17、计数据结构决定信息的组织、存取方法和结合程度,以及可选的处理方法,软件过程,软件过程则着重于每一个单独模块的处理细节,而软件体系结构中模块只表明它们所处的位置、应完成的功能,以及I/O关系过程必须提供精确的处理规格说明,包括事件的顺序、确切的抉择点、重复的操作,以及数据的组织与结构每个模块的处理中必须说明该模块的所有从属模块软件过程的表示也是分层的,一个模块内的过程,过程的分层,信息隐藏,模块设计决策的特征彼此是隐藏的。即包含在模块内的信息(过程和数据)对其他不需要这些信息的模块是不可访问的有效的模块化应该通过一组独立的模块来达到这样做的结果,对模块的设计、编码测试和维护带来极大的好处,模块化

18、设计:模块的独立性,模块的独立性是模块化、抽象和信息隐藏概念的产物模块的独立性是通过开发具有单一功能和与其他模块没有过多交互作用的模块来达到的可用聚合(Cohesion)和耦合(Coupling)两个定量准则来度量(measurement)聚合是模块功能相对强度的量度(metrics)耦合是模块之间相对独立性的量度两者相互关联。在一个系统中一个高,另一个就低,聚合的7个等级,偶然聚合逻辑聚合时间聚合过程聚合通信聚合顺序聚合功能聚合,聚合度最低,最差,聚合度最高,最好,耦合的7个等级,非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合,耦合度最低,最好,耦合度最高,最差,降低耦合度,为了

19、减少模块间的耦合,可以采取下列措施在耦合方式上可通过CALL语句调用(非直接耦合),而不采用直接引用(内容耦合)在传递信息类型上应尽量使用数据型(数据耦合),而少采用控制型(控制耦合)。控制/数据型的信息传递应坚决避免使用,因其耦合度最高。外部环境耦合(外部耦合)和公共环境耦合(公共耦合)不可避免,但应尽量控制它们的使用范围在耦合数量上当模块间相互调用时,模块间传递参量的个数最好只有一个。在大多数情况下,24个就足够了,数据设计,数据设计通常作为需求分析任务的一部分,并与需求分析重叠进行定义和设计数据的原则用于功能和行为的系统分析原则也可应用于数据设计应确定所有的数据结构及每个数据项上所进行的

20、操作应建立数据字典,用于数据定义和程序设计低层的数据设计决策,应在设计过程的后期进行数据结构的表达式应当采用那些通用的模型应当开发数据结构及其操作的实用库软件设计和编程语言应当支持抽象数据类型的规格说明和实现,体系结构设计,主要目标开发一个模块化的程序结构,并给出各个模块之间的控制关系体系结构设计原则模块大小 一个模块最好只包含5060条语句深度/宽度与扇出/扇入 一般讲,高层模块应有较高的扇出,低层模块特别是底层模块应有较高的扇入。设计者主要关心的是模块的高聚合和低耦合,及模块大小判定的作用域和模块的控制域理想情况是,作用域应限制在作出条件或判定的那个模块本身,以及它的直属下级,作用域和判定

21、域示意图,过程设计,结构化程序设计思想的提出概念最早由Dijkstra提出,他是鉴于高级语言Fortran中的”GOTO语句有害”结构化程序设计促进了一种新的程序设计思想、方法和风格的确立,这是存储程序计算机问世以来计算机界影响最大的一次软件概念的革命。,设计表示法图形设计表达式表格设计表达式过程设计语言表达式,结构化程序设计中的三种结构顺序(Sequence)条件(Condition)重复(Repetition),过程设计表示法,图形设计表达式表格设计表达式过程设计语言表达式,图形设计表达式,流程图盒图HIPO图Warnier-Orr图(在面向数据结构方法讲)PAD图(在PAD开发方法讲),

22、流程图,组合构造过程,使用结构化构造的好处,结构清晰减少程序的复杂性提高程序的可读性、可测试性和可维护性,使用结构化构造的问题,问题1-是否能将问题解的任何算法都表示为上述结构化构造?问题2-由于使用五种基本构造,当遇到多层嵌套循环时。如果每层只允许一个出口,是否会影响退出时的效率?问题3-关于高层的宏观流程图与低层的微观详细流程图是否应该区分?,问题1,1976年由Boehm Jacopini,并经Mills进一步发展,在理论上证明了问题解的任何算法都可以表示为上述结构化构造定理1-假如不增加辅助变量,不增加额外计算或不改变程序的执行顺序,那么必然存在不能用if-while表示的构造定理2-

23、在定理1的假设条件下,if-while构造的充分必要条件是:该构造不包含两个(或两个以上)出口的循环定理3-若允许增加辅助变量,增加额外计算或改变程序的执行顺序,问题解的任何算法都可以表示为上述结构化构造,示例:改变构造执行顺序,示例:增加额外计算,示例:增加辅助变量,问题2,如果只使用上述5种基本构造,肯定会影响退出时的效率。为解决这类问题,许多程序设计语言都设置了循环终止结构,问题3,高层宏观流程图与低层微观详细流程图应该区分低层微观详细流程图只用于一些控制结构比较复杂的模块高层宏观流程图多用于一些高层的描述,只说明系统体系结构中模块的数量、相互关系,及其所属功能,盒图(又叫N-S图或Ch

24、apin图),HIPO图(分层输入-处理-输出图),表格设计表达式,判定表的出现先于软件工程十几年,但不失用于过程设计判定表的性质提供了一种把各种动作与条件(在处理解说词中描述的)转换为表格形式的表达式判定表的好处不容易产生误解,还可作为一种表驱动算法的机器直接输入使用,判定表,示例:电费计算的判定表,过程设计语言表达式,过程设计语言(Procedure Design Language, PDL)应具有以下特点所有关键字(keyword)都应有固定的语法,以便提供全部结构化构造、数据说明和模块化特性描述处理特性的说明性语言可以没有严格的语法数据说明设施应包括简单的(标量、数组)和复杂的(链表或

25、树)数据结构应有子程序定义和调用技术,用来描述各种方式的接口说明。,设计规格说明,设计的产品设计规格说明(Design Specification)设计规格说明概要设计规格说明主要说明系统的结构设计思路,为详细设计提供基础详细设计规格说明主要说明系统结构中每个模块(或子程序)的过程设计思路。,概要设计规格说明(GB8567-88),1.引言1.1编写目的1.2背景1.3定义1.4参考资料2.总体设计2.1需求规定2.2运行环境2.3基本设计概念和处理流程2.4结构2.5功能需求与程序(模块)的关系2.6人工处理过程2.7尚未解决的问题3.接口设计3.1用户接口,3.2外部接口3.3内部接口4.

26、运行设计4.1运行模块组合4.2运行控制4.3运行时间5.系统数据结构设计5.1逻辑结构设计要点5.2物理结构设计要点5.3数据结构与程序(模块)的关系6.系统出错处理设计6.1出错信息6.2补救措施6.3系统维护设计,详细设计规格说明(GB8567-88),1.引言1.1编写目的1.2背景1.3定义1.4参考资料2.程序(模块)系统的组织结构3.程序(模块)1(标识符)设计说明3.1程序(模块)描述3.2功能3.3性能3.4输入项,3.5输出项3.6算法3.7流程逻辑3.8接口3.9存储分配3.10注释设计3.11限制条件3.12测试计划3.13尚未解决的问题4.程序(模块)2(标识符)设计

27、说明,面向数据流的设计,面向数据流的设计(data flow-oriented design)就是根据问题域的数据流定义一组不同的映射,把问题域的数据流转换为问题解的程序结构这种方法通常又叫做结构化设计(Structured Design, SD),由Yourdon和Constantine等人于1974年提出是建立在早期模块化、自顶向下逐步细化和结构化编程设计概念上的;并扩展了这些技术,它把数据流融入了设计过程与结构化分析(SA)衔接,构成了一种完整的结构化分析设计技术,即Yourdon方法,是目前使用最广泛的软件设计方法之一,设计过程,从数据流到程序结构的转换要经过以下5个步骤才能完成(1)

28、确定数据流的类型(2)说明数据流的边界(3)把DFD映射为程序结构(4)根据元素的分解,定义控制的层次(5)使用设计度量和试探法(heuristics), 对产生的结构进行细化和求精,示例:机票销售系统结构化设计,变换中心,输入模块,输出模块,DFDSC,结构图(SC)基本符号,数据流类型:变换流,数据流类型:事务流,DFDSC:变换流设计,变换流设计过程找出变换中心设计软件结构的顶层和第二层设计中、下层模块,DFDSC:事务流设计,事务流设计过程确定事务处理中心和每条加工路径设计事务流DFD的软件结构对事务处理中心的结构和每个事务加工路径的结构进行细化,DFDSC:混合流设计,混合流设计过程

29、画出输入、变换和输出设计软件结构的上层根据DFD图各部分的特征,进行变换设计和事务设计,详细的设计步骤,面向数据流设计方法的设计步骤评审基本系统模型评审和完善软件的DFD图确定该DFD图的变换流和事务流特征根据确定的输入流和输出流边界,找出变换中心实现第一层的分解实现第二层的分解为提高软件质量,利用设计直观推断的方法对已完成的程序结构进行完善,设计的后处理,要成功地应用变换分析或事务分析,还要求有相应的设计文档作为体系结构设计的补充为每个模块开发一份处理说明为每个模块提供一份接口描述定义局部和全局数据结构给出所有的设计限制或约束进行概要设计评审如果需要且合算的话,还要对结构进行优化设计,面向数

30、据结构的设计,面向数据结构的设计(data structured-oriented design)是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的程序结构面向数据结构的设计是由Jackson(1975,1983年)、Warnier(1974年,1981年)、和Orr(1981年、1989年)提出与面向数据流的设计一样,是使用广泛的方法之一,Jackson结构化编程,Jackson认为,流程图不是最好的设计工具因为设计首先考虑的应该是问题的结构,而流程图却让设计者首先考虑的是程序在计算机内的执行顺序(算法)。这样,就掩盖了有问题的结构。Jackson提出,设计者不应再画流程图,程

31、序结构应基于问题的数据结构,程序结构应基于数据结构,Jackson的结构图解,顺序结构,选择结构(二选一),重复结构,选择结构(多选一),Jackson的图解逻辑,顺序结构 A seq do B; do C; do D; A end,选择(二选一) A select I0 do B; A or do C; A end,选择(多选一) A select code=“I” do B; A or code=“J” do C; A or code=“K” do D; A or code”I”、 ”J”、”K” do E A end,重复结构 D iter while I10 C seq do A; d

32、o B; C end D end,Jackson设计步骤,Jackson设计步骤研究问题环境,确定要处理问题的数据结构 把数据结构转换为程序结构。用基本操作来定义要完成的任务,并把每个基本操作分配到程序结构的合适的元素中去,以获得带有操作的最终程序结构根据最终的程序结构,可以将其翻译为图解逻辑将图解逻辑转换为目标语言,设计示例:磁带记录,第一步:确定数据结构,设计示例:磁带记录,第二步:转换为程序结构框架,设计示例:磁带记录,第三步:定义基本操作 (1)打开文件 (2)关闭文件 (3)读出文件 (4)显示总数 (5)组计数器清零(GC) (6)A计数器清零(AC) (7)B计数器清零(BC)

33、(8)GC+1 (9)AC+1 (10)BC+1 (11)显示文件头 (12)终止,设计示例:磁带记录,第四步: 把操作分配给各程序元素,第五步 翻译为Jackson图解逻辑,设计示例:磁带记录,第五步 翻译为Jackson图解逻辑,Warnier-Orr开发方法,Warnier-Orr开发方法与Jackson结构化编程都是基于数据结构的,但其结构图解和设计方法有所不同Warnier-Orr开发方法又叫做数据结构化系统开发(DSSD),是由Warnier-Orr于1983年提出来的这种方法由程序逻辑构造法(LCP)扩展而成,它不但增强了设计能力,还增强了分析能力,Warnier-Orr结构图解

34、,设计方法,逻辑设计过程两种活动逻辑输出结构(Logical Output Structure, LOS)的导出逻辑过程结构(Logical ProcessStructure, LPS)的导出,LOS的导出,在应用中,要到处LOS可分为4步(1)评价问题说明或相关需求信息,并列出所有不同的、不能再进一步细化的数据项(原子(atom)(2)确定每个原子发生的频率(3)评价所有可细分的数据项(也称组合数据项)(4)开发LOS图解表达式,LPS的导出,为导出LPS,要进行以下几步(1)从LOS的Warnier-Orr图中去掉所有的原子(2)把定义符BEGIN和END加到所有组合数据项(重复)上(3)

35、定义所有起始、终止或处理的细则(4)确定所有计算或非数值处理 (5)确定所有输出细则和过程(6)确定所有输入细则和过程。,示例:机床工具使用时报告,LOS的导出:原则和频率,LOS的导出(LOS的Warnier-Orr图),LPS的导出(变换LOS为LPS的Warnier-Orr图),LPS导出(导出的LPS扩展Warnier-Orr图),LPS导出(完成的LPS规格说明),PAD图的设计,PAD图的提出PAD图由日本日立制作所中央研究所主任研究员小村良彦等提出PAD图是一种用于过程设计的士表达式PAD图的特点PAD图综合了流程图、盒图、Warnier图和伪码等技术的一些优点,在Pascal语

36、言基础上发展而成基于Pascal的控制结构,用二维树形成描述程序的逻辑结构清晰PAD图的应用可应用于多种编程语言不仅支持软件的详细设计阶段,还支持软件的概要设计和需求分析阶段,PAD图设计的基本原理,PAD图基本符号,PAD图基本符号(续),PAD图的基本图式和语言的标准模式,PAD图的基本图式和语言的标准模式(续),示例,打印1968年出身的学生人数,并统计全班男女学生各有多少名,示例的PAD图,示例的PAD图(续),示例的PAD图(续),示例的PAD到C语言的源程序,示例的PAD到C语言的源程序(续),原型开发,原型开发是在生产过程中,先建立一个能反映最终产品所有预定性能的模型其目的是便于

37、实验和评价,以指导进一步的开发和生产原型开发可以应用到不同的开发领域,原型开发的分类,原型分抛弃式原型、演化式原型和增量式原型抛弃(throw-away)式原型的最大用处是辅助分析和确定用户需求,及解决系统任何部位的不确定性问题演化(evolutionary)式原型可以作为一种开发方法,利用演化成为最终系统增量(incremental)式原型开发可以作为瀑布模型开发的补充,原型开发活动,为了使原型开发有效,应当在一个有计划的框架内有效地进行建立原型开发目标功能选择原型构造评价,原型开发的技术,功能原型可执行规格说明超高级语言面向应用的超高级语言函数型编程语言工具包可重用软件,用户界面原型模拟形式文法状态转换图其他形式化方法屏幕生成器和工具语言支持设施,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号