《软件工程项目实践教程》教学课件—项目1 软件工程概述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目一 1.2 软件与软件危机
7

瀑布模型简称为“生命周期模型”或“线性顺序模型”。它的优点是:符合软件开发的思维过程,
容易理解和运用;通过设置里程碑,明确每阶段的任务与目标;支持结构化软件开发,可为各阶段制定
开发计划,进行成本预算;通过阶段评审,将开发过程纳入正确轨道;严格的计划性保证软件产品的按
2
本章 要点
了解软件工程背景知识; 掌握软件危机的产生、表现及原因; 掌握软件生命周期概念及方法; 掌握软件质量评价方法; 理解软件开发模型及方法; 掌握VISIO建模工具。
项目一 1.1 软件工程背景知识
3
1.软件的定义 软件是一类特殊的智力产品,它的研发有一个特殊的过程,这个被称为“软件生命周期” 的过程,是整个软件工程知识体系所体现的过程。准确的说软件(Software)是一系列按照特 定顺序组织的计算机数据和指令的集合。我们把各种不同功能的程序,包括用户为自己的特定 的目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序的系统程序、管理和控制 机器系统资源的程序及相关文档的完整集合,通常称为软件。 软件由图1-1所示的三部分组成,一是计算机程序,二是数据,三是软件文档组成。
项目一 软件工程概述及VISIO建模工具简介
1
学习内容
1.1 软件工程背景知识 1.2 软件与软件危机 1.3 软件质量评价 1.4 软件开发方法 1.5 项目管理概述 1.6 VISIO 2007的安装及应用 1.7 网上购书系统初步建模
项目一 软件工程概述及VISIO建模工具简介
8

喷泉模型认为软件开发过程自下而上周期进行的各阶段是相互迭代和无间隙的。“无间隙”是指在
各项活动之间没有明显的边界,如分析和设计活动之间没有明显的界限。正像水喷上去可以落下来时,
既可以落在中间,也可以落在最底部,类似于一个喷泉。喷泉模型不像瀑布模型的各个阶段有明显的界
限,所以开发人员可以同步进行开发。它的优点是可以提高软件项目的开发效率,节省开发时间,适应
图1-1软件基本组成
项目一 1.2 软件与软件危机
4
1.2.1 软件危机主要表现
1. 软件不符合用户的实际需要 2.软件开发生产率不高,不能满足客观需要 3.软件产品质量差 4.对软件开发成本和进度的估计不准确 5.可维护性差 6.软件的文档资料不完整和不合格 7.软件成本逐年上升
项目一 1.2 软件与软件危机
项目一 1.3 软件质量评价
10
软件质量可分解成六个要素,
1. 功能性:软件所实现的功能满足用户需求的程度。功能性反映了所开发的软件满足用户叙述的或蕴涵的需求的程度,即用户 要求的功能是否全部实现了。 2. 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件 满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。 3. 易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性, 即用户在使用本软件时是否方便。 4. 效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时, 有没有浪费资源,此外“资源”这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。 5. 可维修性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维修 性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。一个易于维护的软件系统也是一个易 理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。 6. 可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。
时交付。它的缺点主要是:缺乏灵活性,不能适应用户需求的变化;开始阶段的小错误被逐级放大,可
Βιβλιοθήκη Baidu
能导致软件产品报废。它比较适合于功能和性能明确的小规模软件开发和生产。

快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品所能完
成功能的一个子集。和瀑布模型比较而言,快速原型模型的优点是:用户参与了软件系统开发的所有阶
于面向对象的软件开发过程。但它的缺点是:由于喷泉模型在各个开发阶段是重叠的,在开发过程中需
要大量的开发人员,因此不利于项目的管理。

基于构件的开发模型融合了快速原型的特殊种类螺旋模型的许多特征。它本质上是演化的支持软件
开发的迭代方法。但是,构件组装模型是利用预先包装好的软件构件(有时称为“类”)来构造应用程
5
1.2.2 软件工程七条基本管理原理
1.实行分阶段的生命周期计划并严格管理,即将软件开发划分为多个阶段,对各个阶段实行严格的项目管理,并 为每个阶段制定分阶段的计划及验收标准。 2.坚持进行阶段评审,即在每个阶段都进行严格的评审,以便尽早发现软件开发中的错误,是一条必须遵循的 重要原则。 3.实行严格的产品控制,即进行合理的需求分析,并实行严格的版本控制。 4.采用现代化程序设计技术,即采用最为现代化的开发技术,比如面向对象。 5.结果应能清楚的审查,即为了提高软件开发过程的可见性,更好地进行管理,应该根据软件开发项目的总目 标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查,并用相关的文档体现。 6.开发小组的人员应该少而精,即保证开发小组的人数少,但是素质高。 7.不断改进软件工程实践,即软件从业人员应该不断的总结经验并学习新的软件技术。
序的,面向对象技术为软件工程的基于构件的过程模型提供了技术框架。它的优点是构件组装模型导致
了软件的复用,提高了软件开发的效率。它允许多个项目同时开发,降低了费用,提高了可维护性,可
实现分步提交软件产品。

项目一 1.2 软件与软件危机
9
1.2.3 软件生命周期6个阶段
(1)制定计划 (2)需求分析 (3) 软件设计 (4)程序编写 (5)软件测试 (6)运行/维护
段,从而使用户的需求可以及时、准确地得到满足,系统的实用性较强;用户可以及早地接触和使用未
来系统的原型,有利于后期的使用和维护;使用快速原型模型开发软件,其周期大为缩短,开发费用较
少,而瀑布模型则正好相反。和瀑布模型比较,快速原型模型更适用于解决有不确定因素的问题或用户
界面要求较高的中型系统。
项目一 1.2 软件与软件危机
项目一 1.2 软件与软件危机
6
1.2.3 软件生命周期
软件生命周期可以划分为6个阶段,制定计划、需求分析、设计、编码、测试、
运行和维护,或按照“软件生命周期”的观点划分为7个阶段:问题定义、可行性
研究、需求分析、软件设计、编码、软件测试和运行维护。目前,可将常见的软件开 发模式大致分为4种类型。每种模式的代表模型有瀑布模型、快速原型模型、喷泉模 型、基于构件的开发模型、XP方法等等。
相关文档
最新文档