软件开发生命周与期软件开发方法邹正伟.ppt

上传人:人*** 文档编号:568512727 上传时间:2024-07-25 格式:PPT 页数:38 大小:2.34MB
返回 下载 相关 举报
软件开发生命周与期软件开发方法邹正伟.ppt_第1页
第1页 / 共38页
软件开发生命周与期软件开发方法邹正伟.ppt_第2页
第2页 / 共38页
软件开发生命周与期软件开发方法邹正伟.ppt_第3页
第3页 / 共38页
软件开发生命周与期软件开发方法邹正伟.ppt_第4页
第4页 / 共38页
软件开发生命周与期软件开发方法邹正伟.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《软件开发生命周与期软件开发方法邹正伟.ppt》由会员分享,可在线阅读,更多相关《软件开发生命周与期软件开发方法邹正伟.ppt(38页珍藏版)》请在金锄头文库上搜索。

1、1TMUML&面向对象分析与设计面向对象分析与设计NIIT SCS-SWPUSoftware Engineering & Software Engineering & UMLUML软件工程与UML授课教师: 邹正伟西南石油大学计算机科学学院电邮:电邮:电话:电话:13060025302Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides

2、for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2TM2SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件工程概述软件工程概述教学内容:教学内容:n了解软件的基本概念n软件的特征n软件危机、软件工程n软件生命周期中各个阶段的任务、实施方法及步骤n几种典型的软件开发模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose P

3、ty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3TM3SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.1 1.1 软件软件n什么是软件?n软件是计算机程序、各种相关的文档和数据的集合 。具体地说,它包括以下几部分:1.程序:能以预期的性能执行预期功能的一段指令;2.数据:便于程序操纵信息的数据结构;3.文档:记录了程序的操作和使用的文档.v许多人常常把某个计算机程序叫做软件,

4、也常常把软件开发简单地说成是编写一段程序。这些说法不正确。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4TM4SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件分

5、类n软件一般分为系统软件和应用软件两大类。n系统软件指管理、监控和维护计算机资源(包括硬件和软件)的软件。包括操作系统、各种程序设计语言、编译软件和数据库管理系统等。n应用软件指用户利用计算机及其提供的系统软件为解决各种实际问题而编制的计算机程序。包括办公软件、电子商务软件、字处理软件和图形处理软件等。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspo

6、se.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.5TM5SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.1.2 1.1.2 软件的特征软件的特征(与硬件比较)1)软件是逻辑产品,它具有抽象性,通过计算机的执行才能体现它的功能和作用。2)其成本主要体现在软件的开发和研制上,可进行大量的复制。3)不存在磨损和老化问题。4)软件对开发、运行和硬件等环境有着不同程度的依赖性,这导致了软件移植的问题。5)主要靠脑力劳动生产,尚未摆脱手工开发方式。6)软件是复杂的,而

7、且以后会更复杂。7)开发和维护成本高。8)软件开发有比较明确的分工。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6TM6SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT

8、 软件的发展过程n软件伴随计算机技术的发展经历了三个阶段:软件伴随计算机技术的发展经历了三个阶段:n程序设计阶段n软件设计阶段n软件工程阶段Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7T

9、M7SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 程序设计阶段n程序设计阶段(1946年1955年) 特点:n尚无软件的概念,程序设计主要围绕硬件进行开发n规模很小、工具简单n无明确分工(开发者和用户)n程序设计追求节省空间和编程技巧,无文档资料n主要是用于科学计算 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slid

10、es for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8TM8SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件设计阶段软件设计阶段n软件设计阶段(1956年1970年) 特点:n硬硬件件环环境境相相对对稳稳定定,出出现现“软软件件作作坊坊”的的开开发发组组织织形形式式n开开始始使使用用产产品品软软件件(可可购购买买),从从而而建建立立了了软软件件的的概概念念n系系统统规规模模越越来来越越庞庞大大,高高级级编编程程语语言言层层出出不不穷穷,应应用用领域不断拓宽领域不断拓宽n开开

