CN112882693A - 一种数据管理系统设计方法 - Google Patents

一种数据管理系统设计方法 Download PDF

Info

Publication number
CN112882693A
CN112882693A CN202110070986.XA CN202110070986A CN112882693A CN 112882693 A CN112882693 A CN 112882693A CN 202110070986 A CN202110070986 A CN 202110070986A CN 112882693 A CN112882693 A CN 112882693A
Authority
CN
China
Prior art keywords
interface
data
data model
information
management system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110070986.XA
Other languages
English (en)
Inventor
王帅
代祥松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Certainn Technology Co Ltd
Original Assignee
Shenzhen Certainn Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Certainn Technology Co Ltd filed Critical Shenzhen Certainn Technology Co Ltd
Priority to CN202110070986.XA priority Critical patent/CN112882693A/zh
Publication of CN112882693A publication Critical patent/CN112882693A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种数据管理系统设计方法,包括以下步骤:S1、设计数据模型并定义数据模型的结构,数据模型的结构包含构建软件界面所需的多种界面信息,每种界面信息分别包含多个界面元素;S2、从数据模型结构中提取每种界面信息包含的各个界面元素;S3、基于界面元素生成数据管理系统的软件界面;S4、关联数据表和数据模型,基于数据表构建数据管理系统的数据库模块。本发明提供的方法可以让开发者避免编写关于SQL和软件界面的代码,能够根据用户需求快速完成软件开发,提高开发工作效率。

Description

