系统分析

1、 系统用例

(1)系统用例是用来定义系统范围、获取功能性需求的。是软件开发的全部范围,是我们得到的最终需求。

(2)系统用例视图

一般的系统用例视图是以业务用例为单位展开的,系统用例视图即是系统的开发范围。

(3)系统用例实现视图

描述系统用例一种或多种实现方式。

(4)系统用例模型

为系统既定功能及系统环境的模型。主要包括:业务用例,概念用例,用例视图,用例规约,补充规约,业务规则,用例实现,用例场景,分析对象。

业务用例à系统用例à用例实现à用例场景à分析对象

2、 获取系统用例

推导系统用例的基本方法是获取业务用例场景图,尤其是活动图。采用活动图绘制业务用例时讲业务主角和业务工人作为泳道,方便观察他们的职责。系统用例可以从这些职责里抽取出来。

从业务用例场景中抽象出备选的系统用例并且被纳入系统的基本方法:

映射,抽象,合并,拆分,演绎

3、 描述系统用例

与业务用例相同,采用的工具仍然是用例场景,用例规约,对象模型,用例实现,用例实现场景。视角和建模的目的已经从原来的描述业务,理解业务变成了理解系统,描述系统

(1)       从业务需求到系统需求

系统用例的确定是从业务用例场景开始,采用映射,抽象,合并,拆分,演绎等方法,从业务用例场景中找到系统用例,从而确定了系统范围。再针对系统用例进行建模,通过用例场景和用例规约得到系统需求。

(2)       颗粒度问题

在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜,即描述一项完整的业务流程。

在概念建模阶段,用例的粒度以每个用例能表述一个完整的事件流为宜,完整业务中的一个步骤。

在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。

4、 分析业务规约

业务规约:顾名思义就是业务上的一些规定。分析业务规约时,按照三类进行:

(1)       全局规约:

对系统大部分业务或系统设计都起约束作用的那些规约。分析人是架构师。

(2)       交互规约

活动、状态或对象,他们在活动转移、状态变化或对象交互时会有一些限制性的条件。

交互规约产生于用例场景当中。可以在业务用例场景、业务用例规约、系统用例场景、系统用例规约中找。

(3)  内禀规则

业务对象本身所具备的,不会因为外面的交互而该变化的规约。个人理解就是业务对象的某些特性。

5、 用例实现

用例实现是将系统用例进行实现,目的就是实现系统的需求。

用例场景和用例规约是我们实现用例的基础,采用的工具则是分析模型。

为了用例实现建模,需要以下步骤:

(1)       需要在用例场景当中发现和定义实体对象。

(2)       需要用控制对象来操作和处理实体对象中的数据。

(3)       需要用边界对象来构建接收外部指令界面。

6、 软件架构

对软件结构组成的规则和职责设定。

软件框架是软件架构的一种实现,它通常针对一个软件架构当中某一个特定的问题提供解决方案和辅助工具。

7、 分析模型

(1)       建立分析模型

将分析类和软件架构结合起来,确定这些类在软件架构中是哪一层。

将分析类在各个层次的情况分析清楚后,需要在每一个层次上在软件框架的规范内来实现用例场景。

通过用例确定系统需求。

通过用例实现,得到系统需求的计算机视角理解。

规定软件架构,确定软件层次。

在每一个层次上决定了适用的软件框架。

分析用例实现在每个软件层次上是如何动作的。

根据每个软件层次上所使用的软件框架并使用分析类来实现用例。

综合各个软件层次得到的分析类,形成分析模型。

得到实现了系统需求最基本的类和类方法。

(2)       优化分析模型

应该关注这样几个关键点:

容易变化的需求:使设计模型带有一定的可扩展能力,适应变化。

结构化和耦合度调整:尽量采用树状结构,对象之间的依赖是单向的,不是交叉的。

交互集中点调整:如果一个对象的交互多,它依赖或关联到很多类,这个对象就需要调整。可以采用的方法有:重新规划职责、增加冗余对象、增加中间调合对象等方法。

转载于:https://www.cnblogs.com/gaoweipeng/archive/2011/04/26/2029293.html

