龙空技术网

系统分析与设计(一)- 问题分析

一米行者 112

前言:

当前看官们对“面向对象分析时所采用的模型有哪些”大体比较着重,你们都想要知道一些“面向对象分析时所采用的模型有哪些”的相关文章。那么小编同时在网上搜集了一些对于“面向对象分析时所采用的模型有哪些””的相关内容,希望咱们能喜欢,大家快快来了解一下吧!

简单介绍

从软件开发项目中的角色分配来看,系统架构师与系统分析师协作,在信息系统项目管理理由的协调下工作。

软件的目的是为了解决问题,因此在建模之初最重要的步骤是问题的分析与定义。

1、如何进行问题的分析与定义

2、如何获得有效的模型;

定义问题与归结模型

定义问题:理解真实世界中的问题和用户的需要,并提出满足这些需要的解决方案的过程。

问题分析

问题分析的目标就是在开始开发之前对要解决的问题有一个更透彻的理解,理解本质,确定项目干系人,定义系统的界限和确定系统实现的约束。

问题定义上达成共识

检验大家是否在问题的定义上达成共识,最简单的方法就是把问题写出来。将问题用标准格式写出来,根据UP的建议,应该包括以下几个方面:

1、问题概述:用简短的几句话,将所理解的问题本质描述出来;

2、影响:说明该问题将会对哪些项目干系人(风险承担者)产生影响;

3、结果:确定问题对项目干系人和商业活动会产生什么样的影响;

4、优点:概要性地提出解决方案,并列举出该解决方案的主要优点。

问题定义上达成共识,能够有效地将开发团队的理解与用户的需求达成一致,这样就能够使得整个系统的开发沿着合理的方向进展。

理解问题的本质

每一句描述应该透过表面深入本质,理解问题背后的问题,是在问题分析阶段的一个十分关键的任务。可以使用因果鱼骨图和帕托图两种方法。

因果鱼骨图

用于探寻问题根源的技术,直观的图形找出问题或现象的所有潜在原因。通过直观图的图形找出问题或现象的所有潜在原因,从而追踪出问题的根源。

遵循以下步骤:

1、将问题简明扼要地写在右边的方框里;

2、确定问题潜在原因的主要类别,将它们连到鱼的脊骨上;

3、用头脑风暴法寻找原因并归类。

帕累托图

采用直方图的形式,根据问题的相对频率或大小从高往低降序排列,将精力集中在重要的问题上,可以一目了然地显示出各个问题的相对重要程序,它有助于预防在解决了一些问题后,去使另外一些问题变得更糟,进行以下步骤;

1、明确问题:达成共识的问题定义;

2、找出问题的各种可能原因:通过头脑风暴,或资源与运维数据;

3、选择评价标准和考察期限:频率和费用;

4、收集各种原因发生的频率及费用数据;

5、将原因按照发生的频率或费用从大到时小进行排列起来;

6、将原因排在横轴上,频率或费用排列在纵轴上。

确定项目的干系人与用户

必须了解用户和其他相关的项目干系人的需要。不同项目干系人通常对问题有不同的看法和不同的需要,这些在解决问题的时候需要考虑。主要从以下方面进行思考:

1、系统的用户是谁?

2、系统的客户是谁?

3、还有哪些人会受到系统输出的影响?

4、系统完成投入使用后,有谁会对它进行评估?

5、还有没有其他系统内部或外部客户,它们的需要有没有必要被考虑到?

6、系统将来由谁来维护?

定义系统的边界

指解决方案系统和现实世界之间的边界。要描述系统的边界有两种方法:

1、结构化分析中“上下文范围图”

2、面向对象分析中“用例模型”

可以从以下方面进行考虑:

1、谁会对系统提供信息?

2、谁会在系统中使用信息?

3、谁会从系统中删除信息?

4、谁将操作系统?

5、系统将会在哪儿被使用?

6、系统从哪儿得到信息?

7、哪些外部系统要和系统进行交互。

确定系统实现约束

约束都将影响到时最后的解决方案的形成,甚至会影响是否能够提出解决方案。约束源主要包含:

1、进度

2、投资收益

3、人员

4、设备预算

5、环境

6、操作系统

7、数据库

8、主机和客户机系统

9、技术问题

10、行政问题

11、已有软件

12、公司总体战略和程序

13、工具和语言的选择

14、人员及其他资源限制

标签: #面向对象分析时所采用的模型有哪些