- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 * 第1章 软件工程概述 本章要点 : 软件工程产生的原因 软件工程的基本原理 软件工程方法学和面向对象方法学基本原理 软件过程 软件工程有关工具和环境 本章学习目标 : 了解软件工程产生的原因 掌握软件工程的基本原理 了解软件工程方法学和面向对象方法学基本原理 了解软件过程 了解软件工程有关工具和环境 §1.1 软件工程的产生 一、软件发展经历了三个阶段: 1、程序设计时代(1946-1956年) 采用“个体生产方式” 2、程序系统时代(1956-1968年) 随着软件规模的扩大,个体生产已经不能够满足软件生产的需要,一个软件需要由几个人协同完成,采用“生产作坊方式” ,随着软件需求量、规模及复杂度的增大,生产作坊的方式已经不能够适应软件生产的需要,出现所谓“软件危机”。 主要表现在两个方面: (1)软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 “软件危机”产生的原因 “软件危机”(Software??crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的软件花费了大量人力财力,却在开发过程中就夭折。 3、软件工程时代(1968年至今) 为了克服软件危机,适应软件发展的需要,而采用“工程化的生产” 方式。将工程学的某些原理和方法应用在软件的设计和开发中来 软件工程研究的主要内容有以下两个方面: 1、软件开发技术,它包括软件开发方法、技术和软件开发工具及环境、软件管理技术。 2、软件规范(国际规范)包括: (1)软件开发技术(软件结构、开发方法、工具与软件工程环境、软件工程标准化) (2)软件工程管理(质量管理,软件工程经济学:成本估算,计划安排) 软件工程研究的目标是“以较少的投资获取较高质量的软件”。 §1.2软件工程及其基本原理 一、软件工程的的定义 软件工程是指导计算机软件开发和维护的工程学科。采用工程学的概念、原理、技术和方法,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来开发与维护软件。 二、有关概念 程序:为了使计算机实现预期的目的(如解某一算题或控制某一过程)而编排的一系列步骤称为程序。 软件:计算机的程序加上该程序的各种规格书或文档。软件方法是以大型程序为研究对象的。相应文档是软件的核心之一。 软件工程:生产软件的工程。研究软件工程的学问叫软件工程学(有时人们也把软件工程学简称为软件工程)。 软件可靠性:软件在所给条件下和规定时间内,能完成所要求的功能的性质。 软件可靠度:软件在所给条件下和规定时间中,能完成所要求功能的概率。 软件工程的基本原理 软件工程的七条基本原理: 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计技术 5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性 §1.3软件生存期 软件生存期又称软件生命周期,是指一个软件系统从目标提出到最后丢弃的整个过程。 软件工程基本原理强调软件生命周期的阶段性,其基本思想是各阶段任务相对独立,具有明确的完成标志。阶段的划分使得人员分工职责清楚,项目进度控制和软件质量得到确认。原则上,前一阶段任务的完成是后一阶段工作的前提和基础;而后一阶段的任务则是对于前一阶段问题求解方法的具体化。 生存期瀑布模型 (目标与范围说明书) (需求说明书) (设计文档) (程序) (测试报告) (维护报告) (可行性论证报告) 问题定义 测试 运行维护 可行性分析 需求分析 设计 编程 设计时期 开发时期 运行时期 图1.1软件生命周期的阶段划分 一、问题定义 问题定义阶段必须回答的关键问题是:“要解决的问题是什么?” 二、可行性研究 此阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解决, 是否有可行的解决办法。 三、需求分析 这个阶段的任务,主要是确定目标系统必须具备哪些功能。 四、总体设计 这个阶段必须回答的关键问题是:“应该如何解决这个问题?” 五、详细设计 详细设计阶段的任务就是把解法具体化,设计出程序的详细规格说明,包括必要的细节,程序员可以根据它们写出实际的程序代码。 六、编码和单元测试 这个阶段的任务是程序员根据目标系统的性质和实际环境,选取一种适当的高级程序设 计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一
文档评论(0)