沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt

沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt

ID:51621988

大小:931.50 KB

页数:51页

时间:2020-03-26

沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt_第1页
沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt_第2页
沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt_第3页
沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt_第4页
沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt_第5页
资源描述:

《沈备军全套配套课件软件工程本科PPT 05_设计工程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程Module:设计工程上海交通大学软件工程中心ShanghaiJiaoTongUniversity设计工程软件设计工程概述软件设计的原则软件设计的质量软件设计的复用@第6章.教材ChangeourviewpointDotherightthingsDothethingsrightWhatHow软件需求工程解决“做什么”的问题软件设计工程解决“怎么做”的问题设计的步骤架构设计又称概要设计,它定义了软件的全貌,记录了最重要的设计决策,并成为随后的设计与实现工作的战略指导原则。详细设计又称构件级设计,它在软件架构的

2、基础上定义各模块的内部细节,例如内部的数据结构、算法和控制流等,其所做的设计决策常常只影响单个模块的实现。1)架构设计架构设计(architecturedesign)的内容:选择软件质量属性的设计策略确定合适的架构风格(architecturestyle)和设计模式(designpattern)定义软件的主要结构元素――模块接口设计目标:使得软件系统在架构层面的设计上满足拟建系统功能性和非功能性需求。质量因素的架构设计战术(1)质量因素设计战术易用性1.为用户提供适当的反馈和协助2.将用户接口与应用的其余部分分离3

3、.提供“取消”、“撤消”等命令4.建立用户模型、任务模型和系统模型可用性即可靠性1.错误检测,如心跳、异常、命令/响应2.错误恢复,如表决、冗余、备件、检查点/回滚3.错误预防,如事务、进程监视、从服务中删除性能1.资源需求,如提高计算效率、减少计算开销、控制采样频率、限制队列大小2.资源管理,如引入并发、增加可用资源、维持数据或计算的多个副本3.资源仲裁,如先进先出、优先级调度确定合适的软件架构风格数据流风格(Dataflow):批处理序列、管道-过滤器风格(Pipe-and-Filter)调用/返回风格:主程序

4、/子程序、面向对象风格(ADT)、层次系统(LayeredSystems)独立构件风格:进程通信、事件系统虚拟机风格:解释器、基于规则的系统仓库风格:数据库系统、超文本系统、黑板系统定义软件的主要结构元素――模块SalespersonProductSaleCorporateCustomerIndividualTruckVehicleTrainsellerbuyeritemsoldshippingmechanism接口设计接口设计(interfacedesign)描述了软件和协作系统之间、软件和使用人员之间是如何通信

5、的。接口就意味着信息流(如数据流、控制流)和特定的行为类型。包括三个方面:软件模块间的内部接口模块和协作系统(如外部软件系统、外部设备、网络等)之间的外部接口使用人员和软件的接口(用户界面)CharacteristicsofaGoodArchitectureResilientSimpleApproachableClearseparationofconcernsBalanceddistributionofresponsibilitiesBalanceseconomicandtechnologyconstraintsA

6、rchitectureConstrainsDesignandImplementationArchitectureinvolvesasetofstrategicdesigndecisions,rulesorpatternsthatconstraindesignandconstruction.Architecturedecisionsarethemostfundamentaldecisions,andchangingthemwillhavesignificanteffects.ArchitectureDesignImp

7、lementationCode2)详细设计将软件架构的结构性元素变换为对软件模块的描述。为所有数据对象定义详细的数据结构为所有在模块内发生的处理定义算法细节、控制流和数据流设计工程软件设计工程概述软件设计的原则-抽象和分解软件设计的质量软件设计的复用抽象abstraction抽象,是在软件规模逐渐增大、软件复杂性逐渐增大下,控制复杂性的基本策略。软件开发过程就是对软件抽象层次的一次次细化的过程:需求、架构、设计、编码。在软件设计中,主要抽象手段包括:数据抽象把一个数据对象的定义抽象为一个数据类型名,用此类型名可定义

8、多个具有相同性质的数据对象过程抽象把完成一个特定功能的动作序列抽象为一个过程名和参数表,以后通过指定过程名和实际参数调用此过程对象抽象则通过操作和属性,组合了这两种抽象,即在抽象数据类型的定义中加入一组操作的定义,以确定在此类数据对象上可以进行的操作。数据抽象DataAbstractiondoorimplementedasadatastructuremanu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。