您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 高级软件工程(第十章)-系统设计及传统设计方法(2017课件)
第十章系统设计及传统设计方法2设计阶段的活动1.网络的设计与集成2.设计应用程序的结构3.设计用户界面4.设计系统界面5.数据库的设计与集成6.设计细节的原型7.系统控制的设计与集成31.网络的设计与集成当要求新系统和新的网络需要一起实现,则对网络进行设计。根据整体的战略计划来构建网络。系统设计方案要适应已有网络计划,故项目组并不设计一个网络,而是把新系统集成到现有的网络中去。当在网络上操作系统时,系统的可靠性、安全性、吞吐量,以及同步性等技术上的问题都会随之产生。42.设计应用程序的结构包括详细说明所有系统活动是如何完成的。虽在逻辑模型中详细描述过,但并没说明使用哪种专门的技术。当详细设计方案确定,可以设计具体的计算机处理过程(实际模型)。关键问题:如何对系统自动化边界进行定义。应用程序设计方法及创建的设计模型会因为系统的开发配置环境的不同而有所差异。53.设计用户界面用户界面的质量是软件系统的一个重要的方面。设计用户界面要确定用户将如何与系统进行交互(窗口、对话框和鼠标交互的图形界面,声音、视频,语音命令)。随着软件系统的交互性和可访问性越来越强,用户界面正逐渐成为软件系统的一大部分。6对用户而言用户界面就是系统在开发过程的早期阶段,从对用户所要完成的任务的说明入手,开始对用户界面进行定义。在选择系统设计方案时,每种方案的关键问题是用户界面的类型。界面设计师:界面设计专家,也称可用性顾问或者人性因素工程师。74.设计系统界面使系统之间能够共享信息的部件是系统界面。系统设计开始,分析员必须保证所有系统可在一起良好运作。有些系统界面与内部的组织系统相连,分析员可获得一些关于其他系统的信息。新系统需要和组织外的系统相连接。新系统需要和组织已经购买并安装的软件包相连接。使用目前各种各样的技术,系统界面可变得很复杂。由具有非常专业技巧的人来完成。85.数据库的设计与集成分析阶段所创建的数据模型(逻辑模型)用来为数据库创建一个实体模型。要考虑数据库的性能需求(如响应时间)。必须确保新的数据库要与现有的数据库适当的相结合。96.设计细节的原型在设计阶段,不断地创建并且评估原型很重要。原型和界面设计有关,它也被用于验证包括DB、网络结构、控制,甚至是所使用的编程环境等的设计选择。当分析员考虑所有的设计活动时,他们所想的是如何使用原型来帮助理解各种设计决策。使用快速应用程序开发(RAD)方法开发的原型将发展成为最终的系统。107.系统控制的设计与集成最后的设计活动包括确保系统有足够的安全措施来保护组织的资产。这些保护措施称系统控制。它的设计要考虑所有其他的设计活动——用户界面、系统界面、应用程序结构、DB,以及网络设计。11用户界面控制:限制授权用户对系统的访问。系统界面控制:确保其他系统不会对本系统造成损害。应用程序结构控制:用来确保交易记录和其他由系统执行的工作都被正确完成。数据库控制:保护数据,防止未经授权的访问并防止由于硬件故障而造成的意外数据丢失。网络控制:来保证网络间的通信得到保护。结构化设计结构化设计(StructuredDesign,简称SD)是将结构化分析得到的数据流图映射成软件系统模块结构的一种设计方法强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则1213传统设计模型14自动化系统边界自动化系统边界将DFD的处理划分成手工过程部分和系统过程部分。处理过程可在系统边界内,也可在系统边界外。系统边界外的过程是一些手工处理(如排序并审核文件资料、输入用户订单或查看刚到的货物)。边界里面的处理过程能够以在线处理或批处理模式进行处理。15数据流可在系统内部、外部,或穿过系统界线和程序界线。穿过系统界线的数据流是格外重要的,它们代表了系统的输入和输出。程序接口的设计(包括用户界面设计和与其他系统的接口设计)是由穿过边界的数据流定义的。在最终系统中,数据流将是用户界面中的表单、报表,或者是与其他系统进行转换的文件或通信。穿过边界的数据流,表示程序间的通信。在最终系统中,这些数据流仍是程序之间转换的文件或通信。16模块结构图结构图的层次描述系统每部分的功能和子功能。例如,某程序有计算工资总额的功能函数,它可能的子功能函数是计算基本工资、计算加班费和计算税费。在结构图上用矩形框表示功能,每个矩形框代表一个模块。结构图:用来展示一个计算机程序模块间关系的层次图。17建立结构图的规则程序是分层的,而且模块按高内聚、低耦合的方式组织在一起。模块之间的连线表示高层模块对低层模块调用的某种结构,其上的小箭头表示在模块间传递的数据,以及各个模块的输入和输出。从结构图上不能了解模块内部的内容,但可知道模块以何种方式实现其名称所表示的功能,如何使用输入数据,以及如何产生输出数据。18程序调用当一个模块激活一个低层模块以便执行所需的服务或计算时,就发生程序调用;每一次调用中,控制由调用模块传向被调用模块,被调用模块接着执行一系列程序语句,当调用过程结束后,被调用模块立即把控制权返回给调用模块,程序紧接着执行下面的声明或指令;从高层模块到低层模块的箭头表示程序调用,调用的顺序总是从左到右的;结构图在表示调用结构时仍是具有严格的层次;一个低层的模块永远不会调用高层模块。19⑴变换型结构变换型系统由三部分组成:输入、数据加工(中心变换)和输出;功能:将输入的数据经过加工后输出。20⑵事务型结构事务型系统由三层组成:事务层、操作层和细节层;功能:对接收的事务,按其类型选择某一类事务处理。21开发一个结构图设计结构图是为给程序建立模块层次结构。结构图是树型结构,有根模块和分支模块。逐一地建立结构图,再组成完整的结构图。结构图开发方法:1.事务分析2.变换分析22事务分析事务分析使用作为输入的系统流程图和事件表建立树型结构的顶端模块,即产生主程序的主模块和第一层被调用模块。事务分析:基于DFD的结构图开发,用来描述多种事务类型的处理。事务分析的基本步骤步骤:1.(在DFD上确定事务中心、接收部分和发送部分。2.(画出模块结构图框架,把DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块。3.分解细化接收分支和发送分支,完成初始模块结构图。2324事务分析过程①检查系统流程图和每一个大的程序块;②识别每个独立的事务,这些事务必须由程序支持且必须为每一个单独的事务建立一个分支;③该程序至少在最高层有一个简单的用户界面,并允许用户选择一种事务处理方式,然后激活相应的模块来执行这个处理;④每个按其完成的功能来命名的处理模块都是这些功能子树的主模块。每个子树都是根据该事件的DFD片段建立的。25用事务分析方法开发结构图事务分析是从事务流的DFD到程序结构的转换。设计步骤:①确定流界:先从DFD中找出事务流、事务处理中心和事务路径。事务中心前是接收事务、事务中心后是事务路径。进行一级分析,设计顶层模块。②进行一级分析,设计上层模块:从DFD中导出具有接收和发送分支的软件结构。对事务中心设计为“事务控制”、对事务流为“接收事务”、对事务路径为“发送事务”。③细化该事务结构和每条动作路径的结构。对于接收分支,采用变换流设计方法设计中下层;对于发送分支,在发送模块下设计每条事务路径的结构。26变换分析变换分析使用作为输入的DFD片段去建立子树,程序中的每个事件建立一棵子树。每棵子树的主模块对应于主程序结构图的第一层分支。变换分析:基于DFD的结构图开发,用来描述输入-处理-输出数据流。27变换分析建立在计算机程序将输入数据“转化”成输出信息之上。用变换分析建立的结构图通常有三棵主要的子树:输入子树:获得数据计算子树:执行算法输出子树:显示结果28从DFD开发结构图的基本思想结构图中的叶模块是从DFD更细化的处理转化而来;结构图中的中间层的主模块来自于中间处理层的处理过程,由其可分解得到底层模块。结构图的结构直接受DFD的层次和嵌套的影响。29从DFD片断建立结构图的步骤①确定主要的信息流。②找出输入流到输出流之间最基本变化过程(中心变换)。③重画DFD,将输入放在左边,输出放在右边,转换中心处理放在中间。④根据重画的数据流建立结构图的第一个草案,其中包括调用阶层和所需的数据对。⑤必要时增加其他模块,以便实现通过用户界面获得输入数据、读写数据存储、输出数据或报表的功能。⑥对结构图做最后的改进。30模块结构设计的原则⑴尽量降低模块之间的耦合度⑵尽量提高模块的聚合度31⑴尽量降低模块之间的耦合度耦合:指模块与模块之间联系的程度。模块间的耦合度越低,模块的独立性就越高。模块间的联系越多或越复杂则模块间的相互依赖程度就越高,如果对某一模块进行修改则必将影响到其他的模块,因此模块的独立性就越低。所谓两个模块彼此完全独立是指其中任意一个模块运行时,与另一个模块存在与否根本无关,相应地对某一模块进行修改也与另一模块无关。32⑵尽量提高模块的聚合度聚合:模块内部各组成部分之间的联系程度。模块的聚合度越高,其独立性也就越高。一般来说一个模块内部应该具有很强的内聚性,它的各个组成部分都是密切相关的,是为完成一个共同的功能而组合在一起。内聚性是度量模块功能强度的一个相对指标,主要表现在模块内部各组成部分为了执行处理功能而组合在一起的相关程度。3333课堂复习1.引入自动化系统边界的目的是什么?如何开发自动化系统边界?2.简述建立结构图的规则。3.解释事务分析。4.解释变换分析。中心变换是什么意思?5.传入数据流和传出数据流有何区别?6.简述模块结构设计的原则?课堂练习学生选课系统34利用变换分析将如下变换型的DFD映射成初始的结构图课程课程学生选课系统初始结构图35
本文标题:高级软件工程(第十章)-系统设计及传统设计方法(2017课件)
链接地址:https://www.777doc.com/doc-4207356 .html