需求分析与建模
第1章 面向对象分析与设计 && 第2章 UML简介
*1.软件工程分哪几个阶段?
需求分析阶段,系统分析与设计阶段,系统实现阶段,测试阶段和维护阶段
2.面向过程将软件视作 ____ + ____
数据结构,算法
3.面向对象分析主要包括哪些模型?
功能模型,分析对象模型,动态模型
4.
5.面向对象的调研需求?
在调研需求时最先弄清楚有多少部门,多少岗位,然后找到每一个岗位的业务代表,问他们类似的问题:你平时都做什么?这件事是谁交办的?做完了你需要通知或传达给谁?做这件事情你都需要填写些什么表格吗?
*6.面向过程方法使用 ____ 表达功能间关系,用 ____ 表达功能与数据之间的关系,用 ____ 表达数据之间的关系。
系统结构图,数据流图,E-R图
7.面向对象用 ____ 表达需求,结构化以 ____ 表达需求。
用例,功能需求
8.面向对象以 ____ 图, ____ 图和 ____ 图逐渐细化需求。
时序图,状态图,类图
9.什么是 UML ?
UML是一种定义良好,易于表达,功能强大且普遍适用的建模语言。它支持面向对象的分析,设计,实现和交付等各个环节,可以用于系统的理解,设计,浏览。维护和信息控制
10. UML 的特点?
(1)UML 的作用是建立软件模型
(2)作为一种建模语言,UML 提供交流的词汇和规则
(3)UML 是可视化的,通过标准图符构成图形来描述模型,易于理解
(4)UML 是建模语言而非编程语言
(5)UML 是一种通用标准。成为软件建模的标准语言,并且在其他领域也得到应用
(6)UML 是面向对象的,支持面向对象方法
(7)UML 是独立于过程的
(8)UML 概念明确,简洁,结构清晰,容易掌握
11.为理解用户需求,UML 提供了 ____ 图
用例
12.为描述系统的静态结构方法,UML 提供了 ____ 图
静态图
13.在具体开发时,是不是必须画出所有的 UML 图?
不是,在具体的软件项目开发中,使用 UML 进行系统建模时不一定非要用到 UML 中所有的模型图。不同的项目中,同一种模型图的详略程度也可能不同
14.UML 类图是面向过程分析方法中 ____ 的超集。
E-R
15.用例描述 ____ ,执行者是 ____ 。
用例与执行者之间的交互,系统的主体,表示提供或接收系统信息的系统或人
16.用例图用来描述 ____ 。
用户的需求
17.状态图和活动图统称为 ____ ,主要描述 ____ 。
行为图,系统的动态模型和组成系统的对象间的交互关系
18.状态图描述对象的 ____ 。
所有可能的状态以事件发生时状态的转移条件
19.状态图是 ____ 图的补充。
类
20.活动图主要描述 ____ 。
为了满足用例要求所要进行的活动以及活动间的约束关系,它有利于识别系统中的并行活动
21.
22.时序图和协作图统称为 ____ ,主要描述 ____ 。
交互图,对象间的交互关系
23.时序图显示 ____ ,体现 ____ 的时间顺序。
对象之间的动态合作关系,对象间消息传递
24.协作图描述 ____ 。
对象的协作关系
25.如果强调时间和顺序,则使用 ____ ,如果强调上下级关系,则选择 ____ 。
时序图 、协作图
第3章 RUP统一软件过程 && 第5章 用例图
1.软件过程是指实施于 ____ 和 ____ 阶段中的 ____ 、____ 、实践及 ____ (计划、文档、模型、代码、测试用例和手册等)的集合
软件开发 、维护 、方法 、技术 、相关产物
2.采用有效的软件过程可以(1)有助于 ____ 做出明智的解决(2)促进 ____ 标准化,促进项目组之间的可 ____ 和 ____ 性(3)提供了一个可以使软件企业引进 ____ 的机会
对软件开发过程中的一些重要的问题 、开发工作 、重用性 、一致 、行业内先进实践技术
3.RUP 全称 ____ 。
Rational Unified Process (统一过程)
4.RUP 与 UML 的关系。UML 是一种描述 ____ 中要产生的文档。RUP是指导如何 ____ 这些文档及这些文档要描述什么的方法。
生产过程 、产生
5.RUP 的三个特点
(1)用例驱动
(2)以构架为中心
(3)采用迭代和增量模型
6.RUP 的最佳实践
(1)迭代的软件开发
(2)需求管理
(3)使用基于构件的体系结构
(4)可视化软件建模
(5)验证软件质量
(6)控制软件变更
7.图 3-1
8.据图 3-1 中回答
(1)需求分析跨越几个阶段,为什么在初始阶段任务最大?
(2)分析设计为什么在细化 、构建两个阶段任务最大?
初始阶段所关注的就是整个项目进行中的业务和需求方面的主要风险 、细化阶段的目标是分析问题领域,准备架构的设计,编制项目计划,并对这些产品进行测试。架构阶段主要完成选择项目所需要的构件,开发应用程序的抓哟功能,并吧这些功能集成为产品,并对这些产品进行测试。
9.RUP 的几个核心工作流?
1.业务建模 2.需求 3.分析和设计 4.实现 5.测试 6.发布 7.项目管理 8.配置和变更管理 9.环境
10.RUP 的 5 个角色?
(1)分析员角色集
(2)开发人员角色集
(3)测试人员角色集
(4)经理角色集
(5)其他角色集
11.什么项目适合 RUP ? 什么项目适合 XP ?
整体项目适合 RUP,具体到细部适合 xp
12.用例分 ____ 用例 、____ 用例两种
业务 、系统
13.使用者分三大类 ____ 、____ 、____ 。
真实的人 、其他系统 、一些可以运行的进程
14.图 5-1
15.对于功能性需求的用例,如果没有使用者,用例不应该 ____ ,也不应该 ____ ,如果找不到使用者,用例就肯定不是 ____。
自动启动 、主动启动另一个用例 、功能性需求
16.如果所有对系统有愿望的人 ____ , 那么这个系统功能性需求就被确定下来。
要做的所有事情都找全了
17.需求是 ____ 无关的。
技术
18.做需求分析时要明确 ____ ?每个使用者的 ____ 是什么?
有多少个使用者 、愿望
19.如何确定使用者?询问那些问题有助于确定使用者?
1)从系统边界内外的角度,通过回答问题确定使用者
(1)谁对系统有着明确的目标和要求并主动发出动作?
(2)系统是为谁服务的?
(3)谁对系统产生的结果感兴趣?
2)从涉众和岗位设置的角度回答问题以确定使用者
(1)谁提供 、使用或删除信息?
(2)谁将需要该系统的支持以完成其日常工作?
(3)谁将使用系统的功能?谁对某个特定功能感兴趣?
(4)在组织的什么地方使用系统?
(5)谁负责支持和维护系统?
3)从外部系统的角度回答问题以确定使用者
(1)系统有那些外部资源?
(2)系统需要处理那些硬件设备?
(3)那些系统将需要与该系统进行交互?
4)从系统内进程或定时做某项工作的角度
一般这种情况使用者就是定时器
20.小李打旅馆客服,客服帮小李预定了客房,此处小李和客服谁是使用者?
小李
21.业务主角是指?
业务主角是使用者的一个衍生型,特别用于定义业务的使用者,在需求阶段使用
22.业务范围是指?
业务范围指项目所涉及的所有客户业务,这些业务有没有软件系统都客观存在
23.系统范围是指?
系统范围是指软件实现的那些对应于业务功能的系统功能
24.用以下方法验证是否为业务主角?
业务主角的名称是否是客户的业务术语
业务主角的职责是否在客户的岗位手册里有对应的定义
业务主角的业务用例是否都是客户的业务术语
客户是否对业务主角能顺利理解
25.通过哪 3 个问题确定系统边界,以区分业务主角和业务工人?
(1)他是主动向系统发出动作的吗?
(2)他有完整的业务目标吗?
(3)系统是为他服务的吗?
26.使用者与涉众的关系?
(1)并不是所有的涉众都是系统的使用者
(2)使用者是涉众的代表