《需求分析和系统建模(共6页).doc》由会员分享,可在线阅读,更多相关《需求分析和系统建模(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上2.3 UML建模中涉及的分析类2.3.1 Rational Rose2003提供的3种分析类1Rational Rose2003提供的3种分析类(1)边界类。边界类在系统与外界之间,为它们交换各种信息与事件。边界类处理软件系统的输入与输出。在RUP的有关文档中对边界类的解释为:“边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。”边界类一般代表系统的“用户界面”,如它可以是一个与用户通过图形界面(如窗体)的交互,或者与其他角色的交互(例如代表其他系统的角色)和设备(如打印机和扫描仪等硬件的
2、接口)的交互等。边界类将系统的其他部分和外部相关事物隔离并保护起来,其主要的功能是:输入、输出和过滤。图2.33所示为在Rational Rose2003中设置为边界类的选择项目图示。图2.33在Rational Rose2003中设置为边界类的选择项目(2)实体类。它是一个业务级别的分析类,例如,银行系统中的银行顾客、账户。在RUP的有关文档中对实体类的解释为:“实体类是用于对必须存储的信息和相关行为建模的类。实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如事件、人员或者一些现实生活中的对象。实体类通常都是永久性的,它们具有的属性和关系是系统长期需要的,有时甚至在系统的整个生命
3、周期都需要。”实体类通常用业务域中的术语命名,它是现实事物在系统中的映射。通过它可以表达和管理系统中的信息。在模型中,系统中的关键概念以实体类来表现。图2.34所示为在Rational Rose2003中设置为实体类的选择项目图示。图2.34在RationalRose2003中设置为实体类的选择项目(3)控制类。控制类与业务过程相关,它们控制整个业务的流程和执行次序。在RUP的有关文档中对控制类的解释为:“控制类用于对一个或几个用例所特有的控制行为进行建模。控制对象(控制类的实例)通常控制其他对象,因此它们的行为具有协调性质。控制类将用例的特有行为进行封装。”控制类是一组操作的集合,它用来协调
4、各个边界类对象、实体类对象等。控制类能有效地将边界对象与实体对象相互分开,让系统能更适应其边界类发生的变更,同时也使实体对象在用例和系统中具有更高的复用性。但对于输入、检索、显示或修改信息的简单事件流,不一定就需要控制类,可以由边界类直接负责协调各个用例。它可能与其他对象协作以实现用例的行为,控制类也称管理类。其主要的功能是:控制事件流,负责为实体类分配任务。一般采用为每个用例确定一个控制类的实现方式。图2.35所示为在Rational Rose2003中设置为控制类的选择项目图示。图2.35在Rational Rose2003中设置为控制类的选择项目2区分分析类与设计类的不同(1)分析类。由
5、于分析类是在建模过程中产生的,因此它和具体编程实现的语言是无关的,而设计类具有特定的语言特点,比如Java语言中的类,C+语言中的类。(2)分析类和设计类之间没有必要存在一一对应的关系。3Rational Rose2003中3种分析类的UML图示在Rational Rose2003中,为了明确地区分分析类和设计类,专门为分析类提供了对应的图形。图2.36给出了Rational Rose2003支持的3种分析类的UML图示。图2.36 RationalRose2003中3种分析类的UML图示43种分析类对象间交互的4个原则(1)用例的参与者只能与边界对象进行交互。(2)边界对象只能与控制对象和用
6、例的参与者进行交互(即不能直接访问实体对象)。(3)实体对象只能与控制对象进行交互。3种分析类对象间的交互关系参考图2.37所示的状态。图2.37 3种分析类对象问的交互图示(4)控制类对象的访问规则。控制类对象可以和边界对象交互,也可以和实体对象交互,但不能和用例的参与者直接进行交互。具体的交互关系如图2.38所示。图2.38 控制对象可以和边界对象、实体对象进行交互1某网上银行系统中主要的分析类(1)系统中的各个边界类。某网上银行系统中的边界类主要有:用户账号表单、转账信息表单、存/取款表单。分别将这些边界类在Rational Rose中建立,并在图2.39所示对话框的【Stereotyp
7、e】下拉列表框中选择分析类为“boundary”类型,如图2.39所示。图2.39 某网上银行系统中的各个边界类示例(2)系统中的各个控制类。某刚上银行系统中的控制类主要有:开户、销户、转账、存/取款、修改密码。分别将这些控制类在Rational Rose中建立,并在图2.40所示对话框的【Stereotype】下拉列表框中选择分析类为“control”类型,如图2.40所示。图2.40某网上银行系统中的各个控制类示例(3)系统中的各个实体类。某网上银行系统中的实体类主要有:用户、管理员、账户、人民币账户、美元账户。分别将这些实体类在Rational Rose中建立,并在图2.41所示对话框的
8、【Stereotype】下拉列表框中选择分析类为“Business Entity”类型,如图2.41所示。图2.41某网上银行系统中的各个实体类示例2基于分析类实现的用户开户业务的分析类图在Rational Rose中新建用户开户业务的分析类图,并将在前面设计的各个分析类拖动到该类图中,设置其相互之间的关系。最后的结果如图2.42所示。图2.42某网上银行系统中开户业务分析类的简单图示例注意:由于本阶段处于系统的分析阶段,类图中的各个类是不需要考虑其成员属性和方法的。这是与设计类的一个主要不同点;另外,Rational Rose工具专门为分析阶段的各种形式的类提供了相应的表示方式。专心-专注-专业