软件开发与项目管理-1期 模块设计 0203 模块三_任务四_电子教材.docVIP

软件开发与项目管理-1期 模块设计 0203 模块三_任务四_电子教材.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务4 模块设计 【任务简介】 本任务将讨论软件设计过程的模块设计方法,选择“学分管理系统”的“项目实施模块”作为模块设计的载体。本任务将从模块之间的关系、类结构、业务逻辑详细设计等方面学习模块设计。 【任务分析】 项目实施模块共包括“项目计划制定、项目计划提交、项目启动、登记学生、项目评分、项目结项”六个子模块,其中前两个模块由学工处负责实施,后四个模块由系部负责实施。项目实施所操作的项目计划经历三个状态,初始的编辑状态、过程中实施状态和结项后的结束状态。项目实施模块采用简单工厂模式组织模块结构,使用接口将逻辑层处理层和数据访问层隔离,使得模块结构具有良好内聚性和低耦合性,便于扩展。在讨论业务逻辑的具体实现时,可以从功能简述、业务处理类的函数定义(包括函数名,输入输出参数定义等)、处理流程等方面展开分析。 【支撑知识】 一、模块化 1.模块的概念 为了解决问题,有时需要把软件系统分解为若干模块,每个模块完成一个特定的子功能,当把所有模块按照某种方式组装到一起时,称为一个整体,便可以获得满足问题需要的一个解,这就是模块化思想。所谓软件模块,就是具有独立名称的组件,或程序中的可执行语句等程序代码。模块具有以下几个基本要素。 接口,指模块输入与输出; 功能,是模块存在的必要条件,模块必然是为了实现某个功能而诞生的; 状态,指可执行模块运行所需的一个数据结构,每个模块要负责在它的所有入口点(即任何执行代码流可以进入模块的地方)进行状态数据的切换; 逻辑,指该模块的运行环境,即模块的调用与被调用关系。 功能、状态与接口反映模块的外部特征,逻辑反映它的内部特征。 2.模块化的优点 模块化是软件工程中解决复杂问题的一种有效手段,将复杂的软件系统进行适当地分解,不仅可以使问题简化,而且还可以降低工作量,从而降低成本,提高开发效率; 模块化使软件结构清晰,易于阅读和理解; 使用模块化结构建造的软件便于修改、维护和调试; 模块化可获得较高的软件可靠性; 模块化便于工程化协作。 3.信息隐蔽 所谓信息隐蔽,是指在设计和确定模块时,使得一个模块内包含的自身实现细节与数据隐藏起来,对于其他不需要这些信息的模块来说是不能访问的;而且每个模块只完成一个相对独立的特定功能;模块之间仅仅交换那些为完成系统功能必须交换的信息,即模块应该独立。 4.模块独立性的判定准则 为了降低系统的复杂性,提高可理解性、可维护性,必须把系统划分为多个模块,但模块不能任意划分,应尽量保持其独立性。模块的独立性指每个模块只完成系统要求的独立的功能,并且与其他模块的联系尽量少且接口简单。 模块的耦合 耦合度是对软件结构中模块关联程度的一种度量。独立性高的模块,在模块之间必然存在较低的耦合度。反之,模块之间联系越紧密,其耦合度就越强,模块的独立性就越差。模块之间的耦合度取决于模块间接口的复杂性、调用方式及通过界面(页面)传递的数据多少等。模块间的耦合程度直接影响系统的可理解性、可测试性和可维护性。 软件模块的耦合度分为七级,即非直接耦合(Nodirect Coupling)、数据耦合(Data Coupling)、控制耦合(Control Coupling)、特征耦合(Stamp Coupling)、外部耦合(Extemal Coupling)、公共耦合(Common Coupling)和内容耦合(Content Coupling)。其中,非直接耦合的耦合度最低,而内容耦合的耦合度最高。 一般来说,软件设计时应尽量使用数据耦合,减少控制耦合,限制外部耦合和公共耦合,杜绝内容耦合。 模块的内聚 决定系统结构的另一个因素是模块内部的紧凑性,即模块的内聚。模块的内聚与模块之间的耦合实际上是一个问题的两个侧面。独立性高的模块必然存在较低的模块之间的耦合性;从另一个侧面看,必然存在紧密的内部聚合度。组成模块的功能联系越紧凑,内聚度就越高。 内聚度按其高低程度可以分为七级,即偶然性内聚( Coincidental Cohesion)、逻辑性内聚(Logical Cohesion)、时间性内聚(Temporal Cohesion)、过程性内聚(Procdural Cohesion)、通信性内聚(Communicational Cohesion)、顺序性内聚(Sequential Cohesion)和功能性内聚( Functional Cohesion)。 在软件设计时,应该能够识别内聚度的高低,并通过修改设计尽可能地提高模块的内聚度,从而获得较高的模块独立性。 二、抽象与逐步求精 抽象是认识复杂现象过程中经常使用的一种思维方式,也是心理学的概念,它要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。所谓抽象,就是高度概括事物的主要的或本质的特性,暂时忽略或不考虑其细节。 在

您可能关注的文档

文档评论(0)

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

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档