软件工程课堂教案12.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多

四川工业科技学院标准教案纸

课堂教学题目第12讲程序结构设计

授课时间地点

教学目标通过本讲的学习,理解并掌握模块独立性、启发规则

教学重点模块独立性、启发规则

教学难点模块独立性

教学内容方法与手段:

教学方法:讲授法、演示法、案例分析法

教学手段:多媒体教学

教学过程

导入新课

简单回顾上次课的内容,引入新课

新课教学

一、程序结构设计

概要设计需要抽象模块,并从功能、数据、接口等诸多方面定义模块。

结构化程序中的模块是程序函数。面向对象程序中的模块是类体。在基于组

件的系统集成中,组件则被看做是模块。

高质量程序模块应该有很好的独立性,这样的模块通常更加安全、稳定、可

靠,也更加便于维护改造。内聚度与耦合度这两个技术指标可用于判断模块是否

有较好的独立性。

概要设计还需要确定模块之间的任务协作与控制,并设计一个合理的可控制

的可扩充的程序结构,以使诸多模块能够集成为一个整体。

结构化程序的控制是自顶向下的。总控模块对程序进行顶层整体控制,下级

模块则实现对具体任务的控制与操作。

面向对象程序则由类图、构件图说明结构。类图用于描述面向对象程序逻辑

结构,构件图用于描述面向对象程序物理结构。

3

1、模块化

模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)

的序列,而且有一个总体标识符代表它。模块是构成程序的基本构件。

模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个

子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需

求。

模块化是为了使一个复杂的大型程序能被人的智力所管理,是软件应该具备

的唯一属性。

2、抽象

采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模

块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员

分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。

人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实

践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面

(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是

抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。

软件工程过程的每一步都是对软件解法的抽象层次的一次精化。在可行性研

究阶段,软件作为系统的一个完整部件;在需求分析期间,软件解法是使用在问

题环境内熟悉的方式描述的;当由总体设计向详细设计过渡时,抽象的程度也就

随之减少了;最后,当源程序写出来以后,也就达到了抽象的最低层。

3、逐步求精

逐步求精定义为为了能集中精力解决主要问题而尽量推迟对问题细节的考

虑。

逐步求精最初是由NiklausWirth提出的一种自顶向下的设计策略。按照这种

设计策略,程序的体系结构是通过逐步精化处理过程的层次而设计出来的。通过

逐步分解对功能的宏观陈述而开发出层次结构,直至最终得出用程序设计语言表

达的程序。

求精实际上是细化过程。

抽象与求精是一对互补的概念。

3

4、信息隐蔽和局部化

信息隐蔽原理:应该这样设计和确定模块,使得一个模块内包含的信息(过

程和数据)对于不需要这些信息的模块来说,是不能访问的。

局部化是指把一些关系密切的软件元素物理地放得彼此靠近。

如果在测试期间和以后的软件维护期间需要修改软件,使用信息隐蔽原理作

为模块化系统设计的标准就会带来极大好处。

5、模块独立性

模块的独立性很重要,因为有效的模块化(即具有独立的模块)的软件比较容

易开发出来。独立的模块比较容易测试和维护。

模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦

合。

(1)耦合

耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模

文档评论(0)

181****2868 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档