软件工程第十章

合集下载

软件工程-第10章第1节图文模板

软件工程-第10章第1节图文模板

10.1.3 开发多层次多组元的模型
1. 连续性表示 长期以来,软件人员遇到的主要问题如下: (1) 数据结构与数据处理的分离:即ER图与DFD图的分 离。有人注意到DFD图不适合于长期保存数据,当时解 决的办法是增加一级表示数据结构的图,即ER图,这 种方法使数据及数据处理分离。
10.1.3 开发多层次多组元的模型
10.1.4 定义及符号表示
发送对象
接收对象
图10.11 消息关联的符号表示
谢谢! 西安电子科技大学出版社
资料搜集
(2) 分析与设计的分离:即软件分析用 DFD图、ER图及数据词典来表示,而软件设计的 表示是软件结构图和软件详细设计表示法。它们 的表示截然不同,需要转换。
面向对象的Coad方法使用统一的基本表 示方法来组织数据及数据处理。面向对象的分析 定义问题域的对象和类,反映系统的任务;面向 对象的设计定义附加的类和对象,反映需求的实
10.1.4 定义及符号表示
一般类
具体类1
具体类2
图10.4 分类结构的符号表示
10.1.4 定义及符号表示
3) 组装结构 组装结构也是三种系统组织方法之一,它是 “has a”结构。例如,台灯有一个电灯泡,则 台灯和电灯泡就是这种结构的例子。台灯是整体, 而电灯泡则是台灯的组成部分之一。组装结构的 表示如图10.5所示。整体类放在图的顶部,部分 类放在图的下端,用线把它们连起来,用三角形 表示这是一个组装结构的形式。连线上的数字和
10.1.2 控制复杂性原则
1. 抽象 抽象是为了集中研究问题而忽略那些与问
题无关的部分的一种方法。抽象有过程抽象和数据 抽象两种。
过程抽象常表示为“功能/子功能”抽象, 将处理过程分解成多个子步骤,是一种基本的处理 复杂性的方法。但是使用这种分解来构成一个设计 多少有点随意性和易变性,但可在一定范围内用来

《软件工程》第10章 软件维护

《软件工程》第10章 软件维护

北京大学远程教育课程
Software Engineering_Chapter10-2
问题定义
计划 时期 可行性论证 及软件计划
需求分析
概要设计 开发 时期
详细设计Байду номын сангаас
编码
测试 运行时期 运行/维护
北京大学远程教育课程
Software Engineering_Chapter10-3
本章主要内容
• 10.1 软件维护的定义,目标与任务 • 10.2 软件维护的类型 • 10.3 软件的可维护性
北京大学远程教育课程
Software Engineering_Chapter10-13
10.2.1 改正性维护(续)
• 实践表明,软件测试和排错不可能完全暴露并改正一个大 型软件系统中的所有错误。 • 经过统计分析,在典型的市场销售的软件包中,还有缺陷 的代码行约占代码总行数的3%。正式投入使用的软件中 含有错误是不足为奇的,即使是已运行多年的软件。 • 改正性维护举例:
北京大学远程教育课程
Software Engineering_Chapter10-6
10.1.3 软件维护的任务
• 一个软件开发机构60%的精力用在维护现有的软件上。随 着产品的增加,这个比例还将不断提高。不仅当前的软件 版本要维护,仍在使用的旧版本和即将投入使用的新版本 也将需要维护。 • 在软件整个运行周期中,不仅要解决原有问题,还要解决 修改过程中产生的新问题。因此软件维护是一个无穷尽的 过程。
Software Engineering_Chapter10-18
10.2.4 预防性维护
• 维护人员不要单纯等待用户提出维护的请求,而应该选择 那些还能使用数年、目前虽能运行,但不久就须作重大修 改或加强的软件,进行预先的维护。预防性维护可以改善 软件的可维护性,减少今后对它们维护时所需要的工作量。

第十章.形式化描述

