- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 软件工程概述
1、什么是软件工程?为什么会出现软件工程?
软件工程是:① 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;② 研究①中提到的途径。
软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科——计算机软件工程学(通常简称为软件工程)。
2、什么是软件工程方法学?软件工程的3要素(软件工程方法学的3要素)是什么?分别包含什么内容?
软件工程方法学:软件生命周期全过程中使用的一整套技术方法的集合
软件工程方法学包含3个要素:方法、工具和过程。
方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;
工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;
过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
3、什么是软件过程?什么是软件周期?常见软件生命周期模型(课件中的前5类)的特点有哪些?
软件过程:它是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期:由软件定义、软件开发和运行维护(也称之为软件维护)3个时期组成
①瀑布模型
定义:传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。
瀑布模型的特点:1.阶段间具有顺序性和依赖性;2.推迟实现的观点;3.质量保证的观点。瀑布模型的成功在很大程序上是由于它基本上是一种文档驱动的模型。
瀑布模型的主要优点:a.可强迫开发人员采用规范的技术方法 ;
b.严格地规定了每个阶段必须提交的文档 ;
c.每个阶段结束前必须正式进行严格的技术审查和管理复审 。
瀑布模型的主要缺点 :在可运行的软件产品交付给用户之前,用户只能通过文档来了解未来的产品是什么样的。开发人员和用户之间缺乏有效的沟通,很可能导致最终开发出的软件产品不能真正满足用户的需求 。
②快速原型模型
定义:所谓“快速原型”, 是快速建立起来的、可在计算机上运行的程序,它所能完成的功能往往是最终的软件产品所能完成的功能的子集。 原型是软件开发人员与用户沟通的强有力工具,因此有助于所开发出的软件产品满足用户的真实需求。
快速原型模型的主要优点是:A.使用这种软件过程开发出的软件产品通常能满足用户的真实需求;
B.软件产品的开发过程基本上是线性顺序过程。
③增量模型
定义:增量模型也称为渐增模型
增量模型的主要优点:A.能在较短时间内向用户提交可完成部分工作的产品 ;
B.逐步增加产品功能,从而使用户有较充裕的时间学习和适应新产品,减少一个全新的软件给客户组织带来的冲击 。
④螺旋模型
定义:螺旋模型的基本思想是, 使用原型及其他方法尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型 。
螺旋模型所描述的软件过程主要适用于内部开发的大型软件项目 。
使用螺旋模型开发软件,要求软件开发人员具有丰富的风险评估知识和经验 。
螺旋模型主要有下述优点 :A.有利于已有软件的重用 ;
B.有助于把软件质量作为软件开发的一个重要目标 ;
C.减少了过多测试或测试不足所带来的风险 ;
D.软件维护与软件开发没有本质区别 。
⑤喷泉模型
定义:迭代是软件开发过程中普遍存在的一种内在属性。在面向对象范型中,软件开发过程各阶段之间的迭代或同一阶段内各个工作步骤之间的迭代,比在结构化范型中更常见。
喷泉模型,是典型的面向对象生命周期模型,它充分体现了面向对象软件开发过程迭代和平滑过渡的特性。
5、1. 软件生命周期概念
软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
软件生命周期分为3个时期共8个阶段,
软件定义期:包括问题定义、可行性研究和需求分析3个阶段;
软件开发期:包括概要设计、详细设计、实现和测试4个阶段;
运行维护期:即运行维护阶段。
表3-3 软件生命周期各阶段的主要任务
任务
描述
问题定义
确定要求解决的问题是什么
可行性研究与计划制定
决定该问题是否存在一个可行的解决办法,指定完成开发任务的实施计划
需求分析
对待开发软件提出需求进行分析并给出详细定义。编写软件规格说明书及初步的用户手册,提交评审
软件设计
通常又分为概要设计和详细设计两个阶段,给出软件的结构、模块的划分、功能的分配以及处理流程。这阶段提交评审的文档有概要设计说明书、详细设计说明书和测试计划初稿
软件实现
在软件设计的基础上编写程序。这阶段完成的文档有用户手册、操作手册等面向用户的文档,以及为下一步作准备而编写的单元测试计划
软件测试
在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报
您可能关注的文档
- 动画技法新课件.ppt
- 人工智能期末试题及答案完整版最新.doc
- java文本编辑器的设计与实现.doc
- 个人网站的设计与实现.doc
- 数字图像边缘检测算法的研究与实现.doc
- 无线传感器网络复习题.doc
- 基坑变形监测及其数据处理方案.doc
- 冒泡法排序的动画演示课程设计.doc
- 数控编程与操作教案.doc
- 基于单片机的交通信号控制系统.doc
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
文档评论(0)