- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程演示课件剖析与的设计
软件开发——详细设计 内 容 提 纲 结构化方法 —基本任务 —过程设计的工具 —面向数据结构的设计方法 —程序复杂度的度量 内 容 提 纲 面向对象方法 —基本任务 —方法建模 —属性建模 —状态建模 —关系建模 详细设计的评审 用户界面的设计 结构化方法——基本任务 对系统中每个模块的内部过程进行设计和描述。 结构化程序设计技术即保证了每个模块功能的正确实现,也让设计出的处理过程简明易懂。 过程设计的工具 程序流程图 盒图(N-S图) PAD图(Problem Analysis Diagram) PDL语言(Process Design Language) 举例:指出所有的基本程序结构 程序流程图的缺点 由于流程线随心所欲地使用,容易与结构化程序设计思想相违背 难以描述逐步求精的过程 难以表示系统中的数据结构 N-S图 举例:请描述程序的运行过程 练习 N-S图的特点 功能域明确 不可能任意转移控制 很容易确定局部和全局数据的作用域 很容易表示嵌套关系,也可以表示模块的层次结构 PAD图 PAD图 举例:将下列伪代码转换成PAD表示 练习:用选择排序法对数组X[1..n]进 行降序排列 思考: —选择排序法的程序基本结构? 答:双重循环 —内层、外层循环任务分别是什么? 答:内层循环将X[i]和X[j]比较,取大 外层循环将X[i]取值不断变化 —内层、外层循环的初值、终值? 答:内层[i+1..n-1] 外层[0..n-2] 答案:选择排序的PAD图 细化“交换x[i]和x[j]” 等价带入: 面向数据结构的设计方法 出现原因 —数据结构对于程序的结构和运行过程存在影响 —层次的数据结构和层次模块结构存在相似性 面向数据结构的设计方法 —Jackson方法 —Warnier方法 Jackson图描述数据结构 顺序结构 —由一个或多个数据元素组成,每个元素按确定次序出现一次。 选择结构 由两个或多个数据元素组成,每次使用这个数据时按一定条件从这些数据元素中选择一个。 重复结构 根据使用时的条件由一个数据元素出现零次或多次构成。 Jackson结构程序设计方法 分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。 找出输入数据结构和输出数据结构中有对应关系的数据单元 将数据结构图转换为程序结构图 列出所有操作和条件,将它们分配到程序结构图的适当位置 用伪码列出程序 举例 一个正文文件由若干个记录组成,每个记录是 个字符串。 要求: 统计每个记录中空格字符的个数 文件中空格字符的总个数 输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。 数据结构图的转化 输入/输出数据结构图的合并 合并图的整理 罗列所有操作和条件,插入 (l)停止(2)打开文件(3)关闭文件(4)印出字符串 (5)印出空格数目 (6)印出空格总数 (7)sum:= sum + 1 (8)totalsum:= totalsum十sum (9)读入字符串 (10)sum:= 0 (11)totalsum:= 0 (12)pointer:= 1 (13)pointer:= pointer + 1 I(1)文件结束 I(2)字符串结束 S(3)字符是空格 程序结构图的最终形态 程序复杂程度的度量 用途 —把程序的复杂程度乘以适当常数可估算出软件中错误的数量 —估算软件开发需要用的工作量 —比较两个不同的设计或两个不同算法的优劣 度量方法 —McCabe方法 —Halstead方法 McCabe方法 基本步骤 —将程序流程图简化为流图 —计算环形复杂度 方法1:流图中区域数等于环形复杂度 方法2:流图环形复杂度V(G)=E-N+2 (E是流图中边的条数,N是结点数) 方法3:流图环形复杂度V(G)=P+1 (P是流图中判定结点的数目) Halstead方法 简介 —利用程序中的运算符和操作数总数来度量程序的复杂程度。 基本公式 假设,完成详细设计之后,n1为估计不同运算符个数,n2为不同操作数个数。 Halstead给出预测程序长度的公式: N=n1 log2 n1+n2 log2 n2 Halstead给出预测程序包含错误的个数的公式: E=N log2 (n1+n2)/3000 内
您可能关注的文档
最近下载
- 2024年13起典型火灾案例及消防安全知识专题培训.pptx
- 2024届高考语文复习:+深度分析材料内涵,扣住情境任务写作+课件22张.pptx VIP
- GBT1037-2021 塑料薄膜与薄片水蒸气透过性能测定 杯式增重与减重法.pdf
- 建筑机电工程抗震支架设计规范GB50981-2014.pdf
- SH∕T 3022-2019 石油化工设备和管道涂料防腐蚀设计标准.pdf
- 初中数学知识点(苏教版).doc VIP
- 浅谈我国个人所得税改革对工薪阶层的影响.docx
- 物资采购领域廉洁风险防控建设重要性及对策建议思考.docx
- “三级”安全教育培训记录.docx
- 2021年全国新高考I卷语文试题.doc VIP
文档评论(0)