软件工程方法.ppt

上传人:王** 文档编号:168452 上传时间:2023-03-10 格式:PPT 页数:61 大小:1.21MB
下载 相关 举报
软件工程方法.ppt_第1页
第1页 / 共61页
软件工程方法.ppt_第2页
第2页 / 共61页
软件工程方法.ppt_第3页
第3页 / 共61页
软件工程方法.ppt_第4页
第4页 / 共61页
软件工程方法.ppt_第5页
第5页 / 共61页
软件工程方法.ppt_第6页
第6页 / 共61页
软件工程方法.ppt_第7页
第7页 / 共61页
软件工程方法.ppt_第8页
第8页 / 共61页
软件工程方法.ppt_第9页
第9页 / 共61页
软件工程方法.ppt_第10页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程方法.ppt》由会员分享,可在线阅读,更多相关《软件工程方法.ppt(61页珍藏版)》请在优知文库上搜索。

1、方法的作用方法的作用虽然没有银弹本章内容本章内容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 软件工程方法体系软件工程方法体系系统工程方法论

2、系统工程方法论v 系统工程方法论是针对复杂多变和不确定性的特点,系统工程方法论是针对复杂多变和不确定性的特点,综合应用运筹学、系统动力学、控制论、信息论等有综合应用运筹学、系统动力学、控制论、信息论等有关学科的理论和方法,将数理统计、概率论、线性代关学科的理论和方法,将数理统计、概率论、线性代数、模糊数学等作为定性分析和定量分析的有效工具数、模糊数学等作为定性分析和定量分析的有效工具,深入地分析问题,寻求问题解决的最优策略,深入地分析问题,寻求问题解决的最优策略v 动态系统理论、自动机理论动态系统理论、自动机理论 、霍尔三维结构、系统分、霍尔三维结构、系统分析法、成本效益分析、计划协调技术、关

3、键路线法等析法、成本效益分析、计划协调技术、关键路线法等 问题定义确定目标系统综合系统分析系统评价系统创建 系统实施软系统方法论软系统方法论v 是一项运用系统思维方法解决非系统问题的定性研究的技术,目的是解决那些包含有大量社会的、政治的以及人为因素的问题 软系统方法的逻辑软系统方法的逻辑丰富图的一个示例丰富图的一个示例软件工程方法体系软件工程方法体系v 抽象原则给出软件工程问题求解全过程的最基本原则 v 体系规范原则是规范整体解题思路及解决方案的验证v 局部规范原则是规范解决模块、组件等局部问题的原则 发现现实问题发现现实问题 抽象抽象 模型模型 解决问题解决问题 方法方法v 结构化程序设计方

4、法v 面向对象方法v 面向构件方法v 面向服务方法v 基于净室思想的方法v 基于敏捷思想的方法v 自适应开发方法v 动态系统开发方法v 测试驱动方法v 示例示例本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法需求访谈需求访谈 哪些人将会使用这个软件系统?哪些人将会使用这个软件系统? 他们希望该软件系统达到什么样的效果他们希望该软件系统达到什么样的效果? 以前使用过其它类似的软件系统吗以前使用过其它类似的软件系统吗?从一组语境无关的问题开始 然后,站在用户的角度展开要询问的问题,寻求更

5、多的需求信息,挖掘用户潜在的功能需求 便利的应用规约技术便利的应用规约技术 v 在中立的地点举行会议v 建立筹备和参与会议的规则v 建议一个议程,能够覆盖需求范围所有的要点,但不鼓励思维的任意流动v 一个“协调者控制会议v 使用一种“定义机制”v 目标是标识问题、提出解决方案的元素、评估不同的方法以及刻画初步解决方案的需求集合鼓励建立客户和开发者的联合团队,一起工作以标识问题、提出解决方案的元素、刻画初步解决方案的需求集合 本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法如何分析问题

