第7章面向问题域的需求分析方法
2019/12/15
30
7.6 问题框架实例间的关系及其组合
问题框架实例间的关系 一个问题框架实例对应一个问题图,因而
两个问题框架实例在形式上相互关联是指它们 所对应的问题图之间相互关联。
两个问题框架实例形式上相关的另一种情 况是一个问题框架实例所包含的需求,或者说 它所对应的子问题应满足的需求是另一个问题 框架实例中的域。
2019/12/15
31
家长
c
学生在校 a 表现查询器
b
固定电话系统
电话
e
学生信息电话语音
d
d
学生在校表现
a:IQ!{SendMessage}
b:TS!{TelSignalToPH} PH! {TelSignal ToTS}
TS!{QueryCommand,UserAccout,UserPassword} d:BH!{StuBehaviour}
2019/12/15
20
考勤机
呼叫应答/ 固定电话系统 查询结果
刷卡信ห้องสมุดไป่ตู้ 网关操作命令
短信网关
呼叫请求/
网关反馈信息
信息查询命令 校园通系统
管理员命令 管理员
教师命令 教师
校园通系统的上下文图
2019/12/15
21
7.5 PDOA方法的分析步骤
问题及问题域的界定与描述
1. 上下文图界定并描述整个问题及其问题域存在的 不足:
1. 确定系统所需的各项功能;
2. 若某些(或个)功能对应于一个足够小的具体实 现单元,则由该实现单元直接实现这些(或个) 功能;
3. 否则,把功能分解为一系列子功能,并重复步骤2 和3,直到所有子功能可分别对应一个足够小的具 体实现单元。
2019/12/15
7
7.2 问题域的划分
层次式分解方法的不足 把高层功能分解成子功能的方式可能有多
17
7.5 PDOA方法的分析步骤
步骤
1. 搜集需求信息,界定和描述问题及问题域; 2. 划分问题域并开发相关问题框架; 3. 根据问题框架的类型进一步描述问题域的相关特
性。
2019/12/15
18
例:
为了加强学校及学生的安全管理工作,加强学校 与家长的沟通和联系,使家长能及时了解学生到校、 在校学习及离校等方面的情况,学校拟开发一套称为 “校园通”的计算机系统。该系统由分布于各校门处的 考勤机、各教师办公室的终端及一台主机组成。考勤机 与主机通过电缆直接相连,同时主机与固定电话系统 通过主机内置的语音卡相连。此外,主机还作为信息 提供者与各移动电话运营商的短信网关相连。
2019/12/15
4
7.1 问题域
解系统:与问题相对应的是问题的解决方案。
在软件开发中是指能在计算机上运行且能解决问题的 程序。
需求分析方法或多或少直接以问题的解决方案即在机 器中运行的程序为出发点,来考虑待开发软件系统的 需求。
从问题域与从机器域考虑同一问题的侧重点不同,所 使用的技术、方法和表示符号也不相同。
28
7.5 PDOA方法的分析步骤
校园通的问题图
2019/12/15
29
7.5 PDOA方法的分析步骤
基于问题框架的问题域划分
1. 由内到外的划分; 家长通过电话查询学生的在校表现---信息显示问题框
架 2. 由外到内的划分; 考勤规则---工件问题框架 3. 基于节奏的划分。 学生刷卡记录---动态 考勤报表中原始刷卡记录-----静态
用来产生相关效果的方法可分为直接方法和间接方法。 直接方法是指机器的输入、输出设备。 间接方法包括用户以及可以执行任务的其他计算机等。
用户需求可视为通过计算机程序在问题域中施加的效 果,这些效果是对用户预期的描述。用户需求描述中 的每一个术语都代表了问题域中的相应事物,必须用 问题域中的相应事物来指称。
工件问题框架图
2019/12/15
15
7.4 问题框架的类型
变换问题框架 思想:存在一些计算机可读的输入文件,
其数据必须被变换以给出所需要的特定输出文 件,输出数据必须遵守特定的格式,并且必须 按照特定的规则从输入数据中导出。问题是要 建立一个机器,该机器从输入中产生所需要的 输出。
变换问题框架图
2019/12/15
24
描述域及域间关系的现象可分为事件、实体、值、 状态、真值和角色等六种类型。
事件(Event):在特定的时间点发生、出现的个体。 每个事件都不可再分,且是瞬时的。 实体(Entity):是一直存在的个体,可以从一个 时间点到另一个时间点改变特性和状态。 值(Value):是一个无形的个体,存在于时间和空间 之外,不会改变。
种,但没有任何方法可以提前告知这些分解方 式中哪一个好或哪一个差,直到进入实现阶段 时才可评价所采用的分解方式是否恰当,而此 时分解活动早已结束。
2019/12/15
8
7.2 问题域的划分
并行划分
将每个子问题看成是整个问题的一个投影, 通过不同角度的投影,将整个问题分解为一系 列相互关联的子问题。其中子问题的需求是整 个需求的一个投影,它的接口也是整个问题接 口的一个投影。同时,在划分子问题的过程中, 以已知解决方案的问题或以已知解决方案的相 似问题为导向,来对未知解决方案的整个待求 解问题进行恰当的分析和划分。
2019/12/15
25
状态(State):是实体和值之间的关系,可以随时间 而变化。 真值(Truth):是不能随时间发生变化的个体间的 关系,这里的个体总是一些值,而真值表达了数学上 的事实。 角色(Role):是一个事件和用特殊方式参与这个 事件的个体之间的关系。
2019/12/15
26
2019/12/15
16
7.5 PDOA方法的分析步骤
特点 将关注的重点定位在问题及其相关的问题
域上,通过对问题及其问题域进行合理的分类, 为分析人员提供解决具体问题的相关指南。同 时从问题域的角度出发,使用户能参与整个需 求过程,有利于更直观和真实地反映问题域的 信息和用户的需求。
2019/12/15
问题与问题域之间的相互关系 问题域和问题相互依存,问题处于一定的
问题域之中,脱离了问题域,问题就无法存在。 问题域也是与特定的问题相关的现实世界,脱 离特定的问题考虑纯粹的问题域没有任何意义。
2019/12/15
3
7.1 问题域
问题域包括所有与描述期望效果有关的事务,可用来 产生这些效果的方法也是问题域的一部分。
2019/12/15
19
每个学生配备一张感应式IC卡,进入和离开学校必须 在考勤机上刷卡。每次刷卡,系统记录刷卡学生的 卡号、姓名、时间等相关信息,并通过短信网关将 信息已短信的形式发到家长的手机。此外,教师可 通过系统已短信的形式给家长发送各类信息。管理员 依据学校的有关规定制定考勤规则,系统根据考勤 规则定时汇总学生的刷卡记录和请假记录,生成学生 的考勤报表。学生的请假记录由准假教师输入系统。 教师可在系统中输入学生的作业情况、考试成绩等在校 表现信息。当家长来电时,系统自动应答家长的各类 查询请求,并将相关信息转换为语音反馈给家长。
2019/12/15
27
除系统画的五个域外,还有其它的域和该问题密切 相关。 有些和系统间接相连,如学生域、IC卡域、 家长域、移动网络系统域、家长手机域、电话域等; 有些位于系统内部,由系统在实际运行时创建, 如考勤报表域、学生在校表现域、学生请假记录域、 原始刷卡记录域等。
2019/12/15
第 7 章 面向问题域的需求 分析方法
1
第 7 章 面向问题域的需求分析方法
7.1 问题域 7.2 问题域的划分 7.3 问题框架 7.4 问题框架的类型 7.5 PDOA方法的分析步骤 7.6 问题框架实例间的关系及其组合
2019/12/15
2
7.1 问题域
问题域 与问题相关的部分现实世界。
命令式行为问题框架图
2019/12/15
12
7.4 问题框架的类型
信息显示问题框架 思想:存在客观世界的某个部分,关于其
状态和行为的特定信息被连续的需要。问题是 要建立一个机器,该机器从客观世界中获得相 关信息,并按所要求的格式呈现在所要求的地 方。
信息显示问题框架图
2019/12/15
13
7.4 问题框架的类型
2019/12/15
22
7.5 PDOA方法的分析步骤
2. 问题图 M. Jackson等认为问题及其问题域的界定和
描述必须以问题为中心,而不是以解系统为中心, 并提出了采用问题图的形式来界定和描述问题及 其问题域。
问题图形式上是由机器、问题域和需求以及 它们之间的关系组成。
2019/12/15
23
2019/12/15
9
7.3 问题框架
问题框架是一种模式,它捕获并定义了常 见的简单子问题的类型。
问题框架的组成元素及其关系
共享现象包括实体、事件、状态等。 通过某个机器M的构建,可在问题域D中产生期望的效果,使之满足需求R。
2019/12/15
10
7.4 问题框架的类型
需求式行为问题框架 思想:存在客观世界的某个部分,其行为
带连接域的信息显示问题框架图
带操作者域的信息显示问题框架图
2019/12/15
14
7.4 问题框架的类型
工件问题框架 思想:需要一个工具,让用户创建并编辑
特定类型的计算机可处理的文本或图形对象或 简单结构,以便它们随后能被拷贝、打印、分 析或按其它方式使用。问题是要建立一个机器, 该机器可以充当这个工具。
发送短信
d
e
f
g
短信网关
移动网络系统
《软件需求分析》单选填空判断答案全解
《软件需求分析》单选填空判断答案全解《软件需求分析》习题集《软件需求分析》课程组编2012年4⽉⽬录⼀、单项选择题 (2)⼆、填空题 (5)三、判断题 (9)《软件需求分析》习题集⼀、单项选择题1、软件⽣产中产⽣需求问题的最⼤原因在于对应⽤软件的()理解不透彻或应⽤不坚决。
(A)复杂性(B)⽬的性(C)模拟性(D)正确性2、需求分析的⽬的是保证需求的()。
(A)⽬的性和⼀致性(B)完整性和⼀致性(C)正确性和⽬的性(D)完整性和⽬的性3、系统需求开发的结果最终会写⼊()。
(A)可⾏性研究报告(C)⽤户需求说明4、现实世界中的((B)前景和范围⽂档(D)系统需求规格说明)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作5、功能需求通常分为三个层次,即业务需求、⽤户需求和()。
(A)硬件需求(B)软件需求(C)质量属性(D)系统需求6、⽐较容易发现的涉众称为初始涉众,⼜称为(),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)⼀般涉众7、如果在最终的物件(Final Artifact)产⽣之前,⼀个中间物件(Mediate Artifact)被⽤来在⼀定⼴度和深度范围内表现这个最终物件,那么这个中间物件就被认为是最终物件在该⼴度和深度上的()。
(A)模拟(B)构造(C)原型(D)模型8、按照使⽤⽅式进⾏分类,原型可分为:演⽰原型、()、试验原型和引⽰系统原型。
(A)⾮操作原型(B)系列⾸发原型(C)选定特征原型(D)严格意义上的原型9、按照功能特征进⾏分类,原型可分为:()、⾮操作原型、系列⾸发原型和选定特征原型。
(A)拼凑原型(B)样板原型(C)纸上向导原型(D)严格意义上的原型10、按照开发⽅法进⾏分类,原型可分为:演化式原型和抛弃式原型,其中抛弃式原型⼜被细分为()。
(A)演⽰原型和试验原型(C)探索式原型和实验式原型(B)系列⾸发原型和选定特征原型(D)样板原型和纸上向导原型11、原型的需求内容可以从三个纬度上分析:即()。
软件需求分析中的问题域模型
软件需求分析中的问题域模型一、引言软件需求分析是软件开发中非常重要的一步。
在这个阶段,开发团队需要全面了解客户的需求,准确地对需求进行分析和把握,最终为客户提供满意的软件产品。
其中,问题域模型是软件需求分析的重要组成部分,是整个需求分析的基础。
二、什么是问题域模型问题域模型是描述客户或业务领域中的概念、关系和行为的模型。
可以理解成是对客户或业务领域的一种抽象和概括,它描述了软件将要解决的问题领域中所存在的各种实体和它们之间的关系。
问题域模型是一种图形化的工具,通常采用UML和ER图来描述,它可以表现客户或业务领域中的各种概念,并将它们组织在一起。
这些概念包括人员、物品、组织、活动、事务等等,通过将它们之间的联系、属性、行为进行描述,可以帮助开发团队更好地理解业务需求。
三、问题域模型在软件需求分析中的作用1.问题域模型可以帮助开发团队更好地理解客户需求在需求分析中,问题域模型是开发团队了解客户需求的第一步,通过对客户的业务领域进行深入的调研和分析,开发团队可以深入了解客户的业务模式、用户、流程等,并逐步形成问题域模型。
问题域模型通过图形化和抽象化的方式,将复杂的客户业务领域用简单的语言和图形进行了描述,使得开发团队能够很快地了解客户对软件产品的需求,为软件的开发提供了指导性的依据。
2.问题域模型有利于开发团队进行团队协同工作在软件开发过程中,问题域模型是开发团队进行共享的一个标准化、规范化的模型。
团队成员可以根据问题域模型共同讨论相关问题,共同分析解决问题的方法,及时排查出现的问题,并在问题域模型的基础上进行协作开发。
3.问题域模型有助于代码的开发和维护对于一个完整的软件系统,它包含了很多的类、对象、方法等。
如果没有一个清晰的问题域模型来指导代码的开发和维护,将会导致代码的混乱和不可维护。
问题域模型可以明确地描述软件系统中各个对象的属性和关系,为代码编写提供了指导。
四、如何建立问题域模型建立问题域模型的最基本的方法是通过业务领域知识的获取和建模。
软件工程-面向对象分析
第7章面向对象分析•7.1.1 面向对象分析过程面向对象的分析主要以用例模型为基础。
开发人员在收集到的原始需求的基础上,通过构建用例模型从而得到系统的需求。
进而再通过对用例模型的完善,使得需求得到改善。
所谓用例是指系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。
用例常被用来收集用户的需求。
①首先要找到系统的操作者,即用例的参与者。
参与者是在系统之外,透过系统边界与系统进行有意义交互的任何事物。
②可以把参与者执行的每一个系统功能都看作一个用例。
可以说,用例描述了系统的功能,涉及系统为了实现一个功能目标而关联的参与者、对象和行为。
③确定了系统的所有用例之后,就可以开始识别目标系统中的对象和类了。
把具有相似属性和操作的对象定义为一个类。
边界类示意图控制类示意图目标系统的类可以划分为边界类、控制类和实体类。
Ø边界类代表了系统及其操参与者的边界,描述参与者与系统之间的交互。
它更加关注系统的职责,而不是实现职责的具体细节。
通常,界面控制类、系统和设备接口类都属于边界类。
Ø控制类代表了系统的逻辑控制,描述一个用例所具有的事件流的控制行为,实现对用例行为的封装。
通常,可以为每个用例定义一个控制类。
Ø实体类描述了系统中必须存储的信息及相关的行为,通常对应于现实世界中的事物。
确定了系统的类和对象之后,就可以分析类之间的关系了。
对象或类之间的关系有依赖、关联、聚合、组合、泛化和实现。
①依赖关系是“非结构化”的和短暂的关系,表明某个对象会影响另外一个对象的行为或服务。
②关联关系是“结构化”的关系,描述对象之间的连接。
③聚合关系和组合关系是特殊的关联关系,它们强调整体和部分之间的从属性,组合是聚合的一种形式,组合关系对应的整体和部分具有很强的归属关系和一致的生命期。
比如,计算机和显示器就属于聚合关系。
④泛化关系与类间的继承类似。
⑤实现关系是针对类与接口的关系。
明确了对象、类和类之间的层次关系之后,需要进一步识别出对象之间的动态交互行为,即系统响应外部事件或操作的工作过程。
需求工程期末复习总结
填空:1.在导致需求问题的原因中,一个最为重要的原因是:未能很好的掌握应用型软件的模拟特性以及由此产生的一系列的影响和要求。
2.面向专业用户的纯工具型软件的首要成功标准是:要具有功能的复杂性和使用的高效性。
3.需求开发过程中产生的主要文档有三种:项目前景和范围文档,用户需求文档,需求规格说明文档。
4.系统用例图和上下文图通常被用来定义系统的边界。
5.在需求建模时,常用的技术包括:数据流图,实体联系图,状态转换图,类图等半形式化建模技术。
6.业务需求,高层解决方案及系统特性都应该被记录下来,定义为项目前景与范围文档。
7.每一个明确,一致的问题都意味着涉众存在一些相应的期望目标,即业务需求。
8.业务需求中需要特别注意的特征是可行性和可验证性。
9.在会谈中使用的问题基本上可以分为两种:开放式和封闭式问题10.面谈的类别:结构化,半结构化和非结构化面谈11.原型的需求内容可以从三个纬度上分析:外观,角色,实现12.民族志一个主要的应用目的就是研究和解决复杂的协同问题13.分类框架将场景方法从场景的形式(又分为描述和外观两个方面),目的,内容和生命周期四个方面进行了分类和描述14.工程利用场景的目的有三种:描述,探索,解释15.抽象和分解是建模最为常用的两种手段16.抽象通过强调本质的特征,减少了问题的复杂性;分解的手段体现了分而治之的思想17.分析模型是半形式化的18.建模语言有三个要素:语法,语义,语用19.按照Zachman的矩阵框架,分析技术就是用来对第二行(企业模型)的各列进行建模和描述的技术20.面向对象分析方法以对象为基础,结构化分析方法以功能和数据为基础21.结构化,信息工程和面向对象三中方法学下的需求分析技术都是面向解系统的22.使用面向问题的技术称为前期需求阶段的分析,使用面向解系统的技术称为后期需求阶段的分析23.数据流图建模时使用的基本模型元素有四种:外部实体,过程,数据流和数据存储24.DFD定义了三个层次的DFD图:上下文图,0层图和N层图25.实体联系图用实体,属性和关系三个基本构建单位来描述数据模型26.除了静态的事物和抽象的概念之外,行为和事件也是常见的实体类型27.在关系的命名上通常使用动词28.用例模型的基本元素:用例,参与者,关系,系统边界29.UML的行为模型有三种:交互图,状态图,活动图30.在目标模型中使用的其他模型元素有行为者,场景,操作,任务,资源,UML元素等//31.需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力名词解释:1.需求工程:是软件工程的一个分支,它关注与软件系统所应予实现的现实世界目标,软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素的准确的软件行为规范说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系。
第7章 面向对象学习方法学
第七章面向对象学习方法学面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致.与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.7.1 基础知识7.1.1 传统方法学的缺点结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.1.问题的表现1)生产效率低在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.2)不能满足用户需要实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足用户需求的变化.主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.3)软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.4)软件很难维护实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.2.问题的原因1)结构化技术本身的问题结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。
软件工程概论_8_面向对象需求分析
• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构
数据模型
属性、操作、协作者
功能模型
类/对象 模型
对象关系模型
使用实例
对象-行为模型
行为模型
二.面向对象分析模型描述工具
1. 用例图
2.面向对象建模 (1)建模与模型 建模是将问题域的解空间定义成一种模型,以帮助系统分析 人员更好地理解问题。 模型是为了理解问题而对问题所做出的一种抽象,而且是对 问题的一种无歧义的描述。模型由一组图示符号和组织这些 符号的规则组成。利用它们来定义和描述问题域中的术语和 概念。 建模的目的主要是为了减少复杂性。 (2)面向对象模型
2) 面向对象分析的五个层次 面向对象分析由五个主要活动组成,即确定类-&-对象、识别 结构、识别主题、定义属性和定义服务(方法)。对于一个复杂 问题的面向对象的模型可用五个层次表示:类-&-对象层、结 构层,主题层、属性层和服务层,见图3.3.8。
主题层 subject level 类-&-对象层object 结构层 structure 属性层 attribute 服务层 serves
•使用具有确切含义的名词。
• 尽量使用能表示类的含义的日常用语作名字,不要使用空洞的或含 义模糊的词作名字。例如,“库房”比“房屋”或“存物场所”更确切。
•必要时用名词短语作名字。
• 为使名字的含义更准确,必要时用形容词加名词或其他形式的名词 短语作名字。例如,“最小的领土单元”、“储藏室”、“公司员工”等 都是比较恰当的名字。
签定保险单 销售统计
客户
软件需求分析面向问题域的需求分析方法-文档资料
10.6 问题框架实例间的关系及其组合
问题框架实例的组合 主要考虑在组合各个独立的问题框架实例 时,如何使不同的问题框架实例在整体上保持 协调,从而使它们能与原来的整个问题及其问 题域保持一致。
特点
将关注的重点定位在问题及其相关的问题 域上,通过对问题及其问题域进行合理的分类, 为分析人员提供解决具体问题的相关指南。同 时从问题域的角度出发,使用户能参与整个需 求过程,有利于更直观和真实地反映问题域的 信息和用户的需求。
15
10.5 PDOA方法的分析步骤
1. 2. 3.
步骤
搜集需求信息,界定和描述问题及问题域; 划分问题域并开发相关问题框架; 根据问题框架的类型进一步描述问题域的相关特 性。
3
10.1 问题域
需求分析文档、规格说明文档和程序之间的关 系
需 求 分 析 文 档
需 求 规 格 说 明 文 档
程
序
问 题 域
接口
机 器 域
4
10.2 问题域的划分
对于复杂问题的分析,一般的做法是采用 “分而治之”的策略。人们一般采用层次式 功能分解的方法。
1. 2.
3.
确定系统所需的各项功能; 若某些(或个)功能对应于一个足够小的具体实 现单元,则由该实现单元直接实现这些(或个) 功能; 否则,把功能分解为一系列子功能,并重复步骤2 和3,直到所有子功能可分别对应一个足够小的具 体实现单元。
21
10.6 问题框架实例间的关系及其组合
交互方面,两个问题框架实例相关本质上 是指它们的机器与机器之间存在由并行的划分 所引发的并发关系,这类似于两个并发进程间 的关系。 形式上两个问题框架实例间的关系可分为 三种类型:无关、具有公共的域、一个问题框 架实例的需求是另一个问题框架实例中的域。
构建分析模型
分析模型
必须评审分析建模工作产品的正确性、 完整性和一致性,必须反映所有共利益者 的要求并建立一个可以从中导出设计的基 础。
分析模型
在技术层面上,软件工程开始于一系列的 建模工作,最终生成待开发软件的需求规 格说明和全面的设计表示。分析模型实际 上是一组模型,是系统的第一个技术表示。
分析阶段的目标[DEM79]
域分析的输入和输出
图7-2 域分析的输入和输出
分析建模的方法
一种考虑数据和处理的分析建模方法被称 作结构化分析,其中数据作为独立实体转 换。数据对象建模定义了对象的属性和关 系,操作数据对象的处理建模应表明当数 据对象在系统内流动时处理如何转换数据。 分析建模的第二种方法称作面向对象的分 析,这种方法关注于定义类和影响客户需 求的类之间的协作方式。UML和统一过程 主要是面向对象的。
数据对象
数据对象只封装数据——在数据对象内没 有对作用于数据的操作的引用。数据可以 表示为如图7-4所示的一张表,表头反映 了对象的属性。表体表示了数据对象的特 定实例。
数据对象的表格表示
图7-4 数据对象的表格表示
数据属性
数据属性定义了数据对象的性质,可以具 有三种不同的特性之一。它们可以用来:
这些问题的答案导致创建一组次场景,次场景属 于原始用例的一部分,但是表现了可供选择的行 为。
SafeHome实例[15]
编写用例
在很多情况下,不需要创建使用场景的图 形化表示。但是图形化表示可以促进理解, 尤其是当场景比较复杂时。UML为用例提 供了图形化表现的能力。图7-6为 SafeHome系统的初步用例图。
基于场景建模
需求工程试卷AB
一、单选题(每小题2分,共 20 分)1、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( C )。
A.数据库设计B.数据通讯C.数据定义D.数据维护2、需求验证的任务是( A )。
A.要求各方人员从不同的技术角度对需求规格说明文档做出综合性评价。
B.分析用户要求,将软件功能和性能描述为具体的规格说明书。
C.确保需求规格说明具有良好的特性。
D.发现和修复需求规格说明书存在的问题,并避免在软件系统设计和实现时出现返工。
3、下面哪一项不是软件设计规格说明中应包括的内容( D )。
A.接口描述B.性能需求C.功能需求D.商业约束4、陈述“只有电梯停在某一楼层时,电梯才能改变方向”属于( B )。
A.问题域的描述B.功能需求C.性能需求D.商业约束5、关注于问题域描述和需求的文档是(D )。
A.测试计划书B.规格说明C.用户手册D.需求文档6、对象汽车和客车之间的关系属于(B )。
A.一般-特殊关系B.共享聚集C.复合聚集D.合作链接7、数据流图中,下列哪一种数据流的流向是不可能发生的( B )。
A.从加工流向加工B.从数据存储流向外部实体C.从加工流向外部实体D.从外部实体流向加工8、下列哪种建模技术属于行为建模( C )。
A.数据流图B.E-R图C.状态图D.类图9、需求获取的技术主要有(D )。
A.阅读背景资料B.检查文档C.面谈D.以上都对10、有限状态机的表示方法有(B)。
A.有向图和数据流图B.有向图和表C.时序图和表D.状态图和表二、多选题(每小题2分,共10分)1、性能需求主要包括(ABCD )。
A.速度性能B.容量性能C.可靠性D.可用性E.开发时间2、规格说明书的主要内容有(ABCDE )。
A.引言B.综合描述C.外部接口需求D.系统特性E.非功能需求3、面向对象的需求分析需要建立的模型主要有(ACD )。
A.对象模型B.行为模型C.动态模型D.功能模型E.表示模型4、正式评审中,评审人员按分工可分为(ABDE )。
第7章面向问题域的需求分析方法
2019/12/15
25
状态(State):是实体和值之间的关系,可以随时间 而变化。 真值(Truth):是不能随时间发生变化的个体间的 关系,这里的个体总是一些值,而真值表达了数学上 的事实。 角色(Role):是一个事件和用特殊方式参与这个 事件的个体之间的关系。
2019/12/15
26
2019/12/15
24
描述域及域间关系的现象可分为事件、实体、值、 状态、真值和角色等六种类型。
事件(Event):在特定的时间点发生、出现的个体。 每个事件都不可再分,且是瞬时的。 实体(Entity):是一直存在的个体,可以从一个 时间点到另一个时间点改变特性和状态。 值(Value):是一个无形的个体,存在于时间和空间 之外,不会改变。
28
7.5 PDOA方法的分析步骤
校园通的问题图
2019/12/15
29
7.5 PDOA方法的分析步骤
基于问题框架的问题域划分
1. 由内到外的划分; 家长通过电话查询学生的在校表现---信息显示问题框
架 2. 由外到内的划分; 考勤规则---工件问题框架 3. 基于节奏的划分。 学生刷卡记录---动态 考勤报表中原始刷卡记录-----静态
2019/12/15
19
每个学生配备一张感应式IC卡,进入和离开学校必须 在考勤机上刷卡。每次刷卡,系统记录刷卡学生的 卡号、姓名、时间等相关信息,并通过短信网关将 信息已短信的形式发到家长的手机。此外,教师可 通过系统已短信的形式给家长发送各类信息。管理员 依据学校的有关规定制定考勤规则,系统根据考勤 规则定时汇总学生的刷卡记录和请假记录,生成学生 的考勤报表。学生的请假记录由准假教师输入系统。 教师可在系统中输入学生的作业情况、考试成绩等在校 表现信息。当家长来电时,系统自动应答家长的各类 查询请求,并将相关信息转换为语音反馈给家长。