11、发发者者和和用用户户有有了了明明确确分分工工,社社会会对对软软件件的的需需求求量量剧剧增增n但但是是软软件件开开发发技技术术没没有有重重大大突突破破,生生产产效效率率低低下下,从从而导致而导致“软件危机软件危机”产生。产生。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.

12、2.0.0.Copyright 2004-2011 Aspose Pty Ltd.9TM9SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件工程阶段软件工程阶段n软件工程阶段(1970年至今) 由于软件危机的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件生产进入软件工程时代。n特点:n软件工程时代的生产方式是工程化生产;使用数据库、开发工具、开发环境、网络、先进的开发技术和方法,使生产率大大提高;但未能完全摆脱软件危机。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client P

13、rofile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10TM10SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.2 1.2 软件危机软件危机1.2.1什么是软件危机?n开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是“软件危机”。n“软件危机”是在1968年召开的国际软件工程会议

14、上被人们普遍认识的。n软件危机包括两方面的问题:一是如何开发软件,怎样才能满足软件日益增长的需要;二是如何维护数量不断膨胀的软件产品。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11TM1

15、1SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件危机的具体体现软件危机的具体体现(1)软件开发成本及进度难以预测(2)用户对已完成的软件系统不满足(3)软件产品质量无法保证(4)软件产品难以维护(5)软件通常缺少适当的文档资料(6)软件成本逐年提高(7)软件开发生产率提高的速度,远远跟不上计算机应用技术的迅速普及。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation onl

16、y.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.12TM12SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 典型失败系统的例子nIBM公司开发OS/360系统,共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付。在交付使用后的系统中仍发现大量(2000个以上)的错误。Evaluation only.Created with Aspose.Slides for .NET 3.5 Clie

17、nt Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13TM13SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.2.21.2.2产生软件危机的原因产生软件危机的原因1.在软件开发中缺乏科学管理的方法,开发进度不能保证,软件开发和维护困难。2.只重视开发而轻视问题的定义,使软件产品无法满足用

18、户的需求。3.缺乏软件质量管理规范。4.对软件开发成本的估计不准确,造成开发成本超出预算。5.过分重视程序设计人员的个人技能,缺少有效方法与软件工具的支持,软件产品个性化,可维护性差。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-

19、2011 Aspose Pty Ltd.14TM14SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.2.2 1.2.2 产生软件危机的原因产生软件危机的原因n硬件生产率大幅提高n软件生产随规模增大、复杂度增大n软件生产率很低n硬、软件供需失衡n矛盾引发“软件危机”Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slide

20、s for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15TM15SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.2.3 1.2.3 解决软件危机的途径解决软件危机的途径n为了解决软件危机就要从技术和组织管理两个方面去研究,不断总结经验教训,提高软件产品的生产效率,降低软件开发和维护的成本。n开发软件选用最好的开发工具是至关重要的,工具选用的好,它可以“放大”人的智力,大大加快软件开发速度,提高软件质量。n为了解决软件危机,人们开始探索用工程化的方法进行软件开发,软件开发工程化

21、的概念和方法应运而生,由此诞生了一门新兴学科软件工程学。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16TM16SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.3

22、 1.3 软件工程软件工程n“软件工程”一词是1968年北大西洋公约组织组织的专门讨论解决“软件危机”的国际会议上正式提出并使用的。 n软件工程是指导计算机软件开发和维护的一门工程学科。它以“工程化”的思想来开发与维护软件。nIEEE给出软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及对上述方法的研究。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation on

23、ly.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.17TM17SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.3.1 1.3.1 软件工程的概念软件工程的概念n软件工程=质量保证+过程+方法+工具n什么是软件过程?n一般,开发软件时,需要画出路线图,指导操作者按一定顺序和步骤创建适时的、高质量的软件产品。开发软件产品遵循的路线图就称为软件过程。n质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。质量是

