软件工程第一章 软件工程基本概念_第1页
软件工程第一章 软件工程基本概念_第2页
软件工程第一章 软件工程基本概念_第3页
软件工程第一章 软件工程基本概念_第4页
软件工程第一章 软件工程基本概念_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程第一章软件工程基本概念第1页,课件共80页,创作于2023年2月教学资源网站:

1、/

2、/

3、/

4、

5、/

6、/第2页,课件共80页,创作于2023年2月引言学一门课前的3个思考什么是…(what)?为什么学(why)?怎样学(how)?第3页,课件共80页,创作于2023年2月1.软件工程的概念(什么是?)

1.1.

概念

l

软件工程:(1)将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)对(1)中所述方法的研究。­——IEEE[IEE93]l软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。第4页,课件共80页,创作于2023年2月1.2.概念理解工程化、管理、技术。融合了多个学科的知识。人:软件工程项目中最重要、也是最活跃的资源因素。组织的原则和模式、角色定义和分工、人员的配备、绩效的评定等等。

第5页,课件共80页,创作于2023年2月“SoSo”主义

“精细管理”;“粗放管理”;“信任管理”;

软件工程中的管理模式也大抵超不出以上三种或其组合。

英文中有个词叫“So-So”[平常的,不好不坏的],福建方言中有个词发音类似“Shǎo

Shào”的词,意思都是“马马虎虎”,即“tiger-tiger-horse-horse”。中国人有四种:新加坡人、香港人、台湾人、大陆人,大陆人大都喜欢“马马虎虎”,或者说许多时候都只能马马虎虎、难得糊涂,或者说大都是“SoSo”主义者。

软件工程却希望做到像上文所述第一种的“精细管理”,这时就会与大陆人的“SoSo”主义冲突,故大陆软件公司搞软件工程成功很困难。第6页,课件共80页,创作于2023年2月2.软件工程的重要性(为什么学?)2.1.[历史角度]发展的必然——软件危机l

六十年代以来,随着计算机应用需求的驱动,系统软件和应用软件有很大的发展,如操作系统,编译系统和大型应用软件等。由于软件生产的复杂性和高成本,使大型软件的生产出现了很大的困难,即出现软件危机。l

软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科─软件工程学。第7页,课件共80页,创作于2023年2月2.2.[社会角度]团队协作的时代——个人英雄主义时代的终结

l中国的软件英雄:吴晓军(2.13)、史玉柱(巨人汉卡)、鲍岳桥(UCDOS)、周志农(自然码)、朱崇君(CCED)、求伯君(WPS)、刘旭(瑞星)、王江民(KV)、王文京(用友)、张小龙(Foxmail)、丁磊(163邮局)、洪以容(netants)……

越来越少,影响也越来越小。这些英雄如今不是销声匿迹,就是组成了自己的团队。我们需要英雄,但是,如果只有英雄,那么就只有软件、而没有软件业了。能够支撑起民族软件业的只能是靠工程化思想武装起来的团队、还要有几只超级规模的团队!

l在个人英雄主义时代,对一般软件从业者来讲,会两句DBASE,能写个工资程序、打打报表就能生存,那个时代已经一去不复返了。

第8页,课件共80页,创作于2023年2月2.2.[社会角度]团队协作的时代——个人英雄主义时代的终结

l我国的软件开发水平,单从编码来看,我们拥有众多的高水平程序员,绝不逊色于任何国家,但软件开发管理水平与发达国家有很大差距,这也就是我们不能开发出像Office、操作系统之类软件的原因。我们从单个程序员来说,能够编写出一流的代码,漂亮的界面。但是却去不能协调众多程序员去开发一个项目(工程)软件。在这一方面说我们中国程序员一个人是一条龙,十个人是一条虫并不为过。

l例:首都机场。印度人写的一个模块200多行,我们程序员只用不到50行,但人家的模块同样正确、而且坚固、文档清晰易懂。技术技巧固然重要,但软件开发中最大的问题已不是技术问题,而是管理问题!

