软件工程软件设计

软件工程软件设计

ID:38681422

大小:1.41 MB

页数:89页

时间:2019-06-17

软件工程软件设计_第1页
软件工程软件设计_第2页
软件工程软件设计_第3页
软件工程软件设计_第4页
软件工程软件设计_第5页
资源描述:

《软件工程软件设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程第三章软件设计软件设计概述内容软件设计是一个描述、组织、构造系统部件的过程,是确定软件“怎么做”的过程。这个过程分为两个层次:概要设计和详细设计。软件设计的输入是《需求规格说明书》,输出是《概要设计说明书》和《详细设计说明书》总体设计(概要设计)从全局的高度,确定系统的总体实现方案和整体框架它要覆盖《需求规格说明书》的全部内容,同时作为指导详细设计的依据详细设计确定应该怎样具体地实现各个软件元素,得到对目标系统的精确描述要覆盖总体设计的全部内容,同时作为指导程序设计的依据总体设计的具体任务制定规范系统命名规范,模块命名规范,构件命名规范,变量命名规范,以及数据库中的表名

2、、字段名、索引名、试图名、存储过程名、触发器名等总体结构设计系统体系结构的设计通常采用软件结构图的横向表示功能分解,纵向表示功能的层次调用处理方式设计数据设计数据结构设计文件设计数据库设计质量设计文档设计评审总体设计可回溯性接口定义是否清晰检查模块的内聚力风险性实用性质量属性各种选择方案限制其他问题总体设计的过程设想供选择的方案根据需求分析阶段的数据流程图中处理逻辑关系,归并形成子系统不同的子系统组合产生不同的系统实现方案材料要求:系统流程图、组成系统的元素清单、成本/效益分析、实现这个方案的进度计划推荐最佳方案功能分解将复杂功能分解成简单功能,使之对应成一个模块只完成一个适当

3、功能,便于实现设计软件结构采用层次图或结构图描述模块之间调用的关系数据设计包括数据结构设计、文件设计和数据库设计制定测试计划针对软件结构的测试和集成测试书写文档总体设计规格说明书用户手册测试计划详细的实现计划设计过程的一般模型设计原则原则一,多样化设计原则二,设计对于分析模型应该是可跟踪的原则三,设计不应该从头做起原则四,软件设计应该尽可能缩短软件和现实世界的距离原则五,设计应该表现出一致性和规范性原则六,设计的易修改性原则七,容错性设计原则八,设计的粒度要适当原则九,在设计时就开始评估软件的质量原则十,要复审设计,减少设计引入的错误影响软件设计的因素共同设计用户界面文化问题并

4、发性软件设计的概念模块一个软件系统根据其功能分解成许多较小的程序单元模块的基本属性功能-模块要完成的任务逻辑–描述模块为了完成任务,模块内部怎么做状态–使用该模块时的环境和条件模块化定义即把程序划分成若干个模块,每个模块完成一个子功能,将多个模块组织起来实现整个系统的功能。模块规模的确定标准模块应该是高内聚的模块应该是松散耦合的模块独立性“模块独立”是模块化、抽象、逐步求精和信息隐藏等概念的直接结果,也是完成有效的模块设计的基本标准。模块独立性原则的两个定性标准度量耦合-衡量模块之间彼此依赖的紧密程度内聚-衡量一个模块内部各个元素彼此结合的紧密程度耦合–模块间相互关联的程度关联

5、程度的决定因素一个模块对另一个模块的访问模块间传递的数据量一个模块传递给另一个模块的控制信息模块间接口的复杂程度耦合的分类内容耦合-一个模块直接参考另一个模块的内容例子结论-坚决避免使用内容耦合…Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:test"); stmt=con.createStatement();rs=stmt.executeQuery("selectareano,areafangxiang,areasell,endtimefrom

6、landInformation"); while(rs.next()) { …公共耦合-多个模块都访问同一个公共数据环境分类松散公共耦合:一个模块只是往公共数据环境里传送数据,而另一个模块只是从公共数据环境中取数据紧密公共耦合:两个模块都向公共数据环境中送数据,同时也都从公共数据环境中取数据例子动态并发程序的执行结论-限制使用公共耦合外部耦合–两个模块都访问同一个全局简单公共变量,而不是同一全局数据结构,且不是通过参数表传递该全局变量的信息例子结论:限制使用外部耦合while(gloableT==0){ifx>25thenModuleA();elseModuleB();}控制耦

7、合–模块A向模块B传递一个控制信息例子把一个数组名作为参数传递给另一个模块时,就形成了参数以传址的形式进行传递,降低模块的独立性。结论:少用控制耦合数据结构耦合–一个模块调用另一个模块时传递了整个数据结构数据耦合–两个模块之间传递的是数据项结论:尽量使用数据耦合。非直接耦合–两个模块之间没有直接关系,它们之间的联系完全通过主模块的控制和调用来实现例子If(x)thenmodelAelsemodelB结论:独立性最强的耦合内容耦合公共耦合外部耦合控制耦合数据结构耦合数据耦合非直接耦合高低弱强模

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

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

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