大学课件:软件工程课件.docx
《大学课件:软件工程课件.docx》由会员分享,可在线阅读,更多相关《大学课件:软件工程课件.docx(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第二章软件需求与软件需求规约背景介绍(1) 、需求与需求获取1. 需求定义(1) 一个需求是有关一个“要予构造”的陈述,描述了待开发产品/系统功能能力、性能参数或其它性质。(2) 需求的基本性质1、必要的,该需求是用户所要求的。2、无歧义的,该需求只能用一种方式解释。3、可测的,该需求是可进行测试的。4、可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5、可测量的,该需求是可测量的。2. 需求分类 (1)、功能需求,是整个需求的主体。 (2)、非功能需求:性能需求、外部接口需求、设计约束和质量属性需求。1.外部接口需求:用户接口、硬件接口、软件接口、通信接口、内存约束、 运行及地点需求3.
2、需求发现技术1、自悟2、交谈3、观察4、小组会5、提炼注意:详细介绍自考通P7(2) 、需求规约1. 需求规约定义(1) 、是一个软件/产品/系统所有需求陈述的正式文档,它表达了一个软件/产品/系统的概念模型。(2) 、需求规约的基本性质1、重要性和稳定性程度:对需求进行分级。2、可修改的:在不过多地影响其他需求的前提下,可以容易的修改一个 单一需求。3、完整的:没有被遗漏的需求。4、一致的:不存在互斥的需求。2. 需求规约(草案)格式(1)、IEEE标准830- 1998(IEEE 1998) 描述的需求规约说明书模板。1、引言 目的、范围、定义、缩略语、参考文献、概述2、总体描述 产品描述
3、、产品功能、用户特性、约束、假设和依赖3、特定需求:是文档的技术核心4、附录5、索引3. 需求规约(规格说明书)的表达(1)、表达需求的语言。1、非形式化的需求规约2、半形式化的需求规约3、形式化的需求规约4. 需求规约的作用 1、需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。 2、需求规约是一个管理控制点 3、对于产品/系统的而设计,需求规约是一个正式的、受控的起始点 4、需求规约是创建产品验收计划和用户批的基础第三章结构化方法 (25分)(一)、结构化需求分析1.需求分析面临的挑战 问题空间理解 人与人之间的通信,“有效沟通” 需求的变化性2. 基础术语
4、1、数据:客观事物的一种表示2、信息:具有特定语义的数据3、数据:是信息的载体4、数据流:数据的流动5、加工:数据变换单元6、数据存储7、数据源和数据潭表达方式:数据流加工数据存储数据流数据潭3. 系统功能模型表示1、数据流图(DFD图) 一种表示数据变换的图形化工具2、数据流程图的元素 数据源/数据潭,数据流,数据加工,数据存储4. 建模过程1、 建立系统环境图,确定系统语境2、 自顶向下,逐步求精,建立系统的层次数据流图3、 定义数据字典定义数据流程图中所有数据流和数据存储的数据结构。 顺序结构: + 选择结构:| 重复结构: 子界: m.n4、 描述加工(1)判定表判断表(Decisio
5、n Table) 也称为决策表,是一个二维表,它说明了每一种条件组合所产生的结果。(2)判定树判断树(Decision Tree) 也称为决策树,是用来描述在一组不同的条件下,决策的行动是根据不同条件及其取值来选择的处理过程。业务规则的描述通常可以使用判断树这一过程描述工具。4、应用中注意的问题1、模型平衡问题 DFD图与数据字典的一-致 底层加工的处理逻辑描述,与数据字典一致2、信息的复杂性控制问题 上层数据流可以打包 下层模块个数: 7士2 每个加工的数据流不能太多:增加层次5、需求验证1、验证:必要性、无歧义性、可测性、可跟踪性、可测量性2、需求中发现的错误类型 不正确的事实: 40%
6、遗漏: 31% 不一致 13% 歧义性: 5% 错放: 2% 其它: 9%6.需求技术的基本特征需求技术的基本特征提供方便通信的机制鼓励需求分析人员使用问题空间的术语思考问题,编写文档提供定义系统边界的方法提供支持抽象的基本机制为需求分析人员提供多种可供选择的方案提供特定的技术,适应需求的变化(二)、结构化设计1.总体设计(以系统为对象)1、总体设计的任务:把系统的功能需求分配到一个特定 的软件系统结构中。2、引入了两个概念: 模块:软件中具有特定标识的独立成分 模块调用:木块之间的一种使用关系3.如何表达模块和模块调用?1、Your don提出的模块结构图2、层次图3、美国IBM公司提出的H
7、IPO图 H:层次图 IPO:输入/处理/输出图注意:图形解释图 自考通:P46P475、 总体设计的步骤将DFD图映射为设计层面的模块及模块调用。(1)将DFD图转换为初始的模块结构图(2)基于“高内聚、低耦合”的软件设计原理,通过模块化,将初始的模块结构图转化为最终的模块结构图。6、两种映射方法(1)变换设计 基于变换的数据流程图是个线性的顺序结构,由输入、输出和变换 中心三部分组成。变换型数据流程图是一个线性的顺序结构,由输入臂、输出臂和变换中心三部分组成。其中变换中心使系统数据发生本质的变化,输入臂将物理输入变换成逻辑输入,而输出臂则将逻辑输出变换成物理输出。 如果待分解的模块是-个数
8、据凝聚的模块,称该模块为以转换为中心的模块。可以把它分解为输入、处理、输出三大模块。(2)事务设计 基于事务的数据流程图中有一个事务处理中心,它将输入分为许多 相互平行的加工路径,然后根据输入的属性,选择某一加工路径。 如果模块为逻辑凝聚的模块,可以将它分解为-个检查业务类型的模块和一个调度模块,根据不同的业务类型,调度模块调用不同的下层模块。6、 模块化及其启发式规则(1)模块 执行一个特殊任务的一个过程以及相关的数据结构。模块通常由两部分组成:模块接口和模块体。(2)模块化的两个问题 如何将系统分解成软件模块 如何设计模块7、 如何将系统分解成软件模块 “分而治之”和“抽象” 自顶向下,逐
9、步求精 形成模块层次结构8、 模块化把一个待开发的软件分解成若干个简单的、具有高内聚低耦合的模块,这一过程称为模块化。(1)模块耦合 耦合(coupling)是对两个模块之间相互依赖程度的一种度量。模块间的依赖程度越大,则其耦合程度也就越大;反之,模块间的依赖程度越小,则其耦合程度也就越小。(2)模块内聚是指一个模块内部个成分之间相互关联程度的度量。也就是说,内聚是对模块内各处理动作组合强度的一种度量。很显然,一个模块的内聚越大越好。(3)启发式规则“高内聚、低耦合”改进软件结构,提高软件独立性。模块分解模块规模适中力求深度、宽度、扇出、扇入适中。 深度:表示其控制的层数。 宽度:同一层次上模
10、块总数的最大值。 扇出:一个模块直接控制的下级模块的数据。 扇入:有多少个上级模块直接调用它。尽量使模块的作用域在其控制域内。 模块的控制域:这个模块本身以及所有直接或间接从属它的模块的集合。 模块的作用域:受该模块内一个判断所影响的所有模块的集合。尽力降低模块接口的复杂度力求模块功能可以预测9、模块间耦合类型内容耦合:一个模块直接修改或操作另一模块数据。公共耦合:两个模块共同引用一个全局数据项。控制耦合:一个模块向另一模块传递控制信号。标记耦合:一个模块向两个模块传递一个公共参数。数据耦合:模块之间通过参数来传递数据10、内聚的类型偶然内聚:模块的各成分没有任何关系。逻辑内聚:逻辑上相关的处
11、理放在一起时间内聚:模块内的功能在同一时间完成过程内聚:模块内的处理以特定的次序执行。通信内聚:操作同一数据集顺序内聚:一个成分的输出作为另一成分的辅。功能内聚:模块的所有成分完成单-的功能2.详细设计(以模块为对象) 具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构。 详细设计的目标:将总体设计阶段产生的系统高层结构映射为以相关术语表达的低层结构,也是系统的最终结构。1、结构化程序设计方法 是一种基于结构的编程方法,即采用顺序结构、选择结构和重复结构进行编程,其中每一结构只允许一个入口和一个出口。 结构化程序设计的本质是:使程序的控制流程线性化,实现程序动
12、态执行顺序符合静态书写的结构,提高程序的可读性。(1) 顺序结构(2)选择结构(3)多分支结构(4)循环结构2、详细设计工具 (1)程序流程图 程序流程图:程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。 (2)盒图(N-S图) 出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图,又称为N-S图。(3)PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,
13、将这种图翻译成程序代码比较容易。下图给出PAD图的基本符号。PAD图的基本符号(4)类程序设计语言PDLPDL也称为伪码,它是用正文形式表示数据和处理过程的设计工具。PDL具有严格的关键字外部语法,用于定义控制结构和数据结构:一般说来PDL是一种“混杂”语言,它使之一种语言(通常是某种自然语言)的词汇,同时却使用另一种语言( 某种结构化的程序设计语言)的语法。3、设计规约完整准确地描述满足需求规约所要求的所有功能模块,以及伴随功能模块而出现的非功能机制。设计规约包括概要设计规约和详细设计规约。(1)概要设计规约(1)指明高层软件体系结构(2)系统环境(3)软件模块的结构模块描述文件结构和全局数
14、据文件的逻辑结构 测试需求(2)详细设计规约详细设计规约主要作为软件设计人员与程序员之间交流的媒体。(1)各处理过程的算法(2)算法所涉及的全部数据结构的描述第4章 面对对象方法UML(1015)(1) 、UML术语表面向对象技术的发展中,一个重要的里程碑是UML。UML是一种可视化的语言,可用于规约系统制品、构造系统的制品、建立系统制品的文档,可以作为软件需求规约、设计和实现的工具。UMI方法学中不同抽象层次术语以及模型表达工具.或者说UML给出规约软件系统产品的术语和表达。1. 表达客观事物的术语1. 对象( object ) 对象(object)是系统中用来描述客观事物的实体。一个对象由
15、一组属性和对这组属性进行操作的一组方法组成。2.类类(Class) 是具有相同属性、操作、关系一组对象的集合,它为属于该类的全部对象提供的抽象描述,其内部包括属性和服务两个主要内容(2)类语义的进一步表达详细叙述类的职责通过类/操作的注解,详细注释类的定义通过类/操作的注解,详细注释各操作的前置条件和后置条件详述类的状态机(状态图)详述类的内部结构(活动图)类与其他类的协作 (协作图)(3)类的语义表达的详细程度取决于建模的意图 为了与最终用户和领域专家沟通:较低的形式化手 为了支持正向和逆向工程:采用较高的形式化手段 为了对模型进行推理,证明其正确性:采用很高形式化手段(4)类在建模中的用途
16、 模型化问题域中的概念 建立系统的职责分布模型 模型化建模中使用的基本类型 (5) 类要满足的基本条件 一个结构良好的类,必须符合下列条件:明确抽象了问题域或解域中某个有形事务概念包含了一个小的、明确定义的职责集,并能很好地去实现清晰地分离了抽象和实现3.接口(1)接口的含义 接口是操作的一个集合,其中每个操作描述了 类、构件或子系统的一个服务。(2)接口的表示 采用具有分栏和关键字的矩形符号来表示 采用小圆圈和半圆圈来表示(3)使用中的问题如何描述接口的语义应用中应当注意的问题 (4)应用中注意的问题接口只能被其它类目使用,其本身不能访问其它类目接口描述类的外部可见操作,通常是该类的一个特定
17、有限行为接口不描述其中操作的实现,也没有属性和状态接口之间没有关联、泛化、实现和依赖3.协作协作是一个交互,涉及交互的三要素:交互各方、交互方式以及交互内容。 4.用况(usecase)/用例对一组动作序列的描述,系统执行这些动作应产生对特定参与者有值的、可观察的结果。5.主动类 至少具有一个进程或线程的类。能够启动系的控制活动,并且其对象的行为通常与其它元素行为并发的 表示方法:两条竖线 用来模型化系统中的并发行为6.构件/组件 系统设计中的一种模块化部件,通过外部接口隐藏了它的内部实现 具有相同接口的构件可以相互替代 构件可以嵌套 构件用于表达解空间中可独立标识7.制品(Artifact)
18、 系统中包含物理信息的、可替代的物理部件 部署制品:这类制品是构成一个可执行系统必要而的制品,例如: DLL、 EXE文件 工作产品制品:这类制品本质上是开发过程的产物源代码文件、数据文件等用来创建部署制品的事物构成8.节点 节点是在运行时存在的物理元素,通常表示一种具有记忆能力和处理能力的计算机资源。2. 表达关系的术语关联 关联反映了类和类之间的静态关系。关联在模型中,特别是在永久业务对象模型中是最基本的关系。 关联是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述。 链:对象之间具有特定语义关系的抽象关联的语义表达: 关联名 导航 角色 可见性 多重性:多重性(Multipli
19、city) 定义了与一个对象/类相联系的对象类出现一次,该对象/类可能出现的最小和最大的数目 限定符 聚合:一个类是另一类的一部分。 组合:是聚合的一种特殊形式 关联类具有关联和类特性的模型元素 约束有序(ordered)、无重复的(set) 、有重复的(bag)、有序集合(order set )、列表( list) 、只读(read only)泛化 特殊类(子类)的对象拥有其一般类(超类)的全部属性与服务,称作特殊类对一般类的继承(Inheritance)。 利用继承( inheritance),子类以继承父类的属性和方法。子类/父类也可分别特殊类/一般类、子类/超类、派生类/基类等。实现/
20、实现 细化是类目之间的语义关系,其中一个类目规约了保证另一类目执行的契约。 用空心三角形的虚线表示。 在以下2个地方会使用实现关系:接口与实现它们的类和构件之间;用况与实现它们的协作之间。依赖 依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。 用有向虚线段表示。依赖-依赖的的分类:(1)绑定(Bind )(2)导出(Derive )(3) 允许(Permit)(4)实例( Instant iate)关系术语的使用: 结构关系 继承关系 精化关系 依赖关系3. 表达组合信息的术语包 包:是模型元素的一个分组,一个包本身可以被嵌套在其它包中,并且可以含有子包和其它类型的模型元素包的可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 课件 软件工程
限制150内