网站大量收购独家精品文档,联系QQ:2885784924

軟件设计的原则.docVIP

  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文档。上传文档
查看更多
軟件设计的原则

软件产品可以被看作是由一系列具有特定功能的组件组成,作为一个完整的系统也可以被分解成一系列功能模块,这些模块之间的相互作用就形成了系统的所有功能。 所谓模块是指可组成系统的、具有某种确定独立功能的半自律性的子系统,可以通过标准的界面和其他同样的子系统按照一定的规则相互联系而构成的更加复杂的系统。每个模块的研发和改进都独立于其他模块的研发和改进,每个模块所特有的信息处理过程都被包含在模块的内部,如同一个“黑箱”,但是有一个或数个通用的标准界面与系统或其他模块相互连接。 在软件的模块化开发过程中,把一个源代码的结构分割成一个元系统和一系列的模块。 元系统指的是一个能够保持系统运转的最小的系统。 模块是一个较大系统的独特的部件,它能够由设计者独立设计出来,同时又可以作为一个整体在系统中运转。 把一个大系统切割成互相独立的不同的小系统,可以使一些并不是经常见面的开发者减少必要的交流次数。 另外,一个旧版本的模块可以被新版的模块所替换,同时却又不影响整个系统的运转。 这样,在新模块中所增加的功能就可以及时在现存的系统中体现出来,同时也不需要更改系统中的其他模块。 高度模块化的源代码结构给软件开发者和使用者均带来了极大的好处。 开发者可以对具有某种特定功能的模块进行独立开发而不需要花时间去协调与其他模块之间的关系。 并且模块化开发不仅允许模块之间的水平开发,而且可以通过对类似模块之间的创新和竞争(开发新的模块或者对原有的模块进行改进)充分改善系统的功能。 另外,作为最终的用户来说,在安装系统的时候可以就个人的需求与偏好选择适合自己的模块。 模块化是复杂系统的一个共同特征,模块化的代码结构是由松散的组件构成的,是对一个系统完全意义上的分割,而不像完全集成的代码,各个组件之间存在很强的依赖关系,并不是完全通过界面来交换信息。 总结: 第一, 把一个系统分解成各个不同的子模块,不同的开发者专注于对其中某一模块的开发,一方面实现了劳动的分工,另一方面也提高了自由软件开发的效率。基于模块化的性质,每个模块在开发出来以后都可以通过一个被称作是内核的原系统进行信息交流,发挥整个模块的功能,同时也并不会影响其他模块功能的发挥。而且在各个不同的模块整合在一起后,由于外部性的存在,会使整个系统增加的功能要超过该模块本身的功能。在此过程中实现了价值的分割与整合。 第二, 对于开发者而言,基于模块化的自由软件开发具有更大的吸引力,其在参与开发过程中可以得到更高的期望收益。 第三, 在非模块化的软件开发过程中,存在着严重的“搭便车”现象,当一个开发者选择参与开发,其余的开发者就会选择“搭便车”,最终会导致软件的供给不足;在基于模块化的开发过程中,所有的开发者都更倾向于参与开发不同的模块,从而实现整个系统的开发。 MIS软件开发中的组件模式开发比较复杂,主要的阻力不在代码的实现过程中,因为这个工作通常只应该占据软件开发工作量的30%,而对业务需求的深度剖析、业务子系统的划分和业务组件的规划会占据约40-50%的工作量。 这些工作体现在设计阶段主要是对业务的广度、深度分析,把业务领域的对象元素进行细化,将业务操作划分为原子性功能,以此为基础构成业务组件,进而形成模块和子系统,同时业务操作之间的约束则需要逻辑化(代码系统可识别的逻辑);在此过程中,原系统也就形成了,它便是在业务领域中必须的组件、模块和子系统的集合;外延的组件在原系统上通过组合或热差拔即能够满足不同规模、深度、特性的业务模式运转。 提高代码重复利用率 便于调试排错 易于扩展 软件开发流程( 软件开发流程(Software development process)即软件设计思路和方法的一般过程,包 )即软件设计思路和方法的一般过程, 括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、 括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、 程序联调和测试以及编写、提交程序。 程序联调和测试以及编写、提交程序。 第一步: 1 相关系统分析员和用户初步了解需求,然后用 WORD 列出 第一步 : 需求调研分析 要开发的系统的大功能模块, 每个大功能模块有哪些小功能模块, 对于有些需求比较明确相 关的界面时,在这一步里面可以初步定义好少量的界面。 2 系统分析员深入了解和分 析需求,根据自己的经验和需求用 WORD 或相关的工具再做出一份文档系统的功能需求文 档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还 例出相关的界面和界面功能。 3 系统分析员和用户再次

文档评论(0)

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

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

1亿VIP精品文档

相关文档