专业课课件-软件工程seintro_第1页
专业课课件-软件工程seintro_第2页
专业课课件-软件工程seintro_第3页
专业课课件-软件工程seintro_第4页
专业课课件-软件工程seintro_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1软1软件工程的产生与发 软件开 3软件无处不在,为我们的生活创造了无限。在的信息时代,世界正在变得更加“智慧”,万事万物间感知化、互联化和智能软件工程为这一切做出了巨大贡献,随着4

,代表,代表特点:保护知识以证的方式销售软件产

商要商要大头的特点:向端用户收小头,向寄生在服务上代表代表代表特点:面向领域,以企业解决方案供应商代代表特点:基于个人计算,

特点:为单个客户提供定制软件,包括技术咨询、软件编程和;软件销售是一5软件开 软件创新的最 复杂的基础架缺乏适用的开发流存在众多的应用系每年扩展现存系统并开发新系软件生产环境本身的复杂6软件开 客户使用时发现许多

客不满项目过失

风险成本问无力管团

对流程盲目遵从,忽视客户业务价 •困扰于如何提升团队的能力与效7

推迟、超过预算或特性有缺陷的项 完成前取消的项8举例1:ARIANE5,Ariane5火箭在发射37秒之后偏离其飞行路径并突然发 ,当时火箭载有价值5 的通 原因程序中试图将64位浮点数转换成16位整数时产生溢缺少对数据溢出的错误处理程备份软件通 而9该系统从2001年开始研发,整个过程历时5年半,先后有9000开发人员投入其中,耗资60 ,代码规模超过5000万行 年下半年再到年初,最终在取消一些高级功能后由于整个系统过于庞杂,其开发管理相当,以致于很多时间用在互相沟通和重新决定从 1进入公开测试以来,程序错误总数已经超过2万个这其中还不包括微软内部未公开的一些错举例3:1230612306网络购票系统历时两年研发成功,耗资3亿,于年月日投入运行 春运启动,9日点击量超过14亿次,出现 、登录缓慢、无法支付、扣钱不出年月日,由于正处中秋和“十一 日点击量达到14.9亿次,发售客票超过当年春运最高值,出现网络拥堵、重复排队等现象 Brooks,F.P.,“Nosilverbullet:essenceandaccidentsofsoftwareComputer,Vol.20,No.4,pp.10-19,

“安全优先”的设计理念,引入许多新的安全机和技术,提高用户终端的安全性Windows

整合许多的 软件WindowsWindows

通过IE给系统桌面提供HTML支持 改良对硬件标准的支持并整合到桌面上Windows3.*WindowsWindows

借鉴Mac用户图形界面

改进界面、内存管添加声音I/O的基本 支持、TrueType字体

XP/

修复刷新绘画引擎支持相机

图点恢复笔工2000/

溶解滤 图层控制

镜头模糊滤实时柱状

…历史概 矢量编辑 Windows

调色

色彩管…

吸 矢量图…

路径图层、色彩平饱和度调

矢量编…

Photoshop 软件软件的失效率曲线

软件人员太像“的新衣”故事中的裁缝了。当我来检查软件开发工作时,所得到的回答好象对我说:我们正忙于编织这件带有魔法的织物。只要等一会儿,你就会看到这件织物是及其美丽的。但是我什么也看不到,什么也摸不到,也说不出任何一个有关的数字,没有任何办法得到一些信息说明事情确实进行得非常顺利,而且我已经知道许多人最终已经编织了一大堆昂贵的废物

瀑布式软件生命周期模

软软件工程基本概2 举例:举例:系统的特征系统是相互联系的一组元素的集系统是具有特定功能的有机整系统是有边界系统需要与其他系统交一个系统可能包含另一个系系统是逐渐演变形成工工程是将理论和所学的知识应用于实践的科学,以便经济有效地解决实vs.vs加法程序vs.医 :工程的特

软件交付

注重系统的构建过软件软件工程是①将系统性的、规范化的、可定量的方法应用于软件的开发、运行即工程化应用到软件上;②对①中所述方法的研究,软件工程的基本目标较低的开发成按时完成开发任务并及时交实现客户要求的功所开发软件具有良好的性较高的可靠性、可扩展性、可移植软 费用软软件工程是一项建模活动,通过抽象找到事物的重要特征而忽略非本质的细节,从不侧面建立系统模型,有效地简化和处理复杂性 软软件工程是一项解决问题的工程活动,它不仅限于算法设计,还要通过试验、设计复用系统评估 找到一个客户可接受的方案分析:

软软件工程是一项受软件工程原理指导的活动,软件工程师需要捕捉和理解一个系统的本原理模型,并根据评价标准提出合理的开发决举例:

