- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
XXXXXX大学软件工程SOFTWAREENGINEERING教师:XXXXX2024
教学目标:(1)理解软件和软件工程的相关概念;(2)了解软件工程的发展历程;(3)理解软件的生命周期及阶段任务;(4)掌握常用的软件过程模型,能够根据实际软件项目选择较合适的开发模型。第1章软件工程概述
1.1软件
1.1.1软件的概念程序软件产品程序文档数据
是能够完成预定功能的可执行的指令序列。是程序能够适当操作的信息。是开发、使用和维护程序所需要的阐明性资料。程序数据文档软件可以形式化地表示如下:软件=程序+数据+文档1.1.1软件的概念
软件是一种抽象的逻辑实体。1.1.2软件的特点软件是一种智力产品。软件开发至今尚未摆脱手工开发方式。软件需要维护。软件产品
010203按照软件功能分类系统软件支撑软件应用软件按照软件规模分类微型软件小型软件中型软件大型软件超大型软件按照服务对象分类通用软件定制软件1.1.3软件的分类
1.2软件工程的产生1.2.1软件生产的发展个人程序时代软件是为某种特定型号的计算机设备而专门配置的程序。20世纪50年代201620世纪60年代软件工程时代1968年首次提出了“软件工程”这一概念。软件作坊时代出现了若干高级程序设计语言,“软件危机”现象爆发。20世纪70年代至今
软件产品不能满足用户的需求。软件产品成本高,开发进度难以准确估计。软件产品可维护性差。软件产品质量差,可靠性得不到保证。软件产品文档不完备。软件危机定义:软件危机是指在软件开发和软件维护过程中所遇到的一系列问题。1.2.2软件危机
“软件工程软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。1.3软件工程1.3.1软件工程概念
工具方法过程软件工程方法学有三个要素:方法、工具和过程。方法是指完成软件开发任务的技术方法;工具是指为方法的运用提供自动或半自动的软件支撑环境;过程是指规定了完成任务的工作阶段、工作内容、产品、验收的步骤和完成准则。1.3.2软件工程方法学
结构化方法结构化方法采用自上向下、逐步求精的指导思想,把软件开发工作划分成若干个阶段,每个阶段相对独立。面向对象方法面向对象方法采用自底向上和自顶向下相结合的方法,以对象建模为基础,运用对象、类、消息传递、继承、封装等概念来构造软件产品。1.3.2软件工程方法学
1.4软件过程国际标准化组织ISO将软件过程定义为:“把输入转化为输出的一组彼此相关的资源和活动”。
1.4.1软件生命周期软件生命周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
1.可行性研究:可行性研究是对准备开发的软件项目的可行性进行风险评估。一般从技术可行性、经济可行性和操作可行性等方面进行分析,并形成可行性研究报告,由此决定软件项目是否继续进行下去。2.需求分析:需求分析是一个复杂的过程,其成功与否直接关系到软件开发的成败。需求分析以用户需求为基本依据,从功能、性能、操作等多个方面,给出软件完整的和准确的描述,从而形成软件需求规格说明书。3.软件设计:软件设计就是把需求规格说明书中描述的功能可操作化,它可以分为概要设计和详细设计两个阶段。概要设计旨在建立系统的总体结构,主要体现在模块的构成与模块接口两个方面,形成概要设计说明书。详细设计以概要设计为依据,确定每个模块的内部细节,并形成详细设计说明书,为编码实现阶段提供最直接的依据。4.编码实现:编码实现就是把详细设计文档中对每个模块的算法描述转换为使用某种程序设计语言实现的程序。在编码实现过程中,必须遵守一定的标准和规范,这样可以提高代码的质量,并且便于后期维护。5.软件测试:软件测试一般可以分为单元测试、集成测试、确认测试、系统测试和验收测试等。通过软件测试可以发现软件中存在的缺陷,保证软件产品的质量。6.软件维护:软件产品交付后,还需要进行长期的软件维护。软件的维护过程,也是软件的功能更新、版本升级的过程。通常情况下,软件产品的质量越高,进行维护的工作量越小。1.4.1软件生命周期
1.4.2软件过程模型定义:过程模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,这些过程、活动和任务覆盖了从该软件的需求定义到软件使用终止的全过程。瀑布模型增量模型螺旋模型喷泉模型演化模型原型模型
瀑布模型是20世纪80年代之前最受推崇的软件开发模型。瀑布模型的适用范围:(1)适用于项目开始时需求已确定的情况;(2)开发人员对软件的应用领域很熟悉。1.4.2软件过程模型
增量模型也称为渐增模型。增量模型的适用范围:(1)进行已有产品升级或新版本开发;(2)对所开发的领域比较熟悉而且已有原型系统。增量模型示意图
文档评论(0)