




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXXXXX大学软件工程SOFTWARE
ENGINEERING教师: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)对所开发的领域比较熟悉而且已有原型系统。增量模型示意图1.4.2软件过程模型演化模型是一种有弹性的过程模式。演化模型示意图1.4.2软件过程模型
螺旋模型将瀑布模型与演化模型结合起来,加入了两种模型均忽略了的风险分析。螺旋模型示意图1.4.2软件过程模型喷泉模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临沭租房合同范本
- 2025年梧州货运从业资格考题
- 2025年景德镇货运从业资格仿真考题
- 医院食堂押金合同范本
- 个人和工厂合作合同范本
- 保健品定购合同范本
- 加工类工程合同范本
- 农业仓库出租合同范本
- 债务继承协议合同范例
- 单位对个人合同范例
- 国民经济行业代码(2022年版)
- 小学科学试卷分析及改进措施(通用6篇)
- 脱硫塔内部(玻璃鳞片防腐涂层)维修工程施工、组织、设计方案(附:质量、安全、环境保护措施与技术交底)
- 医院入院通知书格式
- 视频号运营方案
- 履带式起重机负荷试验及调试报告报审表
- 发育生物学1-9章全
- 中医学课件:第三章 藏象学说
- 山西省煤炭运销集团有限公司王家岭煤矿井筒工程施工组织设计
- 三年级数学下册单元计划【9个单元全】
- 钢筋工程隐蔽检查验收记录填写实例
评论
0/150
提交评论