6、?如何分析问题?5.3 软件工程的分析方法软件工程的分析方法5.3.1 系统分析方法系统分析方法5.3.2 问题分析方法问题分析方法5.3.3 根本原因分析根本原因分析5.3.4 决策分析决策分析系统分析方法系统分析方法v 整体分析整体分析 v 结构分析结构分析 v 层次分析层次分析 v 相关分析相关分析 问题分析方法问题分析方法v 问题说明阶段问题说明阶段: 提出目标,确定评价指标和约束条件 v 分析研究阶段分析研究阶段: 提出各种备选方案并预计一旦实施后可能产生的结果 v 评估结果评估结果 :将各方案的评价比较结果提供给决策者,作为判断抉择的依据 根本原因分析根本原因分析v 在开发周期的每

7、个阶段实施根本原因分析,为有效开展缺陷预防活动提供依据v 应用在解决各个方面的问题的过程中 v 得到提倡,形成一种文化或一种机制,而对每个人应形成一种处理问题的习惯 问题问题 根本原因根本原因 解决方案解决方案 决策分析决策分析v 选择决策技术和结构层次,制订决策分析与决定的计选择决策技术和结构层次,制订决策分析与决定的计划划v 建立作为决策基础的评价准则。建立作为决策基础的评价准则。v 建立并运用决策分析指导原则,确定推荐的候选方案建立并运用决策分析指导原则,确定推荐的候选方案。v 依据评价准则进行综合分析、讨论和审查,然后选择依据评价准则进行综合分析、讨论和审查,然后选择相应的评价方法,依

8、据准则来评价候选方案。相应的评价方法,依据准则来评价候选方案。v 最终选择的候选方案应附有所选择的技术、准则和作最终选择的候选方案应附有所选择的技术、准则和作出选择的依据出选择的依据 本章内容本章内容v5.1 软件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法软件工程的设计方法v5.5 软件测试方法设计中最关键的问题?设计中最关键的问题?软件危机软件危机v 5.4.1 原型设计方法原型设计方法v 5.4.2 结构化方法结构化方法v 5.4.3 面向对象方法面向对象方法v 5.4.4 面向构件设计方法面向构件设计方法v 5.4.5 面向服务方法面向服务

9、方法v 5.4.6 可视化方法可视化方法原型设计方法原型设计方法v 在获取基本的需求定义后,利用可视化的开发环境或工具,快速地建立一个目标系统的粗线条版本v 基于可视化原型,用户更能清楚地表达自己的需求,提供反馈意见v 原型分为抛弃式原型和演化式原型 抛弃式原型不作为最终产品,具有探索和实验目的,或只是作为需求确认的工具 演化式原型,最终软件系统是在原型的基础上逐步形成、修改、完善和完成的原型设计方法的实现过程原型设计方法的实现过程结构化方法结构化方法v 面向数据结构的软件设计方法面向数据结构的软件设计方法 v 问题分析法问题分析法 v 系统关联图系统关联图 v 信息隐蔽方法信息隐蔽方法 采用

10、自顶向下、逐步求精设计过程,将系统分解为若干功采用自顶向下、逐步求精设计过程,将系统分解为若干功能模块,然后逐个实现每一个具体的功能模块能模块,然后逐个实现每一个具体的功能模块问题分析法问题分析法 先分解再合成,根据输入、输出数据结构指导系统的分解,先分解再合成,根据输入、输出数据结构指导系统的分解,在系统分析指导下再逐步合成系统在系统分析指导下再逐步合成系统 系统关联图系统关联图 v 用于定义系统与系统外部实体间的界限和接口的简单模用于定义系统与系统外部实体间的界限和接口的简单模型,可以明确外部实体和系统之间通过接口传递的数据型,可以明确外部实体和系统之间通过接口传递的数据流和信息流流和信息

11、流 面向对象方法面向对象方法v 面向对象方法从所处理的数据入手,以数据为中心来描述系统 v 充分挖掘了“关系”的表达方式,可以尽可能的将事物之间复杂的关系予以体现 v 软件的开发可以视为“类”的抽象及其关联的建模过程v 软件的运行是对象的实例化及其状态的演变过程,对象与对象之间通过发送消息相互联系 对象与类对象与类v 对象的行为通过操作展示,外界不可以直接访问其内部属性(封装性),操作的实现对用户透明 v 类是对具有相同内部状态和外部行为对象结构的描述,它定义了表示对象状态的实例变量集和表示对象行为的方法集。子类可以继承父类的实例变量和方法、重载父类的某个行为(虚函数),同时还可以定义新的变量