一种数据管理系统设计方法
技术领域
本发明涉及软件设计方法领域,具体是一种数据管理系统设计方法。
背景技术
数据管理系统是常用的软件,典型的数据管理系统主要由数据库和软件界面两大模块组成。其中数据库系统使用数据表来组织数据,对于软件开发者而言,一般是通过编写SQL脚本来创建或管理这些数据表,主要涉及数据表的创建、数据的添加、删除、修改、查询,这些SQL语句的复杂度取决于数据表结构的设计,例如,某个数据表格使用了N个字段来存放数据记录,那么开发者至少需要编写如表1所示的几种类型的SQL语句(非标准SQL语法,举例用):
表1 SQL语句表
Figure BDA0002905954230000011
上述表格描述了与1个数据表相关的SQL语句的大概情况,而一般的数据管理系统远不止使用1个数据表,再考虑条件查询功能需求,就需要开发者编写大量的SQL语句。
数据管理系统的软件界面主要提供数据的展示和编辑功能,因此上面的界面元素(数据标题、数据内容等)需要与数据表保持一致,假设需要显示的数据包含了N个字段,那么界面上至少要布置2*N个元素(标题、内容等);为了提升界面的开发效率,开发者一般都会借助开发工具提供的可视化开发方法来订制软件界面,因为直接写代码来实现界面的方式涉及的代码和逻辑控制太复杂,然而使用可视化方法得到软件界面在代码形式上也是固定保持不变的,当数据的需求发生了变更时,开发者就不可避免地需要重新调整这些界面代码。
传统的开发方法导致开发者除了关注数据模型的变化还要额外花费大量时间来开发调试SQL脚本或界面代码,由于用户的需求变动总是比较频繁的,这就导致开发者不得不重复这些繁琐的工作进行着反复重新编写,开发效率比较低下。
发明内容
本发明的目的是提供一种数据管理系统设计方法,以解决现有技术数据库管理系统设计过程存在的开发效率低的问题。
为了达到上述目的,本发明所采用的技术方案为:
一种数据管理系统设计方法,包括以下步骤:
S1、根据数据管理系统中需要得到的软件界面的数据需求,设计数据模型并定义数据模型的结构,数据模型的结构包含构建软件界面所需的多种界面信息,每种界面信息分别包含多个界面元素;
S2、从步骤S1中的数据模型结构中提取每种界面信息包含的各个界面元素;
S3、基于步骤S2提取的界面元素生成数据管理系统的软件界面;
S4、构建数据表,并关联数据表和步骤S1设计的数据模型,然后利用关联后的数据表构建数据管理系统的数据库模块。
本发明步骤S1中,利用C#语言定义数据模型的结构,定义数据模型的结构时采用字段描述每种界面信息,以及构成每种界面信息的各个界面元素。
其中,构成界面信息的界面元素至少包含标题信息、界面控件的类型信息、界面元素的位置和大小信息、最大字符个数信息、用于限制输入或显示的字符个数信息。
本发明中,利用C#语言中的特性标记功能Attribute,定义数据模型的结构时使用特性数据类型描述界面元素。
本发明步骤S2中,利用C#语言中的类反射技术Reflection,获取界面元素特性集合,然后遍历特性集合里的元素,得到所有界面元素。
本发明步骤S3中,利用WPF软件技术基于各种界面元素字段描述信息生成所述软件界面。同时,利用WPF软件技术根据各种界面元素字段描述信息创建对应的控件,并将各个控件整合于所述软件界面。
同时利用WPF技术的数据绑定功能实现软件界面与数据模型中界面元素的关联。
本发明步骤S4中,采用ORM软件关联数据表和数据模型。使用ORM提供的特性描述数据模型中的数据关系,由此关联数据表和数据模型。
与传统的开发方法相比,通过本发明方法,开发者不用关心具体的SQL语句的编写就可以实现数据库的相关功能,从而降低了数据库方面的开发复杂度。采用本发明方法时,开发者主要的工作量集中在数据模型的设计和编写,而数据模型其实只是一个包含了许多属性的简单类,因此可从总体上减少大量的代码编写工作,客观上节省了代码编写和调试的时间,从而提高了研发效率。
本发明方法中,由于开发者不用编写有关界面和数据库的代码,而是可以专注于数据模型的开发;采用本发明方法在后期面临界面或数据表方面的调整时,开发者仅需要对数据模型定义代码进行调整,从而可以快速地响应用户的需求调整。
因此,本发明提供的方法可以让开发者避免编写关于SQL和软件界面的代码,相对于传统的方法主要有以下优点:
1、开发者可以更专注于数据模型的设计和数据表设计。
2、能够根据用户需求快速完成软件开发。
3、用户的需求即使频繁变更也不会造成很大的影响。
附图说明
图1是本发明实施例流程框图。
图2是本发明实施例设计的软件界面示意图。
图3是本发明实施例中对应软件界面的数据模型结构示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图1所示,本发明提出一种数据管理系统设计方法,包括以下步骤:
S1、根据数据管理系统中需要得到的软件界面的数据需求,设计数据模型并定义数据模型的结构,数据模型的结构包含构建软件界面所需的多种界面信息,每种界面信息分别包含多个界面元素。
步骤S1中,具体可利用C#语言定义数据模型的结构,定义数据模型的结构时采用字段描述每种界面信息,以及构成每种界面信息的各个界面元素。
如图2所示,软件界面的界面信息包括姓名、年龄、性别、检查结果、检查时间。因此利用C#语言定义的数据模型的结构时,所采用的字段如图3所示,包括+patName、+patGender、+patAge、+checkDate、+checkResult,这些字段分别对应姓名、性别、年龄、检查时间、检查结果。
构成界面信息的界面元素至少包含标题信息、界面控件的类型信息、界面元素的位置和大小信息、最大字符个数信息、用于限制输入或显示的字符个数信息。以界面信息“年龄”为例,在定义数据模型结构时,需要采用字段来描述“年龄”这个界面信息的界面元素,界面元素包括标题信息、界面控件的类型信息、最大字符个数信息、用于限制输入或显示的字符个数信息,以及这些界面元素的位置和大小信息。
C#特性标记是C#语言提供的功能,官方文档使用Attribute来表示该技术,一般用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息,从代码组织形式上看,可做为一个标签来使用,用于标记类、类成员。因此本发明利用C#语言中的特性标记功能Attribute,定义数据模型的结构时使用特性数据类型描述界面元素。
S2、从步骤S1中的数据模型结构中提取每种界面信息包含的各个界面元素。
C#类反射技术是C#语言提供的功能,官方文档使用Reflection来表示该技术,是指程序可以访问、检测和修改它本身状态或行为的一种能力,可在程序运行过程中通过反射技术来获取与某个对象相关的特性(标签)。因此本发明利用C#语言中的类反射技术Reflection,获取界面元素特性集合,然后遍历特性集合里的元素,得到所有界面元素。
S3、基于步骤S2提取的界面元素生成数据管理系统的软件界面。
本发明中,利用微软提供的一种用于开发软件界面的WPF技术来自动生成软件界面,该WPF技术提供的一种将属性与数据源进行关联的功能。
因此,本发明利用WPF软件技术基于各种界面元素字段描述信息生成所述软件界面。同时,利用WPF软件技术根据各种界面元素字段描述信息创建对应的控件,并将各个控件整合于所述软件界面。同时利用WPF技术的数据绑定功能实现软件界面与数据模型中界面元素的关联。
S4、构建数据表,并关联数据表和步骤S1设计的数据模型,然后利用关联后的数据表构建数据管理系统的数据库模块。
ORM是一种关联数据表和程序对象的技术,用于处理面向对象编程里对象和数据库记录的转换。本发明使用ORM提供的特性描述数据模型中的数据关系,由此关联数据表和数据模型。
大部分主流的数据库引擎都有相应的ORM框架支持,由于ORM技术可根据特性来动态创建SQL语句,因而使得开发者可不用编写用于控制数据库的SQL脚本。
通过本发明方法,开发者不用关心具体的SQL语句的编写就可以实现数据库的相关功能,从而降低了数据库方面的开发复杂度
当使用本发明方法来实现一套数据管理系统时,开发者主要的工作量集中在数据模型的设计和编写,而数据模型其实只是一个包含了许多属性的简单类,因此可从总体上减少大量的代码编写工作,客观上节省了代码编写和调试的时间,从而提高了研发效率。
本发明提及的方法是基于描述信息来修改程序的行为,充分考虑了界面与实际数据模型的对应关系,并通过数据模型来提供关联信息。
本发明的关键思想是软件在运行过程中能够根据数据模型自动创建界面或数据表,因此在实施过程中并不限于要使用到特性、类反射、ORM等技术,还可以设计使用一个特定格式的文档来提供描述信息,然后软件在运行时读取这些描述信息,最后再根据这些描述信息生成界面或数据库代码。
本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。

