SCSAI平台面向对象建模技术的设计和实现(1)
原创 团长团 AI智造AI编程 2024年09月19日 20:09 北京
用爱编程30年,倾心打造工业和智能智造软件研发平台SCSAI,用创新的方案、大幅的让利和极致的营销,致力于为10000家的中小企业实现数字化转型,打造数字化企业和智能工厂,点击上边蓝色字体,关注“AI智造AI编程”,分享转发文章,让我成为您的合作伙伴。
针对SCSAI平台面向对象建模的设计和实现做思考和总结,逐步给出实现过程相关技术分析,希望相关专业的您能给出宝贵意见。
SCSAI平台以面向对象的分析、设计、编程和建模技术构建软件平台,最终构建出支持用户以面向对象的方式构建对象模型的软件系统,而无需或很少量的编码就可以快速搭建业务系统以及迁移业务系统。
面向对象方法包括 面向对象分析、面向对象设计和面向对象编程。
OOAD(Object Orient Analysis & Design)面向对象分析与设计是现代软件企业广为采用的一项有效技术。OOAD方法要求在设计中要映射现实世界中指定问题域中的对象和实体,例如:顾客、汽车和销售人员等。这就需要设计要尽可能地接近现实世界,即以最自然的方式表述实体。所以面向对象技术的优点即为能够构建与现实世界相对应的问题模型,并保持他们的结构、关系和行为为模式。
在面向对象的设计和编程中,每个对象object都属于某个类class,每个对象都是某个类的实例instance,我们将该类称为对象类ObjectClass.
一般考虑的都是去设计一个对象类,设计该类的属性,方法,类之间的从属关系也就是父类和子类,然后还有多态。
我们在设计系统的时候会考虑去设计系统中一个一个的类,设计类的属性和方法,设计类之间的关系,然后用代码去实现,然后我们在一个复杂的系统中可能设计和实现了成百上千的类,通过软件工程的方法、各种设计工具和面向对象的编程语言做出了一个又一个复杂的软件系统,实现了各种复杂的功能。
很少有人会考虑设计一个工具,通过该工具不需要编程就可以去设计和实现各种类以及类之间的关系,通过工具去实现各种类与其它的类之间的关系、类的展示界面、针对类的各种操作、对类的操作权限等等,综合考虑这些问题的话,我们应该考虑建立一个面向对象的模型,也就是今天我们要讨论的面向对象的建模问题。
今天我们来考虑上述这个问题解决的基本思路:
首先我们要将面向对象编程涉及到的类class考虑更复杂一点,那就是每个对象类ObjectClass也应该是属于某个特定对象类,是该特定对象类的一个实例,为了避免混淆我们将这个特定对象类称之为ObjectClassInfo,简称OCI。今天我们先来谈谈怎么设计和实现这个OCI。
我们要通过设计和实现OCI,当用户对OCI执行相关操作(增删改查等)的时候要达到如下功能:
1.能够创建、删除、修改、查询对象类(每个对象类就是OCI的一个实例);
2.能够定义对象类的展示界面(就是对象类实例的展示界面,包括增删改查和列表等不同场景);
3.能够定义对象类对应的功能在系统菜单中的位置(如果需要的话)。
4.能够定义对象类和其它对象类之间的关系,可能是父子关系,也可能是其它协作关系
5.能够定义对象类的的生命周期;
6.能够定义和管理与对象类相关的工作流程;
7.能够定义和管理对象类的操作权限,也就是谁(某个角色)能够操作和管理该对象类的对象;
8.能够定义和管理对象类的版本信息(如果有的话);
9.能够定义和管理对象类的实例的各种可能操作(operation);
10.能够定义和管理与对象类相关的其它可能的各种应用场景。
11.OCR自身也是一个对象类,针对任何对象类的操作也适合于OCR。
在设计和实现了OCR的上述功能之后,还要做什么了?
具备相应权限的用户通过对OCR的管理和操作,可以实现对任意对象的建模,也就是构建(定义)一个对象模型(对象类),该模型描述了对象的各种属性,对象关联的对象,对象是否支持版本信息,对象的展示界面,可以操作对象的角色,对象的生命周期,对象涉及到的工作流等等。
那么下一步就是该模型的实例(对象)在系统中的创建和呈现问题,也就是以用户在对象模型中定义的菜单位置和用户界面来创建和展现对象。
上述功能如何设计和实现,后边将分别展开,敬请关注。