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

    计算机科学概论第8章 软件工程课件.ppt

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

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

    计算机科学概论第8章 软件工程课件.ppt

    计算机科学概论,第8章 软件工程,2,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件工程学科发展,软件危机开始阶段60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大、随着软件开发规模的增大、复杂性以及功能的增强,高质量的软件开发变的越来越困难。表现难以在规定的时间内完成开发任务软件产品的质量得不到保证开发人员开发的软件不能完全满足用户的需求等典型案例IBM公司的OS/360项目Therac-25事件,3,软件工程学科发展,软件工程的诞生诞生阶段北大西洋公约组织(NATO)在1968年举办了首次软件工程学术会议,并于会中提出“软件工程”来界定软件开发所需相关知识。发展软件工程已经成为一门独立学科软件工程是指应用计算机科学与技术、数学、管理学的原理,运用工程科学的理论、方法和技术,研究和指导软件开发与演化的一门交叉学科是用工程化的方法开发软件,4,软件工程学科发展,软件工程的内容和意义软件工程知识体系依据2014年发布的软件工程知识体系指南软件需求(software requirements)软件设计(software design)软件构建(software construction)软件测试(software testing)软件维护(software maintenance)软件配置管理(software configuration management)软件工程管理(software engineering management)软件工程过程(software engineering process),5,软件工程学科发展,软件工程的内容和意义软件工程知识体系软件工程模型和方法(software engineering models and methods)软件质量(software quality)软件工程职业实践(software engineering professional practice)软件工程经济学(software engineering economics)计算基础(computing foundations)数学基础(mathematical foundations)工程基础(engineering foundations),6,软件工程学科发展,软件工程的内容和意义意义软件工程为软件开发提出了形式化的方法,用工程化的理念来指导软件的开发过程,在高效的软件生产和科学的项目管理的基础上得到高质量的产品,7,软件工程学科发展,软件生命周期典型的软件工程生命周期可行性研究解决的是软件能不能开发的问题需求分析目标系统需要做什么的问题软件设计目标系统该怎么开发的问题软件实现进行实际的编码工作软件测试软件测试的目的是发现软件产品中存在的缺陷软件维护,8,9,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件开发模型,软件开发模型定义软件开发模型描述了主要的开发阶段,定义了每个阶段需要完成的任务和活动,规范了每个阶段的输入和输出,并且为开发过程定义了一个框架,将必要的活动都映射到框架中意义软件开发模型是软件工程思想的具体化,反映了软件在其生命周期中各个阶段的衔接和过渡关系,是人们在软件开发过程中总结出来的方法和步骤,10,软件开发模型,瀑布模型提出:由W.W.Royce在1970年首次提出的软体开发模型阶段:计划、需求分析,设计,编码,测试,集成,运行和维护前一阶段的输入就是后一阶段的输出特点:瀑布模型是一种线性开发模型,回溯性比较差瀑布模型是一种里程碑式的开发过程适用:适用于需求变化不大,开发人员有相关的经验并且风险较低的项目,11,软件开发模型,瀑布模型,12,软件开发模型,喷泉模型定义:一种过程模型,也同时支持面向对象开发阶段:分析,设计,编码特点:面向对象方法的迭代和无间隙性各个阶段需要多次重复各个阶段之间没有明显的界限,常常进行相互交叉,13,软件开发模型,原型模型定义:在初步获取需求之后,开发人员会快速地开发出一个原型系统,通过对原型系统的进行模拟操作,开发人员可以更直观地了解到用户的需求,并且可以挖掘一部分的隐含的需求分类探索型原型实验型原型渐增型原型,14,软件开发模型,增量模型定义:将软件开发模块化,将每一个模块都作为一个组件,分别进行分析、设计、编码、测试等步骤:先开发核心组件,创建一个具备基本功能的组件再对其进行完善优点:开发组件化、提交批次化、开发顺序灵活、风险比较低缺点:要求被开发的软件系统要能够模块化,15,软件开发模型,增量模型,16,软件开发模型,螺旋模型提出:是由美国软件工程师巴里勃姆于1988年5月在他的文章一种螺旋式的软件开发与强化模型提出的一种模型。阶段:决定方案对软件开发目标进行规划评估方案从风险的角度对当前的开发计划进行处理,进行评估开发实施具体的实施阶段下一阶段计划迭代地对下一阶段的开发进行合理的计划,17,软件开发模型,螺旋模型优点:通过原型开发,使每个迭代明确自己最初的方向;通过将风险分摊到每个迭代过程的方式,降低整体的风险在每个阶段都有自己的支出计划,使整体的支出容易得到统计缺点:过分依赖风险的分析经验和技术会增加整体的成本,18,软件开发模型,统一软件开发模型提出:称为RUP,是Rational软件公司创建的软件开发方法是一种重量级过程,特别适用于大型软件团队开发大型项目在RUP的开发过程中,在开发之外配套的管理过程、文档等都是非常复杂的,19,软件开发模型,统一软件开发模型阶段初始细化构造交付适用适用于规模比较大、团队成员比较多的项目对风险控制和进度管理都有质量保证都有很好地效果,20,软件开发模型,敏捷模型定义快捷、小文档、轻量级的开发过程强调人与人之间沟通的重要性以及开发过程的简洁性特点更加强调发挥团队成员的个性思维强调软件开发过程中团队成员之间的交流、过程的简洁性、用户反馈、对决定的信心和人性化的特征实践极限编程自适应软件开发方法动态系统开发方法,21,22,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件开发方法,软件开发方法定义形式上定义了软件如何被开发的问题说明了软件开发的具体方法和采用的方式结构化方法定义:一种传统的软件开发方法,它由结构化分析、结构化设计、结构化程序设计三个部分组成基本思想:把一个复杂问题的求解过程分阶段进行,而这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都能控制在人们容易理解和处理的范围之内,23,软件开发方法,结构化方法设计方法以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构矩形框、直线基本要点:自顶向下逐步求精模块化设计结构化编码,24,软件开发方法,面向数据结构的开发方法定义注重的数据结构而不是数据流以信息对象及其操作为核心进行需求分析按照顺序、选择、重复三种结构分解为成员信息对象供了由层次信息结构映射为程序结构的机制,典型方法:Jackson方法Warnier方法,25,软件开发方法,面向对象开发方法传统软件开发方法缺点软件的可重用性差软件的可维护性差开发出来的软件不能满足用户的需求对象:对象是指人们要研究的任何事物对象具有状态和行为,状态是描述当前对象的数据值,行为是该对象所能进行的操作对象具有状态和行为,状态是描述当前对象的数据值,行为是该对象所能进行的操作,26,软件开发方法,面向对象开发方法对象每个对象都具有唯一性,其标识是唯一的对象之间可以有继承关系继承性是指在定义一个类的时候,可以在一个已经存在的类的基础之上进行开发方法Booch方法Coad方法OMT方法 UML语言,27,软件开发方法,可视化开发方法兴起可视化开发方法是从90年代开始兴起的一种开发方法开发方法通过操作界面元素,如菜单、复选框、列表框、滚动条等事件驱动,28,软件开发方法,模块化开发方法定义基于模块的开发方法模块是指可以组成系统的,具有某种确定独立功能的子系统,可以通过与其他子系统按照一定的规则相互联系成为更为复杂的系统原则:高内聚、低耦合步骤将一个系统按划分原则分为若干个独立的模块将模块分给不同的开发人员独立开发将各个模块按照之前设定的接口进行整合,29,软件开发方法,软件重用技术定义是利用已有的软件来重新构造软件的技术采用已经存在软件产品,再进行加工而开发出新的软件的过程趋势基于软件复用库的技术利用模式重用的生成技术利用现有模块的组装方式与面向对象相结合类的聚集、实例对类的成员函数或操作的引用组件连接购买所需的大部分组件,进行集成,30,31,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件开发工具,UML语言定义UML(Unified Modeling Language),统一建模语言用于软件开发周期的每一个方面,从需求分析、设计等与平台和具体的编程语言无关,主要关注的是上层的抽象和建模组成基础结构上层结构对象约束语言图交换标准,32,软件开发工具,UML语言图示UML2.0共支持13种图示6种结构图类图、组织结构图、组件图、部署图、对象图和包图7种行为图类图、时序图、用例图等,33,软件开发工具,开发项目管理工具项目管理工具一般需要具备对项目进行时间计划、进行任务分配、对预算进行管理和工作量分析等功能工具Microsoft Office ProjectRedmineOpenProj,34,软件开发工具,需求分析建模工具结构化需求建模从高到低逐层分解最顶层的为整个目标系统,中间层将目标系统划分为若干个模块,而最底层的是对每个模块实现方法的细节性描述工具:数据流图:图形方式来表达系统的逻辑功能数据字典:定义数据流图中各个图元的具体部分E-R图:描述应用系统的数据结构,35,软件开发工具,需求分析建模工具面向对象需求建模按照用户与系统之间的相互交互过程进行需求分析工具:用例图软件Rational RoseMicrosoft Office Visio,36,软件开发工具,需求分析建模工具设计工具按照用户与系统之间的相互交互过程进行需求分析工具:用例图软件Rational RoseMicrosoft Office Visio,37,软件开发工具,设计工具结构化软件设计方法数据流图描述系统的具体执行过程流程图对过程和算法流程等的一种图形化表示使用顺序、选择、循环和分支的控制方式进行描述有一个入口和一个出口,分别表示初始条件和结束条件,38,软件开发工具,设计工具面向对象软件设计方法主要关注用户与系统的交互过程时序图和活动图等UML图示例:用户浏览评论页面之后再进行评论用户对页面的输入系统发生的动作展示给用户的显示界面,39,软件开发工具,编码工具编码过程把软件设计阶段得到的解决方案转化为可以在计算机上运行的软件产品编程语言汇编语言编程在Shell里直接编程脚本语言和高级语言的专用IDE记事本和Sublime Text等文本工具所有编程都可以,40,软件开发工具,测试工具测试过程发现隐藏的错误和缺陷,保证软件的质量测试分类按照时间段单元测试、集成测试、系统测试和验收测试按照测试类型黑盒测试和白盒测试测试方法静态查错过程,等价类划分法、逻辑覆盖法等测试工具开源测试工具Bugfree、TestLinkIDE测试工具,UnitTest,JUnit4等,41,42,软件工程,Outline:软件工程学科发展软件开发模型软件开发方法软件开发工具软件行业道德与法律,软件行业道德与法律,软件的知识产权软件产品法律中华人民共和国著作权法计算机软件保护条例软件保护等级原版软件除非经过软件开发者同意或付费才具有使用权的软件。共享软件免费发放的定期限试用软件免费软件免费发放、免费使用的弱保护软件公有领域软件自由软件,是软件开发者明确放弃一切权利的软件,43,软件行业道德与法律,软件的知识产权软件产品法律中华人民共和国著作权法计算机软件保护条例软件保护等级原版软件除非经过软件开发者同意或付费才具有使用权的软件。共享软件免费发放的定期限试用软件免费软件免费发放、免费使用的弱保护软件公有领域软件自由软件,是软件开发者明确放弃一切权利的软件,44,软件行业道德与法律,开源软件与闭源软件开源软件定义一种源代码可以任意获取的计算机软件开源协议通常符合开放源代码的定义的要求组织Linux、Mozilla Firefox、OpenOffice和OpenBSD等Red Hat、Apple、IBM、网景公司等闭源软件定义任何没有资格作为开源许可术语的程序代表Windows、Office系列、iOS系列,Oracle数据库等,45,软件行业道德与法律,盗版软件的危害盗版软件定义非法复制具有版权保护的软件,假冒并发售软件的行为形式用户盗版、硬盘预装盗版、网络盗版、街头贩卖盗版危害大部分的盗版软件都有内置广告或木马以及恶意软件将承担法律风险,生成、传播和使用盗版软件的组织和个人都有可能被告侵权存在一定的缺陷和使用问题,法获得正常的维护和修缮服务打击了软件产业,46,Thanks!,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开