- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)。
在软件设计时,应该能够识别内聚度的高低,并通过修改设计尽可能地提高模块的内聚度,从而获得较高的模块独立性。
二、抽象与逐步求精
抽象是认识复杂现象过程中经常使用的一种思维方式,也是心理学的概念,它要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。所谓抽象,就是高度概括事物的主要的或本质的特性,暂时忽略或不考虑其细节。
在
您可能关注的文档
- 嵌入式系统基础 伪指令在嵌入式程序设计中的应用 连接ARM实验板至 PC机.docx
- 嵌入式系统基础 系统设计概述 实训基础 ARM底板 电源接口.docx
- 嵌入式系统设计 嵌入式系统设计 Linux系统应用实验.docx
- 嵌入式系统设计 嵌入式系统设计 系统应用-点餐系统.docx
- 嵌入式应用基础 自编教材 2.书稿(第二章).docx
- 桥跨结构施工 钢筋的力学性能及加工 教学设计-钢筋的性能及加工.docx
- 桥跨结构施工 几种典型的桥面铺装施工 电子教材-桥面铺装施工.docx
- 桥跨结构施工 几种典型的桥面铺装施工 教学设计-桥面铺装施工.docx
- 桥跨结构施工 桥面铺装概述 电子教材-桥面铺装概述.docx
- 桥跨结构施工 桥面铺装概述 教学设计-桥面铺装概述.docx
- 软件开发与项目管理-1期 学生作品 KC02_课程案例_人力资源管理系统.doc
- 软件开发与项目管理-1期 学生作品 KC02_学生作品_电子商务网站数据库管理系统设计.doc
- 软件开发与项目管理-1期 学生作品 KC02_学生作品_网上招聘系统.doc
- 软件设计师 培训资料 PX11010500006_电子教材_专题6网络安全.doc
- 软装设计 抱枕、桌旗的选配 【软装搭配】地毯搭配有术 家里不美都难.docx
- 软装设计 窗帘的选配 5个方法解决窗帘搭配中80%的问题.docx
- 软装设计 床品的选配 【软装e坐标】床品搭配.docx
- 软装设计 床品的选配 【软装技巧】床品搭配技巧大全.docx
- 软装设计 灯饰与色彩、家具的搭配 灯饰与色彩、家具的结合-项目任务单.docx
- 软装设计 家居空间与软装搭配 家居空间与软装搭配单元设计.docx
原创力文档


文档评论(0)