第9页,课件共80页,创作于2023年2月2.3.[个人角度]专业人员必备的个人素质

1)基础理论:训练分析解决问题的能力,深层研究的工具。

数学分析训练严密的逻辑思维。

普通物理和西方哲学史等教会你很多思维方式,比如:假说——大胆假设、认真求证。

2)专业理论:数据库理论、网络基础、编译原理等。3)

专业技术:程序设计语言等。

4)工程技术:软件工程,本、研教育中唯一涉及工程规范与管理的课程,它象粘合剂,技术经过它的粘合才能形成软件产品!

5)外语。多门语言多条路。

6)表达与交流能力:团队内部、与客户通讯的基本素质7)

法律常识与职业道德:知识产权保护、行业特点的职业道德第10页,课件共80页,创作于2023年2月2.3.[个人角度]专业人员必备的个人素质

l程序员是一个吃青春饭的行当,也是英雄出少年的行当,就象运动员一样。一个程序员,10年以后很少再只写代码。软件工程是你从程序员到高级程序员、系统分析员,或项目经理、部门经理、CTO一步步迈进必备的知识,积累起来的经验也是你超越年轻人坐在更高职位的资本。

l软件行业分工越来越细、一个团队内也有各种角色。软件工程的知识可以使你结合自己的特点准确定位自己的发展方向。第11页,课件共80页,创作于2023年2月3.软件工程的内容结构(怎样学?)

3.1.三个层次l过程:做什么模型、流程、标准——对应管理要素。关键过程域KPA,定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变更所需要的管理、里程碑、项目管理、人员组织等。l方法:如何做往往采用某种特殊的语言或图形表达方法及一套质量保证标准——对应技术要素。项目计划与估算、需求分析、总体设计、详细设计、编码、测试及维护的具体做法和基本原则。

l工具:对方法的支撑,自动或半自动的软件开发支撑环境。CASE。

又可分为:l

开发技术:侧重方法,程序员—〉系统分析员,本科侧重l

开发管理:侧重过程,项目经理—〉CTO,工程硕士、实践第12页,课件共80页,创作于2023年2月学习方法企业学习与校园学习的差别企业更多讲授的是经验,学校更多关注理论软件工程是一门什么样的课程以实践经验为基础,以理论为工作指导如何开发软件,如何做好一个程序员如何管理开发软件,如何做好一个软件开发主管软件工程包含:结构化软件工程专科重点面向对象软件工程本科重点软件工程管理学研究生重点个人软件工程(PSP)工作组软件工程(TSP)学习方法强记、实践、体会(讨论)、再学习第13页,课件共80页,创作于2023年2月(1)立足于系统的整体。(2)讲授系统分析、系统设计、测试及维护的理论和方法。(3)构筑一个软件系统,实践软件开发全过程。

“软件工程”课程与其它软件专业课的区别第14页,课件共80页,创作于2023年2月

“软件工程”课程教学与实践的目标

转变对软件的认识:上升程序系统转变思维定式:上升程序员系统工程师

(系统分析员)

工程化训练第15页,课件共80页,创作于2023年2月03/8/29:18岁美国青年杰弗里·李·帕森被FBI正式逮捕。“冲击波”电脑蠕虫自8月11日下午在因特网上开始传播以来,已在全球范围内感染了大约50万台电脑,造成大批电脑瘫痪和网络连接速度减慢。新华社/路透Software’simpactonoursocietyandculturecontinuestobeprofound……负面影响:第16页,课件共80页,创作于2023年2月未来的游戏产业主要还是以电视游戏(TVgame)、电脑游戏(PCgame,包括网络游戏)与手机游戏(Phonegame)三大方向为主。其中规模最大的会是电视游戏产业,产值可能超过200亿美金;位居第二的是手机游戏产业,产值可能高达97亿美金;电脑游戏(包括网络游戏)将产生53亿美金的产值。

