[计算机软件及应用]软件工程102.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]软件工程102

详细设计 2 开发阶段 系统设计 总体设计 体系结构设计 模块设计 用户界面设计 详细设计 数据结构与算法设计 体系结构就如同人的骨架。 模块就如同人的器官,具有特定的功能。人体中最出色的模块设计之一是手,手只有几种动作,却能做无限多的事情。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有价值但毫无相干的几种功能如吃饭、说话混为一体,使之无法并行处理,真乃人类之不幸。 用户界面就如同人的外表,最容易让人一见钟情或一见恶心。象人类追求心灵美和外表美那样,软件系统也追求(内在的)功能强大和(外表的)界面友好。但随着生活节奏的加快,人们已少有兴趣去品味深藏不露的内在美。如果把Unix系统稳定安全性高,而Windows系统界面华丽,稳定性安全性都不高。想不到Windows系统竟然能兴风作浪,占去大半市场。 数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能。数据结构与算法分布在体系结构和模块中,它将协调系统的各个功能。人的耳朵和嘴巴虽然是相对独立的器官,但如果耳朵失聪了,嘴巴就只能发出“啊”“呜”的声音,等于丧失了说话的功能,可人们却又能用手势代替说话。人体的数据结构与算法设计真是十分神奇并且十分可笑。 3 详细设计的目标 详细设计阶段的根本目标是确定怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 详细设计的目标: 设计出的处理过程应该尽可能简明易懂。 详细设计的任务 (1) 为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述; (2) 确定每一模块使用的数据结构;为以后的编写程序做好充分的准备。 (3) 确定模块接口的细节 详细设计的主要任务 模块的算法设计:确定为某个模块采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。 模块内的数据结构设计:确定每一模块使用的数据结构。 模块接口设计:确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。 详细设计的主要任务 其他设计:根据软件系统的特点,还可能进行数据库设计,代码设计,输入/输出格式设计以及人机界面设计等 模块测试用例设计:为每一个模块设计出一组测试用例,以便在编码阶段对模块代码进行预定的测试. 编写详细设计说明书 详细设计评审 详细设计的原则 模块的逻辑描述要清晰易读,正确可靠. 设计出的处理过程尽可能简明易懂 选择恰当描述工具来描述各模块算法 6.3 详细设计的方法 结构化程序设计方法(SP方法)是详细设计的逻辑基础。SP方法最早有E.W.Dijkstra提出。 结构程序设计三种基本的控制结构是“顺序”、“选择”和“循环” 。 流程图略。 结构化程序设计比较流行的定义是: 结构化程序设计是一种设计程序的技术,它采用自顶向下、逐步求精的设计方法和单入口/单出口的控制结构。 在总体设计阶段采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统。在详细设计或编码阶段采用自顶向下逐步求精的方法,可以把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句 。 结构程序设计的优点: (1)可以显著提高软件开发工程的成功率和生产率。 (2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。 (3)不使用GO TO 语句使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致。因此,程序容易阅读和理解,开发时也比较容易保证程序的正确性,即使出现错误也比较容易诊断和纠正。 (4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易测试。 (5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。 (6)程序的逻辑结构清晰,有利于程序正确性证明。 结构程序设计的缺点: 需要的存储容量和运行时间都有一些增加,此外,现有的许多程序设计语言是非结构化的语言,并不提供上述的单入口单出口的基本控制结构。 但是,由于硬件技术的飞速进步,程序需要的存储容量和运行时间稍有增加,在今天对绝大多数应用领域已经不是严重问题。 如果使用非结构化语言编写程序,则可以利用GO TO 语句实现上述基本控制结构,虽然形式上程序中有GO TO 语句,却仍然能够体现出结构程序设计的基本精神。 12 详细设计的工具

您可能关注的文档

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档