设计学习---《大象》之系统分析相关推荐

  1. UE4场景设计学习教程

    视频:MPEG4视频(H264) 1920×1080 25fps 1400kbps |音频:AAC 44100Hz立体声128kbps 语言:西班牙语+中英文字幕(根据原英文字幕机译更准确) |时长: ...

  2. UI设计学习的对比原则怎么运用?

    本期小编为大家介绍的UI设计培训教程就是关于UI设计学习的对比原则怎么运用?因为在UI设计中分组原则这一项在文字排版中运用的几率是比较频繁的,并且分组对于层次感和整合信息都有一定的帮助,但是光有分组还 ...

  3. 《Rhino3D 4.0产品造型设计学习手册》——导读

    本节书摘来自异步社区<Rhino3D 4.0产品造型设计学习手册>一书中的目录,作者[韩]崔成权,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 Part. ...

  4. 值得收藏!UI设计学习借鉴常用网站

    UI设计学习网站有那些? 推荐几何,个人觉得还不错的网站, 希望能帮到一些初学UI设计的朋友. 1:站酷网-http://www.zcool.com.cn/站酷网,分享交流的老牌网站! "站 ...

  5. UI入门必读!完整的UI设计学习流程是怎样的?

    目前UI设计师现越来越火,薪资也越来越高.随着技术领域的逐步拓展,产品生产的人性化意识日趋增强,越来越多的企业开始注重交互设计.用户测试方面的投入,这也就意味着兼具美术设计.程序编码.市场调查.心理学 ...

  6. ui设计学习路线图分享送给初学者

    本文来源:千锋UI设计 Ui设计师就业市场前景及薪资很可观,而且现在市场上对于ui设计师的人才需求也很大,所以,现在越来越多的人看好这一行业,纷纷投入到ui设计的学习中来,那么想新手想要学好ui设计, ...

  7. 模电设计学习笔记(二)——反相放大电路

    模电设计学习笔记(二) 反向放大电路设计 反向放大电路:输出信号与输入信号的相位相反并且电压或电流值成一定比例. 如下图就是一个简单的反向放大电路. 设计反向放大电路,同样的需要先清除需求,然后定量的 ...

  8. FPGA CDC跨时钟域设计学习(一)亚稳态

    FPGA CDC跨时钟域设计学习(一) 亚稳态 MTBF - mean time before failure 同步器 理论 设计原则 学习资源主要来源于CummingsSNUG2008Boston_ ...

  9. 数字IC设计学习笔记_Formality 形式验证

    数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...

  10. UI设计学习:Logo

    UI设计学习:Logo 1.确定方向 你要明白你的LOGO的初步方案,为什么公司做什么样的LOGO?大概要突出哪些方向,最好在设计之前有一个草图,这样就能够正真做的时候做到大概有数,从而让接下来的工作 ...

最新文章

  1. 利用BP神经网络教计算机进行非线函数拟合(代码部分多层)
  2. 匿名块 块内实体的修改
  3. mysql监控 hp_0066 使用PHP和MySQL实现学生分数信息管理
  4. 线性最小二乘问题求解的豪斯荷尔德法C实现
  5. 网络适配器有感叹号不能上网_笔记本电脑显示无internet安全,不能无线上网怎么办...
  6. 推荐算法注意点和DeepFM工程化实现
  7. 基于epoll的简单的http服务器
  8. oracle查询空的时间,ORACLE 查看用户密码修改时间
  9. win7 蓝牙4.0 ble驱动_低功耗蓝牙时代,纽扣电池寿命可达十年
  10. 微信编辑器新手入门必读
  11. 某多道程序设计系统供用户使用得主存为 100K , 磁带机 2 台, 打印机 1 台。 采用可变分区内存管理, 采用静态方式分配外围设备, 忽略用户作业F O 时间。 现有作业序列如下:
  12. python代码翻译器-Python实现翻译软件
  13. Rocket-chip-l2bus
  14. 科目三考试技巧全总结
  15. java找不到符号或方法,java 找不到符号解决方法
  16. 新思课堂C语言答案,新思课堂APP最新版下载_新思课堂APP官方版1.6.8下载_QQ下载站...
  17. java怎么取map中的key值,Java获取map中key和value的方法
  18. js-beautify 不换行
  19. Java 判断是否为大写字母
  20. 一周疫情对行业影响观察 | 中国资产或成避险资产;亚太旅游零售业呼吁政府财政支持...

热门文章

  1. 查询结果做缓存的例子
  2. 一些关于虚拟交易的有趣文章
  3. console线驱动安装_低压灯带和高压灯带区别是啥 安装方法是啥?
  4. json oracle 导入,JsonToOracle-Json导入Oracle工具下载 v2.0 官方版 - 安下载
  5. mysql数据倾斜_sqoop数据倾斜解决实战
  6. tp框架操作mysql_Thinkphp框架对数据库的操作(总结)
  7. android百度地图获取定位信息吗,android使用百度地圖定位(獲取當前經緯度和地址信息)...
  8. jmeter性能测试_JMeter性能测试,接口测试,最全的JMeter资料,共计3.16G
  9. mysql导出表到新建_用navicat导出mysql的数据库后,再用navicat导入到新建的数据库,报错。...
  10. php快速排序分割两部分,php四大算法|冒泡排序|快速排序|二分查找