(英国JuniperResearch公司最新调查)对产业的影响·:第17页,课件共80页,创作于2023年2月

单位:亿元$

1994—831995--1291996--1801997--3641999—8502000—6002001—5872002--528对个人的影响·:第18页,课件共80页,创作于2023年2月HowaboutsoftwareindustryinChina?

中印软件业出口值比较(亿$)

印度中国

1999392.52000624200177.87.220029515200396.5?第19页,课件共80页,创作于2023年2月印度软件业 全球软件外包市场规模已达到1000亿美元。全球软件外包的发包市场主要集中在北美、西欧和日本等国家,其中美国占40%,日本占10%。美国市场被印度垄断,印度软件业80%的收入依赖软件外包业务,印度已经成为软件外包的第一大国中国海关的统计,2003年中国外包及软件出口业务总额约为10亿美元,只相当于全球外包总量的1%,大约相当于印度10多年前的水平,且60%以上的业务来自日本。

现在软件公司年收入增长率为25%-45%,而在互联网鼎盛时期则到达了100%。纳斯达克上市的印度人创办的软件公司至少有25家.第20页,课件共80页,创作于2023年2月印度其他现状印度全国四车道的高等级公路只有500公里(01)2000年印度国内计算机的社会拥有量为500万台,仅为我国同期的1/5;目前印度个人电脑拥有量为350-400万台,每千人约拥有3台计算机。(02)印度有15%的人口不会读和写

印度每年培养1万多名计算机专业毕业生,中国每年计算机专业毕业的高校生达3.5万人以上,从人才储备上看,中国比印度更具有人才优势(01)第21页,课件共80页,创作于2023年2月第22页,课件共80页,创作于2023年2月国内现有软件从业人员近60万人,其中专业人才约有34万人,其中高级人才4万人,中级人才20万人,初级人才10万人。人才结构呈两头小中间大的橄榄型结构,既缺乏一大批能从事基础性工作的“软件蓝领”,更缺乏既懂技术又懂管理的软件高级人才,即“软件金领”。根据国际经验,合理的软件人才市场应该是软件蓝领、软件工程师、软件架构与分析师并存的金字塔形状人才基数由大到小形成梯次,他们之间的比例应该是7∶4∶1。按照合理的人才结构比例进行测算,到2005年,我国需要软件高级人才6万人,中级软件人才28万人,初级软件人才46万人。教育部关于紧缺人才的报告

第23页,课件共80页,创作于2023年2月印度大的软件公司,其软件项目按合同完成率高达96%以上(而全球平均16%),对时间、质量、成本的控制能力非常强。除去大学计算机教育,印度的7万家私人计算机培训学校,每年可培训100万人;印度还积极与跨国公司合作培养人才,3年半以前印度获得微软认证工程师的技术人员一共只有2000名,而现在每年通过培训获得微软认证的印度工程师就有10万之众。(01)人才质量胜于数量第24页,课件共80页,创作于2023年2月处在十字路口的中国软件产业

主权大国必须建立基于自主技术的、完整的软件产业体系。软件本国提供率:中国1/3左右,美国97%

“印度模式”还是“中国模式”软件人才结构不合理,缺乏中高级软件人才,

软件人员缺乏软件工程化的概念。第25页,课件共80页,创作于2023年2月第一章软件工程基本概念第26页,课件共80页,创作于2023年2月1.1软件什么是软件?软件一般认为由两部分组成:文档:描述程序研制过程、方法及使用的文档程序:在运行时,能提供所希望的功能和性能的指令集。第27页,课件共80页,创作于2023年2月软件的特点--软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;--软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题;--软件的生产方式与硬件明显不同;产品的质量控制在设计和制造阶段的不同;--产品的生产方式不同;设计和制造阶段的资金和人力投入、技术复杂度不同;--软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。--软件与硬件有关,对软件有可移植性的要求。--软件工作涉及许多社会因素。第28页,课件共80页,创作于2023年2月1.2软件危机什么是软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题:1.如何开发软件满足对软件的日益增长的需求。2.如何维护数量不断膨胀的已有软件第29页,课件共80页,创作于2023年2月1.2软件危机1.2.2软件危机的主要表现