24、推动软件过程不断改进的动力。n方法层提供了软件开发的各种方法。n工具层为软件工程方法和过程提供了自动和半自动的支撑环境。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.18TM18SCS-SW

25、PUUML&面向对象分析与设计面向对象分析与设计NIIT 软件工程的目标软件工程的目标n软件工程追求的目标是可用性、正确性和合理性。n也可以说是:“优质高产”,即:以较低的成本研制具有高质量的软件。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyrigh

26、t 2004-2011 Aspose Pty Ltd.19TM19SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.3.2 软件工程七条基本原则1)用分阶段的生命周期计划严格管理2)坚持进行阶段复审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查,即每阶段都有相应文档6)开发小组人员少而精7)承认不断改进软件工程实践的必要性Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.E

27、valuation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.20TM20SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1 1、软件定义时期、软件定义时期1)问题定义:确定“要解决的问题是什么”。n阶段结果,阶段结果,产生出:问题定义报告产生出:问题定义报告。n问题定义报告是系统分析员简要地写出关于问题性质、问题定义报告是系统分析员简要地写出关于问题性质、工程目标和工程规模的书面报告。工程目标和工程规模的书面

28、报告。2)可行性研究:回答“上一个阶段所确定的问题是否有行得通的解决办法”。n阶段结果,阶段结果,产生出:可行性研究报告。产生出:可行性研究报告。3)需求分析:任务是确定系统必须具备哪些功能。n回答回答“目标系统必须做什么?目标系统必须做什么?n阶段结果,阶段结果,产生出:需求规格说明书产生出:需求规格说明书n在需求分析阶段确定的系统逻辑模型是以后设计和实在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础。因此,必须准确完整地体现用户现目标系统的基础。因此,必须准确完整地体现用户的要求。的要求。软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务Evaluation only.

29、Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.21TM21SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 2 2、软件开发时期、软件开发时期1)概要设计(也称总体设计):关键问题是“怎样实现目标系统”

30、 。n回答回答“如何解决该问题如何解决该问题?”,即系统,即系统”怎样做怎样做?“n任务是任务是确定确定系统的总体结构、外部接口、模块的划分、系统的总体结构、外部接口、模块的划分、模块的功能及数据库设计。模块的功能及数据库设计。n阶段结果,阶段结果,产生出:概要设计说明书。产生出:概要设计说明书。2)详细设计:把解决方法具体化,关键问题是“怎样具体地实现目标系统”。n解决每个模块内部算法和数据结构。解决每个模块内部算法和数据结构。n阶段结果,阶段结果,产生出:详细设计说明书。产生出:详细设计说明书。软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务Evaluation only.Crea

31、ted with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.22TM22SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 3)编码和单元测试 :根据设计说明书中每一个模块的流程选取一种适当的高级程序设计语言,写出正确的、容易

32、理解而且容易维护的程序代码 ,并仔细测试每一个模块。n阶段结果, 产生出: 无语法错误的源程序。软件生命周期各个阶段基本任务软件生命周期各个阶段基本任务Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty

33、Ltd.23TM23SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 4)综合测试:是通过各种类型的测试及相应的调试使软件达到预定的要求。最基本的是集成测试和验收测试。n集成测试是集成测试是把经过单元测试的模块按某种选定的策略把经过单元测试的模块按某种选定的策略装配起来,在装配过程中进行必要的测试装配起来,在装配过程中进行必要的测试。n验收测试是按照需求规格说明书的规定,有用户或在验收测试是按照需求规格说明书的规定,有用户或在用户参与下对目标系统进行验收。用户参与下对目标系统进行验收。n阶段结果,阶段结果,产生出:测试报告。产生出:测试报告。软件生命周期各个阶段基本任务Ev