第十章.形式化描述
描述的结构化——将非形式化的接口描述组织成一组抽象数 据类型或对象类 描述的命名——给每个抽象类型描述赋予一个名字,决定它 们是否需要一般性参数,并对确定的类型命名 操作选择——根据识别出的接口功能为每个描述选择一组操 —— 作 非形式化的操作描述——为每个操作写一个非形式化的描述 语法定义——定义每个操作及其参数的语法 公理定义——定义操作的定义,给出每种不同的操作组合需 要满足的条件
• 图10-6
10.3 行为描述
• 代数方法适合于描述操作独立于对象状态 的接口 • 假如某个操作的结果依赖于先前操作的结 果,结果将非常复杂, • 因此在行为描述的采用基于模型的方法 • 常见的方法有VDM方法,B方法,Z方法
• 软件的形式化描述 • 使用一种规范语言,其词汇,语法和语义 都是有严格定义的
• • • • • 1.非形式化方法的缺点 矛盾,指一组相互冲突的陈述。 二义性,指读者可以用不同方式理解的陈述。 含糊性,几乎不可避免地会出现含糊性。 不完整性,不完整性可能是在系统规格说明 中最 常遇到的问题之一。 • 抽象层次混乱, 指在非常抽象的陈述中混进 了一 些关于细节
• 2.形式化的优点 • (1)有能力在需求系统需求中揭示问题和暴露
图10-5 代数描述的结构
描述体的四个组成部分
• 介绍 ——用来声明被定义的尸体种类(类型名) • 描述部分——用于对操作的非形式化描述 • 标记部分——定义对象类或抽象数据类型的接口 语法 • 公理部分——通过一组刻画抽象数据类型的行为 特征的公理来定义操作的定义。
子系统接口的形式化描述的开发过 程的各项活动
问题二义性 • (2)数学能够简洁准确地描述物理现象、对象或 动作的结果,因此是理想的建模工具。 • (3)可以在不同的软件工程活动之间平滑地过渡。 • (4)它提供了高层确认的手段,可以使用数学的 方法证明,设计符合规格说明,程序代码正确地 实现了设计结果

软件工程导论_第十章

软件工程导论_第十章

2. OOA基本任务是:
运用面向对象的方法,对问题域和系统责任 进行分析和理解,找出描述问题域及系统责任所需的 对象,定义对象的属性、服务以及它们之间的关系。 目标是建立一个符合问题域、满足用户功能需求的 OOA模型。
问题域:被开发系统的应用领域,记载现实世界中要
由这个系统进行处理的业务范围。现实世界中系统 所要解决问题的领域为“问题域”,如“银行业务” 属于“银行的问题域”。 系统责任:所开发的系统应该具备的职能。
• “小镇”是牙科诊所的地址属性,不是独 立的对象;“软件系统”和“系统”是 同义词,指的是将要开发的软件产品, 不是问题域中的对象;“就诊时间”、 “预约时间”和“约定时间”在本问题 陈述中的含义相同,指的都是预约的就 诊时间,实际上,预约的就诊时间既包 括日期又包括时间,但是,它们是预约 登记表包含的属性,不是问题域中的独 立的对象;“名字”和“姓名”是同义 词,应该作为病人和预约登记表的属性;
我们目标是尽可能全面的发现属性,宁可多费时, 也不要遗漏所需要的属性。
10.3.5 识别继承关系
继承关系的建立实质上是知识抽取过程,它应该 反映出一定深度的领域知识,因此必须有领域专家密 切配合才能完成。通常,许多归纳关系都是根据客观 世界现有的分类模式建立起来的,只要可能,就应该 使用现有的概念。
10.3 建立对象模型(类图)
1. 描述系统静态的对象模型(类图)是面向对象
的三个模型中的基本模型。 2. 它表述了系统中各个对象的类型及其间存在 的各种关系。在面向对象建模中,建立类图是最 基本的任务;建立类图也是最需要花费精力和时 间的技术活动。
3. 该模型主要关心系统中的:
①对象的结构; ②属性; ④关联; ⑤类的层次。 ③操作和方法;

软件工程第十章形式化方法优秀课件