1.对软件开发成本和进度的估计常常很不准确。软件开发很难按预定计划实现,投入了资金,能否出结果,出怎样的结果,事先难以预料。

2.用户对“已完成”的软件系统不满意的现象经常发生。

3.软件产品的质量往往不可靠。软件可靠性和质量保证的定量概念刚刚出现不久。

1962年6月,美国飞向金星的第一个空间探测号(水手1号),因其飞舱中的计算机导航程序之一的一个语句的语义出错,总是偏离航线无法取得成功。1965年~1970年,美国范登堡基地因程序有错误造成发射火箭多次失败。第30页,课件共80页,创作于2023年2月

1995年,美国曾对全国范围内的8000个软件项目进行跟踪调查,结果表明:有1/3的项目没能完成;在完成的项目中,有1/2没有成功实施;失败原因与需求过程有关的占了45%。我们国家的问题更加严重。第31页,课件共80页,创作于2023年2月Case1:

美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。......

这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。第32页,课件共80页,创作于2023年2月4.软件常常是不可维护的。通常软件维护的费用占总费用的55%-70%。错误具有累积和放大效应。在后期发现的错误改正的成本和难度将是巨大的(比早期进行修正所付出的代价高2-3个数量级),甚至是不可能改正的。第33页,课件共80页,创作于2023年2月改正一个问题需付出的代价需求分析结构设计详细设计编码集成测试系统测试现场改正一个问题的估计费用改正一个问题估计的工作量20200200010005.02.50.050.5(美元)(人天)第34页,课件共80页,创作于2023年2月5.软件通常没有适当的文档资料,给软件开发和维护带来极大困难。文档的作用: 管理人员:评价软件开发进度。 开发人员:通讯工具。 维护人员:维护的依据。6.软件成本在计算机系统总成本中所占的比例逐年上升。(见下页图)7.软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势。第35页,课件共80页,创作于2023年2月第36页,课件共80页,创作于2023年2月1.2软件危机产生软件危机的原因1.与软件本身的特点有关软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。第37页,课件共80页,创作于2023年2月2.项目没有被很好地理解;计划不周,最终导致进度拖延。Myth:Ifwegetbehindschedule,wecanaddmoreprogrammersandcatchup.Reality:Softwaredevelopmentisnotamechanisticprocesslikemanufacturing.InthewordsofBrooks,“addingpeopletoalatesoftwareprojectmakesitlater.”第38页,课件共80页,创作于2023年2月3.没有充分的文档资料(documentation)

Myth:Theonlydeliverableforasuccessfulprojectistheworkingprogram.Reality:Aworkingprogramisonlyonepartofasoftwareconfigurationthatincludesprograms,documents,anddata.Documentationformsthefoundationforsuccessfuldevelopmentand,moreimportant,providesguidanceforthesoftwaremaintenancetask.第39页,课件共80页,创作于2023年2月4.软件可靠性(reliability)缺少度量的标准,质量无法保证。如何保证软件产品的质量,是非常复杂困难的问题,特别对于规模庞大的软件。5.软件难以维护(maintainability)

不易升级(evolvability)

