[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
提取实体类和实体对象
设计者可以依据用例文本描述中出现的名词和名词短语来提取实体对象【abbott ,1983】
另一种方法是根据预先定义的概念型列表,逐项判断系统中是否有对应的实体对象,这种方法可以作为第一种方法的补充
对于一般的软件系统,一般可以从如下的概念出发寻找系统中的实体对象:
* 物理的或者实在的对象
* 人的角色
* 组织
* 时间
* 地点
* 规格说明或事务的描述
* 规则和策略
找到实体类后可以按照对象共性的多少对它们进行分组,以抽象出分析模型中的实体类,但是在分析阶段很难决定某一个实体对象是应该和其他实体对象归入同一类,还是应该作为唯一的对象实例归入一个单一的类中,在这种抢矿下,可行的判断方法是,如果几个对象拥有相同的属性。方法和关系,知识实行的取值各不相同,那么它们应该隶属于同一个对象,否则就应该被抽象为不同的类,一般的经验是为了不发生遗漏,对于较难甄别的对象,可以暂时把它们单独归为一类,保留在分析模型中
提取属性:
一般来说,在面向对象的分析中,尽量使用描述性的语言来说明分析出的属性,而不要使用程序化的语言精确定义属性和属性的类型,寻找分析类的属性时,要把注意力集中在那些数据类型较为简单的属性上,如果发现复杂的属性,要么把这个属性作为一个独立的分析类分离出去,要么这个属性可以用分析类之间的关系来表述
提取关系:
*
分析类之间的关系表明了一个或者多个类间的相互关系,寻找分析类之间的关系:在用例的文本描述中,表示两个名词关系的动词和动词短语可以帮助我们确定分析类之间的关系。例如“。。。。有”
“是............的一部分”等动词都或多或少地揭示了类或对象间的相互关系
* 一般情况下,类间关系如下:
* 一对一的关系:表明两个类之间是一对一对应的关系
* 一对多的关系
* 多对多的关系
* 归纳关系:可以把概念组织成层次结构,在层次结构的最上层是一个最一般的概念,下层则是逐渐特殊化的概念,归纳关系和设计过程中的继承关系相对应