12、和方法 v 消息传递是对象间惟一的交互方式 示例示例面向对象分析面向对象分析 v 分析是提取和整理用户需求,并建立问题域精确模型的过程 v 面向对象分析一般需要建立3个模型(功能模型、对象模型和动态模型)并定义相应的服务 面向对象设计面向对象设计 v 开-闭原则 v 单一职责原则v 里氏代换原则 v 依赖倒转原则 v 接口隔离原则 v 合成/聚合复用原则 v 迪米特法则 把分析阶段得到的需求转变成符合成本和质量要求把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程的、抽象的系统实现方案的过程面向构件设计方法面向构件设计方法v 就是用就是用“构件构件”取代取代“代码代码”,

13、构件成为软件产品,构件成为软件产品或系统的基本结构单元或系统的基本结构单元 v 构件可以完成一个或多个功能的特定服务,并为用构件可以完成一个或多个功能的特定服务,并为用户提供标准接口户提供标准接口 v 系统构件可以分为业务构件、服务构件、展现构件系统构件可以分为业务构件、服务构件、展现构件、逻辑构件、运算构件等、逻辑构件、运算构件等 v 从传统的关注点分离到构件组装从传统的关注点分离到构件组装v 业务构件是软件过程的主线索,并基于业务构件来业务构件是软件过程的主线索,并基于业务构件来识别出服务构件识别出服务构件 ,然后就是业务构件的实现、验,然后就是业务构件的实现、验证和部署证和部署构件的层次

14、构件的层次基于构件的网状结构基于构件的网状结构面向服务方法面向服务方法SOA 架构模式架构模式 v SOA模式在三个主要参与者模式在三个主要参与者“服务提供者、服服务提供者、服务消费者和服务代理务消费者和服务代理”之间定义了交互模型之间定义了交互模型 SOA 系统架构的层次系统架构的层次 SOA 系统服务层实现系统服务层实现 SOD的建模和架构方法的建模和架构方法 可视化方法可视化方法v 借助可视开发工具,直接在图形用户界面上来完成绝大部分的软件设计和编程工作,可以自定义、修改和拖拽各项操作界面元素v 可视开发工具能实现程序代码的自动生成 示例示例可视化可视化IDE本章内容本章内容v5.1 软

15、件方法论v5.2 用户需求的获取方法v5.3 软件工程的分析方法v5.4 软件工程的设计方法v5.5 软件测试方法软件测试方法为什么要进行软件测试?为什么要进行软件测试?v 5.5.1 白盒和黑盒的测试方法白盒和黑盒的测试方法v 5.5.2 静态和动态的测试方法静态和动态的测试方法v 5.5.3 ALAC测试和随机测试测试和随机测试v 5.5.4 自动化测试方法自动化测试方法v5.5 软件测试方法软件测试方法黑盒方法和白盒方法黑盒方法和白盒方法 v黑盒测试方法黑盒测试方法(Blake-box Testing),是把程序看作一个不能打开的黑盒子,不考虑程序内部结构和内部特性,而是考察数据的输入、

16、条件限制和数据输出,完成测试 v白盒测试方法白盒测试方法(White-box Testing),也称结构测试或逻辑驱动测试。白盒测试方法是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。 黑盒测试黑盒测试 vs. 白盒测试白盒测试功能测试功能测试数据驱动(数据驱动(Data-driven)测试)测试结构测试结构测试逻辑驱动(逻辑驱动(Logic-driven)测试)测试 需求事件驱动事件驱动输入输入输出输出方法方法黑盒测试方法黑盒测试方法白盒测试方法白盒测试方法等价类划分边界值分析因果图 错误推测法决策表方法正交试验法 语句覆盖分支覆盖条件覆盖条件组合覆盖循环覆盖基本路径测试静态测试静态测试 和和 动态测试动态测试v静态测试静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。静态测试采用人工检测和计算机辅助静态分析手段进行检测 v动态测试动态测试是通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件工程

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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