可选择的解决方案(例如用2个字符还是4个字符表示年份用于指导决策的准则(例如使内存所占空间最小为软件开发过提供“如何做”的技为软件开发方提供自动的或半自动软件支撑环

支持软件生命周期构造软件特定方法或者风

软件的再工程。以消息传递为基

面向对象设 模语面向对象设 模语ObjectModeling对象建模方CommonObjectRequestBroker公共对象请 体系结DistributeComponentObject分布式组件对象模JAVA平台企业超文本传输协ExtensibleMarkup可扩展标记语统一描述、发现和集OntologyWeb本体Web语SimpleObjectAccess简单对 协WebServiceDescribe网络服务描述语精益求精的细节管理 面包中的气泡全部为0.5cm,这种尺寸味道最牛肉食品的品质检查有40多项内容,从不牛肉饼重量在45克时其边际效益达到最一个汉堡包净重1.8盎司,其中洋葱重量为0.25盎汉堡包出炉后超过10分钟,薯条炸好后超过7分钟 售汉堡包饼面 售与汉堡包一起卖的可口可乐必须是4柜台高度92cm,绝大多数顾客付账取避免顾客等待30秒以上,这是人与 软件开软件开发过程与管理 CASE工 CASE平 CASE环 科科学是发现世界上已经存在的事物,回答“是什么”和“为什么”的问题工程是创造世界上从未存在的事物,回答“做什么”和“怎么做”的问题

学术界基于数据本身评价推荐效果,如准确率等如果一个用户本来打算 《软件工程》这本书,工业界基于商业应用评价推荐效果,如受推荐影响的转化率和 率等;对于用户而言,希望推荐系统使其 并非预想的书;对于 而言,希望推荐系统增加的潜 人群Wasserman,Wasserman,AnthonyI.,“Towardadisciplineofsoftwareengineering”, IEEEComputer,Vol.13,No.6,pp.23-31,1996Wasserman'sDisciplineSoftware基础软 技术缺

-2 3 4 5 6 7 8 9 10 12软软件人才是软件企业最宝贵 ,其工作特点是创恪 才能保持持续创新,软软件质量属3 McCall ISO9126 QualityQualityisneveranaccident;itisalwaystheresultof ligent———JohnGarvin关于质量的各种不同视角质量的三个方面:产品质量、过程质量、商业环境背景下的质

代码

McCall

产品修

产品运产品变

McCall质量属可靠性完整性 性灵活性可复用性

软软件过软件产产品效外质过质使质质 影响 外质过质使质质过程测 内部测 外部测 使用质量测

某学生使用J 9÷( 6×) 3–=0.+考: 软件质量的重要性是无容置疑,那么是不是质量越高就越?软件产品是否应该追“零缺陷?常被消除为止。前甚至做得更过分,许多重大系统的都签了生死状,系统研制成功则获得勋章,失败则被枪毙。 、导航等)在产品仍然存在一定缺陷的情况考: 软件质量的重要性是无容置疑,那么是不是质量越高就越?软件产品是否应该追“零缺陷?商业目标决定质量目标为了提高用户对产品的满意度,企业必须提高产品的质量,但是不可能为了追求完美的质量而不惜一切代价。当企业为提高质量所付出的代价超过收益时,这个产品就没有 了软软件过程模4 过过程是一组将输入转化为输出的相互关联或相互作用的活动;过程方法是系统地识管理组织内所使用的过程,保证更有效地获得期望的结 软软件过程是为了获得高质量软件而实施的一系列活动,它定义了工作任务、项目里碑、交付物和质量保证点 项目执行 软 验证与确 软件配置管 问题问题定义:人们通过开展技术探索和市等活动,研究系统的可行性和可解决方案,确定待开发系统的总体目标和范可可行分析需需求开发:在可行性研究之后,分析、整理和提炼所收集到的客户需求,建立完整需求分析模型,编写软件需求规格说明工工作产分析会议记软件软件设计:根据需求规格说明,确定软件体系结构,进一步设计每个系统部件的实算法、数据结构及其接口软件实软件实现:概括地说是将软件设计转换成程序代码,这是一个复杂而迭代的过程,要根据设计模型进行程序设计以及正确而高效地编写和测试代 软软件测试:检查和验证所开发的系统是否符合客户期望,包括单元测试、子系集成测试和验收测试等

软软件演化:系统投入使用后对其进行改进,以适应不断变化的需求。完全从头开发系统很少,将软件系统的开发 看成 续过程更有意义

瀑布模型的瀑布模型的开发阶段严格按照线性方式进行,每一个阶段具有相关的里程碑和交付产品且需要确认和验证讨论:瀑布模型是否反映了实际的软件开发过程?软件开发作为一个问题求解过程,应当具备什么特点软件开发具有迭代性,需要不断地反复尝试,通过比较和选择不同的设计,最终确定令人满意的问题解决方案。软件开发具有迭代性,需要不断地反复尝试,通过比较和选择不同的设计,最终确定令人满意的问题解决方案。原原型化模型需要迅速建造一个可运行的软件原型,它使用户和开发人员对系统的相方面进行检查,以决定是否合适和恰当示不同的界面元素,再组合拼凑并粘贴到背景板上,构造成模拟真实产品界面的原型。这 asmq Mcks原型件比纸的产品原型设图更加方便 ,而且是简约清爽的手绘风格。它的兼容性也非常好,可使用XM语保存也可以导NG 。 今今天的商业环境需要快速地推出新产品,阶段化开发使得软件系统能够一部分一部地交付,从而缩短软件开发周期使用版本使用版本构建发布构建发布构建发布 增量增量模型:在每一个新的发布中逐步增加功能直到构造全部功迭代模型:一开始提交一个完整系统,在后续发布中补充完善各子系统功可转换可转换模型是采用形式化的数学方法描述系统,并利用一系列转换将形式化的需求规说明变为可交付使用的系统 实例一:汽车制动防抱系汽车制动防抱系统(Anti-lockedBrakingSystem,简称ABS)该系统通过汽车微电脑控制,以非常快的速度精密地控制制动力的收放,从而达到防止避的能力。实例一:汽车制动防抱系汽车制动防抱系统(Anti-lockedBrakingSystem,简称ABS)该系统通过汽车微电脑控制,以非常快的速度精密地控制制动力的收放,从而达到防止避的能力。实例分析实例二:网络公开课 实例二:网络公开课 实例分析系统应该易 和修实验项目二 公共账号(自定账号名现在要求大家申请一 智能

温馨提示

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

评论

0/150

提交评论