Myth:Oncewewritetheprogramandgetittowork,ourjobisdone.Reality:Someoneoncesaidthat“thesooneryoubegin‘writingcode’,thelongerit’lltakeyoutogetdone.”Industrydataindicatethatbetween60and80percentofalleffortexpendedonaprogramwillbeexpendedafteritisdeliveredtothecustomerforthefirsttime.第40页,课件共80页,创作于2023年2月1.2软件危机解决软件危机的途径1.技术措施使用更好的软件开发方法和开发工具2.组织管理措施软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。第41页,课件共80页,创作于2023年2月1.3软件工程一、什么是软件工程软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程是一门涉及软件计划、需求分析、设计、编码、测试和维护的原理、方法及工具的研究和应用的学科。第42页,课件共80页,创作于2023年2月1.3软件工程二、软件工程的基本原理1968年在联邦德国召开的国际会议上正式“软件工程”术语。目前有100多条关于软件工程的准则,其中最出名的是著名软件工程专家B.W.Boehm在1983年提出的7条基本原理。第43页,课件共80页,创作于2023年2月1.3软件工程1.用分阶段的生命周期计划严格管理经统计表明,不成功的软件项目中有一半左右是由于计划不周造成的。Boehm认为,在软件的整个生命周期中应制定并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。第44页,课件共80页,创作于2023年2月1.3软件工程2.坚持进行阶段评审大部分错误是在编码之前造成的错误发现与改正得越晚,所需付出的代价越高。因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程的错误第45页,课件共80页,创作于2023年2月1.3软件工程3.实行严格的产品控制在软件开发过程中不要随意改变需求,因为改变某项需求往往需要付出较高的代价,但在实践中用户往往会提出需求变更,因此需要采取科学的产品控制技术。目前主要实行基准配置管理:基准配置是指经过阶段评审后的软件配置成分,如各个阶段产生的文档或程序代码。对涉及基准配置的修改,必须经过严格的评审,通过后才能实施修改。第46页,课件共80页,创作于2023年2月1.3软件工程4.采用现代程序设计技术实践表明:采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。80年代及之前:结构化分析、设计技术90年代:面向对象分析、设计技术第47页,课件共80页,创作于2023年2月1.3软件工程5.结果应能清楚地审查软件产品是看不见、摸不着的逻辑产品,开发过程难以评价和管理。根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,使所得的结果能够清楚地审查第48页,课件共80页,创作于2023年2月1.3软件工程6.开发小组的人员应该少而精开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。开发小组人员数目的增加,使相互交流复杂、费用增加。第49页,课件共80页,创作于2023年2月1.3软件工程7.承认不断改进软件工程实践的必要性遵循前6条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但不能保证赶上时代前进的步伐。积极主动采纳新的软件技术,且不断总结经验。第50页,课件共80页,创作于2023年2月1.3软件工程三、软件工程方法学软件工程的传统方法是“生命周期法”,强调“结构化分析、结构化设计”。1.“生命周期法”的起源人类解决复杂问题时普遍采用的一个策略是“各个击破”,也就是对问题进行分解,然后再分别解决各个子问题的策略。软件工程采用的“生命周期法”,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务。第51页,课件共80页,创作于2023年2月1.3软件工程2.生命周期划分的原则各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。3.生命周期的划分软件生命周期一般分为:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码和单元测试、综合测试)、软件维护等三个时期。第52页,课件共80页,创作于2023年2月生命周期法各阶段的工作小结第53页,课件共80页,创作于2023年2月生命周期法各阶段的工作小结第54页,课件共80页,创作于2023年2月1.3软件工程4.“生命周期法”的特点阶段具有顺序性和依赖性推迟实现的观点质量保证的观点每个阶段都必须完成规定的文档每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。第55页,课件共80页,创作于2023年2月1.4软件开发过程模型一、瀑布模型第56页,课件共80页,创作于2023年2月1.4软件开发过程模型瀑布模型的特征阶段间具有顺序性和依赖性。推迟实现的观点。质量保证的观点。第57页,课件共80页,创作于2023年2月1.4软件开发过程模型软件维护往往经历软件生存期的各个阶段,从而构成生存期循环。第58页,课件共80页,创作于2023年2月1.4软件开发过程模型具有维护循环的软件生存期的瀑布模型第59页,课件共80页,创作于2023年2月1.4软件开发过程模型瀑布模型的缺点:从认识论角度看,人的认识是一个多次反复循环的过程,不可能一次完成。但瀑布模型中划分的几个阶段,没有反映出这种认识过程的反复性。瀑布模型是由文档驱动的。第60页,课件共80页,创作于2023年2月二、原型模型1.基本思想在获取一组基本的需求定义后,利用高级软件工具的可开发环境,快速地建立一个目标系统的最初版本,并把它交给用户试用、补充和修改,再进行新的版本开发。反复进行这个过程,直到得出系统的“精确解”,即用户满意为止。经过这样一个反复补充和修改的过程,应用系统的“最初版本”就逐步演变为系统的“最终版本”。第61页,课件共80页,创作于2023年2月1.4软件开发过程模型原型:一个具体的可执行模型,它实现了系统的若干功能。原型法:不断地运行系统“原型”来进行启发、揭示和判断的系统开发方法。第62页,课件共80页,创作于2023年2月1.4软件开发过程模型2.原型模型第63页,课件共80页,创作于2023年2月1.4软件开发过程模型在“需求分析”、“原型设计”两个阶段中,开发者和用户一起为想象中的系统的某些主要部分定义需求和规格说明,该原型可用来帮助分析和设计工作,而不是一个软件产品。在这期间,用户和开发者都不要为程序算法或设计技巧等枝节问题分心,主要是确定开发者是否理解了用户的意思,同时试验实现它们的若干方法。

