CN112882693A - 一种数据管理系统设计方法 - Google Patents
一种数据管理系统设计方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013523 data management Methods 0.000 title claims abstract description 27
- 238000013461 design Methods 0.000 title claims abstract description 14
- 238000013499 data model Methods 0.000 claims abstract description 54
- 238000005516 engineering process Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 13
- 238000011161 development Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming 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语句表
上述表格描述了与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提供的特性描述所述数据模型中的数据关系,由此关联所述数据表和所述数据模型。
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)
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 | 成都诺铱科技有限公司 | 单一性语言的代码自动生成方法 |
-
2021
- 2021-01-19 CN CN202110070986.XA patent/CN112882693A/zh active Pending
Patent Citations (5)
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 |