第3章软件工程基础讲述.pptVIP

  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文档。上传文档
查看更多
3.1 软件工程基本概念 1. 软件的相关概念 计算机软件是包括程序、数据及相关文档的完整集合。 软件的特点 1)软件是一种逻辑实体,而不是物理实体,具有抽象性?; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素?。 ? 软件的分类 按功能划分: 系统软件:管理计算机资源,使计算机使用效率更高,为用户提供各种服务的软件。 如,操纵系统(OS)、数据库管理系统(DBMS)、编译程序、汇编程序和网络软件等。 应用软件:为了应用于特定的领域而开发的软件。 如,Office系列、QQ、FlashGet等。 支撑软件:介于以上两者之间,协助用户开发软件的工具型软件。 如, Visual C++、Visual Basic 、 Dephi、PowerBuilder等。 2.软件危机 软件工程源自软件危机。 所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 问题产生的根本原因有两种: 软件本身的特点,如复杂性高、规模庞大等; 人们对软件开发和维护的许多错误认识和做法,再加上对软件的特性认识不足。 软件开发与维护的方法不正确是产生软件危机的主要原因。 软件危机主要表现在 软件需求的增长得不到满足。 软件开发成本和进度无法控制。 软件质量难以保证。 软件不可维护或维护程度非常低。 软件的成本不断提高。 软件开发生产率的提高跟不上硬件的发展和应用需求的增长。 3.软件工程 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 软件工程的主要思想是将工程化原则运用到软件开发过程,它包括3个要素:方法、工具和过程。 方法是完成软件工程项目的技术手段,即提供“如何做”的技术; 工具支持软件的开发、管理、文档生成; 过程支持软件开发的各个环节的控制、管理,在过程中将软件工程的方法和工具综合起来 。 软件工程的目标和研究内容 软件工程的目标是: 在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。 软件工程所包含的研究内容概括为以下两点: 软件开发技术:主要有软件开发方法学、开发过程、软件工具、软件工程环境。 软件工程管理:主要有软件管理、软件工程经济学、软件心理学。 软件工程的原则(一) 软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 抽象:采用分层次抽象、自顶向下、逐层细化的办法控制软件开发过程的复杂性。 信息隐蔽:将模块设计为“黑箱”,实现细节隐藏在模块内部,不让模块的使用者直接访问。即信息封装。 模块化:有助于信息的隐蔽和抽象,有助于表示复杂的系统。 局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间有松散的耦合关系,模块内部具有较强的内聚,这有助于控制分解的复杂性。 软件工程的原则(二) 确定性:软件开发过程中所有概念的表达应是确定的、无歧义的、规范的。 一致性:整个软件系统的各个模块应使用一致的概念、符号和术语;程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。 完备性:软件系统不丢失任何重要成分,完全实现系统所需的功能。 可验证性:开发大型软件系统需要对系统自顶向下逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。 4.软件工作过程 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 5.软件生命周期 软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。 软件生命周期分为3个时期共8个阶段:(熟记) 软件定义:包括问题定义、可行性研究、需求分析; 软件开发:包括概要设计、详细设计、实现和测试; 软件运行维护:即运行维护阶段。 软件生命周期各个阶段的活动可以有重复,执行时也可以有迭代。 * 软件生命周期中所花费最多的阶段是软件运行维护阶段。 6.软件开发工具与开发环境 软件开发工具 软件开发工具的产生、发展和完善促进了软件的开发速度和质量的提高。 包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。 软件开发环境 软件开发环境是全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期的各个阶段和各项任务的完成。 计算机辅助软件工程(CASE):将各种软件工具、开发机器和一个存放过程信息的中心数据库组合起来,形成软件工程环境。 3.2 结构化分析方法 目前使用最广泛的软件工程方法学是结构化方法学和面向对象方法学。

文档评论(0)

70后老哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档