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

南华大学计算机科学与技术学院软件工程概论课件第1章 绪论(2).ppt

南华大学计算机科学与技术学院软件工程概论课件第1章 绪论(2).ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 绪论 (1.3-1.4节) 主要内容 软件开发方法 软件开发工具和环境 1.3 软件开发方法 所谓软件开发方法就是使用定义好的技术及表示符号来组织软件生产过程的方法。 一般说来软件开发方法必须在以下三个方面作出规定: ①开发步骤(包括每步相应的技术和符号);②软件文档格式;③开发方案评价标准。 主要软件开发方法:结构化方法、面向对象方法、形式化方法。 1.3.1 结构化方法 指导思想:自顶向下、逐步求精、单入口、单出口; 基本原则:抽象和功能分解; 方法论:系统是由一些功能的相互联系、相互作用而形成; 结构化方法系列:结构化分析方法、结构化设计方法和结构化程序设计方法。 (具体)技术方法:面向数据流图的方法、IDEF0方法、Jackson方法、LCP(Logical Construction Programs)方法等。 结构化方法的特点 强调阶段划分; 简单实用; 技术成熟; 应用广泛。 特别适合于需求能够预先指定的系统的开发 结构化方法的不足 不太适应规模大及特别复杂的项目; 难于解决软件重用(复用)问题; 难于适应需求变化或模糊的问题; 软件维护依然比较复杂。 1.3.2 面向对象方法 指导思想:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程 。 基本原则:对象+类+继承+消息通信。 方法论:系统是由一些对象的相互联系、相互作用而形成。 方法系列:面向对象分析、面向对象设计、面向对象程序设计。 (具体)技术方法:Coad/Yourdon方法、Booch方法、OMT方法、OOSE方法、IDEF4方法、CRC方法等。 面向对象方法的特点 对象与功能相比,前者更易于被人们所理解、接受和掌握,确定时客观性更强更稳定,且修改起来也更容易。 (类对象易复用、易维护) 描述问题的问题空间与在计算机上解决问题的解空间在结构上相一致。(易理解) 面向对象方法中的概念和表示符号,适用于整个软件开发过程。 (易学习) 软件开发阶段的划分通常比较模糊,分析和设计之间没有鸿沟。 (易处理需求模糊或变化的情况) 面向对象方法的不足 类作为复用单元,有时显得太小; 继承会增加类间的耦合性; 面向对象方法没有结构化方法成熟;(如对象语义缺乏严格的普遍认可的数学模型) ... 1.3.3 形式化方法 指导思想:借助数学方法来描述目标软件系统。 基本原则:形式分析和推理。 方法论:系统可以通过严格的、规范化的数学理论经分析、推理得到。 方法系列:形式化分析方法、形式化设计方法、转换方法。 (具体)技术方法:VDM(Vienna Development Method,维也纳)方法、RASIE方法等。 形式化方法的特点 形式模型完整、一致和无二义性; 支持形式推理,便于软件验证; 便于软件自动生成; ... ... 形式化方法的不足 开发成本高; 一般人不易接受,需要培训; 灵活性差; 难以与软件开发过程平滑地结合; 支持工具少; ... ... 1.3.4 开发方法的结合研究 利用各种方法的长处,从而实现优势互补 . S. Liu等人提出了一门SOFL(Structured Object-based Formal Language)语言和一种集成了结构化方法、面向对象方法和形式化方法于一体的SOFL开发方法学。 -----在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法,在软件开发全过程中一些对软件质量有重要影响的部分采用形式化方法。 (Why?) 1.4 软件工程工具和环境 工欲善其事,必先利其器; 对一个待开发的系统,先考虑采用何种方法(看待系统的立场、观点等),然后再考虑采用何种工具(提高开发质量和效率)。 1.4.1 软件工具 软件工具是指为支持计算机软件的开发、维护及有关工作而研制的程序系统。 使用软件工具的目的是降低软件开发和维护的成本,提高软件产品的生产效率和质量。 软件开发工具 软件开发工具用于软件开发过程的各种开发活动。 需求分析工具 设计工具 编码工具 测试工具 Microsoft Visio Rational Rose Eclipse开发平台 软件维护工具 辅助维护人员对代码及其有关文档进行各种维护活动。 版本控制工具 文档分析工具 逆向工程工具 (代码 -〉设计 -〉分析) 再工程工具 (含逆向和正向工程) Fujaba:逆向工程 Eclipse:重构 软件管理和支持工具 辅助软件项目管理人员和支持人员的各种管理和支持活动 。 项目管理工具(如:Microsoft Project

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档