软件工程分析与设计ppt课件_第1页
软件工程分析与设计ppt课件_第2页
软件工程分析与设计ppt课件_第3页
软件工程分析与设计ppt课件_第4页
软件工程分析与设计ppt课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、软件开发详细设计内 容 提 纲n结构化方法n 基本任务n 过程设计的工具n 面向数据结构的设计方法n 程序复杂度的度量内 容 提 纲n面向对象方法n 基本任务n 方法建模n 属性建模n 状态建模n 关系建模n详细设计的评审n用户界面的设计结构化方法基本任务n对系统中每个模块的内部过程进行设计对系统中每个模块的内部过程进行设计和描述。和描述。n结构化程序设计技术即保证了每个模块结构化程序设计技术即保证了每个模块功能的正确实现,也让设计出的处理过功能的正确实现,也让设计出的处理过程简明易懂。程简明易懂。过程设计的工具n程序流程图程序流程图n盒图盒图N-SN-S图)图)nPADPAD图图Proble

2、m Analysis DiagramProblem Analysis Diagram)nPDLPDL语言语言Process Design LanguageProcess Design Language)abX1X2X7X4X3X5ifedcjTFFFTT举例:指出所有的基本程序结构选择当循环多分支多分支直到循环直到循环程序流程图的缺点n由于流程线随心所欲地使用,容易与结构化程序设计思想相违背n难以描述逐步求精的过程n难以表示系统中的数据结构顺序结构顺序结构块块1块块2块块3块块4条件条件T Fthen块块1else 块块2选择结构选择结构Do_while部分部分当循环条件当循环条件当型循环当型