Claims (10)

1.一种数据管理系统设计方法,其特征在于,包括以下步骤:
S1、根据数据管理系统中需要得到的软件界面的数据需求,设计数据模型并定义所述数据模型的结构,所述数据模型的结构包含构建软件界面所需的多种界面信息,每种界面信息分别包含多个界面元素;
S2、从所述步骤S1中的所述数据模型结构中提取每种界面信息包含的各个界面元素;
S3、基于所述步骤S2提取的界面元素生成数据管理系统的软件界面;
S4、构建数据表,并关联所述数据表和所述步骤S1设计的数据模型,然后利用关联后的数据表构建数据管理系统的数据库模块。
2.根据权利要求1所述的一种数据管理系统设计方法,其特征在于,所述步骤S1中,利用C#语言定义所述数据模型的结构,定义所述数据模型的结构时采用字段描述每种界面信息,以及每种界面信息所包含的各个界面元素。
3.根据权利要求2所述的一种数据管理系统设计方法,其特征在于,所述界面元素至少包含标题信息、界面控件的类型信息、界面元素的位置和大小信息、最大字符个数信息、用于限制输入或显示的字符个数信息。
4.根据权利要求2所述的一种数据管理系统设计方法,其特征在于,利用C#语言中的特性标记功能Attribute,定义所述数据模型的结构时使用特性数据类型描述所述界面元素。
5.根据权利要求4所述的一种数据管理系统设计方法,其特征在于,所述步骤S2中,利用C#语言中的类反射技术Reflection,获取所述界面元素特性集合,然后遍历特性集合里的元素,得到所有界面元素。
6.根据权利要求1所述的一种数据管理系统设计方法,其特征在于,步骤S3中,利用WPF技术基于各种界面元素字段描述信息生成所述软件界面。
7.根据权利要求1所述的一种数据管理系统设计方法,其特征在于,利用WPF技术根据各种界面元素字段描述信息创建对应的控件,并将各个控件整合于所述软件界面。
8.根据权利要求6所述的一种数据管理系统设计方法,其特征在于,利用WPF技术的数据绑定功能实现所述软件界面与所述数据模型中界面元素的关联。
9.根据权利要求1所述的一种数据管理系统设计方法,其特征在于,所述步骤S4中,采用ORM技术关联所述数据表和所述数据模型。
10.根据权利要求9所述的一种数据管理系统设计方法,其特征在于,使用ORM提供的特性描述所述数据模型中的数据关系,由此关联所述数据表和所述数据模型。
CN202110070986.XA 2021-01-19 2021-01-19 一种数据管理系统设计方法 Pending CN112882693A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110070986.XA CN112882693A (zh) 2021-01-19 2021-01-19 一种数据管理系统设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110070986.XA CN112882693A (zh) 2021-01-19 2021-01-19 一种数据管理系统设计方法

