提取实体类对象和实体类 提取属性 提取关系

提取实体类和实体对象

设计者可以依据用例文本描述中出现的名词和名词短语来提取实体对象【abbott ,1983】

另一种方法是根据预先定义的概念型列表,逐项判断系统中是否有对应的实体对象,这种方法可以作为第一种方法的补充

对于一般的软件系统,一般可以从如下的概念出发寻找系统中的实体对象:

  • 物理的或者实在的对象
  • 人的角色
  • 组织
  • 时间
  • 地点
  • 规格说明或事务的描述
  • 规则和策略

找到实体类后可以按照对象共性的多少对它们进行分组,以抽象出分析模型中的实体类,但是在分析阶段很难决定某一个实体对象是应该和其他实体对象归入同一类,还是应该作为唯一的对象实例归入一个单一的类中,在这种抢矿下,可行的判断方法是,如果几个对象拥有相同的属性。方法和关系,知识实行的取值各不相同,那么它们应该隶属于同一个对象,否则就应该被抽象为不同的类,一般的经验是为了不发生遗漏,对于较难甄别的对象,可以暂时把它们单独归为一类,保留在分析模型中

提取属性:

一般来说,在面向对象的分析中,尽量使用描述性的语言来说明分析出的属性,而不要使用程序化的语言精确定义属性和属性的类型,寻找分析类的属性时,要把注意力集中在那些数据类型较为简单的属性上,如果发现复杂的属性,要么把这个属性作为一个独立的分析类分离出去,要么这个属性可以用分析类之间的关系来表述

提取关系:

  • 分析类之间的关系表明了一个或者多个类间的相互关系,寻找分析类之间的关系:在用例的文本描述中,表示两个名词关系的动词和动词短语可以帮助我们确定分析类之间的关系。例如“。。。。有” “是............的一部分”等动词都或多或少地揭示了类或对象间的相互关系
  • 一般情况下,类间关系如下:
  • 一对一的关系:表明两个类之间是一对一对应的关系
  • 一对多的关系
  • 多对多的关系
  • 归纳关系:可以把概念组织成层次结构,在层次结构的最上层是一个最一般的概念,下层则是逐渐特殊化的概念,归纳关系和设计过程中的继承关系相对应

时间: 2024-10-27 11:15:20

提取实体类对象和实体类 提取属性 提取关系的相关文章

关注C++细节——含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、赋值运算符的例子

本例只是对含有本类对象指针的类的构造函数.析构函数.拷贝构造函数.复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解. 读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码. 第一版: #include <string> #include <iostream> using namespace std; class TreeNode{ private: string value; TreeNode *left; TreeNode *

类对象序列化操作类

记录下类对象序列化的类以便以后用到 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Xml; using System.Xml.Serialization; namespace TTOCR.Common {

【C++】派生类对象初始化基类的引用

//派生类对象初始化基类的引用 //引用是别名,但这个别名只能包含派生类对象中的由基类继承来的隐藏对象 #include <iostream> using namespace std; class B { public: B() { cout<<"B"<<endl; } void fun() { cout<<"B::fun()"<<endl; } private: int x; }; class D : p

项目实战,通过类对象,反射类属性等信息。通过数据库连接信息,获取所有的对象以及结果

依旧是项目内的需求: 基于mysql进行的操作,因为要作为通用产品模型,对接不同地市,就是没有确定的mapper可用.所以采用jdbc去封装. 场景一: 条件:已经根据IDEA的database插件,利用POJO生成对应的实体类. 需求:获取所有表内容 (select * ),list输出. public static final String ENTRY_PATH = "com.ucap.exchange.dataexchange.entity"; public static Lis

python中利用少量代码快速实现从类对象中抽取所需属性的一种实践

项目中有可能会碰到这样一种场景: 根据一个id,查询得到和id对应的完整数据信息存储对象,比如书籍id到书籍详细信息,用户id到用户详细信息等,详细信息字段可能包括几十甚至上百个数据字段,真正需要返回给调用方的字段实际上却只占其中一小部分,这是出于性能和带宽的考虑(甚至在有些场景中,处于隐私或者安全考虑,强制要求不能返回非协议定义的信息字段,比如第三方登录一般只返回用户昵称.性别等少量信息),一般会从详细的数据对象中抽取出所需要的信息组装一个新的简化对象. 今天碰到这样一个问题,需要将一个存储多

创建类对象并获取类的完整结构

创建类的对象:条用Class对象的newInstance方法 1.类必须有一个无参构造器 2.类的构造器的访问权限需要足够. 没有无参构造器也能创建: 1.通过Class类的getDeclaredConstructor取得本类的指定形参类型的构造器 2.向构造器的形参中传递一个对象数组进去,里面包含了构造器中所需要的各个参数 3.在Constructor类中存在一个方法public newInstance 运行时类调用的空参构造器

Java中的类对象(把类当作对象)方法总结

本帖漫漫总结,持续完善,直接结束,具体完成时间不确定! 一.GET系列 getAnnotation(annotationClass)得到类的注释 getAnnotations()得到类的所有注释 getCanonicalName()得到标准名称 getClasses()得到所有的父类.本类.子类和接口 getClassLoader()得到本类所在的文件位置 getComponentType()得到组件类型 getConstructor(parameterTypes)得到构造函数 getDecla

Objective-C对象之类对象和元类对象

作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/8592492 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 作为C语言的超集,面向对象成为Objective-C与C语言的最大区别,因此,对象是Objective-C中最重要的部分之一.目前面向对象的语言有很多,Objective-C中的对象又和其他语言中的对象有什么区别呢?下面来简单介绍Objectiv

C++:基类与派生类对象之间的赋值兼容关系

4.5 基类与派生类对象之间的赋值兼容关系 在一定条件下,不同类型的数据之间可以进行类型转换,例如可以将整型数据赋给双精度型变量. 在赋值之前,先把整型数据转换为双精度型数据,然后再把它双精度型变量.这种不同类型之间的自动转换,称为赋值兼容.在基类和派生类对象之间也存在有赋值兼容关系,基类和派生类对象之间的赋值兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来代替.因为,通过公有继承,除了构造函数和析构函数外,派生类保留了基类其他的所有的成员.那么,派生类就具有基类的全部功能,凡