UML复习
需求分析
-
需求分析的原则
-
需要能够表达和理解问题的数据域和功能域
-
要能以层次化的方式对问题进行分解和不断细化
-
要给出系统的逻辑视图和物理视图
-
-
软件过程模型
-
瀑布模型
-
增量模型
-
螺旋模型
-
协同开发模型
-
-
快速原型模型
-
构件组装模型
-
喷泉模型
-
RUP模型
-
-
好的需求应具有的特性
-
无歧义性
-
完整性
-
一致性
-
可检验性
-
确定性
-
可跟踪性
-
正确性
-
可行性
-
必要性
-
-
软件的非功能性需求有哪些
-
可靠性
-
可用性
-
有效性
-
可维护性
-
可移植性
-
-
为什么需求分析比较困难?
-
客户说不清楚需求
-
需求自身不断变动
-
分析人员或客户理解有误
-
-
软件需求分析的目标
软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
-
软件需求分析的任务
需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。
-
软件需求分析过程会生成哪些模型
-
通过对现实环境的调查,获得当前系统的物理模型
-
去掉具体模型中非本质因素,抽象出当前系统的逻辑模型
-
分析当前系统与目标系统的差别,建立目标系统的逻辑模型
-
-
需求分析的过程
-
问题识别
-
分析与综合
-
编制需求分析阶段的文档
-
需求分析评审
-
-
软件需求包括哪些内容(类型)
-
功能
-
性能
-
环境
-
界面
-
用户或人的因素
-
文档
-
数据
-
资源
-
安全保密
-
软件成本消耗与开发进度
-
质量保证
-
-
常用的软件需求分析方法
-
面向数据流的结构化分析方法 (SA)
-
-
面向数据结构的Jackson方法 (JSD)
-
面向对象的分析方法 (OOA) 等
-
-
调查研究的主要方法
-
访问面谈
-
收集查问资料
-
深入现场,跟班作业
-
-
什么是结构化分析方法
结构化分析方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法,
面向数据流进行需求分析的方法
结构化分析方法适合于数据处理类型软件的需求分析
具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止
-
结构化分析方法使用工具
-
实体关系(E-R)方法
-
数据流图
-
数据词典
-
状态迁移图
-
逻辑说明工具
-
-
数据流图的作用
目标系统被表示成如下图所示的数据变换流程图。系统的功能体现在核心的数据变换中
-
数据词典
数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。
数据词典与数据流图配合,能清楚地表达数据处理的要求
-
状态迁移图
行为建模给出需求分析方法的所有操作原则
状态—迁移图(STD)或状态—迁移表来描述系 统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为
UML部分
UML简介
-
UML模型中有哪些图
用例图、类图、状态图、时序图、活动图、协作图、部署图、构件图、对象图
-
动态视图包含哪些UML图?
活动图、状态图(状态模型)、时序图和协作图。(交互模型)
-
静态视图包含哪些UML图?
用例图、类图、对象图、构件图、部署图
用例图
-
用例图的主要作用
用例图主要用来描述用户的功能需求
-
用例图主要组成元素:
参与者(Actor):也称为参与者,它代表系统的用户。
系统边界(System Scope):它确定系统的范围。
用例(Use Case):它代表系统提供的服务。
关系(Association):
-
用例图中的关系有哪几种
关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。
-
参与者之间可以存在什么关系
泛化关系
-
解释用例间的包含关系,并举例
![image-20211217132749390]()
-
例子:
-

-
解释用例间的扩展关系,并举例。
![image-20211217132946725]()
-
用例建模的步骤
-
确定系统需求
-
确定参与者
-
确定用例
-
构建用例模型
-
类图
-
类间关系有哪些?
依赖关系、泛化关系、关联关系、实现关系
-
深刻理解类的泛化中,子类可以继承父类的哪些属性和方法。
子类可以继承父类的public 属性和方法,可以继承protected属性和方法
-
类图的建立有哪些步骤?
-
研究分析问题领域,确定系统需求。
-
确定类,明确类的含义和职责,确定属性和操作。
-
确定类之间的关系。
-
调整和细化类及类之间的关系。
-
绘制类图并增加相应的说明。
-
-
类图与对象图的关系
对象图描述系统在某一个特定时间点上的静态结构,是类图的实例和快照。
-
类设计的六大原则
开放封闭原则、单一职责原则、松耦合原则、里氏替换原则、最少知识原则、接口隔离原则、依赖倒置原则
状态图
-
什么是状态图?它有什么用途?
状态图主要用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起状态之间的转换。
-
状态机的组成有哪些?
状态、转换、事件、活动、动作
-
状态图中的事件种类有哪些?
调用事件、信号事件、改变事件、时间事件、延迟事件
时序图
-
时序图的组成有哪些?
对象、生命线、激活、消息
-
什么是时序图的生命线?它有什么作用?
生命线是一个时间线,从时序图的顶部一直延伸到底部。
作用:用来表示序列图中的对象在一段时间内的存在。
-
消息有哪几类,各自的意义和表示什么?
发送者、接收者、活动
-
顺序图的建立有哪些步骤?
-
确定需要建模的用例。
-
确定用例的工作流。
-
确定各工作流所涉及的对象,并按从左到右顺序进行布置。
-
添加消息和条件以便创建每一个工作流。
-
活动图
-
什么时候是活动图,它的作用是什么?
-
活动图是用来描述达到一个目标所实施一系列活动的过程,描述了系统的特征。
-
用来描述工作流。
-
-
活动图的作用,活动图与流程图的区别。
-
流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系
-
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。
-
活动图能够表示并发活动的情形,而流程图不能。
-
活动图是面向对象的,而流程图是面向过程的。
-
-
活动图的建立有哪些步骤?
-
标识活动图的用例。
-
建模用例的主路径。
-
添加泳道来标识活动的事物分区。
-
改进高层活动。
-
建模用例的从路径。
-
其他
-
在RUP的“4+1”视图中,这个4代表什么?这个1代表什么?
![image-20211217133748259]()
-
场景视图 :静态方面用 用例图 表现,动态方面用活动图、状态图、交互图表现。
-
逻辑视图:包含了类、接口、协作,静态方面用 类图和对象图表现,动态方面用活动图、状态图、交互图表现。
-
开发视图:(Development View),描述了在开发环境中软件的静态组织结构。静态方面用 组件图 表示。
-
进程视图(行为视图):侧重系统的运行特性关注非功能性的需求性能可用性。服务于系统集成人员方便后续性能测试。强调并发性、分布性、集成性、鲁棒性容错、可扩充性、吞吐量等。和逻辑实体类似,可用类图(扩展)、活动图、交互图、状态图表现。
-
-



浙公网安备 33010602011771号