欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件工程01概论.ppt

    • 资源ID:5636776       资源大小:1.54MB        全文页数:96页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程01概论.ppt

    个人成果,妥善保存,请勿传播,软件工程,张康立 Email:,国内软件开发的现状,国内软件开发现状中、小规模软件开发组织的现状和美国10年前的情况一样软件开发过程没有明确规定文档不完整、不规范软件项目的成功往往是“个人英雄主义”的结果大多数IT企业长期面临软件质量低下、进度延误、费用超支等难题持续不断的信息化建设带来的却是软件重复开发软件适应不了发展的环境软件不可维护,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,软件企业的现状,软件企业与软件危机现象IT产业:已经成为我国支柱产业之一软件企业的发展:“轰轰烈烈”强大的软件企业:“十个手指就掰完了”软件企业的“慢性病”“产品质量低下、诚信度低、进度延误、成本高昂”问题的根源在那里?专业教育?人才?政府扶持不够?产业投资?“No!”答案是:“软件企业的内功太差“,个人成果,妥善保存,请勿传播,解读破解这些现象的原因,恶劣的慢性病:“软件危机”许多企业没有战死沙场,却被病魔折磨的奄奄一息没有获得“免疫力”的新企业又雨后春笋般诞生它们前赴后继,延续着相似的故事造成“快速诞生、快速死亡”的企业生存方式软件企业平均寿命2.5年,极度的社会财富浪费“确诊病因”30多年前(1968年),NATO会议称之为“软件危机”,个人成果,妥善保存,请勿传播,解读破解这些现象的原因,医治慢性病的药理:“软件工程”软件工程是一类“工程”,工程是将理论和知识应用于实践的科学!软件工程的核心:用工程化的方法组织软件开发借鉴传统工程的原理和方法,以求高效地开发高质量软件应用了计算机科学、数学、工程和管理科学计算机科学和数学用于构造软件模型与算法工程科学用于制定规范、设计泛型、评估成本管理科学用于计划、资源、质量和成本的控制管理,个人成果,妥善保存,请勿传播,课程介绍,教学计划授课与自学内容(1:2)1.软件工程概述 2.可行性研究3.需求分析4.形式化说明技术(自学)5.总体设计6.详细设计7.实现8.软件维护9.面向对象方法学10.面向对象分析11.面向对象设计12.面向对象实现(自学)13.软件项目管理,个人成果,妥善保存,请勿传播,课程介绍,教学计划课程设计(实践环节)要求学生选择一个规模适度的软件课题,结合课程的学习进度,写出相应各阶段的文档(允许2-3个同学合作)安排12学时(4次)上机实践和测试,完成软件开发各阶段的文档,文档要求:系统分析报告需求分析报告总体设计报告详细设计报告测试报告,个人成果,妥善保存,请勿传播,课程介绍,我对课程内容的观点理论是核心如何与实际工作(实战!)相结合工程理论与IT软件研发的工作流程和步骤相结合教材与参考张海藩,软件工程导论(第五版)侧重于:工程理论全面概括的介绍参考书:赵池龙,实用软件工程(第2版),个人成果,妥善保存,请勿传播,课程介绍,自我介绍我的身份:教师/项目经理/企业经营者我的体会:传授思想和方法,建立软件开发工程化的概念,迎合企业需求我的观点:来源于企业实践、专业论著和个人体会(其中个人观点,仅供参考!),个人成果,妥善保存,请勿传播,企业的目标,理解企业的根本目标企业的“宪法”“合理地赚取尽可能多的利润,使企业利益最大化”“利润”是企业生存和发展之本企业所有的特定目标和行动都是围绕上述目标展开的案例与评论明星科技企业“巨人公司”的成败企业必须专心致志地“赚钱”,理智地规避伪善的社会事务,防止企业被非目标事务拖累,个人成果,妥善保存,请勿传播,企业的目标,企业的根本目标企业的本性就是“惟利是图”,无论大企业和小商贩都是一样企业惟利是图的本性就像“低俗赤裸的真理”案例分析明星科技企业“巨人公司”的成败企业必须专心致志地“赚钱”,理智地规避伪善的社会事务,防止企业被非目标事务拖累,个人成果,妥善保存,请勿传播,软件工程在软件企业中的作用,推论企业的根本目标决定了“产品开发之道”“企业用人之道”产品开发之道开发正确的产品(开发能为企业赚取利润的产品)正确地开发产品(努力使产品为企业赚取尽可能多的利润)企业用人之道用正确的人(利用能为企业赚取利润的人)正确地用人(努力使人为企业赚取尽可能多的利润),个人成果,妥善保存,请勿传播,软件工程和项目管理,企业对项目管理看法项目的执行意味着什么?合同的执行企业合同“变现”的过程合同赢利与亏损的“押宝”过程项目管理的价值体现提升项目本身的经济效益提升客户满意度提升项目成员的综合素质,个人成果,妥善保存,请勿传播,软件企业中的经营之道,企业经营中的战略与战术决策过程:企业各级领导的第一职责“开发正确的产品”“用正确的人”“正确地决策”执行过程:企业各个团队的第一职责“正确地开发产品”“正确地用人”“正确地执行”有效的项目管理是保障“正确地执行”的手段企业的成功是建立在“正确地决策”和“正确地执行的基础上的,个人成果,妥善保存,请勿传播,我看软件工作者的职业生涯,软件“白领”的职业发展之路程序员“出身”编程这活究竟该干多久?程序员是吃“青春饭”的:合适的年龄2030岁20岁,大学,水平差,进步快25岁,技能和效率达到最高,水平停滞不前30岁,编程效率下降,已经不是编程主力程序员应从事更有价值的工作“三十而立”的含义建立家庭,过上小康的日子事业有所建树,不再是无名小卒,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,软件“白领”的职业发展之路程序员的收入和在企业的地位收入中等偏下面临年轻程序员的压力程序员的编程水平使用一种语言,2年可成为专家技能和经验到达一定水平,很难再有提高年长程序员的出路软件工程项目管理,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,软件“白领”的职业发展之路职业发展之路第一阶段:职业程序员第二阶段:成为项目经理或技术负责人第三阶段:成为机构管理人员软件白领的“合格”、“良好”和“优秀”最佳年龄为25岁、30岁和35岁实现难度:“比较容易”、“需要努力”和“需要奋斗”,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,项目经理的职业发展之路,项目团队成员项目经理助理,项目经理,高级项目经理PMO成员,职能部门经理项目管理经理,管理高层职业经理人,个人成果,妥善保存,请勿传播,我看软件“白领”的职业生涯,项目经理的职业发展之路,项目团队成员项目经理助理,项目经理,高级项目经理PMO成员,项目经理导师PMO专员,项目管理专家项目管理顾问,个人成果,妥善保存,请勿传播,软件工程课程目的,正确理解和认识“软件”的概念及其特点掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大软件的开发了解和接触各种软件开发技术和工具软件工程是软件技术和管理人员必备的课程,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰”软件的概念软件危机软件工程软件生命周期软件过程,个人成果,妥善保存,请勿传播,软件的概念,在运行中能提供所希望的功能和性能的指令集(即程序)使程序能够正确运行的数据结构(逻辑结构,存储结构,运算)描述程序研制过程和方法使用的文档,程序,软 件,可执行部分,不可执行部分,文档1,文档2,文档3,个人成果,妥善保存,请勿传播,软件的概念,计算机硬件,程 序,内 存,CPU,数据抽象,过程抽象,应用问题,软件文档1,软件文档n,抽象过程,个人成果,妥善保存,请勿传播,软件的概念,软件的特点是逻辑部件,不是物理部件缺乏可见性管理和控制生产过程相当困难维护困难和复杂生产只需复制软件开发尚未完全摆脱手工的开发方式软件开发复杂,费用较高且其性质如成本、进度等难以估计软件的开发和运行受计算机系统的限制,而开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理,个人成果,妥善保存,请勿传播,软件的概念,基于软件功能的划分系统软件支撑软件应用软件基于软件开发方式的划分实时处理软件分时软件交互式软件批处理软件,基于软件规模的划分微型软件小型软件中型软件大型软件甚大型软件极大型软件基于软件服务对象的范围定制软件产品软件,个人成果,妥善保存,请勿传播,软件的概念,软件的发展程序设计阶段20世纪50年代初期至60年代中期程序系统阶段20世纪60年代中期至70年代末期软件工程阶段始于20世纪70年代中期第四阶段,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰”软件的概念软件危机软件工程软件生命周期软件过程,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机个体化的软件环境除了程序清单,没有任何资料软件作坊软件危机的出现1968,北约在原西德提出“软件工程”概念,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机软件危机含义软件的开发和维护过程所遇到的一系列问题包含两个方面如何开发软件,已满足日益增长的需求如何维护数量不断膨胀的已有软件软件危机表现对软件开发成本和进度的估计常常很不准确用户对“已完成的”软件系统不满意的现象经常发生软件产品质量往往靠不住,个人成果,妥善保存,请勿传播,软件危机,计算机的发展与软件危机软件危机表现软件常常是不可维护的软件通常没有适当的文档资料软件成本在计算机系统总成本中所占比例逐年上升软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势 以上列举的仅仅是软件危机的一些明显的表现,与软件开发和维护有关的问题远远不止这些,个人成果,妥善保存,请勿传播,软件危机,产生软件危机的原因与软件本身的特点有关逻辑部件,可见性差管理可控制软件开发很困难客观上软件维护比较困难需要人员协作和科学管理与软件开发与维护的方法不正确有关采用了错误的方法和技术忽视软件需求分析的重要性,过早地开始编码工作轻视软件维护的重要性,个人成果,妥善保存,请勿传播,软件危机,产生软件危机的原因软件是有生命周期软件从定义、开发、使用、维护到终止的时期软件生命期中的有关经验数据编码通常占软件开发全部工作量的10%20%软件测试占软件开发全部工作量的40%50%设计错误占软件错误的63%,编码错误占37%软件维护费用占软件总投资的55%70%软件后期变更比早期变更代价高23个数量级,个人成果,妥善保存,请勿传播,软件危机,个人成果,妥善保存,请勿传播,软件危机,消除软件危机的途径对软件有一个正确的认识软件程序方法规则数据文档软件开发应该组织良好、管理严密、协调配合推广使用成功的技术和方法应用开发和使用好的软件工具总之,为了消除软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰”软件的概念软件危机软件工程软件生命周期软件过程,个人成果,妥善保存,请勿传播,软件工程,软件工程的产生软件危机分析根源解决途径软件工程产生:1968,NATO计算机科学会议软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。,个人成果,妥善保存,请勿传播,软件工程,软件工程的产生定义:定义1:软件工程就是为了经济地获得可靠的且能在实际机器上有效运行的软件,而建立和使用完善的工程原理定义2:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护的过程;(2)研究(1)中通道的途径,个人成果,妥善保存,请勿传播,软件工程,软件工程的本质特征软件工程关注大型程序的构造把一个人在较短时间内写出的程序称为小型程序,把多人合作用时半年以上才写出的程序称为大型程序。软件工程的中心课题是控制复杂性软件的复杂性主要不是由于问题的内在复杂性造成的,而是由必须处理的大量细节造成的软件经常变化,个人成果,妥善保存,请勿传播,软件工程,软件工程的本质特征开发软件的效率非常重要软件供不应求日益严重和谐地合作是开发软件的关键纪律是成功地完成软件开发项目的关键软件必须有效地支持它的用户仅仅用正确的方法构造系统还不够,还必须构造出正确的系统,提供产品、用户手册、培训资料不同文化背景的人创造产品缺乏应用领域的相关知识是软件开发项目出现问题的常见原因,个人成果,妥善保存,请勿传播,软件工程,软件工程的基本原理著名的软件工程专家BWBoehm提出了软件工程的七条基本原理。他认为这七条原理是确保软件产品质量和开发效率的原理的最小集合软件工程的7条基本原理1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚的审查6.开发小组的人员应少而精7.承认不断改进软件工程实践的必要性,软件工程,软件工程的基本原理软件工程的7条基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审第一,大部分错误是在编码之前造成的第二,错误发现与改正得越晚,所需付出的代价也越高实行严格的产品控制实行基准配置管理,个人成果,妥善保存,请勿传播,软件工程,软件工程的基本原理软件工程的7条基本原理采用现代程序设计技术结果应能清楚的审查为了提高软件开发过程的可见性,更好地进行管理,应根据软件项目的目标及完成期限,规定组织的责任和产品标准,从而使得所得到的结果能够清楚地审查开发小组的人员应少而精开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素承认不断改进软件工程实践的必要性,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,软件工程,软件工程方法学方法学(methodology):指在软件生命周期全过程中使用的一整套技术的集合,也称为范型(paradigm)软件工程方法学包括三个要素,这就是方法、工具和过程方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题工具是为方法的运用提供自动的或半自动的软件支撑环境过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。目前使用得最广泛的软件工程方法学传统方法学面向对象方法学,个人成果,妥善保存,请勿传播,软件工程,过程 管理部分,方法 技术手段,工具 自动或半自动地支持软件的开发和管理,过程,方法,工具,软件工程,要素之间相互关联和支持,个人成果,妥善保存,请勿传播,软件工程,传统方法学生命周期方法或结构化范型将软件过程依次分成若干阶段按顺序开展每个阶段的任务每个阶段进行严格的技术审查和管理复审提交“最新的”文档,个人成果,妥善保存,请勿传播,软件工程,传统方法学的优点:通过将软件生命周期划分成若干个阶段降低了整个软件开发过程的困难程度;每个阶段结束前的严格审查保证了软件的质量,提高了软件的可维护性。,传统方法学的缺点:当软件规模庞大,或者对软件的需求是模糊的或会随时间而变化的时候,使用传统方法学开发软件往往不成功,而且维护起来仍然很困难。原因:把数据和操作人为地分离成了两个独立的部分。,个人成果,妥善保存,请勿传播,软件工程,面向对象方法学模拟人类认识和解决问题的方法和过程主导反复迭代的演化过程把数据和行为封装在一起OO方法学的4个要点把对象(Object)作为融合了数据及在数据上的操作行为的统一软件构件把所有对象都划分成类(Class)按照父类(或称基类)与子类(或称派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)对象彼此间仅能通过发送消息互相联系,个人成果,妥善保存,请勿传播,软件工程,面向对象方法学的优点降低了软件产品的复杂性提高了软件的可理解性简化了软件的开发和维护工作促进了软件重用,个人成果,妥善保存,请勿传播,软件工程,软件工程的目标正确、可靠、可维护、可重用可追踪、可移植、可操作、有效性软件工程的原则抽象和模块化信息隐藏和局部华一致性、完整性和可验证性,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰”软件的概念软件危机软件工程软件生命周期软件过程,个人成果,妥善保存,请勿传播,软件生命周期,软件定义,软件开发,运行维护,个人成果,妥善保存,请勿传播,软件生命周期,可行性研究,需求分析,概要设计,详细设计,实 现,集成测试,确认测试,使用与维护,退役,软件定义,软件开发,软件使用与维护,个人成果,妥善保存,请勿传播,1.问题定义问题定义阶段必须回答的关键问题是:“要解决的问题是什么”2.可行性研究该阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。,软件生命周期,个人成果,妥善保存,请勿传播,3.需求分析这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明(specification)。,软件生命周期,个人成果,妥善保存,请勿传播,4.概要设计这个阶段的基本任务是,概括地回答“怎样实现目标系统?”概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系,软件生命周期,个人成果,妥善保存,请勿传播,5.详细设计详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明,软件生命周期,个人成果,妥善保存,请勿传播,6.编码和单元测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。7.综合测试这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。集成测试:根据设计的软件结构,把经过单元检验的模块按某种选定的策略结合起来,在装配过程中对程序进行必要的测试。验收测试:按照规格说明书的规定,由用户对目标系统进行验收,软件生命周期,个人成果,妥善保存,请勿传播,8.软件维护维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要通常有四类维护活动:改正性维护、适应性维护、完善性维护、预防性维护 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此也称为过程模型,软件生命周期,个人成果,妥善保存,请勿传播,课程内容提纲,软件工程概述:“摆脱软件危机的困扰”软件的概念软件危机软件工程软件生命周期软件过程,个人成果,妥善保存,请勿传播,软件过程是为获得高质量软件所需完成的一系列任务的框架,他规定了完成各项任务的工作步骤过程定义了运用方法的顺序、应交付的文档、所需采取的管理措施,以及标示阶段任务的里程碑通常使用生命周期模型简洁地描述软件过程,软件过程,个人成果,妥善保存,请勿传播,瀑布模型在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型现在仍是软件工程中应用最广泛的过程模型瀑布模型特点阶段间具有顺序性和依赖性推迟实现的观点清楚地区分逻辑设计与物理设计,软件过程,个人成果,妥善保存,请勿传播,可行性研究,需求分析,概要设计,详细设计,实 现,组装测试,确认测试,使用与维护,软件过程,个人成果,妥善保存,请勿传播,传统的瀑布模型,软件过程,瀑布模型特点质量保证的观点:每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务每个阶段结束前都要对所完成的文档进行评审,个人成果,妥善保存,请勿传播,实际的瀑布模型,实际的瀑布模型是带“反馈环”的缺点缺乏灵活性在交付之前,缺乏可见性,软件过程,个人成果,妥善保存,请勿传播,瀑布模型的优缺点,瀑布模型的优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型,瀑布模型的缺点:“瀑布模型是由文档驱动的”,缺乏灵活性:仅通过静态的规格说明很难全面正确地认识动态的软件产品。要求用户不经过实践就提出完整准确的需求是不切实际的。由于瀑布模型完全依赖于书面的规格说明,很可能导致最终开发出的软件不能真正满足用户的需要。,个人成果,妥善保存,请勿传播,快速原型模型,快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。,个人成果,妥善保存,请勿传播,快速原型模型,软件过程,快速原型的本质是“快速”采用软件重用技术在算法的时/空开销方面也可以让步原型应充分展示软件的可见部分,个人成果,妥善保存,请勿传播,优点:,有助于获取用户需求,加强对需求的理解,尽早发现软件中的错误,支持需求的动态变化,不足:,不能支持风险分析,适合于需求动态变化,事先难以确定系统,软件过程,个人成果,妥善保存,请勿传播,增量模型也称为渐增模型使用增量模型开发软件时,把产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。,软件过程,个人成果,妥善保存,请勿传播,增量模型,软件过程,个人成果,妥善保存,请勿传播,风险更大的增量模型(并行地构造部件),软件过程,个人成果,妥善保存,请勿传播,软件过程,增量模型的优点:能在较短的时间内向用户提交可完成部分功能的产品逐步增加产品功能可以使用户有较充裕的时间学习和适应困难:在把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发的产品软件体系结构必须是开放的本身具有矛盾性一方面要求开发人员把软件看作一个整体另一方面要求开发人员把软件看作构件序列,构件间彼此独立,个人成果,妥善保存,请勿传播,螺旋模型螺旋模型是瀑布模型、原型模型的有机结合,同时增加了风险分析,软件过程,个人成果,妥善保存,请勿传播,简化的螺旋模型,软件过程,个人成果,妥善保存,请勿传播,螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制风险分析分析所选方案,考虑如何识别和消除风险实施工程实施软件开发客户评估评价开发工作,提出修正建议,并计划下一个阶段的任务,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,螺旋模型的优点,有助于获取用户需求,加强对需求的理解,尽早发现软件中的错误,支持需求的动态变化,支持风险分析,可降低或者消除软件开发风险,适合于需求动态变化,事先难以确定并且开发风险较大的系统,软件过程,个人成果,妥善保存,请勿传播,螺旋模型的缺点过多的迭代次数会增加开发成本,延迟提交时间只适合大型软件项目的开发,否则,每个阶段的风险分析将占用很大一部分资源,增加成本对开发人员的风险分析能力是极大的考验,软件过程,个人成果,妥善保存,请勿传播,喷泉模型迭代是软件开发过程中普遍存在内在属性“喷泉”模型体现了面向对象软件开发过程的迭代和无缝的特性,软件过程,软件过程,Rational 统一过程Rational Unified Process,RUPRational公司推出的一种完整的软件过程总结多年商业化验证的6条有效的开发经验,被称为“最佳实践”迭代开发(可运行版本)管理需求(用例)使用基于构件的体系结构可视化建模(UML)验证软件质量(内建的质量评估过程)控制软件变更,个人成果,妥善保存,请勿传播,软件过程,Rational 统一过程RUP软件开发生命周期二维生命周期模型横轴:核心工作流纵轴:时间核心工作流业务建模、需求、分析和设计、实现、测试、部署支持工作流配置和变更管理、项目管理、环境,个人成果,妥善保存,请勿传播,软件过程,个人成果,妥善保存,请勿传播,软件过程,Rational 统一过程RUP工作阶段把软件生命周期划分成4个阶段初始阶段精华阶段构建阶段移交阶段RUP迭代式开发迭代和渐增式开发,个人成果,妥善保存,请勿传播,软件过程,敏捷过程与极限编程敏捷过程(Agile Process,AP)敏捷方法(Agile Methodology,AM)敏捷建模(Agile Modeling,AM)极限编程(eXtreme Programming,XP),个人成果,妥善保存,请勿传播,软件过程,敏捷过程重载过程CMM/CMMI、RUP、ISO 9001轻载过程敏捷过程文档适度、度量适度、管理适度“沟通、简单、反馈、勇气”2001.2月17位软件方法学家联合成立“敏捷软件开发联盟”,起草“敏捷软件开发宣言”,个人成果,妥善保存,请勿传播,软件过程,敏捷过程“敏捷软件开发宣言”阐述的4条价值观个体和交互胜过过程和工具可以工作的软件胜过详尽的文档与客户协作胜过合同谈判响应计划胜过遵循计划,个人成果,妥善保存,请勿传播,软件过程,极限编程eXtreme Programming,XPXP的12个有效实践客户作为开发团队成员(On Site Customer)计划博弈(Planning Game)系统隐喻(System Metaphor)简化设计(Simple Design)集体拥有代码(Collective Code Ownership)结对编程(Pair Programming)测试驱动(Test-driven),个人成果,妥善保存,请勿传播,软件过程,极限编程XP的12个有效实践小型发布(Small Releases)重构(Refactoring)持续集成(Continuous integration)代码规范(Coding Standards)XP开发人员典型日工作模式(早九晚五),个人成果,妥善保存,请勿传播,软件过程,极限编程XP的12个有效实践小型发布(Small Releases)重构(Refactoring)持续集成(Continuous integration)代码规范(Coding Standards)XP开发人员典型日工作模式(早九晚五),个人成果,妥善保存,请勿传播,软件过程,极限编程XP的整体开发过程,个人成果,妥善保存,请勿传播,软件过程,极限编程XP的迭代过程,个人成果,妥善保存,请勿传播,软件过程,微软过程Microsoft拥有自己的软件开发过程微软过程准则项目计划应该兼顾未来的不确定因素用有效的风险管理来减少不确定因素经常生成并快速地测试软件的过度版本采用快速循环、迭代的开发过程用创造性的工作来平衡产品特性和产品成本项目进度表应该具有较高的稳定性和权威性使用小型项目组并发地完成工作,个人成果,妥善保存,请勿传播,软件过程,微软过程微软过程准则在项目早期把软件配置基线化,项目后期则冻结产品使用原型验证概念,对项目进行早期论证把零缺陷作为追逐的目标里程碑评审的目的是改进工作,切忌相互指责,个人成果,妥善保存,请勿传播,软件过程,微软过程微软软件生命周期,个人成果,妥善保存,请勿传播,软件过程,微软过程微软过程模型,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,本章结束,下一章节导读:“可行性研究”,

    注意事项

    本文(软件工程01概论.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开