如何进行软件系统分析

原创 2007年09月14日 19:47:00
 

实体类通常指系统中需要持久化的类,代表系统中的核心概念。

软件系统分析目前用的较多的方法就是鲁棒(Robust)分析,也就是健壮性分析。

首先根据用例的描述设计系统的边界类、实体类,和控制类。

 一、边界类

 边界类描述系统与角色的接口,通常是图形用户界面,通信协议、打印机接口、传感器和终端。最常见的就是窗体。那窗体中的各种控件算不算呢?不算,窗体本身是最合适的边界类,而其中的控件就太细小了。 

二、控制类

控制类表示系统的动态行为,处理主要的任务和控制流。简单的说控制类指的就是业务逻辑,他通常独立于实体类和边界类,稳定性较好。

 在什么情况下需要控制类呢?如果控制流比较简单,只处理象添加、修改和删除这样的功能,通常可以由边界类来处理。

 如果业务流程比较复杂,则需要单独设计控制类。

通常一个控制类只和一个角色进行交互,这是基于最小化变更对系统的影响来考虑的。

 三、实体类

 实体类通常指系统中需要持久化的类,代表系统中的核心概念。

四、关系限制

不同的类之间关系的建模有些是必要的,有些则是需要避免的。

边界类®实体类  允许:因为边界对象可能需要在这个边界对象的各个操作之间对某些实体对象进行跟踪。

边界类«控制类  避免:因为关系是短时间存在的,所以没必要建模。

边界类«边界类  允许

控制类«控制类  避免:因为关系是短时间存在的,所以没必要建模。

控制类®实体类  允许

实体类«实体类  允许

实体类®边界类  不允许

实体类®控制类  不允许

实体类对象的生存期一般都很长;而控制类对象和边界类对象的生存期则很短。正是由于这些类的生存期相差如此之大,所以在这些类之间建立关联关系是不可取的。

 五、类设计的原则

1、不同的类之间如果存在相似的职责,考虑重用现有类,如果没有有重用可能的类,才考虑建立新的类。

 2、如果一个类的两个职责之间互不相关,考虑将这个类分成两个。并更新相应的协作关系。

 3、如果一个类只有一项职责,那么需要重新考虑该类存在的必要性。

如何进行软件架构设计2--如何进行软件架构设计

软件架构设计的目的 对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的。 1、为大规模开发提供基础和规范,并提供可重用的资产,软件系...
  • it_man
  • it_man
  • 2012年02月21日 09:07
  • 1336

如何进行软件过程改进

Normal 0 false false false MicrosoftInternetExplorer4
  • routent
  • routent
  • 2008年11月12日 13:54
  • 867

如何进行软件架构设计?(外包)

软件架构设计的目的     对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的。     1、为大规模开发提供基础和规范,并提供可重...
  • fengqinqdca
  • fengqinqdca
  • 2012年10月14日 20:42
  • 1116

如何进行软件系统架构设计?

基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。 1、体系架构需求。即将用户对软件系统功能、性能、界面、设计约束等方面的期望...
  • suxinpingtao51
  • suxinpingtao51
  • 2013年01月25日 10:49
  • 1545

[转]如何进行软件需求分析

本文转自:[希赛网]http://se.csai.cn/Requirement/No020.htm1.概念    需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述...
  • freeliver54
  • freeliver54
  • 2007年12月03日 10:57
  • 268

需求分析和系统分析的区别

需求分析:透过调研问卷、访谈等方式,挖掘客户所描述需求背后的管理诉求和要解决的问题。 需求分析,不是简单的重述客户的描述。  -- 其实就是“问诊” 1、  客户说谈是否仅仅只是现象 2、...
  • ljabclj
  • ljabclj
  • 2015年04月10日 09:02
  • 2718

如何进行软件架构设计

如何进行软件架构设计? 软件架构设计的目的 对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的。     1、为大规模开发提供基础和规范,...
  • yanglin1228
  • yanglin1228
  • 2013年09月19日 08:17
  • 481

企业如何进行软件选型

企业如何进行软件选型企业在进行信息化的时候,首先面对的第一个问题就是软件选型,软件选型的成功与否极大地影响到项目的成败,而软件选型本身却是一个复杂的过程,有很多风险。要规避这些风险就必须注意以下几个方...
  • szliszt
  • szliszt
  • 2006年11月27日 20:10
  • 1054

[转]如何进行软件架构设计?

来源:dev2dev.bea.com.cn    作者:张明星   上次有幸给大家介绍了软件架构设计的“七种武器”,对于这“七种武器”的修炼是一个漫长的过程,除了需要不断的学习理论、原理之外,还要不断...
  • weq221
  • weq221
  • 2009年11月10日 09:31
  • 650

如何进行软件测试管理

如何进行测试管理?想必每位测试管理者都有这个疑惑,我也不例外。   经过了2个公司的测试管理经历,其实总的来说不外乎测试计划、测试用例、测试执行、测试跟踪和测试总结。   今天说一下测试计...
  • fen0707
  • fen0707
  • 2013年05月23日 16:28
  • 552
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何进行软件系统分析
举报原因:
原因补充:

(最多只允许输入30个字)