34、aluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.24TM24SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 3 3、运行维护时期、运行维护时期n运行维护阶段:是软件生存周期最

35、后一个阶段。n关键任务是:通过各种必要的维护活动使系统持久关键任务是:通过各种必要的维护活动使系统持久地满足用户的需求。主要是改正软件系统在使用过地满足用户的需求。主要是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中的新的功程中发现的隐含错误,扩充在使用过程中的新的功能要求;能要求;n阶段结果,阶段结果,产生出:产生出:软件系统的问题报告和软件修软件系统的问题报告和软件修改报告(记录发现软件错误的情况以及修改软件的改报告(记录发现软件错误的情况以及修改软件的过程)。过程)。软件生命周期各个阶段基本任务Evaluation only.Created with Aspose.Slides

36、 for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.25TM25SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 维护的类型维护的类型按工作量从大到小排列,依次为:(1)完善性维护指在使用软件系统的过程中为满足用户提出的新功能和性能要求而进行的维护活动。它约占

37、总维护活动的50%。(2)纠错性维护诊断和改正在使用过程中发现的软件错误。 这部分维护工作约占全部维护活动的25%。 (3)适应性维护由于计算机技术的飞速发展,外部设备和其他系统元素经常改进和变化,为适应变化的环境而修改软件的活动称之为适应性维护。它占总维护活动的18%21%。(4)预防性维护为进一步改进软件的可维护性、可靠性而进行的维护活动,约占4%。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluati

38、on only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.26TM26SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5 1.5 几种典型的软件开发模型几种典型的软件开发模型n瀑布模型n快速原型模型n增量模型n螺旋模型n统一过程模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-

39、2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.27TM27SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.1 1.5.1瀑布模型瀑布模型n瀑布模型即软件生命周期模型,是软件工程的典型模型。软件生命周期的各个阶段如同瀑布流水般逐级下落,形成自上而下,相互衔接的固定次序(见书图1-3)。n瀑布模型采用结构化方法开发,包括结构化分析、结构化设计、结构化

40、程序设计和结构化测试方法。n瀑布模型是一次开发就将一个包含全部功能的产品交付用户使用。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.28TM28SCS-SWPUUML&面向对象分析与设计面向

41、对象分析与设计NIIT 1.5.11.5.1瀑布模型的特点瀑布模型的特点n瀑布模型具有顺序性和依赖性,即后一阶段的工作必须在前一阶段的工作完成后才能开始。n瀑布模型强调的是优质,即每一步都循序渐进,及早消除隐患,从而保证软件质量。 强调两点:文档、复审n它的致命缺点在于“单向性”只有做出精确的需求分析,才能取得预期的结果。由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。太理想化,不够灵活.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 20

42、04-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.29TM29SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.21.5.2快速原型模型快速原型模型n快速建立一个只包括核心功能并可在计算机上运行的程序(原型)。用户通过使用这个原型,提出进一步的需求,开发人员按照用户意见快速修改原型系统,然后再次请用户试用,直到得到明确完整的需求,按照这个最后的需

43、求开发出的系统可以满足用户的真实需求。n优点是保证用户的真实需求得到满足.n特点是用户一直参与,不断改进,系统边做边改。n原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-

44、2011 Aspose Pty Ltd.30TM30SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.3 1.5.3 增量模型增量模型n增量模型也称渐增模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。n增量模型从一组给定的需求开始,通过构造一系列的可执行工作版本来实施开发活动,每一个工作版本都纳入更多的需求。n步骤:n将系统分成小的模块n按顺序(重要程度)将组件交给客户n每次交互的组件都提供更多的功能。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0

45、.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.31TM31SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.3 1.5.3 增量模型增量模型n增量模型的优点:增量模型的优点:n分批地逐步向用户提交产品,能在较短的时间内向用户提交可完成部分工作的产品。n逐步增加产品功能,可以使用户有较充裕的时间学习和适应新产品。n

