第1章软件工程学概述-课件

上传人:无*** 文档编号:241626934 上传时间:2024-07-11 格式:PPTX 页数:68 大小:1.11MB
返回 下载 相关 举报
第1章软件工程学概述-课件_第1页
第1页 / 共68页
第1章软件工程学概述-课件_第2页
第2页 / 共68页
第1章软件工程学概述-课件_第3页
第3页 / 共68页
点击查看更多>>
资源描述
软件工程软件工程(Software Engineering)2024/7/11课程介绍及要求课程介绍及要求用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件2024/7/11教学目标教学目标教学目标教学目标为什么要学习这门课程为什么要学习这门课程有助于正确理解和认识“软件”的概念及其特点理解软件开发面临的问题和挑战掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大的软件的开发了解和接触软件开发所需的各种技术手段理解、掌握和运用理解、掌握和运用2024/7/11课程介绍和要求课程介绍和要求什么是软件工程什么是软件工程为什么需要软件工程为什么需要软件工程(产生背景产生背景)软件工程需要解决那些问题软件工程需要解决那些问题软件工程涉及那些方面内容软件工程涉及那些方面内容理解理解2024/7/11课程介绍和要求课程介绍和要求软件工程软件工程概念技术过程手段工具掌握掌握运用运用运用工程化思想进行软件开发运用工程化思想进行软件开发需求分析软件设计程序设计软件维护2024/7/11课程介绍和要求内容组织内容组织内容组织内容组织先导要求程序设计语言最好有一定的软件开发经验2024/7/11课程介绍和要求课程介绍和要求学习要求学习要求学习要求学习要求听听理解知识点和思想无需死记硬背做做实践体会软件工程的原则、方法和技术,在实践中提高培养抽象思维能力培养独立解决问题的能力培养合作精神想想阅读相关资料2024/7/11课程介绍和要求课程介绍和要求 88考核方式考核方式考核方式考核方式平时平时+实验实验(40%)期末考试期末考试 (60%)2024/7/11课程介绍和要求课程介绍和要求 99课程实习要求课程实习要求课程实习要求课程实习要求(1/2)(1/2)内容内容选择一个项目开发课题,用软件工程的思想知道其开发过程。完成需求分析,详细设计,测试,项目汇报。时间时间待定分组分组以小组为单位,68人一组为宜2024/7/11课程介绍和要求课程介绍和要求 1010课程实习要求课程实习要求课程实习要求课程实习要求(2/2)(2/2)提交内容提交内容电子文档评价方法评价方法按阶段递交和打分文档:完整性、合理性、规范性注意注意:严格按照要求执行严格按照要求执行2024/7/11软件工程中典型案例软件工程中典型案例-宇航宇航p在“勇气”号从地球飞往火星的半年多时间内,其存储器里积聚了大量的数据文件,超过了存储器的负荷。这导致“勇气”号从1月21日开始瘫痪在火星上,无法向地球传送数 据。科学家虽然通过删除存储器内的部分数据使“勇气”号于2月1日恢复工作,但专家仍然希望通过格式化存储器来彻底消除隐患。2024/7/11宇航宇航p1963年美国飞往火星的火箭爆炸,造成年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是万美元的损失。原因是FORTRAN程程序:序:pDO 5 I=1,3 p误写为:DO 5 I=1.3p1999年年9月到达火星的月到达火星的“火星气候轨道器火星气候轨道器”后来成了一个著名的笑话。工程师后来成了一个著名的笑话。工程师在计算轨道器推力的时候,混用了公制和在计算轨道器推力的时候,混用了公制和英制的单位,从而导致了它的坠毁。英制的单位,从而导致了它的坠毁。2024/7/11电子商务电子商务电子商务电子商务p2007-10-302007-10-30日由于官方票务网站流量曾瞬时达到日由于官方票务网站流量曾瞬时达到每小时每小时800800万次,超过了系统设计的每小时万次,超过了系统设计的每小时100100万万次的承受量。启动后第一小时从各售价渠道瞬时次的承受量。启动后第一小时从各售价渠道瞬时提交到票务系统的门票达到提交到票务系统的门票达到2020万张,也超过了系万张,也超过了系统设计的每小时销售统设计的每小时销售1515万张的票务处理能力。北万张的票务处理能力。北京奥组委不得不作出停止售票的决定。从初步的京奥组委不得不作出停止售票的决定。从初步的情况分析,并不是带宽的问题,主要还是系统后情况分析,并不是带宽的问题,主要还是系统后台的数据库的处理能力,在设计、规划方面,还台的数据库的处理能力,在设计、规划方面,还有待改进。有待改进。2024/7/11金融金融金融金融p20062006年年0505月日本最大美资银行花旗银行出现重大月日本最大美资银行花旗银行出现重大交易系统故障,约交易系统故障,约27.527.5万宗公用事业款项的交易万宗公用事业款项的交易遭重复扣数,或在完成交易后未有更新月结纪录。遭重复扣数,或在完成交易后未有更新月结纪录。2024/7/11军事军事军事军事p海湾战争中美军使用的海湾战争中美军使用的“爱国者爱国者”导弹由于未能拦截导弹由于未能拦截的的“飞毛腿飞毛腿”导弹命中一个美军阵地,导弹命中一个美军阵地,2828名美国士兵名美国士兵全部丧生。事后分析问题与全部丧生。事后分析问题与“爱国者爱国者”的内置时钟有的内置时钟有关,它用以预测下一枚飞毛腿关,它用以预测下一枚飞毛腿”何时出现。何时出现。“爱国者爱国者”控制程序中使用的寄存器只有控制程序中使用的寄存器只有2424个字节的长度,精个字节的长度,精确度因此受到影响,系统运行的时间越长,累积误差确度因此受到影响,系统运行的时间越长,累积误差也越大。海湾战争中,这些系统的运行时间达到也越大。海湾战争中,这些系统的运行时间达到100100小时,产生了小时,产生了678678米的范围差。米的范围差。2024/7/11医疗医疗医疗医疗p最广为人知的是加拿大原子能公司制造的最广为人知的是加拿大原子能公司制造的TheracTherac2525线性加速放射器致人死亡事件。该机器由计线性加速放射器致人死亡事件。该机器由计算机控制,耗资百万元以上,由于算机控制,耗资百万元以上,由于5 5次连续性的错次连续性的错误造成放射过量,误造成放射过量,5 5位病人死亡,位病人死亡,2 2人重伤。死亡人重伤。死亡病人接受了超过正常剂量病人接受了超过正常剂量100100倍以上的放射。倍以上的放射。2024/7/11你自己亲身经历的?2024/7/11第第第第1 1章:软件工程学概述章:软件工程学概述章:软件工程学概述章:软件工程学概述u1.1 软件危机软件危机 60年年代代中中期期以以前前:通通用用硬硬件件相相当当普普遍遍,软软件件却却是是为为某某个具体的应用而编写的。个具体的应用而编写的。60年代中到年代中到70年代中:软件作坊。年代中:软件作坊。2024/7/11 软件危机:软件危机:计算机软件的开发和维护过程中所计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软遇到的一系列严重问题。(正常、不正常运行软件都具有这种问题)件都具有这种问题)1.1.1 软件危机的介绍软件危机的介绍2024/7/111)对软件开发成本和进度的估计常常很不准确;)对软件开发成本和进度的估计常常很不准确;2)用户对完成的软件系统不满意的现象经常发生;)用户对完成的软件系统不满意的现象经常发生;3)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;4)软件常常是不可维护的;)软件常常是不可维护的;5)软件通常没有适当的文档资料;)软件通常没有适当的文档资料;软件危机的典型表现:软件危机的典型表现:2024/7/116)软软件件成成本本在在计计算算机机系系统统总总成成本本中中所所占占的的比例逐年上升;比例逐年上升;7)软件开发生产率提高的速度跟不上计算)软件开发生产率提高的速度跟不上计算机应用的发展趋势。机应用的发展趋势。软件危机的典型表现:软件危机的典型表现:2024/7/111.1.2 产生软件危机的原因产生软件危机的原因1)软件本身特点造成;)软件本身特点造成;2)软件开发与维护的方法不正确。)软件开发与维护的方法不正确。主要表现:主要表现:(a)忽视软件需求分析;)忽视软件需求分析;(b)认为软件开发就是写程序并使之运行;)认为软件开发就是写程序并使之运行;(c)轻视软件维护;)轻视软件维护;2024/7/11 在软件开发的不同阶段进行修改需要付出在软件开发的不同阶段进行修改需要付出的代价很不相同:的代价很不相同:高高中中低低早期早期中期中期后期后期软件开发时期软件开发时期代价代价图图1.1引入同一修改的代价随时间变化的趋势引入同一修改的代价随时间变化的趋势2024/7/111)推推广广使使用用在在实实践践中中总总结结出出来来的的开开发发软软件件的的成成功功技术和方法,并研究探索更有效的技术和方法;技术和方法,并研究探索更有效的技术和方法;2)开发和使用更好的软件工具;)开发和使用更好的软件工具;3)良好的组织管理措施。)良好的组织管理措施。1.1.3 解决软件危机的途径解决软件危机的途径2024/7/11 为为了了解解决决软软件件危危机机产产生生的的问问题题,软软件件工工程程与与方方法法学学逐逐渐渐形形成成,然然后后出出现现了了两两个个相相互互相相承承又又各有侧重的学科:各有侧重的学科:1)软软件件工工程程学学:主主要要应应用用工工程程的的方方法法和和技技术术研研究究软软件件开开发发与与维维护护的的方方法法、工工具具和和管管理理的的一门交叉学科。一门交叉学科。2)程序设计方法学程序设计方法学:主要应用数学的方法:主要应用数学的方法研究程序的性质以及程序设计的理论和方法的研究程序的性质以及程序设计的理论和方法的学科。学科。2024/7/111.2 1.2 软件工程软件工程软件工程软件工程u1.2.1 软件工程的介绍软件工程的介绍1968年年NATO会会议议:软软件件工工程程就就是是为为了了经经济济地地获获得得可可靠靠的的且且能能在在实实际际机机器器上上有有效效地地运运行行的的软软件件,而建立和使用完善的工程原理。而建立和使用完善的工程原理。1993年年IEEE:软软件件工工程程是是(1)把把系系统统的的、规规范范的的、可可度度量量的的途途径径应应用用于于软软件件开开发发、运运行行和和维维护护过程;(过程;(2)研究()研究(1)中提到的途径。)中提到的途径。2024/7/11 1.软件工程关注于大型程序的构造;软件工程关注于大型程序的构造;2.软件工程的中心课题是控制复杂性;软件工程的中心课题是控制复杂性;3.软件经常变化;软件经常变化;4.开发软件的效率非常重要;开发软件的效率非常重要;5.和谐地合作是软件开发的关键;和谐地合作是软件开发的关键;6.软件必须有效地支持它的用户;软件必须有效地支持它的用户;7.在软件工程领域中是由具有一种文化背景在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。的人替具有另一种文化背景的人创造产品。软件工程的本质特性:软件工程的本质特性:2024/7/11u1.2.2 软件工程的基本原理软件工程的基本原理1.用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;坚持进行阶段评审;3.实行严格的产品控制;实行严格的产品控制;4.采用现代程序设计技术;采用现代程序设计技术;5.结果能清楚地审查;结果能清楚地审查;6.开发小组的人员应该少而精;开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。2024/7/11u1.2.3 软件工程方法学软件工程方法学通常把在软件生命周期全过程中使用的一整套通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(技术方法的集合称为方法学(Methodology),),也称为范型(也称为范型(Paradigm)。)。软件工程方法学的软件工程方法学的3要素:方法、工具和过程要素:方法、工具和过程2024/7/111.传统方法学传统方法学 也称为生命周期方法学或结构化范型。也称为生命周期方法学或结构化范型。结构化方法(结构化方法(Structure Method)有:有:1)结构化设计方法()结构化设计方法(SD););2)结构化分析方法(结构化分析方法(SA););3)结构化分析与设计技术()结构化分析与设计技术(SADT)4)JACKSON方法方法 5)WARNIER方法方法2024/7/112.面向对象方法学面向对象方法学 把数据和对数据的操作紧密结合起来的方法,把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。模拟人类认识世界解决问题的方法和过程。面向对象的方法面向对象的方法 =对象(属性与服务的封装)对象(属性与服务的封装)+分类分类 +继承继承 +通过消息的通讯通过消息的通讯2024/7/111)适用于实时事物处理系统的有限状态机方法)适用于实时事物处理系统的有限状态机方法 (FSM););2)适用于并发软件系统的适用于并发软件系统的PETRI网方法;网方法;3)以数学概念和理论为基础的形式化方法,如)以数学概念和理论为基础的形式化方法,如 SDC公司的形式化开发方法公司的形式化开发方法FDM:(Formal Development Methodology)IBM公司的维也纳开发方法公司的维也纳开发方法VDM:(Vienna Development Method)3.其他开发方法其他开发方法 2024/7/111.1.3 3 软件生命周期软件生命周期软件生命周期软件生命周期软件生命周期软件生命周期:指软件从提出到最终被淘汰的这个存在期。指软件从提出到最终被淘汰的这个存在期。2024/7/11软件生命周期组成:软件生命周期组成:1)软件定义;)软件定义;A.问题定义问题定义 B.可行性研究可行性研究 C.需求分析需求分析 2)软件开发;)软件开发;D.总体设计总体设计 E.详细设计详细设计 F.编码和单元测试编码和单元测试 G.综合测试综合测试 3)运行维护;)运行维护;2024/7/11 1.问题定义;问题定义;2.可行性研究;可行性研究;3.需求分析;需求分析;4.总体设计(概要设计);总体设计(概要设计);5.详细设计;详细设计;6.编码与单元测试;编码与单元测试;7.综合测试;综合测试;8.维护。维护。软件生命周期各个阶段:软件生命周期各个阶段:2024/7/111.1.4 4 软件过程软件过程软件过程软件过程软软件件过过程程:为为了了获获得得高高质质量量软软件件所所需需要要完完成成的的一一系系列列任任务务的的框框架架,它它规规定定了了完完成成各各项项任任务务的的工工作步骤。作步骤。软软件件过过程程(ISO9000):使使用用资资源源将将输输入入转转化化为输出的活动所构成的系统。为输出的活动所构成的系统。输入:输入:如软件需求如软件需求输出:输出:如软件产品如软件产品2024/7/111.4.1 瀑布模型瀑布模型1.阶阶段段间间具具有有顺顺序序性性和和依赖性依赖性2.推迟实现的观点推迟实现的观点3.质量保证的观点质量保证的观点2024/7/111.4.1 1.4.1 瀑布模型瀑布模型瀑布模型瀑布模型传统瀑布模型的特点传统瀑布模型的特点 提供了软件过程模型的基本框架(模板)。强调了每一阶段活动的严格顺序。质量保证观点:以经过评审确认了的阶段工作 产品(文档)驱动下一阶段的工作,便于管理。是一种整体开发模型,程序的物理实现集中在 开发阶段的后期,用户在最后才能看到自己的 产品。传统瀑布模型存在什么问题传统瀑布模型存在什么问题?2024/7/11优优点点:采采用用规规范范的的方方法法;严严格格规规定定每每个个阶阶段段提提交交的的文文档档;要要求求每每个个阶阶段段交交出出的的产产品品必必须须经经过过验验证。证。2024/7/111.4.1 1.4.1 瀑布模型瀑布模型瀑布模型瀑布模型瀑布模型适合于用户需求明确、完整、无重大变化的软件瀑布模型适合于用户需求明确、完整、无重大变化的软件项目开发。瀑布模型的成功在很大程度上是由于它基本上项目开发。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。是一种文档驱动的模型。“瀑布模型是由文档驱动的瀑布模型是由文档驱动的”这个事实也是它的一个主要这个事实也是它的一个主要缺点。缺点。实际项目很少按照该模型给出的顺序进行;实际项目很少按照该模型给出的顺序进行;用户常常难以清楚地给出所有需求;用户常常难以清楚地给出所有需求;用户必须有耐心,等到系统开发完成。用户必须有耐心,等到系统开发完成。瀑布模型的优缺点瀑布模型的优缺点2024/7/111.4.2 1.4.2 快速原型模型快速原型模型快速原型模型快速原型模型(Rapid Prototype Model)在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。建造建造/修改修改原型原型 听取用听取用 户意见户意见用户用户测试测试运行运行原型原型原型实现范型原型实现范型2024/7/111.4.2 快速原型模型快速原型模型优点:优点:不带反馈环,基不带反馈环,基本上是线性顺序进行。本上是线性顺序进行。2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型原型模型存在的问题原型模型存在的问题 为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。开发过程不便于管理。有效的使用原型模式有效的使用原型模式 建造原型仅是为了定义需求,之后就被抛弃(或被部分抛弃),实际的软件在充分考虑了质量和可维护性之后才被开发。2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型快速原型快速原型验证验证规格说明规格说明验证验证设计设计验证验证编码编码测试测试综合测试综合测试维护维护变化的需求变化的需求验证验证维护过维护过程程开发过开发过程程2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型(3 3)增量模型)增量模型 (Incremental Model)是一种渐进地开发逐步完善的软件版本的模型。需求分析需求分析验证验证规格说明规格说明验证验证设计设计验证验证维护维护针对每个构件针对每个构件完成详细设计、完成详细设计、编码和集成,编码和集成,经测试后交付经测试后交付给用户给用户2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型增量1增量2 增量3增量4 反复的应用瀑布模型的基本成分和原型模型的迭代特征,每一个线型反复的应用瀑布模型的基本成分和原型模型的迭代特征,每一个线型过程产生一个过程产生一个“增量增量”的发布或提交,该增量均是一个可运行的产品。的发布或提交,该增量均是一个可运行的产品。早期的版本实现用户的基本需求,并提供给用户评估的平台。早期的版本实现用户的基本需求,并提供给用户评估的平台。增量模型增量模型2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型1.在较短时间内向用户提交可完成部分工作的产品,并分批、逐步地向用户提交产品。从第一个构件交付之日起,用户就能做一些有用的工作。2.整个软件产品被分解成许多个增量构件,开发人员可以一个构件一个构件地逐步开发。3.逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。4.采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。增量模型的优点增量模型的优点2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型增量模型的困难增量模型的困难1.在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。软件体系结构必须是开放的。2.开发人员既要把软件系统看作整体。又要看成可独立的构件,相互矛盾。3.多个构件并行开发,具有无法集成的风险。2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型(4)螺旋模型)螺旋模型(Spiral Model)软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件越复杂,承担该项目所冒的风险也越大。对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型和增量模型结合起来,加入了风险分析。在该模型中,软件开发是一系列的增量发布,早期的迭代中,发布的增量可能是一个纸上的模型或原型,在以后的迭代中,逐步产生系统更加完善的版本。螺旋模型的基本思想是降低风险。2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型快速原型快速原型验证验证规格说明规格说明验证验证设计设计验证验证编码编码测试测试综合测试综合测试维护维护变化的需求变化的需求验证验证风险分析风险分析风险分析风险分析风险分析风险分析风险分析风险分析风险分析风险分析风险分析风险分析可看作在每可看作在每个阶段之前个阶段之前都增加了风都增加了风险分析过程险分析过程的快速原型的快速原型模型。模型。简化的螺旋模型简化的螺旋模型2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型完整的螺旋模型完整的螺旋模型2024/7/11 螺旋模型螺旋模型螺旋模型螺旋模型风险风险分析分析工程工程实施实施用户通信用户通信用户用户评估评估产品维护项目产品维护项目产品维护项目产品维护项目产品增强项目产品增强项目产品增强项目产品增强项目新产品开发项目新产品开发项目新产品开发项目新产品开发项目概念开发项目概念开发项目概念开发项目概念开发项目计划计划计划计划建造及发布建造及发布建造及发布建造及发布2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型螺旋模型的优点螺旋模型的优点对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标减少了过多测试或测试不足维护和开发之间并没有本质区别螺旋模型的特点螺旋模型的特点风险驱动,需要相当丰富的风险评估经验和专门知识,否则风险更大主要适用于内部开发的大规模软件项目,随着过程的进展演化,开发者和用户能够更好的识别和对待每一个演化级别上的风险随着迭代次数的增加,工作量加大,软件开发成本增加2024/7/111.4 1.4 1.4 1.4 软件过程模型软件过程模型软件过程模型软件过程模型(5 5)面向对象模型)面向对象模型喷泉模型喷泉模型(Fountain Model)分析分析分析分析设计设计设计设计实现实现实现实现测试测试测试测试集成集成集成集成演化演化演化演化特点特点:主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征2024/7/111.4.6 Rational 1.4.6 Rational 统一过程统一过程统一过程统一过程1.RUP软件开发经验软件开发经验(1)迭代式开发)迭代式开发(2)管理需求)管理需求(3)使用基于构件的体系结构)使用基于构件的体系结构(4)可视化建模)可视化建模(5)贯穿于开发过程的软件质量验证)贯穿于开发过程的软件质量验证(6)控制软件变更)控制软件变更2024/7/11图图图图1.10 RUP1.10 RUP软件开发生命周期软件开发生命周期软件开发生命周期软件开发生命周期2024/7/111.4.7 1.4.7 敏捷过程与极限编程敏捷过程与极限编程敏捷过程与极限编程敏捷过程与极限编程1.敏捷过程敏捷过程 具有高效、快速响应变化的开发过程。具有高效、快速响应变化的开发过程。(1)个体和交互胜过过程和工具;)个体和交互胜过过程和工具;(2)可以工作的软件胜过面面俱到的文档;)可以工作的软件胜过面面俱到的文档;(3)客户合作胜过合同谈判;)客户合作胜过合同谈判;(4)响应变化胜过遵循计划。)响应变化胜过遵循计划。2.极限编程极限编程 敏捷过程中最著名的一种,指把好的开发实践运敏捷过程中最著名的一种,指把好的开发实践运用到极致,多应用于软件需求模糊的场合。用到极致,多应用于软件需求模糊的场合。2024/7/11敏捷敏捷(灵活灵活)过程与极限编程过程与极限编程极限编程是敏捷过程中最有名的一个极限编程是敏捷过程中最有名的一个,适于小型项目适于小型项目.极限编程极限编程(XP,eXtreme Programming)对于传统的软件工程对于传统的软件工程中看来是中看来是“极端的极端的”实践实践.图1.11 XP项目的整体开发过程2024/7/11图图图图1.12 XP1.12 XP迭代开发过程迭代开发过程迭代开发过程迭代开发过程XP valuesCommunicationSimplicityFeedbackCourageRespect2024/7/111.4.8 1.4.8 微软过程微软过程微软过程微软过程1.微软过程准则微软过程准则2.微软软件生命周期微软软件生命周期(1)规划阶段)规划阶段(2)设计阶段)设计阶段(3)开发阶段)开发阶段(4)稳定阶段)稳定阶段(5)发布阶段)发布阶段3.微软过程模型微软过程模型2024/7/111.4.8微软过程微软过程图1.13微软软件生命周期阶段划分和主要里程碑2024/7/11图图图图1.141.14微软过程的生命周期模型微软过程的生命周期模型微软过程的生命周期模型微软过程的生命周期模型2024/7/11 问问题题定定义义就就是是要要确确定定为为用用户户建建立立什什么么样样的的软软件件系系统统,软软件件叫叫什什么么样样的的名名称称等等等等。“问问题题”是指软件最基本的问题,如:是指软件最基本的问题,如:软件的总体目标什么?软件的总体目标什么?有什么用途?有什么用途?为哪些用户设计?为哪些用户设计?1.5 1.5 问题定义阶段问题定义阶段问题定义阶段问题定义阶段2024/7/11 问问题题定定义义是是软软件件生生命命周周期期中中时时间间最最短短的的阶阶段段,一一般般都都比比较较简简单单,因因此此在在实实际际开开发发中中它它是是最最容容易被忽视的一个阶段。易被忽视的一个阶段。这这一一阶阶段段工工作作主主要要由由系系统统分分析析员员来来完完成成,系系统统分分析析员员要要尽尽可可能能从从较较高高的的角角度度概概括括软软件件所所要要做的工作,而不用写明问题的实现细节。做的工作,而不用写明问题的实现细节。2024/7/111.5 1.5 小结小结小结小结软件软件=程序程序+数据数据+文档文档软件危机软件危机:原因原因,现象现象,办法办法(软件工程学软件工程学)软件工程软件工程(学学):开发、运行和维护开发、运行和维护软件软件的系统的系统方法方法软件工程软件工程3个要素:方法、工具和过程。个要素:方法、工具和过程。软件生命周期软件生命周期:定义定义,开发开发,运行维护运行维护软件过程软件过程:瀑布模型瀑布模型+RUP2024/7/11本章内容结束1、每一个成功者都有一个开始。勇于开始,才能找到成功的路。7月-247月-24Thursday,July 11,20242、成功源于不懈的努力,人生最大的敌人是自己怯懦。03:32:1003:32:1003:327/11/2024 3:32:10 AM3、每天只看目标,别老想障碍。7月-2403:32:1003:32Jul-2411-Jul-244、宁愿辛苦一阵子,不要辛苦一辈子。03:32:1003:32:1003:32Thursday,July 11,20245、积极向上的心态,是成功者的最基本要素。7月-247月-2403:32:1003:32:10July 11,20246、生活总会给你另一个机会,这个机会叫明天。11七月20243:32:10上午03:32:107月-247、人生就像骑单车,想保持平衡就得往前走。七月243:32上午7月-2403:32July 11,20248、业余生活要有意义,不要越轨。2024/7/113:32:1003:32:1011 July 20249、我们必须在失败中寻找胜利,在绝望中寻求希望。3:32:10上午3:32上午03:32:107月-2410、一个人的梦想也许不值钱,但一个人的努力很值钱。7/11/2024 3:32:10 AM03:32:1011-7月-2411、在真实的生命里,每桩伟业都由信心开始,并由信心跨出第一步。7/11/2024 3:32 AM7/11/2024 3:32 AM7月-247月-24谢谢大家谢谢大家
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!