软件工程第十章形式化方法优秀课件
1. 集合和构造性规约
所谓集合,乃是有某些可以相互区分的如何对象, 如数、变量、函数、字母、数字、图、语言、程序、 事件等,或者没有任何对象,汇集在一起所组成的 整体。
➢ 例10--2:一个包含4个元素的自然数集合: {1,3,5,7}
➢ 例10--3:包含五种程序设计语言的名字的集合: {C ,C++, Pascal, Basic, FORTRAN }
形式化规约语言的语法域通常基于从标准集合 论符号和谓词演算导出的语法。
10.2有限状态机(FSM)
很多实时系统,特别是实时控制系统,其整个 分析机制与系统的状态有相当大的关系。有限 状态机由有限的状态和相互之间的转移构成, 在任何时候只能处于给定数目的状态中的一个。
当接收到一个输入事件时,状态机产生一个输 出,同时也可能伴随着状态的转移。主要有两 种方法来建立有限状态机,一种是"状态转移 图",另一种是"状态转移表",分别用图形方式 和表格方式建立有限状态机。
软件工程第十章形式化 方法
第十章 形式化方法
形式化方法提供了规约环境的基础,它使得所 生成的分析模型比用传统的或面向对象的方法 生成的模型更完整、一致和无二义性。集合论 和逻辑符号的描述设施使得我们可以创建清晰 的关于事实的陈述。
支配形式化方法的基本概念是:数据不变式、 状态、离散数学、序列相关联的符号体系、形 式化规约语言。
4.没有队列元素包含相同的块号。 5.已用块和未用块的集合将是组成文件的块的 总集。
6.在已用块集合中没有重复的块号。
10.1.4 形式化规约语言 形式化规约语言通常由三个主要的成分构成:
(1)语法,定义用于表示规约的特定符号; (2)语义,帮助定义用于描述系统的“对象的全 域(universe of objects)”; (3)一组关系,定义确定出哪个对象真正满足规 约的规则。

《软件工程实用教程》第10章 软件工程标准与文档

《软件工程实用教程》第10章 软件工程标准与文档

《软件工程实用教程》第10章软件工程标准与文档软件工程实用教程第10章软件工程标准与文档10.1 软件工程标准10.1.1 软件工程标准的定义软件工程标准是指为了规范和统一软件工程领域的活动、产品和过程而制定的一系列规范和指南。

10.1.2 软件工程标准的分类根据ISO/IEC 12207标准,软件工程标准可以分为四个主要类别:1、过程标准:定义软件工程过程的基本原则和规范,如ISO/IEC 12207标准;2、产品标准:定义软件工程产品的开发、评审和验证要求,如ISO/IEC 9126标准;3、测试标准:定义软件测试的方法、技术和规范,如ISO/IEC 25000标准;4、文档标准:定义软件工程文档的编写和管理规范,如ISO/IEC/IEEE 26515标准。

10.2 软件工程文档10.2.1 软件工程文档的定义软件工程文档是为了记录和传递软件开发过程中各种信息而编写的文件。

10.2.2 软件工程文档的目的主要目的是促进软件工程的沟通、交流和合作,确保软件开发过程能够明确、有序地进行。

10.2.3 软件工程文档的分类根据软件工程过程的不同阶段和功能,软件工程文档可以分为以下几种类型:1、需求文档:描述用户需求、系统规范和功能需求;2、设计文档:描述系统的总体设计、模块划分和接口定义;3、编码文档:描述程序的逻辑结构、算法和源代码;4、测试文档:描述测试计划、测试用例和测试结果;5、用户手册:描述系统的安装、配置和使用方法;6、运维手册:描述系统的运行、监控和维护方法。

10.3 软件工程文档编写规范10.3.1 文档命名规范为了方便管理和查找,软件工程文档应该采用统一的命名规范,一般包括项目名称、文档类型和版本号等信息。

10.3.2 文档格式规范软件工程文档应该采用标准的文档格式,一般包括标题、目录、正文、参考文献和附录等部分。

10.3.3 文档内容规范软件工程文档应该包含清晰、准确、完整的信息,能够满足用户的需求,并且需要经过严格的审核和审查。

软件工程 第10章 面向对象的方法

软件工程 第10章 面向对象的方法

第10章例题分析与解答作者:不详来源:2006年9月4日发表评论进入社区一、填空题1.面向对象方法认为系统是由应用域的___对象___组成。

2.对象具有状态,描述对象的状态用它的_属性值_____。

3.对象的抽象是_类_____。

4.类之间有两种结构关系,它们是分类关系和__组装____关系。

5.面向对象程序设计语言与其他程序设计语言的最主要差别是它具有_继承性_____。

6.动态模型描述了系统的__动态行为____。

