软件开发生命周期与软件开发方法.ppt
- 文档编号:2197648
- 上传时间:2022-10-27
- 格式:PPT
- 页数:38
- 大小:544.50KB
软件开发生命周期与软件开发方法.ppt
《软件开发生命周期与软件开发方法.ppt》由会员分享,可在线阅读,更多相关《软件开发生命周期与软件开发方法.ppt(38页珍藏版)》请在冰豆网上搜索。
1TMUML&面向面向对象分析与象分析与设计NIITSCS-SWPUSoftwareEngineering&SoftwareEngineering&UMLUML软件工程与UML授课教师授课教师:
邹正伟邹正伟西南石油大学计算机科学学院西南石油大学计算机科学学院电邮:
电邮:
电话:
电话:
130600253022TM2SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件工程概述软件工程概述教学内容:
教学内容:
n了解软件的基本概念n软件的特征n软件危机、软件工程n软件生命周期中各个阶段的任务、实施方法及步骤n几种典型的软件开发模型3TM3SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.11.1软件软件n什么是软件?
n软件是计算机程序、各种相关的文档和数据的集合。
具体地说,它包括以下几部分:
1.程序:
能以预期的性能执行预期功能的一段指令;2.数据:
便于程序操纵信息的数据结构;3.文档:
记录了程序的操作和使用的文档.v许多人常常把某个计算机程序叫做软件,也常常把软件开发简单地说成是编写一段程序。
这些说法不正确。
4TM4SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件分类n软件一般分为系统软件和应用软件两大类。
n系统软件指管理、监控和维护计算机资源(包括硬件和软件)的软件。
包括操作系统、各种程序设计语言、编译软件和数据库管理系统等。
n应用软件指用户利用计算机及其提供的系统软件为解决各种实际问题而编制的计算机程序。
包括办公软件、电子商务软件、字处理软件和图形处理软件等。
5TM5SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.1.21.1.2软件的特征软件的特征(与硬件比较)1)软件是逻辑产品,它具有抽象性,通过计算机的执行才能体现它的功能和作用。
2)其成本主要体现在软件的开发和研制上,可进行大量的复制。
3)不存在磨损和老化问题。
4)软件对开发、运行和硬件等环境有着不同程度的依赖性,这导致了软件移植的问题。
5)主要靠脑力劳动生产,尚未摆脱手工开发方式。
6)软件是复杂的,而且以后会更复杂。
7)开发和维护成本高。
8)软件开发有比较明确的分工。
6TM6SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件的发展过程n软件伴随计算机技术的发展经历了三个阶段:
软件伴随计算机技术的发展经历了三个阶段:
n程序设计阶段n软件设计阶段n软件工程阶段7TM7SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT程序设计阶段n程序设计阶段(1946年1955年)特点:
n尚无软件的概念,程序设计主要围绕硬件进行开发n规模很小、工具简单n无明确分工(开发者和用户)n程序设计追求节省空间和编程技巧,无文档资料n主要是用于科学计算8TM8SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件设计阶段软件设计阶段n软件设计阶段(1956年1970年)特点:
n硬硬件件环环境境相相对对稳稳定定,出出现现“软软件件作作坊坊”的的开开发发组组织织形形式式n开开始始使使用用产产品品软软件件(可可购购买买),从从而而建建立立了了软软件件的的概概念念n系系统统规规模模越越来来越越庞庞大大,高高级级编编程程语语言言层层出出不不穷穷,应应用用领域不断拓宽领域不断拓宽n开开发发者者和和用用户户有有了了明明确确分分工工,社社会会对对软软件件的的需需求求量量剧剧增增n但但是是软软件件开开发发技技术术没没有有重重大大突突破破,生生产产效效率率低低下下,从从而导致而导致“软件危机软件危机”产生。
产生。
9TM9SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件工程阶段软件工程阶段n软件工程阶段(1970年至今)由于软件危机的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。
从此软件生产进入软件工程时代。
n特点:
n软件工程时代的生产方式是工程化生产;使用数据库、开发工具、开发环境、网络、先进的开发技术和方法,使生产率大大提高;但未能完全摆脱软件危机。
10TM10SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.21.2软件危机软件危机1.2.1什么是软件危机?
n开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是“软件危机”。
n“软件危机”是在1968年召开的国际软件工程会议上被人们普遍认识的。
n软件危机包括两方面的问题:
一是如何开发软件,怎样才能满足软件日益增长的需要;二是如何维护数量不断膨胀的软件产品。
11TM11SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件危机的具体体现软件危机的具体体现
(1)软件开发成本及进度难以预测
(2)用户对已完成的软件系统不满足(3)软件产品质量无法保证(4)软件产品难以维护(5)软件通常缺少适当的文档资料(6)软件成本逐年提高(7)软件开发生产率提高的速度,远远跟不上计算机应用技术的迅速普及。
12TM12SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT典型失败系统的例子nIBM公司开发OS/360系统,共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付。
在交付使用后的系统中仍发现大量(2000个以上)的错误。
13TM13SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.2.21.2.2产生软件危机的原因产生软件危机的原因1.在软件开发中缺乏科学管理的方法,开发进度不能保证,软件开发和维护困难。
2.只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。
3.缺乏软件质量管理规范。
4.对软件开发成本的估计不准确,造成开发成本超出预算。
5.过分重视程序设计人员的个人技能,缺少有效方法与软件工具的支持,软件产品个性化,可维护性差。
14TM14SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.2.21.2.2产生软件危机的原因产生软件危机的原因n硬件生产率大幅提高n软件生产随规模增大、复杂度增大n软件生产率很低n硬、软件供需失衡n矛盾引发“软件危机”15TM15SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.2.31.2.3解决软件危机的途径解决软件危机的途径n为了解决软件危机就要从技术和组织管理两个方面去研究,不断总结经验教训,提高软件产品的生产效率,降低软件开发和维护的成本。
n开发软件选用最好的开发工具是至关重要的,工具选用的好,它可以“放大”人的智力,大大加快软件开发速度,提高软件质量。
n为了解决软件危机,人们开始探索用工程化的方法进行软件开发,软件开发工程化的概念和方法应运而生,由此诞生了一门新兴学科软件工程学。
16TM16SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.31.3软件工程软件工程n“软件工程”一词是1968年北大西洋公约组织组织的专门讨论解决“软件危机”的国际会议上正式提出并使用的。
n软件工程是指导计算机软件开发和维护的一门工程学科。
它以“工程化”的思想来开发与维护软件。
nIEEE给出软件工程的定义是:
将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及对上述方法的研究。
17TM17SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.3.11.3.1软件工程的概念软件工程的概念n软件工程=质量保证+过程+方法+工具n什么是软件过程?
n一般,开发软件时,需要画出路线图,指导操作者按一定顺序和步骤创建适时的、高质量的软件产品。
开发软件产品遵循的路线图就称为软件过程。
n质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。
质量是推动软件过程不断改进的动力。
n方法层提供了软件开发的各种方法。
n工具层为软件工程方法和过程提供了自动和半自动的支撑环境。
18TM18SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT软件工程的目标软件工程的目标n软件工程追求的目标是可用性、正确性和合理性。
n也可以说是:
“优质高产”,即:
以较低的成本研制具有高质量的软件。
19TM19SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT1.3.2软件工程七条基本原则1)用分阶段的生命周期计划严格管理2)坚持进行阶段复审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查,即每阶段都有相应文档6)开发小组人员少而精7)承认不断改进软件工程实践的必要性20TM20SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT11、软件定义时期、软件定义时期1)问题定义:
确定“要解决的问题是什么”。
n阶段结果,阶段结果,产生出:
问题定义报告产生出:
问题定义报告。
n问题定义报告是系统分析员简要地写出关于问题性质、问题定义报告是系统分析员简要地写出关于问题性质、工程目标和工程规模的书面报告。
工程目标和工程规模的书面报告。
2)可行性研究:
回答“上一个阶段所确定的问题是否有行得通的解决办法”。
n阶段结果,阶段结果,产生出:
可行性研究报告。
产生出:
可行性研究报告。
3)需求分析:
任务是确定系统必须具备哪些功能。
n回答回答“目标系统必须做什么?
目标系统必须做什么?
n阶段结果,阶段结果,产生出:
需求规格说明书产生出:
需求规格说明书n在需求分析阶段确定的系统逻辑模型是以后设计和实在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础。
因此,必须准确完整地体现用户现目标系统的基础。
因此,必须准确完整地体现用户的要求。
的要求。
软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务21TM21SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT22、软件开发时期、软件开发时期1)概要设计(也称总体设计):
关键问题是“怎样实现目标系统”。
n回答回答“如何解决该问题如何解决该问题?
”,即系统,即系统”怎样做怎样做?
“n任务是任务是确定确定系统的总体结构、外部接口、模块的划分、系统的总体结构、外部接口、模块的划分、模块的功能及数据库设计。
模块的功能及数据库设计。
n阶段结果,阶段结果,产生出:
概要设计说明书。
产生出:
概要设计说明书。
2)详细设计:
把解决方法具体化,关键问题是“怎样具体地实现目标系统”。
n解决每个模块内部算法和数据结构。
解决每个模块内部算法和数据结构。
n阶段结果,阶段结果,产生出:
详细设计说明书。
产生出:
详细设计说明书。
软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务22TM22SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT3)编码和单元测试:
根据设计说明书中每一个模块的流程选取一种适当的高级程序设计语言,写出正确的、容易理解而且容易维护的程序代码,并仔细测试每一个模块。
n阶段结果,产生出:
无语法错误的源程序。
软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务23TM23SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT4)综合测试:
是通过各种类型的测试及相应的调试使软件达到预定的要求。
最基本的是集成测试和验收测试。
n集成测试是集成测试是把经过单元测试的模块按某种选定的策略把经过单元测试的模块按某种选定的策略装配起来,在装配过程中进行必要的测试装配起来,在装配过程中进行必要的测试。
n验收测试是按照需求规格说明书的规定,有用户或在验收测试是按照需求规格说明书的规定,有用户或在用户参与下对目标系统进行验收。
用户参与下对目标系统进行验收。
n阶段结果,阶段结果,产生出:
测试报告。
产生出:
测试报告。
软件生命周期各个阶段基本任务24TM24SCS-SWPUUML&面向面向对象分析与象分析与设计NIIT33、运行维护时期、运行维护时期n运行维护阶段:
是软件生存周期最后一个阶段。
n关键任务是:
通过各种必要的维护活动使系统持久关键任务是:
通过各种必要的维护活动使系统持久地满足用户的需求。
主要是改正软件系统在使用过地满足用户的需求。
主要是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中的新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 生命周期 方法