3、循环Do_until部分部分直到循环条件直到循环条件直到型循环直到型循环A调用子程序调用子程序A AN-S图Case 条件条件case1块块1case2块块2多分支选择结构多分支选择结构case3块块3值值1值值2值值3ab条条 件件 1TF Case ii=1i=2i=3当条件当条件3成立成立条条 件件 2直到条件直到条件4成立成立直直 到到 条条 件件5 成立成立cdefghijTF举例:请描述程序的运行过程练习 S1; if (x5) then S2 else S3; while (y0 then S6; while (k5) S7; S8; S1FT x5S3S2y0S6 k5S7 S

4、8N-S图的特点n功能域明确n不可能任意转移控制n很容易确定局部和全局数据的作用域n很容易表示嵌套关系,也可以表示模块的层次结构PAD图PAD图定义定义 S1; if (x5) then S2 else S3; while (y0 then S6; while (k5) S7; S8;u0 x5 S1 S2S3 While y5 S7 S8 举例:将下列伪代码转换成举例:将下列伪代码转换成PAD表示表示练习:用选择排序法对数组X1.n进 行降序排列n思索:思索:n 选择排序法的程序基本结构?选择排序法的程序基本结构?n 答:双重循环答:双重循环n 内层、外层循环任务分别是什么?内层、外层循环任

5、务分别是什么?n 答:内层循环将答:内层循环将Xi和和Xj比较,取大比较,取大n 外层循环将外层循环将Xi取值不断变化取值不断变化n 内层、外层循环的初值、终值?内层、外层循环的初值、终值?n 答:内层答:内层i+1.n-1n 外层外层0.n-2答案:选择排序的PAD图寻找剩余数组元素的最大值放在寻找剩余数组元素的最大值放在Xij=i+1While jXi F交换j+寻找剩余数组元素的最大值放在寻找剩余数组元素的最大值放在XiWHILE in-1WHILE in-1i=0i=0i+细化“交换xi和xj”交换xi和xjw=xixi=xjxj=w等价带入:W=XiW=XiXi=XjXi=XjXj=

6、wXj=wj=i+1j=i+1While jnWhile j Xi FXi FWhile in-1While in-1i=0j+j+i+i+面向数据结构的设计方法面向数据结构的设计方法n出现原因n 数据结构对于程序的结构和运行过程存在影响n 层次的数据结构和层次模块结构存在相似性n面向数据结构的设计方法n Jackson方法n Warnier方法Jackson图描述数据结构n顺序结构n 由一个或多个数据元素组成,每个元素按确定次序出现一次。选择结构n由两个或多个数据元素组成,每次使用这个数据时按一定条件从这些数据元素中选择一个。重复结构n根据使用时的条件由一个数据元素出现零次或多次构成。改进的

7、Jackson图Jackson结构程序设计方法l分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。l找出输入数据结构和输出数据结构中有对应关系的数据单元l将数据结构图转换为程序结构图l列出所有操作和条件,将它们分配到程序结构图的适当位置l用伪码列出程序举例 一个正文文件由若干个记录组成,每个记录是一个正文文件由若干个记录组成,每个记录是个字符串。个字符串。要求:要求:统计每个记录中空格字符的个数统计每个记录中空格字符的个数文件中空格字符的总个数文件中空格字符的总个数输出数据格式是,每复制一行输入字符串之后,另输出数据格式是,每复制一行输入字符串之后,另起一行印出这个

8、字符串中的空格数,最后印出文起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。件中空格的总个数。输入输入/ /输出数据结构对应的输出数据结构对应的JacksonJackson图图数据结构图的转化n输入/输出数据结构图的合并n合并图的整理罗列所有操作和条件,插入(l停顿停顿2打开文件打开文件3关闭文件关闭文件4印出字符串印出字符串(5印出空格数目印出空格数目(6印出空格总数印出空格总数(7sum:= sum + 1(8totalsum:= totalsum十十sum(9读入字符串读入字符串(10sum:= 0(11totalsum:= 0(12pointer:= 1(13pointer

9、:= pointer + 1 I1文件结束文件结束 I2字符串结束字符串结束 S3字符是空格字符是空格程序结构图的最终形态程序复杂程度的度量n用途用途n 把程序的复杂程度乘以适当常数可估算出软件中把程序的复杂程度乘以适当常数可估算出软件中错误的数量错误的数量n 估算软件开发需要用的工作量估算软件开发需要用的工作量n 比较两个不同的设计或两个不同算法的优劣比较两个不同的设计或两个不同算法的优劣n度量方法度量方法n McCabeMcCabe方法方法n HalsteadHalstead方法方法McCabe方法n基本步骤n 将程序流程图简化为流图n 计算环形复杂度n 方法1:流图中区域数等于环形复杂度

10、n 方法2:流图环形复杂度V(G)=E-N+2n (E是流图中边的条数,N是结点数)n 方法3:流图环形复杂度V(G)=P+1n (P是流图中判定结点的数目)Halstead方法n简介n 利用程序中的运算符和操作数总数来度量程序的复杂程度。n基本公式n 假设,完成详细设计之后,n1为估计不同运算符个数,n2为不同操作数个数。n Halstead给出预测程序长度的公式:n N=n1 log2 n1+n2 log2 n2n Halstead给出预测程序包含错误的个数的公式:n E=N log2 (n1+n2)/3000内 容 提 纲n面向对象方法n 基本任务n 方法建模n 属性建模n 状态建模n

11、关系建模n详细设计的评审n用户界面的设计面向对象方法详细设计n定义n 细化分析和体系结构设计所产生的模型,消除问题域与实现域之间的差距n 基于类,由单个开发人员实现n主要任务n 精化类的属性和操作,即明确属性的类型和可见性、操作的参数和基本内部逻辑n 明确类之间的关系n 整理和优化设计模型类的设计n边界类n 用户界面:考虑界面开发的工具和所创建界面数量。n 外部系统接口n实体类n 考虑性能对实体对象的影响n控制类n 是否需要?是否需要继续细分?n 考虑复杂性、变化适应性、分布性和性能、事务处理等需求。操作的设计n定义操作的过程n 定义满足基本功能要求的操作;n 补充必要的辅助操作,例如:初始化

12、类的实例、局部变量等;n 完整地描述操作,即确定操作名称、参数、返回值、可见性等;n 简要说明操作实现的内部逻辑举例:BorrowerInfo的类操作属性的设计n定义属性n 具体说明属性名称、类型、缺省值、可见性等n基本原则n 将所有属性可见性设置为private;n 仅通过set、get方法更新、访问属性;n 在set方法中引入简单的有效性验证。(如果验证逻辑过于复杂,则需建立独立的验证方法)举例:BorrowerInfo的类状态建模n一般只发生在依赖状态展示不同行为的类上n举例:MiniLibrary系统的书籍类New BookAvailableDeleteReserveBorrowedB

13、orrowReturnBorrowReserveTime OutCancle关系建模n针对类,需要进一步确定详细的关联关系、依赖关系和聚合关系等。(如果关系具有属性,则需建立关联类)n不同对象之间的可能连接n 全局Global)n 参数Parameter)n 部分Local)n 域Field)OO模型在RDBMS中的实现n一对一关联n多对多关联OO模型在RDBMS中的实现n一对多关联OO模型在RDBMS中的实现n泛化关系OO模型在RDBMS中的实现n关联类应用设计模式n定义定义n解决特定问题的经验,实质就是软件的复用。解决特定问题的经验,实质就是软件的复用。n描画描画n模式名称模式名称描述模式

14、的问题、解决方案和效果。描述模式的问题、解决方案和效果。n面临问题面临问题模式使用的场合。模式使用的场合。n解决方案解决方案模式中组成成分、职责和协作方式。模式中组成成分、职责和协作方式。n模式效果模式效果模式使用的效果和应该权衡的问题。模式使用的效果和应该权衡的问题。应用设计模式n常用设计模式常用设计模式n创建型设计模式:描述对象创建的具体细节。创建型设计模式:描述对象创建的具体细节。n结构型设计模式:描述对象之间通过组织形成新结结构型设计模式:描述对象之间通过组织形成新结 n 构,实现新的功能。构,实现新的功能。n行为型设计模式:描述算法与对象之间任务分配和行为型设计模式:描述算法与对象之

15、间任务分配和n 通讯模式。通讯模式。n作用和研究意义作用和研究意义n优化的设计经验。优化的设计经验。n极高的复用性。极高的复用性。n丰富的表达能力。丰富的表达能力。n极低的耦合度。极低的耦合度。 内 容 提 纲n面向对象方法n 基本任务n 方法建模n 属性建模n 状态建模n 关系建模n详细设计的评审n用户界面的设计详细设计的评审n选择适用于设计阶段的度量指标,例如时间开销、错误类型和严重性等;n检查每个系统模块是否被详细设计;n检查每个详细设计是否属于系统结构的一部分;n检查设计的完整性;n检查设计是否可测试;n检查详细设计的以下方面n 简单性、通用型、有效性n 可扩展性、可移植性内 容 提

16、纲n面向对象方法n 基本任务n 方法建模n 属性建模n 状态建模n 关系建模n详细设计的评审n用户界面的设计界面设计过程设计任务模型DFD)原型设计用户评审用户需求DFD原型不通过经过n从用户需求出发,不断迭代的过程用户界面的设计原则n系统响应时间系统响应时间n时间长度时间长度n时间易变时间易变n用户帮助设施用户帮助设施n在用户与系统交互期间,是否能随时获取系统在用户与系统交互期间,是否能随时获取系统任何功能的帮助信息任何功能的帮助信息n用户怎么请求帮助?用户怎么请求帮助?n怎么显示帮助信息?怎么显示帮助信息?n用户如何返回正常的交互方式?用户如何返回正常的交互方式?n怎么组织帮助信息?怎么组

17、织帮助信息?用户界面的设计原则n出错信息处理出错信息处理n提示错误的语言简洁易懂。提示错误的语言简洁易懂。n能提供从错误中恢复的建设性意见。能提供从错误中恢复的建设性意见。n指明错误可能导致的负面后果。指明错误可能导致的负面后果。n应伴随听觉、视觉上的提示。应伴随听觉、视觉上的提示。n不能带有指责色彩。不能带有指责色彩。n命令交互命令交互n每个菜单项是否都有对应的命令?每个菜单项是否都有对应的命令?n命令的形式?命令的形式?n命令记忆难度?命令记忆难度?n用户能否定制命令?用户能否定制命令?用户界面的设计原则n审美和可用性n 界面色彩搭配,布局合理n 可用性指用户在使用过程中的方便性、简单性、

18、有效性、可靠性和快捷性等。用户界面的评价n一般说,针对界面可用性进行评价。n可用性属性作业评讲:Page132-7n判定表:下面哪种写法正确?交易总金额交易总金额m1000m1000交易总金额交易总金额1000m100001000m10000m10000买进卖出不是买进卖出不是100100的倍数的倍数买进卖出是买进卖出是100100的倍数的倍数交易总金额交易总金额m1000m1000交易总金额交易总金额1000=m100001000=m=10000m=10000交易总额交易总额10001000交易总额交易总额1000010000每股售价每股售价1414每股售价每股售价2525交易股数是交易股数是100100的倍数的倍数作业评讲:Page132-7n判定树:下面哪种写法正确?n 判定树1n 判定树2界面颜

温馨提示

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

评论

0/150

提交评论