二、选择题1.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D)关系。

A.组装B.整体成员C.has aD.一般具体2.面向对象分析阶段建立的三个模型中,核心的模型是( C )模型。

A.功能B.动态C.对象D.分析3.对象模型的描述工具是( C)。

A.状态图B.数据流图C.对象图D.结构图4.在有多重继承的类层次结构中,它的类层次结构是(B )层次结构。

A.树型B.网状型C.环型D.星型5.描述类中对象的行为,反映了状态与事件关系的是( B )。

A.对象图B.状态图C.流程图D.结构图6.在确定属性时,所有( C)是候选的属性。

A.动词B.名词C.修饰性名词词组D.词组三、应用题1.建立窗口系统的对象模型。

问题陈述如下:窗口分为对话窗、图形窗、滚动窗三种;对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。

2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。

答案:一、填空题1.对象2.属性值3.类4.组装5.继承性6.动态行为二、选择题1.D2.C3.C4.B5.B6.C三、应用题1.2.第10章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.对象2.类3.属性4.操作5.消息6.消息传递7.方法8.关系9.关联10.一般具体关系 11.整体部分关系12.继承13.单重继承 14.多重继承15.多态性 16.角色17.受限关联 18.封装19.对象模型20.动态模型21.功能模型 22.事件23.状态24.事件追踪25.状态图26.动作27.活动28.处理29.数据流30.动作对象31.数据存储对象 32.重用性二、填空题1.对象具有封装性,实现了__数据与操作____的结合。

第10章软件工程标准化及软件

第10章软件工程标准化及软件

软件工程标准化
1、软件工程功能标准框架
⑥数据:包括判定表规范、文档编制符号和约定、程序结构 和约定及其表示、计算机系统配置图符号和约定、软件状态转换 的人际通信的表示、基于计算机的应用系统的文档编制指南、软 件生存周期过程信息产品的内容指南、软件工程数据定义和交换 及高级Petri网等。
2、基于软件生存周期过程的软件工程路径框架
(11)开发进度月报
(6)详细设计说明书
(12)项目开发总结报告
(13)维护修改建议
软件文档
4、软件文档的编制要求
高质量的文档应当体现在以下几个方面: 准确、简明、完整、 灵活、有针对性、可追溯性。 为了能够编写出高质量的文档,应注意以下一些问题:
(1)应根据具体的软件开发项目,决定编制的文档种类。 (2)当所开发的软件系统非常大时,一种文档可以分成几卷编写。 (3)应根据任务的规模、复杂性,确定文档的详细程度。 (4)对国标中所建议的所有条款都可以扩展,以适应需要。 (5)程序的设计可采用多种表现形式。 (6) 文档的表现可以使用自然语言、也可以使用形式化的语言。 (7)当可以建立一些特殊的文档种类要求。
④技术:技术标准的框架以及相关国际标准如图10-7。包括 软件产品评价、软件过程评估、软件可信性、科技系统功能安全 的风险分析、功能人员和材料资源:包括TR15504-6:《软件过程评估第6 部分:评估员资格指南》和《计划中的对于知识软件工程体指南 的快速批准》。
(4) 质量保证标准(ISO9001~ISO9003)之间及其 与质量管理标准(ISO9004-1)的关系
①ISO9001、9002、9003质量保证标准之间的关系 从用途上看,它们各自独立,但它们内在有着紧密的关
系。ISO9003是最终检验和试验质量保证模式,含16项体系 要素,是三者中要求提供证据最少的质量保证模式; ISO9002是生产、安装和服务的质量保证模式,含19项体系 要素,ISO9002包容了ISO9003的要素;ISO9001是设计、 开发、生产、安装和服务的质量保证模式,含20项体系要 素,ISO9001包容了ISO9002的要素。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一判断题
1. 面向对象分析的核心在于建立一个描述软件系统的模型。

(f)
2.关于面向对象分析,它是系统需求建模的方法(t)
3.开发一个简单的问题解决方案是分析建模的目的。

(f)
4.实体关系图属于面向对象分析模型。

(f)
5.分析类用于描述系统中概念层次的对象。

(t)
6.在分析类中控制类用于描述一个用例所具有的事件流控制行为。

(t)
7. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析
类实例之间的消息传递将用例的职责分配到分析类中。