46、不同的构件将可以并行开发,可能能加快项目的进度。n使用增量模型的困难是,在把每个新的增量组件集成到现使用增量模型的困难是,在把每个新的增量组件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品,有软件体系结构中时,必须不破坏原来已经开发出的产品,并且可能冒构件无法集成到一起的风险。并且可能冒构件无法集成到一起的风险。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created

47、 with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.32TM32SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.4 1.5.4 螺旋模型螺旋模型n螺旋模型将工程划分为4个主要活动:制定计划、风险分析、实施工程和客户评估。4个活动螺旋式地重复执行,直到最终得到用户认可的产品。1)制定计划:确定软件目标,选定实施方案,弄清项目开发的约束条件。2)风险分析:分析选定方案,考虑如何识别和消除风险。3)实施工程:实施软件开发。这一步相当于纯粹的瀑

48、布模型。4)客户评估:对当前工作结果进行评价,提出改进产品的建议。如图P1.8: 螺旋模型适用于有一定技术风险的大型软件系统的开发。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.33TM33

49、SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.5.5 1.5.5 统一软件开发过程统一软件开发过程n统一软件开发过程(RUP)是由Rational公司开发的一种软件过程。可以认为它是一种综合了瀑布模型,增量模型,螺旋模型,快速原型模型优点的混合模型。它的开发使用UML。n在需求分析阶段,分析人员用业务用例建立需求模型。n在设计阶段,设计人员根据用例进行设计,建立系统的设计模型和实现模型。n在开发阶段,开发人员把设计模型和实现模型与用例进行比较、评价和设计。n在测试阶段,用例作为测试的依据,测试人员根据用例来设计测试用例,从而验证软件是否正确地实现了用例。Evalua

50、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.34TM34SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.61.6 软件开发方法简述软件开发方法简述1)结构化方法n自70年代以

51、来,结构化方法得到了广泛的应用和普及。n该方法是一种面向数据流的开发方法,其实质就是功能分解和抽象。n结构化方法包括结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)。 n作为图形表示方法有数据流图、模块层次结构图、程序流程图,PAD图等。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Clie

52、nt Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.35TM35SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 1.61.6 软件开发方法简述软件开发方法简述2)面向数据结构的软件开发方法Jackson方法是一种面向数据结构的设计方法,它从目标系统的输入、输出数据结构图入手,导出程序结构,并在此基础上进行详细设计和编程。3)面向对象软件开发方法面向对象方法学是20世纪90年代发展起来的软件分析设计方法。面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。 随着OOP(面向对象编程)向OOD(面向对象设计

53、)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(Object Modelling Technique)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.36TM36SCS

54、-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件开发方法软件开发方法3)面向对象软件开发方法(续)n该方法把客观世界的事物或实体都看成对象,把对象作为分析设计的基本元素,把所有对象都划分成对象类,类可以派生和继承,对每个对象类都定义一组数据(属性)和方法(行为)。nOO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破 ,大大缓解了软件危机。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 A

55、spose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.37TM37SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 软件质量的评价软件质量的评价从以下几方面对软件作评价:从以下几方面对软件作评价:1 1 可维护性可维护性2 2 可靠性可靠性3 3 可理解性可理解性4 4 效率效率一般,在软件系统整个开发期间,必须成立软件质量保证小组负责质量保证工作。Evaluation on

56、ly.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.38TM38SCS-SWPUUML&面向对象分析与设计面向对象分析与设计NIIT 小结n软件包括程序与程序相关的数据和文档n软件开发包括编程和相关文档的建立维护n要消除软

57、件危机必须清除错误认识,运用软件工程的原理与方法指导和管理软件开发全过程。 n软件工程研究软件开发的技术,工具,过程、过程管理等方面 n软件生存周期可以分成多个阶段,每个阶段完成一些确定的任务,各个阶段互相衔接完成目标系统的开发和维护Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号