- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第1章软件工程
软件技术基础 电子工程学院 第1章 软件工程 1.1 软件的基本概念 1.2 软件工程 1.3 软件生存周期 1.4 结构化的软件开发方法 作业 1.1 软件的基本概念 1.1.1 软件特征 软件的开发不是传统意义上制造生产 软件不会“磨损” 软件的可复用性差,不能通过已有的构件组装而成 1.1.2 软件的分类 系统软件 应用软件 1.1.3 软件的发展 计算机硬件的发展经历了四个时代,同样计算机软件也大致经历了四个阶段 1.1.4 软件危机 1. 什么是软件危机 软件危机主要有以下一些典型表现: 对软件开发成本和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。 软件产品的质量往往靠不住。 软件常常是不可维护的。 软件通常没有适当的文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。 2. 产生软件危机的原因 与软件本身的特点有关; 与软件开发与维护的方法不正确有关。 3. 消除软件危机的途径 技术措施(软件开发方法和软件开发工具); 必要的组织管理措施。 1.2 软件工程 1.2.1 软件工程的基本概念 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它,这就是软件工程。 1.2.2 软件工程方法学 通常把在软件生命周期全过程中使用的一整套技术的集合称为软件工程方法学。 软件工程方法学包括三个要素,这就是方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件工程方法学分为结构化方法、Jackson方法、维也纳方法(VDM)、面向对象方法。目前使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。 1.3 软件生存周期 1.3.1 生存周期的划分及各阶段的主要任务 软件生存周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。下面简要介绍上述各个阶段应该完成的基本任务。 1. 问题定义:问题定义阶段必须回答的关键问题是:“开发软件系统要解决的问题是什么”。 2. 可行性研究:这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否可以解决,是否能够解决”。 3. 需求分析:这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”。这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为需求说明书或规格说明书。 4. 概要设计:这个阶段的基本任务是,概括地回答“怎样实现目标系统?”。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。首先,应该设计出实现目标系统的几种可能的方案。概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。 5. 详细设计:概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。 6. 编码:这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 7. 测试:这个阶段的关键任务是通过各种类型的测试以及相应的调试,使软件达到预定的要求。 1.3.2 软件生存周期模型 1. 瀑布模型 软件开发过程依照固定顺序进行,各阶段的任务与工作结果如图1.4所示。该模型严格规定各阶段的任务,上一阶段任务输出作为下一阶段工作输入。此模型适合于用户需求明确、开发技术比较成熟、工程管理严格的场合使用。其缺点由于任务顺序固定,软件研制周期长,前一阶段工作中造成的差错越到后期越大,而且纠正前期错误的代价高。 2. 快速原型模型 软件开发中的原型不同与最终的系统,两者在功能范围上的区别在于最终系统要实现软件需求的全部功能,而原型只实现所选择的部分功能。最终系统对所有的软件需求都必须详细实现,而原型仅仅是为了试验和演示用的,部分功能需求可以忽略或者模拟实现。 快速原型模型的表示如图1.6所示。图1.6(a)是原型本身的表示,图1.6(b)说明了原型的开发步骤。 快速原型模型开发软件经历了快速分析、构造原型、运行原型、评价原型、根据评价的结果进行修改的这样一个过程。 3. 增量模型 增量模型也称为渐增模型,如图1.7所示。使用增量模型开发软件时,把
您可能关注的文档
最近下载
- 国新办“924”政策组合拳深度解读:创新货币政策工具箱,多措并举推动经济高质量发展.docx
- 售电企业电力交易负荷预测管理导则.pdf VIP
- 发电企业电力市场交易辅助决策信息系统技术规范.pdf VIP
- 北斗产业园项目可行性研究报告.docx
- 2024电力现货交易辅助决策系统解决方案.pdf
- 2023发电企业现货交易辅助决策管理系统.docx
- KSC20系列开关磁阻电动机控制器使用说明书V_1.2.docx
- 一种电力现货交易辅助决策系统模型.pdf VIP
- 北斗产业园风险分析与应对策略.docx
- Unit 1 Greetings P1 Greet each other(教学课件)一年级英语上学期(沪教版 2024).pptx
文档评论(0)