(t)
8. 开发人员使用顺序图可以将用例的行为分配到所识别的分析类中。

(t)
9. 分析模型一般采用需求分析评审方式进行验证。

(t)
10. 需求评审人员主要由开发人员组成,一般不包括用户。

(f)
二填空题
1.分析工作主要内容包括理解表达验证。

2.面相对象最基本最重要最核心的模型是对象模型。

3..对象模型由五种层次组成,分别是主题层类与对象层结构层属性层和服务层。

4.面相对象建模得到的模型包含三个要素是静态结构交互次序和数据交换。

5.五个层次对应着面相对象分析过程中建立的对象模型的五项主要活动是找出类与对象识别结构识别主题定义属性定义服务。

6.属性是对象的性质.
7.确定属性的过程包括分析和选择两个步骤。

8.建立继承(即泛化)的两种方式是自底向上和自顶向下。

9.在画状态图前先画出事件跟踪图。

10.功能模型由数据流图组成。

三选择题
1.对象模型的描述工具是(c )。

A.状态图B.数据流图
C.对象图D.结构图
2.动态模型的描述工具是(a )。

A.状态图B.数据流图
C.对象图D.结构图
3.分析模型一般采用()方式进行验证。

(C)
A. 总结
B. 阶段性报告
C. 需求分析评审
D. 转化成设计模型
4.开发人员使用()可以将用例的行为分配到所识别的分析类中。

(B)
A. 用例图
B. 顺序图
C. 类图
D. 状态图
5.关于面向对象分析,下列的()是正确的。

(A)
A. 它是系统需求建模的方法
B. 是分析系统设计的技术
C. 以从分析直接编写代码
D. 在软件生命周期中,它出现在面向对象设计之后
6.下列的()不是分析建模的目的。

(C)
A. 定义可验证的软件需求
B. 描述客户需求
C. 开发一个简单的问题解决方案
D. 建立软件设计的基础
7.下列的()不属于面向对象分析模型。

(C)
A. 用例图
B. 类图
C. 实体关系图
D. 顺序图
8.在分析类中,()用于描述一个用例所具有的事件流控制行为。

(D)
A. 实体类
B. 界面类
C. 接口类
D. 控制类
9.常用动词或动词词组用来表示(C)
A对象B 类C 关联D 属性
10.表示对象相互行为的模型是(B)模型。

A对象B 动态C 功能D静态
四简答题
1. 面向对象分析包括哪些活动?应该建立哪些类型的模型?
参考答案:
面向对象分析的主要活动包括理解用例模型、识别分析类、定义交互行为、建立分析类图以及评审分析模型等。

面向对象分析应该建立功能模型、分析对象模型和动态模型等三种类型,其中功能模型由用例和场景表示,分析对象模型由类图和对象图表示,动态模型由状态图和顺序图表示。

2. 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型?
参考答案:
实体类用于描述必须存贮的信息及其相关行为;边界类用于描述外部参与者与系统之间的交互;控制类用于描述一个用例所具有的事件流控制行为。

将分析类划分成这三种类型的好处在于:
所产生的类更小更专门化;
这种划分将易变的外部界面与系统基本功能进行了屏蔽,使分析模型更易于变化。

3.面向对象方法有哪些特征
参考答案:继承多态封装抽象
4.多态性的好处是什么?
参考答案:
主要是便于当一个父类不能生成对象时,比如这个父类声明为abstract,众所周知,抽象类是不能生成实例的,但是又要用父类的实例来解决问题时,就可以创建一个父类的变量来引用子类的实例,即通过多态性来实现,把子类的实例泛化为父类.这时要注意,当通过父类的变量来调用这个实例的方法时,这些方法必须在父类中曾经定义过,不然会出错.当
子类中重写了在父类中的方法时,调用这个方法时就会实现重写过的子类方法.
5.建立动态模型的步骤是什么?
参考答案:
第一步编写典型交互行为的脚本。

第二步从脚本中提取事件确定触发每个事件的动作及接受事件的目标对象,第三步排列事件发生的次序没确定每个对象可能有的状态间的转换关系,并用状态图描绘他们,最后比较各个对象的状态图,检查他们之间的一致性,确保事件之间的匹配。

相关文档
最新文档