第4章 总体设计 计算机软件技术 知识基础教程 .pptVIP

第4章 总体设计 计算机软件技术 知识基础教程 .ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 总体设计 计算机软件技术 知识基础教程 .ppt

4.1 模块化设计方法 4.2 结构化设计(SD)方法 4.3 Parnas方法 4.4 Jackson方法 4.5 总体设计的其他工作 4.6 详细设计 4.7 编程 ;第4章 总 体 设 计; 2.模块设计的主要任务 模块设计的任务是把一个较大的软件系统分解成许多较小的具有特定功能的模块,由它们共同完成软件系统的整体功能。具体来说,就是: 第一,将软件系统划分成模块; 第二,决定各个模块的功能; 第三,决定模块间的调用关系; 第四,决定模块间的界面。 所以,模块设计的主要工作是完成模块分解,确定软件系统中模块的层次结构。; 模块设计技术上有相当的困难,它需要有一定的方法来指导,从而使设计人员可以获得较好的方案。20世纪70年代以来,出现了许多设计方法来支持模块设计,其中具有代表性的有结构化设计、Parnas方法、Jackson方法、Warnier方法等。这些方法都采用了模块化、由顶向下逐步细化的基本思想。它们的差别在于构成模块的原则不同。结构化设计方法以数据流图为基础构成模块结构;Parnas方法以信息隐蔽为原则建立模块结构;而Jackson 方法则以数据结构为基础建立模块结构。当然这些方法也可以结合起来使用。; 4.2 结构化设计(SD)方法 ; SD方法的目标是使块间联系尽量小,块内联系尽量大。事实上,块间联系和块内联系是同一件事的两个方面。程序中各组成成分间是有联系的,如果将密切相关的成分分散在各个模块中,就会造成很高的块间联系;反之,如果密切相关的一些成分组织在同一模块中,块内联系高了,则块间联系势必也就少了。 3.描述方式 SD方法使用的描述方式是结构图(Structure Chart),它描述了程序的模块结构,并反映了块间联系和块内联系等特性。 结构图中的主要成分有:; 模块──用方框表示,方框中写有模块的名字,一个模块的名字应适当地反映这个模块的功能,这就在某种程度上反映了块内联系。 调用──从一个模块指向另一模块的箭头,表示前一模块中含有对后一模块的调用。 数据──调用箭头边上的小箭头,表示调用时从一个模块传送给另一模块???数据,小箭头也指出了数据传送的方向。 设计员应该为结构图中的每一个成分(模块和数据)适当地命名,使人能直观地理解其含义。如果能在一个课题组中约定一些命名规则,将会是有所帮助的。为使读者容易理解,本书有时在模块的方框内用中文说明该模块的功能。; 除上述基本符号外,结构图中可以再加上一些辅助性的符号,如有条件地调用符号、循环调用符号、现成的模块符号等。设计员可根据具体情况决定是否有必要画出这些辅助性的符号。 画结构图的一般习惯是:输入模块在左,输出模块在右,而计算模块居中。必须指出:“结构图”和“框图”(即程序流程图)是不同的。 一个程序有层次性和过程性两方面的特点,通常“层次性”反映的是整体性质,“过程性”反映的是局部性质,所以我们一般是先决定程序的层次特性,再决定其过程特性。“结构图”描述的是程序的层次特性,即某个模块负责管理哪些模块,这些模块又依次负责管理哪些模块等。(我们可以看出:结构图也可以用来描述现实生活中的组织管理结构,如学校中的系、教研室、教学小组等层次结构。) ;4.3 Parnas 方 法; 在设计时使软件结构尽量简单清晰,这是避免错误、提高可靠性的根本手段。Parnas主张设计时应预计到将来可能发生的种种意外,采取以下措施以提高系统的健壮性: (1) 考虑到硬件有可能出现意外故障,所以接近硬件的模块应该对硬件的行为进行检查,以便及时发现硬件的错误,例如对磁带中的文件配上检查以供核对,或存储几份副本以供比较等。 (2) 考虑到操作人员有可能失误(也可能有人会故意破坏),负责接受操作人员输入的模块应该对输入数据进行合理性检查,辨认非法、越权的操作要求,同时也要为操作员提供合适的纠错手段。; (3) 考虑到软件本身也会有错误,所以模块之间要加强检查,防止错误的蔓延。例如开平方根的模块应检查输入的变量是否大于等于零,而不应假设这一点必然成立;又如操作系统中应考虑万一发生死锁,该怎么处理;或者有一个进程发生了故障,连续不断地申请资源而不再归还时,系统如何发现和处理这种异常。 2.提高可维护性的技术──信息隐蔽 大型软件系统是多个版本的,在整个生命期中要经历多次

您可能关注的文档

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档