Publications (1)

Publication Number Publication Date
CN112882693A true CN112882693A (zh) 2021-06-01

Family

ID=76049862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110070986.XA Pending CN112882693A (zh) 2021-01-19 2021-01-19 一种数据管理系统设计方法

Country Status (1)

Country Link
CN (1) CN112882693A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2539134A1 (en) * 2005-03-14 2006-09-14 Michael Shenfield System and method for designing component based applications
CN103927168A (zh) * 2014-04-02 2014-07-16 北京中交兴路车联网科技有限公司 一种面向对象的数据模型持久化的方法及装置
CN105630472A (zh) * 2014-11-03 2016-06-01 中国科学院沈阳自动化研究所 制造执行系统客户端快速开发框架及其软件开发方法
CN105677346A (zh) * 2016-01-04 2016-06-15 浪潮软件集团有限公司 一种web界面的动态扩展方法和服务器
CN106250134A (zh) * 2016-07-28 2016-12-21 成都诺铱科技有限公司 单一性语言的代码自动生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2539134A1 (en) * 2005-03-14 2006-09-14 Michael Shenfield System and method for designing component based applications
CN103927168A (zh) * 2014-04-02 2014-07-16 北京中交兴路车联网科技有限公司 一种面向对象的数据模型持久化的方法及装置
CN105630472A (zh) * 2014-11-03 2016-06-01 中国科学院沈阳自动化研究所 制造执行系统客户端快速开发框架及其软件开发方法
CN105677346A (zh) * 2016-01-04 2016-06-15 浪潮软件集团有限公司 一种web界面的动态扩展方法和服务器
CN106250134A (zh) * 2016-07-28 2016-12-21 成都诺铱科技有限公司 单一性语言的代码自动生成方法

Similar Documents

Publication Publication Date Title
US10606573B2 (en) System and method for computer language migration using a re-architecture tool for decomposing a legacy system and recomposing a modernized system
AU776139B2 (en) Spreadsheet cell-data source binding
CN100498764C (zh) 同步更新数据的方法
KR101331532B1 (ko) 데이터베이스로부터 xml 문서를 동적으로 생성하는 방법
US6282539B1 (en) Method and system for database publishing
US20110296322A1 (en) Markup Based Extensibility for User Interfaces
US8745581B2 (en) Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste
CN103778107A (zh) 一种基于excel快速动态生成表单的方法与平台
KR20150082418A (ko) 자동화된 보고서 생성 방법
CN108304172A (zh) 一种web开发方法及web开发引擎
US11349902B2 (en) System and method to standardize and improve implementation efficiency of user interface content
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US20080263142A1 (en) Meta Data Driven User Interface System and Method
US9990407B2 (en) Stand-alone database browsing system and method
WO2016099317A1 (ru) Способ и система визуального управления данными
Halpin et al. Database modeling with Microsoft® Visio for enterprise architects
US20030233343A1 (en) System and method for generating custom business reports for a WEB application
CN113687827A (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
CN113761040A (zh) 数据库与应用程序双向映射方法、设备、介质及程序产品
US20060155710A1 (en) Method and computer system for customizing computer applications by storing the customization specification as data in a database
CN115080046B (zh) 一种页面设计中多组件抽象关联融合方法和装置
JP2001125855A (ja) 動的Webページ生成プログラム
CN112882693A (zh) 一种数据管理系统设计方法
Klein Professional LinQ
KR20090018481A (ko) 보고서 작성시스템, 검색결과에 대한 맞춤 보고서 제공방법 및 시스템, 그리고, 저장매체

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination