面向过程的软件设计方法PPT_第1页
面向过程的软件设计方法PPT_第2页
面向过程的软件设计方法PPT_第3页
面向过程的软件设计方法PPT_第4页
面向过程的软件设计方法PPT_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

软件设计的目标和任务软件设计基本模块独立结构化设计方法数据设计和文件设计流程设计,第四章面向流程的软件设计方法,第一,软件设计的目标和任务,基于信息域表示的软件要求,功能和性能要求的数据设计系统结构设计流程设计。2,数据设计侧重于数据结构的定义。系统结构设计定义了软件系统主要组件之间的关系。工艺设计是将结构图元转换为软件的过程说明。在编码阶段,按照这些过程说明生成源代码,然后进行测试,最终获得完整有效的软件。3,开发阶段的信息流,4,软件设计是后续开发阶段和软件维护任务的基础。没有设计,只能建立一个不稳定的系统结构。5、从软件设计工作、工程管理角度看,软件设计分为两个阶段。将软件需求转换为数据结构和软件系统结构的摘要设计。详细设计,即工艺设计。优化结构表示,获得软件的详细数据结构和算法。6,7,7,软件设计过程,1 .在软件开发阶段早期,必须制定设计时必须遵守的标准,以便软件开发组可以协调组内的成员工作。8,阅读和理解软件要求文档,确认是否达到用户要求,通过明确的实现条件确定设计的目标和优先级目标,根据设计文档的编写标准,编码信息的形式、硬件、操作系统的接口规定,命名规则,9,2。软件系统结构的总体设计,基于功能层构建系统。使用系统按功能分类为模块层次的方法,确定每个模块的功能设置和与确定的软件需求的对应关系确定模块之间的调用关系确定模块之间接口评估模块划分的质量,10,3。处理方式设计,确定实现系统功能要求所需的算法,评估算法的性能确定满足系统性能要求所需的算法和模块之间的控制方式处理时间响应时间吞吐量精度确定外部信号的接收传输形式,11,4。数据结构设计、与软件相关的文件系统的结构和数据库的模式、子模式、数据完整性和安全设计决策输入、输出文件的详细数据结构组合算法设计、确定算法所需的逻辑数据结构和任务决策逻辑数据结构所需任务的程序模块(包)、12、单个数据设计决策的影响范围限制,以及在需要数据时使用详细数据结构和规则数据与识别操作系统或调度程序接口所需的控制表13,一致性设计:保证软件运行过程中使用的数据类型和值的范围不变,同时处理过程中使用中断和中断释放机制,防止数据损坏,保持冗余设计:对同一问题,两个开发人员采用不同编程风格的算法设计软件,如果两个运行结果的差异不在允许范围内,则使用错误检查系统进行修改,或使用投票技术确定正确的结果。14、5。可靠性设计,可靠性设计也称为质量设计。为了适应生产过程中环境的变化和用户的新要求,需要经常改造和修改软件。从软件开发初期开始,应确定软件可靠性和其他质量指标,并考虑适当的措施,使软件易于修改和维护。15,6。为摘要设计阶段创建文档、完成摘要设计阶段时,必须创建以下文档:摘要设计指南数据库设计指南初步测试计划开发,16,7。摘要设计审查、可跟踪性:验证设计是否符合确定的所有软件要求,验证软件的每个组件是否都可以追溯到特定要求接口:确保明确定义了相应软件的内部和外部接口。模块是否满足高凝聚力和低耦合要求。模块的范围是否在该控制范围内危险:验证设计是否能在现有技术条件和预算范围内按时实现,17,实用性:验证该设计是否是解决方案对需求的实用技术清晰度:验证该设计是否以容易翻译为代码的形式表示可维护性:验证该设计是否考虑了未来维护的质量:验证该设计是否表示良好的质量特性,18,多种选择.对等的评价,19,详细设计过程中需要完成的工作包括:1.确定软件每个组件内的算法和每个部分的内部数据组织2。选择描述各种算法的进程的表示法。3.详细设计研究、详细设计、20、软件设计基础、自上而下、逐步详细软件结构程序结构图模块化抽象信息隐藏、21、自上而下、逐步详细信息、软件体系结构逐层细分流程详细信息和每个层的数据详细信息,直至实现编程语言的语句,从而建立整体体系结构。22、软件结构和软件结构由两部分组成。程序的模块结构和数据的结构软件的体系结构是通过一个分割过程完成的。此分割过程从需求分析建立的目标系统的模型开始,分割整个问题,以便每个部分由一个或多个软件组件解决,从而解决整个问题。23、24、程序结构、程序结构显示了程序单个部件(模块)的配置,是软件的进程表示。25、映射和原理图反映了程序中模块之间的层次调用关系和连接。以特定符号表示模块之间的调用关系和模块之间的信息传递。26、模块:模块用矩形框表示,用模块名表示。27,模块的调用关系和接口:模块通过单向箭头连接,箭头指向调用模块,表示调用模块调用了调用模块。28,模块间信息传递:当一个模块调用另一个模块时,调用模块将数据或控制信息传递给调用模块,以便调用模块运行。调用模块在调用模块、29、模块a的箭头末端用菱形符号标记执行期间生成的数据或控制信息,以指示模块a有条件地调用其他模块b。一个显示在调用箭头的末尾,以弧形符号表示模块a重复调用模块c和模块d。30,程序的系统映射,31,模块化,软件系统的模块化,将整个软件划分为单独的命名和可寻址部分称为模块。这些模块可以装配以满足整个问题的需要。将问题/子问题的分解与软件开发的系统/子系统或系统/模块相对应,可以将大型复杂的软件系统分为易于理解的相对简单的模块结构。32、抽象、软件系统在进行模块设计时可以具有不同的抽象级别。在最高的抽象层次上,可以用有问题的环境的语言概括问题的解决方法。低抽象级别使用程序方法。33,(1)流程的抽象可以看作是从软件工程到系统定义到实施的每个进展阶段软件解决方案的抽象过程的一个步骤。软件要求分析步骤将如何解决软件描述为“熟悉有问题环境的术语”。抽象的层次结构从摘要设计逐步缩小到详细设计。生成源程序时达到最低抽象级别。,34,例如CAD软件开发的三个抽象层,抽象层。软件:作为说明问题环境的术语,该软件包含计算机图形界面、图形输入板上的图形显示、数字化仪和数字化仪界面(而不是t字)。所有直线、折线、矩形、圆和曲线的绘图纸、所有几何计算以及所有剖面和辅助视图都可以用此CAD软件实现。35,抽象层。工作需求的说明。cadsoftwaretossuserinteractiontask;2-Ddrawingcreationtask;GraphicsdisplaytaskDrawingfilemanagementtaskEnd .此抽象级别不提供有关“如何”的信息,无法直接实施。36,抽象层iii。程序进程表示。例如, procedure:2-ddrawingcreationrepeat until(drawingcreationtaskterminates)do while(digitizerinteractiononsDETERMINEdrawingrequestCASEline:linedrawing task;rectangle:rectangledrawingtask;circle:circledrawingtask;37、(2)数据抽象在不同级别描述数据对象的详细信息,并定义与该数据对象相关的操作。例如,在CAD软件中,定义名为drawing的数据对象。可以将drawing指定为内部详细信息为:38、typedrawingisstructuredefindnumberisstringlength(12)的抽象数据类型。Geometry defind.notesstringlength(256);BOMDEFINDENDdrawingTYPE,39,数据抽象drawing本身配置定义drawing的抽象数据类型,如geometry和billofmaterials(BOM),然后配置图形内部详细信息,如: blue-printisinstation或schematicISINSTANCEOFdrawing以、40、parnas方法推进的信息隐藏意味着每个模块的实施详细信息对于其他模块是隐藏的。这意味着模块中包含的信息(包括数据和流程)不能用于不需要该信息的其他模块。41、模块的独立性,模块“模块”有时称为“组件”。一般来说,有三个基本属性:功能:描述模块实现的功能逻辑。也就是说,说明模块内部工作方式的环境和条件,42,说明模块时,必须根据模块的外部特性和内部特性分别说明模块外部特性模块的模块名称、参数表、输入参数和输出参数。并且,对影响程序和整个系统的模块的内部特性执行功能的程序代码和该模块的内部使用数据,43,模块独立模块独立性仅涉及软件系统中的每个模块对软件要求的特定子功能,而与软件系统中其他模块的接口则很简单。例如,如果一个模块仅具有单个功能,与另一个模块没有特定的关联,则此模块通常遵循测量模块独立性的两个准则。即,模块间耦合和模块内部聚合,44,耦合是对模块间互连的鲁棒性的测量。内模是对模块功能强度(一个模块内的各个元素相互结合的紧密程度)的测量。模块独立性更强的模块必须是高聚合低耦合的模块。45,模块间的连接,46,非直接连接如果两个模块之间没有直接关系,则它们之间的连接完全是通过主模块的控制和调用实现的,这就是非直接连接。此耦合模块最独立。47,数据耦合当从一个模块访问另一个模块时,通过彼此简单的数据参数(不是控制参数、公共数据结构或外部变量)交换输入、输出信息时,这种耦合称为数据耦合。如果组合标记模块集通过参数表传递记录信息,则为组合标记。此记录不是简单的变量,而是数据结构的子结构。48,控制耦合。当一个模块传递交换机、标志、名称等控制信息时,明确控制选择另一个模块的能力就是控制耦合。,49,外部绑定模块集都访问相同的全局简单变量,而不是相同的全局数据结构,如果不通过参数表传递有关相应全局变量的信息,则称为外部绑定。如果一组“公共连接”(CommonCoupling)模块访问相同的公共数据环境,则它们之间的连接称为公共连接。公共数据环境可以是全局数据结构、共享通信区域、内存的公共复盖区域等。50,共同耦合的复杂性随着耦合模块数量的增加而大大增加。如果两个模块之间存在公共数据环境,则公共关联有两种情况:松散的公共耦合和紧密的公共耦合。51,ContentCoupling在以下情况下,两个模块之间的内容合并(1)一个模块直接访问另一个模块的内部数据:(2)一个模块未通过正常入口移动到另一个模块内部。(3)两个模块都有一些重复的程序代码(可能只出现在汇编语言中)。(4)一个模块有多个入口。52,c,模块内部聚合,53,功能内部聚合模块的每个部分都是完成特定功能必需的部分,或者模块的所有部分协同工作以执行一个特定功能,不能紧密连接和分离。此模块称为功能凝聚力模块。54,InformationalCohesion模块执行多个功能,每个功能在具有唯一入口点的同一数据结构中工作。此模块根据不同的要求确定应执行哪些功能。此模块的所有功能都基于相同的数据结构(符号表),因此是信息内部使用的模块。55,56,信息内部聚合模块可以看作是多个功能内部聚合模块的组合,并达到信息的隐蔽性。使数据结构、资源或设备对其他模块未知。57,通信科恩(CommunicationCohesion)在模块内的功能部分使用相同的输入数据或生成相同的输出数据时,将其称为通信内聚集模块。通信凝聚力模块通常通过数据流图定义。58、59、“进程内聚”(ProceduralCohesion)将进程图用作工具设计进程时,如果将进程图的一部分绘制为配置模块,则可以获得进程内聚合模块。例如,将流程图的循环部分、决定部分和计算部分分成三个模块。这三个模块都是流程内部聚合模块。60,时间内聚集也称为经典内部聚集。这些模块大部分是多功能模块,但是模块的各个功能与时间相关,通常所有功能都必须在同一时间内运行。例如,初始化模块和关闭模块。61,LogicalCohesion模块组合多个相关功

温馨提示

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

评论

0/150

提交评论