第64页,课件共80页,创作于2023年2月1.4软件开发过程模型3.原型特征软件原型是以最少的费用、最短的时间开发出的、可以反映最后软件的主要特征的系统。它具有以下特征:(1)它是一个可实际运行的系统。第65页,课件共80页,创作于2023年2月1.4软件开发过程模型(2)它没有固定的生存期一种极端是扔掉原型;另一种极端是最终产品的一部分即增量原型第66页,课件共80页,创作于2023年2月1.4软件开发过程模型(3)从需求分析到最终产品都可作原型,即可为不同目标作原型。(4)它必须快速、廉价。(5)它是迭代过程的集成部分,即每次经用户评价后修改、运行,不断重复双方认可。第67页,课件共80页,创作于2023年2月1.4软件开发过程模型4.原型法的评价优点1.原型法可处理模糊需求,开发者和用户可充分通信。2.原型系统可作为培训环境,有利于用户培训和开发同步,开发过程也是学习过程。3.原型给用户以机会更改心中原先设想的、不尽合理的最终系统。4.原型可低风险开发柔性较大的计算机系统。5.原型增加使系统更易维护、对用户更友好的机会。6.原型使总的开发费用降低,时间缩短。第68页,课件共80页,创作于2023年2月1.4软件开发过程模型缺点1.“模型效应”或“管中窥豹”。对于开发者不熟悉的领域把次要部分当作主要框架,做出不切题的原型。2.原型迭代不收敛于开发者预先的目标。3.原型过快收敛于需求集合,而忽略了一些基本点。4.资源规划和管理较为困难,随时更新文档也带来麻烦。5.长期在原型环境上开发,只注意得到满意的原型,容易“遗忘”用户环境和原型环境的差异。第69页,课件共80页,创作于2023年2月三、螺旋模型螺旋模型的基本思想:使用原型及其它方法来尽量减低风险。可以理解成在每个阶段之前都增加了风险分析过程的快速原型模型。第70页,课件共80页,创作于2023年2月第71页,课件共80页,创作于2023年2月第72页,课件共80页,创作于2023年2月螺旋模型分析在螺旋模型结构中,维护只是螺旋模型的另一个周期,在维护和开发之间本质上并没有区别,从而解决了做太多测试或未作足够测试所带来的风险。适用条件内部的大规模软件的开发。一般只适用于大规模软件的开发第73页,课件共80页,创作于2023年2月1.5小结软件工程的基本概念软件开发方法软件开发过程模型第74页,课件共80页,创作于2023年2月1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论