软件工程方法学剖析.pdfVIP

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
软件工程方法学 软件工程方法学是研究软件设计方法及工程开发技术的一门学科。 为什么要学习软件工程方法学? 1、应用的需要:方法学的发展、不同方法学的优缺点 2、从更宏观、更高的层次来看待软件开发 3、发展更新的\更完善的软件工程方法学的需要 相关知识体系: 1、结构化方法:基本结构化方法、复杂的结构化方法 传统的软件工程方法 2、面向对象方法:基本的面向对象;RUP 3、极限编程方法(XP ) 敏捷开发方法 4 、快速原型软件开发方法 5、测试驱动的软件开发方法 6、形式化方法:1、基于规范的开发方法/ 函数式编程开发方法 形式化方法 2、净室/零缺陷软件开发方法 7、面向方面编程的软件开发AOP 8、产生式编程 9、SOA:面向服务的体系结构 基于集成与复用 10、MDA/MDSD:模型驱动体系结构/软件开发 11、基于工作流引擎 基于软件的集成与复用的快速开发: 1、面向方面的编程:一个软件的某些功能,可以抽象为一个“方面”,在需要的时候添加到一 个或多个类上,从而达到快速整合功能的目标。 2、SOA :(面向服务的体系结构)一个软件功能,就是一个可重用的 Service ,这个Service 可 以被企业内、企业外、甚至全世界所利用(集成)。 3、MDA/MDSD(模型驱动的软件开发): 对某类软件或某个领域的软件需求,设计出一个通用的、 一般的、抽象的模型,描述这类系统的结构和动作规律 要开发软件时,依据这个模型,自动生成一个相应的软件系统(代码),从而达到快速开发的 目标. 4 、产生式编程(GP):用高级的、专用的“业务代码”去描述业务处理过程。将这些高级业务 代码,再通过一种工具或方式,转换成用常用的高级程序设计语言所实现的代码(块),从而 实现软件的快速开发。转换工具(设备) 业务代码--实现代码 5、基于工作流引擎(WF) :将这些高级业务代码,再通过一种工具或方式,转换成用常用的高 级程序设计语言所实现的代码(块),从而实现软件的快速开发。(流程描述功能实现) 软件开始的历史演进过程 1、最早的软件和程序:机器语言 (编译器/解释器)用goto 语句来实现的循环等复杂 的流程和算法。由于goto 语句的滥用,致使程序无法阅读、修改、扩展。导致必须要有结构 化的语言。 2、结构化语言: 产生原因:1、上述对goto 语言的限制 2、可阅读、修改、扩展 3、必要时 将代码复制重 用。 缺点:1、重用只限制于复制代码 2、软件越多越复杂 结果导致了下一阶段:模块化 即函数 3、模块化(函数) 优点:1、函数集中存放代码的、独立功能单元、模块分解和设计、出现了开发包、函数的 独立性可以提高软件的质量 缺点:1、函数不能永久的存放数据(结果→函数之间不可避免的出现了高耦合或低效率; 解决结果→把数据和处理这些数据的代码放在一起) 2、函数式预编译的,即把所有的函数的代码集中在一起,形成一个exe 执行文件。 4 、软件的分散化: 至此之前,要求代码的所以函数都要集中,再编译成一个.exe 文件。由于很多函数不是以 开源的方式提供给我们使用,故开始使用已经编译好的代码(库文件.lib),库文件是一系列的函 数,而且已经编译好的。 缺点:生成一个大的exe 文件 ;.lib 更新不方便。导致了动态链接库 动态链接库(dll): 好处:(1)代码和模块分离(不仅仅是逻辑分离,在物理上也分离了):可以分别开发、分别 更新;(2 )运行时,只载入.exe 和需要的.dll,其它不需要的代码/功能都可暂不载入内存。 5、由于动态链接库的出现,软件进入到了独立组建时代。 一个软件是由一系列物理分离的独立组件(component ),每个组件可以单独复制、更新、 使用 独立组件时代,由于动态链接库的缺点,只是功能的组件化,并不灵活,接着导致了可视 化功能组件化--控件。 6、随着网络发展: 分布式组件模式 :一些软件的功能组件,被从软件所在的主机中取出,放到远距离的服务 器上(我们称之为”应用服务器”) D

文档评论(0)

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

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

1亿VIP精品文档

相关文档