欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《软件工程方法》PPT课件.ppt

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

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

    《软件工程方法》PPT课件.ppt

    软件工程导论软件工程导论(5)(5)软件工程方法软件工程方法卢军卢军方法的作用方法的作用 虽然没有银弹本章内容本章内容v5.1 软件方法论软件方法论v5.2 用户需求的获取方法用户需求的获取方法v5.3 软件工程的分析方法软件工程的分析方法v5.4 软件工程的设计方法软件工程的设计方法v5.5 软件测试方法软件测试方法 本章内容本章内容v5.1 软件方法论软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法 什么是工程的方法?什么是工程的方法?5.1 软件方法论软件方法论 5.1.1 系统工程方法论系统工程方法论5.1.2 软系统方法论软系统方法论5.1.3 软件工程方法体系软件工程方法体系系统工程方法论系统工程方法论v系统工程方法论是针对复杂多变和不确定性的特点,系统工程方法论是针对复杂多变和不确定性的特点,综合应用运筹学、系统动力学、控制论、信息论等有综合应用运筹学、系统动力学、控制论、信息论等有关学科的理论和方法,将数理统计、概率论、线性代关学科的理论和方法,将数理统计、概率论、线性代数、模糊数学等作为定性分析和定量分析的有效工具,数、模糊数学等作为定性分析和定量分析的有效工具,深入地分析问题,寻求问题解决的最优策略深入地分析问题,寻求问题解决的最优策略v动态系统理论、自动机理论动态系统理论、自动机理论、霍尔三维结构、系统分、霍尔三维结构、系统分析法、成本效益分析、计划协调技术、关键路线法等析法、成本效益分析、计划协调技术、关键路线法等 问题定义确定目标系统综合系统分析系统评价系统创建 系统实施软系统方法论软系统方法论 v是一项运用系统思维方法解决非系统问题的定性研究的技术,目的是解决那些包含有大量社会的、政治的以及人为因素的问题 软系统方法的逻辑软系统方法的逻辑 丰富图的一个示例丰富图的一个示例 软件工程方法体系软件工程方法体系 v抽象原则给出软件工程问题求解全过程的最基本原则 v体系规范原则是规范整体解题思路及解决方案的验证v局部规范原则是规范解决模块、组件等局部问题的原则 发现现实问题发现现实问题 抽象抽象 模型模型 解决问题解决问题 方法方法 v结构化程序设计方法v面向对象方法v面向构件方法v面向服务方法v基于净室思想的方法v基于敏捷思想的方法v自适应开发方法v动态系统开发方法v测试驱动方法v示例示例本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法 需求访谈需求访谈哪些人将会使用这个软件系统?哪些人将会使用这个软件系统?他们希望该软件系统达到什么样的效果他们希望该软件系统达到什么样的效果?以前使用过其它类似的软件系统吗以前使用过其它类似的软件系统吗?从一组语境无关的问题开始 然后,站在用户的角度展开要询问的问题,寻求更多的需求信息,挖掘用户潜在的功能需求 便利的应用规约技术便利的应用规约技术 v在中立的地点举行会议v建立筹备和参与会议的规则v建议一个议程,能够覆盖需求范围所有的要点,但不鼓励思维的任意流动v一个“协调者控制会议v使用一种“定义机制”v目标是标识问题、提出解决方案的元素、评估不同的方法以及刻画初步解决方案的需求集合鼓励建立客户和开发者的联合团队,一起工作以标识问题、提出解决方案的元素、刻画初步解决方案的需求集合 本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法 如何分析问题?如何分析问题?5.3 软件工程的分析方法软件工程的分析方法5.3.1 系统分析方法系统分析方法5.3.2 问题分析方法问题分析方法5.3.3 根本原因分析根本原因分析5.3.4 决策分析决策分析系统分析方法系统分析方法v整体分析整体分析 v结构分析结构分析 v层次分析层次分析 v相关分析相关分析 问题分析方法问题分析方法 v问题说明阶段问题说明阶段:提出目标,确定评价指标和约束条件 v分析研究阶段分析研究阶段:提出各种备选方案并预计一旦实施后可能产生的结果 v评估结果评估结果:将各方案的评价比较结果提供给决策者,作为判断抉择的依据 根本原因分析根本原因分析 v在开发周期的每个阶段实施根本原因分析,为有效开展缺陷预防活动提供依据v应用在解决各个方面的问题的过程中 v得到提倡,形成一种文化或一种机制,而对每个人应形成一种处理问题的习惯 问题问题 根本原因根本原因 解决方案解决方案 决策分析决策分析v选择决策技术和结构层次,制订决策分析与决定的计选择决策技术和结构层次,制订决策分析与决定的计划划v建立作为决策基础的评价准则。建立作为决策基础的评价准则。v建立并运用决策分析指导原则,确定推荐的候选方案。建立并运用决策分析指导原则,确定推荐的候选方案。v依据评价准则进行综合分析、讨论和审查,然后选择依据评价准则进行综合分析、讨论和审查,然后选择相应的评价方法,依据准则来评价候选方案。相应的评价方法,依据准则来评价候选方案。v最终选择的候选方案应附有所选择的技术、准则和作最终选择的候选方案应附有所选择的技术、准则和作出选择的依据出选择的依据 本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法软件工程的设计方法v5.5 软件测试方法 设计中最关键的问题?设计中最关键的问题?软件危机软件危机v5.4.1 原型设计方法原型设计方法v5.4.2 结构化方法结构化方法v5.4.3 面向对象方法面向对象方法v5.4.4 面向构件设计方法面向构件设计方法v5.4.5 面向服务方法面向服务方法v5.4.6 可视化方法可视化方法 原型设计方法原型设计方法v在获取基本的需求定义后,利用可视化的开发环境或工具,快速地建立一个目标系统的粗线条版本v 基于可视化原型,用户更能清楚地表达自己的需求,提供反馈意见v原型分为抛弃式原型和演化式原型 抛弃式原型不作为最终产品,具有探索和实验目的,或只是作为需求确认的工具演化式原型,最终软件系统是在原型的基础上逐步形成、修改、完善和完成的 原型设计方法的实现过程原型设计方法的实现过程 结构化方法结构化方法 v面向数据结构的软件设计方法面向数据结构的软件设计方法 v问题分析法问题分析法 v系统关联图系统关联图 v信息隐蔽方法信息隐蔽方法 采用自顶向下、逐步求精设计过程,将系统分解为若干功采用自顶向下、逐步求精设计过程,将系统分解为若干功能模块,然后逐个实现每一个具体的功能模块能模块,然后逐个实现每一个具体的功能模块问题分析法问题分析法 先分解再合成,根据输入、输出数据结构指导系统的分解,先分解再合成,根据输入、输出数据结构指导系统的分解,在系统分析指导下再逐步合成系统在系统分析指导下再逐步合成系统 系统关联图系统关联图 v用于定义系统与系统外部实体间的界限和接口的简单模用于定义系统与系统外部实体间的界限和接口的简单模型,可以明确外部实体和系统之间通过接口传递的数据型,可以明确外部实体和系统之间通过接口传递的数据流和信息流流和信息流 面向对象方法面向对象方法 v面向对象方法从所处理的数据入手,以数据为中心来描述系统 v充分挖掘了“关系”的表达方式,可以尽可能的将事物之间复杂的关系予以体现 v软件的开发可以视为“类”的抽象及其关联的建模过程v软件的运行是对象的实例化及其状态的演变过程,对象与对象之间通过发送消息相互联系 对象与类对象与类 v对象的行为通过操作展示,外界不可以直接访问其内部属性(封装性),操作的实现对用户透明 v类是对具有相同内部状态和外部行为对象结构的描述,它定义了表示对象状态的实例变量集和表示对象行为的方法集。子类可以继承父类的实例变量和方法、重载父类的某个行为(虚函数),同时还可以定义新的变量和方法 v消息传递是对象间惟一的交互方式 示例示例 面向对象分析面向对象分析 v分析是提取和整理用户需求,并建立问题域精确模型的过程 v面向对象分析一般需要建立3个模型(功能模型、对象模型和动态模型)并定义相应的服务 面向对象设计面向对象设计 v开-闭原则 v单一职责原则v里氏代换原则 v依赖倒转原则 v接口隔离原则 v合成/聚合复用原则 v迪米特法则 把分析阶段得到的需求转变成符合成本和质量要求把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程的、抽象的系统实现方案的过程面向构件设计方法面向构件设计方法v就是用就是用“构件构件”取代取代“代码代码”,构件成为软件产品,构件成为软件产品或系统的基本结构单元或系统的基本结构单元 v构件可以完成一个或多个功能的特定服务,并为用构件可以完成一个或多个功能的特定服务,并为用户提供标准接口户提供标准接口 v系统构件可以分为业务构件、服务构件、展现构件、系统构件可以分为业务构件、服务构件、展现构件、逻辑构件、运算构件等逻辑构件、运算构件等 v从传统的关注点分离到构件组装从传统的关注点分离到构件组装v业务构件是软件过程的主线索,并基于业务构件来业务构件是软件过程的主线索,并基于业务构件来识别出服务构件识别出服务构件,然后就是业务构件的实现、验,然后就是业务构件的实现、验证和部署证和部署 构件的层次构件的层次 基于构件的网状结构基于构件的网状结构 面向服务方法面向服务方法 SOA 架构模式架构模式 vSOA模式在三个主要参与者模式在三个主要参与者“服务提供者、服服务提供者、服务消费者和服务代理务消费者和服务代理”之间定义了交互模型之间定义了交互模型 SOA 系统架构的层次系统架构的层次 SOA 系统服务层实现系统服务层实现 SOD的建模和架构方法的建模和架构方法 可视化方法可视化方法 v借助可视开发工具,直接在图形用户界面上来完成绝大部分的软件设计和编程工作,可以自定义、修改和拖拽各项操作界面元素v可视开发工具能实现程序代码的自动生成 示例示例 可视化可视化IDE 本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法软件测试方法 为什么要进行软件测试?为什么要进行软件测试?v5.5.1 白盒和黑盒的测试方法白盒和黑盒的测试方法v5.5.2 静态和动态的测试方法静态和动态的测试方法v5.5.3 ALAC测试和随机测试测试和随机测试v5.5.4 自动化测试方法自动化测试方法v5.5 软件测试方法软件测试方法黑盒方法和白盒方法黑盒方法和白盒方法 v黑盒测试方法黑盒测试方法(Blake-box Testing),是把程序看作一个不能打开的黑盒子,不考虑程序内部结构和内部特性,而是考察数据的输入、条件限制和数据输出,完成测试 v白盒测试方法白盒测试方法(White-box Testing),也称结构测试或逻辑驱动测试。白盒测试方法是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。黑盒测试黑盒测试 vs.白盒测试白盒测试功能测试功能测试数据驱动(数据驱动(Data-driven)测试)测试结构测试结构测试逻辑驱动(逻辑驱动(Logic-driven)测试)测试 需求事件事件驱动驱动输输入入输输出出方法方法黑盒测试方法黑盒测试方法白盒测试方法白盒测试方法等价类划分边界值分析因果图 错误推测法决策表方法正交试验法 语句覆盖分支覆盖条件覆盖条件组合覆盖循环覆盖基本路径测试静态测试静态测试 和和 动态测试动态测试v静态测试静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。静态测试采用人工检测和计算机辅助静态分析手段进行检测 v动态测试动态测试是通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息。动态测试通过真正运行程序发现错误。通过有效的测试用例,对应的输入/输出关系来分析被测程序的运行情况 静态测试静态测试 vs.动态测试动态测试主持人作者记录员列席会议内审员技术专家用户代表非正式正式同行评审同行评审 走查走查 评审会议评审会议运行程序运行程序ALAC测试测试vALAC(Act-like-a-customer,象客户那样做,象客户那样做)测试是基于客户使用产品的知识而进行测试)测试是基于客户使用产品的知识而进行测试v其出发点是著名的其出发点是著名的Pareto 80/20规律规律 随机测试随机测试 v可以作为熟悉新开发产品的功能特性,完善软件测试用可以作为熟悉新开发产品的功能特性,完善软件测试用例,获得一举两得的效果例,获得一举两得的效果v为对计划测试的补充,使测试人员不受已有测试用例的为对计划测试的补充,使测试人员不受已有测试用例的限制,无拘无束、思维活跃,能发现一些隐藏比较深的限制,无拘无束、思维活跃,能发现一些隐藏比较深的缺陷缺陷自动化测试的特点自动化测试的特点v自动运行的速度快自动运行的速度快,是手工无法相比的。v测试结果准确测试结果准确。例如搜索用时及时是0.33秒或0.24秒,系统都会发现问题,不会忽视任何差异v高复用性高复用性。一旦完成所用的测试脚本,可以一劳永逸运行很多遍v永不疲劳永不疲劳 v可靠可靠 v独特的能力独特的能力 自动化测试带来的好处自动化测试带来的好处v测试周期缩短测试周期缩短v更高质量的产品更高质量的产品v软件过程更规范软件过程更规范v高昂的团队士气高昂的团队士气v节省人力资源,降低企业成本节省人力资源,降低企业成本v充分利用硬件资源,降低企业成本充分利用硬件资源,降低企业成本。手工测试手工测试p 发现缺陷率高发现缺陷率高p 容易实施容易实施 p 创造性、创造性、灵活性灵活性p 覆盖率量化困难覆盖率量化困难p 重复测试效率低重复测试效率低p 不一致性、可靠性低不一致性、可靠性低p 依赖人力资源依赖人力资源 高效率(速度)高效率(速度)高复用性高复用性 覆盖率容易度量覆盖率容易度量 准确、准确、可靠可靠 不知疲劳不知疲劳 激励团队士气激励团队士气 机械、难以发现缺陷机械、难以发现缺陷 一次性投入大一次性投入大自动测试自动测试手工测试手工测试 vs.自动测试自动测试 两者相互补充两者相互补充p在系统功能逻辑测试、验收测试、适用性测试、涉及交互性测试时,多采用手工测试方法;p单元测试、集成测试、系统负载或性能、可靠性测试等比较适合采用TA;p对那种不稳定、开发周期短或一次性的软件等不适合TAp工具本身缺乏想象力和创造性,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;Q&AQ&A

    注意事项

    本文(《软件工程方法》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开