CN110515613B - Software development method - Google Patents

Software development method Download PDF

Info

Publication number
CN110515613B
CN110515613B CN201910818481.XA CN201910818481A CN110515613B CN 110515613 B CN110515613 B CN 110515613B CN 201910818481 A CN201910818481 A CN 201910818481A CN 110515613 B CN110515613 B CN 110515613B
Authority
CN
China
Prior art keywords
software
grammar
scene
software structure
structure description
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.)
Active
Application number
CN201910818481.XA
Other languages
Chinese (zh)
Other versions
CN110515613A (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.)
Suzhou Zhonghong Software Technology Co ltd
Original Assignee
Suzhou Zhonghong Software 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 Suzhou Zhonghong Software Technology Co ltd filed Critical Suzhou Zhonghong Software Technology Co ltd
Priority to CN201910818481.XA priority Critical patent/CN110515613B/en
Publication of CN110515613A publication Critical patent/CN110515613A/en
Application granted granted Critical
Publication of CN110515613B publication Critical patent/CN110515613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a software development method. The invention discloses a software development method, which comprises the following steps: s1, defining a complete system software structure description language; s2, setting a certain software structure through a visual interface, and converting the software structure into descriptive contents conforming to grammar in S1; s3, intelligently analyzing the software structure description content of the S2 according to the grammar in the S1; s4, carrying out dynamic construction of final software according to the complete software scene obtained in the S3. The invention has the beneficial effects that: 1. the repeated labor is reduced, the working efficiency is improved, the development cost is reduced, and the development division is clear. 2. The demand response speed to the clients is increased, and the user experience of the software is improved.

Description

Software development method
Technical Field
The invention relates to the field of software development, in particular to a software development method.
Background
The development platform is a platform used by a software company to assist a developer in developing software, and is a 'pipeline' for producing the software.
With popularization and development of informatization, domestic enterprises divide service demands of software used by the enterprises more and more finely when the domestic enterprises carry out informatization construction of the enterprises, the service demands of the software used by the enterprises are more and more in the development and development processes of the enterprises, the service demands are more and more changed, on the other hand, the response speed requirements of the enterprises on software companies providing software development services for the enterprises are higher, the requirements on software user experience are higher, the requirements on software terminal types are more (such as computers, mobile phones, flat panels and televisions, and the like), the requirements on integration of intelligent hardware equipment are more (intelligent production, storage, household hardware equipment, and the like), and with the expansion of technical aspects and the increase of the quantity of software code bodies, the internal relation of the software codes is more intricate and complex, the working pressure of research and development personnel is higher, and survival of the software companies is more difficult.
The development platform can assist the development personnel of the software company in developing new software and maintaining old software, relieves the working pressure of the development personnel, improves the software development and maintenance efficiency, accelerates the response speed to enterprise clients, ensures that the software company can assist the enterprise clients in faster informationized construction and transformation, simultaneously ensures that the software company has more time and energy for improving the user experience, expanding the terminal type and the integration of intelligent hardware equipment, and accelerates the upgrading speed in the aspect of software technology.
The traditional technology has the following technical problems:
development platforms of different software companies have different application directions, assistance degrees and operation modes.
In some existing development platforms, most of existing software is split into different independent functional modules, and the purpose of assisting in developing new software is achieved by dragging combination and small-scale adjustment of the independent functional modules through the development platform, so that the application direction is narrow, the assistance degree is small, and the operation mode is traditional.
Therefore, even though the existing development platforms are relatively more, a part of development problems can be solved to a certain extent, but some problems existing in software companies are not solved fundamentally, so that the software companies and developers still cannot concentrate on upgrading the software technology.
The traditional development platform saves a certain time, but various software codes are still finally generated, and development technology and business requirements are still combined together through the form of the software codes, so that the development technology and business requirements are low in assistance degree, and a large amount of software codes still need to be additionally written for specific business requirements by research personnel.
Therefore, software companies using the conventional development platform still have many inherent problems, such as participation and collaboration of a large number of people, large communication cost and communication difference, large code design difference, various anomalies caused by carelessness when manually writing codes, and difficulty in maintaining and updating the codes.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a software development method, create a software structure description language for establishing an intermediate layer between development technology and business requirements and support complete self definition; designing visual operation interfaces for completely describing the structure of certain software without depending on development technology; designing an intelligent analysis algorithm, and intelligently carrying out reverse analysis according to the software structure description to obtain the structure of certain software; and designing a dynamic construction process, adapting the development technology, and dynamically constructing the software by the obtained certain software structure.
In order to solve the technical problems, the invention provides a software development method, which comprises the following steps:
s1, defining a complete system software structure description language;
s2, setting a certain software structure through a visual interface, and converting the software structure into descriptive contents conforming to grammar in S1;
s3, intelligently analyzing the software structure description content of the S2 according to the grammar in the S1;
s4, carrying out dynamic construction of final software according to the complete software scene obtained in the S3.
In one embodiment, step S2 specifically includes
S2-1, creating a complete scene of a software design process;
s2-2, converting the visual operation track and the scene instant content into software structure description content according to grammar in S1;
s2-3, persistence is carried out on the final complete description content of the software structure, and a data file is output.
In one embodiment, step S3 specifically includes:
s3-1, analyzing the description content of the software structure according to grammar in S1;
s3-2, reconstructing a software scene according to the analysis result;
s3-3, dynamically supplementing the reconstructed software scene.
In one embodiment, step S4 specifically includes:
s4-1, adapting the complete final software scene and the software supporting frame;
s4-2, enabling the software to dynamically run on all software supporting frames capable of supporting adaptation.
In one embodiment, step S1 performs syntax definition and content recording of a software structure description language by XML (extensible markup language);
including definitions of data content for tables, columns, views, and the like.
In one embodiment, step S1 includes the definition of a module, a server, a client, a static data dictionary, a dynamic data dictionary, and a whitelist.
In one embodiment, step S1 includes definitions of various controls, views, view events, view process controls, panels, layouts, desktops, and palette.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any of the methods when the program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor realizes the steps of any of the methods.
A processor for running a program, wherein the program runs on performing any one of the methods.
The invention has the beneficial effects that:
1. the repeated labor is reduced, the working efficiency is improved, the development cost is reduced, and the development division is clear.
2. The demand response speed to the clients is increased, and the user experience of the software is improved.
3. The center of gravity moves to the research of the high and new technology, and supports more terminal types and the application of intelligent hardware equipment.
4. Demand personalization, flow standardization, management standardization, operation simplification, development rapidity, and system stabilization.
Drawings
FIG. 1 is a schematic diagram of an unused platform in the software development method of the present invention.
FIG. 2 is a schematic diagram of a conventional platform in the software development method of the present invention.
FIG. 3 is a schematic diagram of a software development method of the present invention.
Fig. 4 is a nesting schematic diagram of viewpoints in the software development method of the present invention.
Fig. 5 is a view layout definition diagram in the software development method of the present invention.
Detailed Description
The present invention will be further described with reference to the accompanying drawings and specific examples, which are not intended to be limiting, so that those skilled in the art will better understand the invention and practice it.
To solve these problems well, the platform needs to have a better improvement direction, and the complete custom, visual development, intelligent parsing and dynamic construction is a very challenging direction, because it needs to be able to quickly and completely develop a completely custom software that can be intelligently parsed, dynamically constructed and run in a visual manner without software code.
Through complete self-definition and visual development, the structure of one or more software can be quickly established, and the research and development personnel can concentrate on the design and perfection of the business process because the constraint of development technology is eliminated.
The established structural description of one or more software can be analyzed and constructed into one or more complete software through intelligent analysis and dynamic construction, and most repetitive and similar content processing is performed intelligently and dynamically, so that code development content is greatly reduced, error rate is reduced, the efforts of research personnel are relieved from a large amount of repeated labor, and the research personnel are put into the technical details of the intelligent analysis and dynamic construction process.
This new direction of improvement changes the development platform from a traditional "fish-teaching" mode to a new "fish-teaching" mode.
In summary, the disadvantages of most existing development platforms mainly include:
1. development assistance cannot be performed more flexibly.
2. Development assistance cannot be performed in a wider range, more quickly and more accurately.
3. A great deal of problems existing in software companies cannot be fundamentally solved.
The specific flow of the software development method comprises the following steps:
s1, defining a complete system software structure description language;
s2, setting a certain software structure through a visual interface, and converting the software structure into descriptive contents conforming to grammar in S1;
s2-1, creating a complete scene of the software design process
S2-2, converting the visual operation track and the scene instant content into software structure description content according to grammar in S1
S2-3, persistence is carried out on the final complete description content of the software structure, and a data file is output
S3, intelligently analyzing the software structure description content of the S2 according to the grammar in the S1;
s3-1, analyzing the software structure description content according to grammar in S1
S3-2, reconstructing a software scene according to the analysis result
S3-3, dynamically supplementing the reconstructed software scene
S4, carrying out dynamic construction of final software according to the complete software scene obtained in the S3.
S4-1, adapting the complete final software scene and the software supporting frame
S4-2, enabling the software to dynamically run on all software supporting frames capable of supporting adaptation.
The main content of the step S1 is as follows:
the design target is as follows: establishing a new language system which is communicated with each other between people and a development platform and between development technology and service requirements;
the technical effects are as follows: the definition of logic is ensured through a concise grammar, so that the definition of most software can be met, and development technology and business requirements are separated.
Details are as follows:
syntax definition and content recording of the software structure description language are performed by XML (extensible markup language).
Including definitions of data content for tables, columns, views, and the like.
The method comprises the definition of a module, a server, a client, a static data dictionary, a dynamic data dictionary and a white list.
Including definitions of various controls, views, view events, view process controls, panels, layouts, desktops, and drawing boards.
One of the important concepts is the viewpoint, which is a logical definition that represents, on the one hand, a complete visual area with layout, and on the other hand, a simple point, as part of the superior viewpoint, through which the interface of arbitrary complexity is completely presented by this structural nesting.
Nesting of the view points of FIG. 4
Fig. 4 presents an example of three-level view nesting.
The layout is characterized in that a certain viewpoint area is divided by transverse and longitudinal numerical definition, wherein more than 1 represents a fixed length, and less than or equal to 1 represents a residual length except the fixed length which is divided in proportion, and when the area is stretched, the fixed length is kept unchanged, and the non-fixed length is stretched in proportion.
FIG. 5 view layout definition
FIG. 5 defines the layout of view 1 of FIG. 4, defining a region divided into 9 cells, wherein three transverse values [0.5,80,0.5] indicate that the middle 80 is a fixed length, the left and right halves of the remaining length, and when the interface is stretched, the left and right halves are stretched at a 5:5 equal ratio, the middle is unchanged; three values in the machine direction [40,0.2,0.8] indicate that the upper surface 40 is fixed length, the middle lower portion is divided by 2:8 and the remaining length is divided by 2:8 when the interface is stretched, and the upper surface is unchanged.
And defining the lower-level view occupied area by the modes of [ initial grid x, initial grid y, transverse grid number w and longitudinal grid number h ], wherein w and h can omit representing one grid, such as [0,0] and [1, 2] respectively define two areas marked with gray in the graph, wherein [1, 2] is the definition of the area occupied by view 2 in view 1.
The view point can define any interface with infinite complexity, but software interfaces are innumerable, all independent customization is unnecessary, and many interfaces are similar, so that the interface can be classified by referring to an object-oriented language, interface similar attributes are extracted, inheritance relations between a father interface and a child interface are established, and definition reusability is improved by utilizing concepts such as coverage, reloading and the like.
Definition is loaded immediately after construction, and the lower level region is asynchronously loaded after the page architecture is loaded.
For view definition and event and process control matched with the view definition, the event is not a mouse or keyboard event in a popular sense, but is a business event, all the circulation processes of the software are combed and classified, and a general process class is defined.
The content in the step S1 is mainly grammar, and is the guidance of the subsequent step, wherein the viewpoint can guide the subsequent step to dynamically display an interface, and the viewpoint process control can guide the subsequent step to dynamically initiate and control the general process.
The step S2-1 development platform is also software from another point of view, and is a special, deeper software for developing common software for use inside a software company.
And constructing a software design scene through loading various visual operation interfaces matched with the grammar in the S1, and assisting a researcher in designing and describing a software structure.
And S2-2, after analyzing and designing specific service requirements of the software, carrying out various related settings in a scene by a developer to form innumerable data objects matched with the S1 grammar, and converting the data objects into software structure description contents under the S1 grammar through an algorithm.
The conversion process comprises the following steps:
queue for obtaining all attribute name value pairs of object
Cycling queues by attribute name value
Grammar matching of attribute names and attribute types by grammar mapping model
And creating XML nodes corresponding to the attribute names and the attribute types according to grammar.
Step S3-1. The previous steps are all software design processes, and the software implementation process starts from the previous steps, and the step needs to load the software structure description content generated in the step S2 first, and then parse the software structure description content into countless data objects according to the grammar in the step S1.
Resolution process
Cyclic recursion to obtain all XML nodes
Grammar matching of nodes by grammar mapping model
And searching or creating attribute names and attribute types corresponding to the XML nodes according to grammar.
Assigning a corresponding value to the attribute name
And S3-2, reconstructing a software design scene according to the analysis result of the step S3-1, and organizing and caching the data objects according to a larger structure.
Step S3-3, through the forward process of S2-2 and the reverse process of S3-1, scene deletion (mainly default content) is caused to a certain extent, and the omission of the content is mainly for enabling the content generated by S2-2 to be simpler and easier to store and analyze, and the step dynamically supplements the reconstructed software scene after analysis.
Replenishment process
Integer digits and decimal digits
Minimum and maximum values
Date format
Maximum number of digits
Whether or not it is not empty
Step S4-1, firstly, the complete final software scene is supplemented and the software supporting frame used by the company at present is adapted, so that the software can complete the final implementation process.
Adaptation process
MVC: the data structure of the software scene is used as a Model, a Control part is created, a View part is layered, a basic part is created, and an expansion part is used for adapting a supporting framework.
Step S4-2. The development platform is expected to be used as a product for technical support of other software companies, and the software companies all have their own internal support frames, so that the software companies can adapt the internal support frames of the software companies, and the software can dynamically run on the internal support frames of the software companies.
The above-described embodiments are merely preferred embodiments for fully explaining the present invention, and the scope of the present invention is not limited thereto. Equivalent substitutions and modifications will occur to those skilled in the art based on the present invention, and are intended to be within the scope of the present invention. The protection scope of the invention is subject to the claims.

Claims (9)

1. A method of software development, comprising:
s1, defining a complete system software structure description language;
s2, setting a certain software structure through a visual interface, and converting the software structure into descriptive contents conforming to grammar in S1; the method specifically comprises the following steps: performing various relevant settings in a scene to form innumerable data objects matched with the S1 grammar, and converting the data objects into software structure description contents under the S1 grammar through an algorithm; wherein the conversion process comprises: obtaining a queue of all attribute name value pairs of the data object; circulating the queue according to the attribute name value; carrying out grammar matching on the attribute names and the attribute types through a grammar mapping model; creating XML nodes corresponding to the attribute names and the attribute types according to grammar;
s3, intelligently analyzing the software structure description content of the S2 according to the grammar in the S1;
s4, carrying out dynamic construction of final software according to the complete software scene obtained in the S3;
the step S3 specifically comprises the following steps:
s3-1 analyzes the software structure description content according to grammar in S1, and specifically comprises the following steps: firstly, loading the software structure description content generated in the step S2, and then analyzing the software structure description content into countless data objects according to grammar in the step S1; wherein the parsing process comprises: circularly recursively obtaining all XML nodes; carrying out grammar matching on the nodes through a grammar mapping model; searching or creating attribute names and attribute types corresponding to XML nodes according to grammar; assigning a corresponding value to the attribute name;
s3-2, reconstructing a software scene according to the analysis result;
s3-3, dynamically supplementing the reconstructed software scene.
2. The software development method of claim 1, wherein step S2 specifically comprises:
s2-1, creating a complete scene of a software design process;
s2-2, converting the visual operation track and the scene instant content into software structure description content according to grammar in S1;
s2-3, persistence is carried out on the final complete description content of the software structure, and a data file is output.
3. The software development method of claim 1, wherein step S4 specifically comprises:
s4-1, adapting the complete final software scene and the software supporting frame;
s4-2, enabling the software to dynamically run on all software supporting frames capable of supporting adaptation.
4. The software development method according to claim 1, wherein step S1 performs syntax definition and content recording of a software structure description language by XML;
including definitions of tables, columns, view data content.
5. The software development method of claim 1 wherein step S1 includes the definition of a module, a server, a client, a static data dictionary, a dynamic data dictionary, and a whitelist.
6. The software development method of claim 1 wherein step S1 includes definitions of various controls, views, view events, view process controls, panels, layouts, desktops, and drawing boards.
7. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 6 when the program is executed.
8. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the steps of the method according to any one of claims 1 to 6.
9. A processor for running a program, wherein the program when run performs the method of any one of claims 1 to 6.
CN201910818481.XA 2019-08-30 2019-08-30 Software development method Active CN110515613B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910818481.XA CN110515613B (en) 2019-08-30 2019-08-30 Software development method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910818481.XA CN110515613B (en) 2019-08-30 2019-08-30 Software development method

Publications (2)

Publication Number Publication Date
CN110515613A CN110515613A (en) 2019-11-29
CN110515613B true CN110515613B (en) 2023-05-16

Family

ID=68629866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910818481.XA Active CN110515613B (en) 2019-08-30 2019-08-30 Software development method

Country Status (1)

Country Link
CN (1) CN110515613B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209034B (en) * 2020-01-13 2023-03-03 成都卓影科技股份有限公司 Method for configuring visual dynamic page of TV large screen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1677187A1 (en) * 2004-12-31 2006-07-05 Anna Rita Laurenzi A software development method
CN101211262A (en) * 2007-12-25 2008-07-02 覃征 Software architecture description language quick construction and support method
CN103645908A (en) * 2013-12-29 2014-03-19 中国科学院软件研究所 Full life circle development achievement system of intemetware

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US20060101387A1 (en) * 2004-10-22 2006-05-11 Gerken Christopher H An Open Model Driven Architecture Application Implementation Service
US8464210B1 (en) * 2005-12-22 2013-06-11 Rockstar Consortium Us Lp Software development and testing environment
CN102646039A (en) * 2012-02-29 2012-08-22 河海大学 Software interface generating system and method based on extensible markup language (XML) Schema
CN107179900A (en) * 2016-03-11 2017-09-19 北京多普图软件有限公司 Doxml language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1677187A1 (en) * 2004-12-31 2006-07-05 Anna Rita Laurenzi A software development method
CN101211262A (en) * 2007-12-25 2008-07-02 覃征 Software architecture description language quick construction and support method
CN103645908A (en) * 2013-12-29 2014-03-19 中国科学院软件研究所 Full life circle development achievement system of intemetware

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
可视化与形式化相结合的软件体系结构描述研究;黄正宝;中国优秀硕士学位论文全文数据库 信息科技辑;I138-416 *
基于XML Schema技术的设计模式定义方法;古辉等;计算机科学;第254-257页 *

Also Published As

Publication number Publication date
CN110515613A (en) 2019-11-29

Similar Documents

Publication Publication Date Title
US7237207B2 (en) Mapper compiler
CN102033748B (en) Method for generating data processing flow codes
Heer et al. Software design patterns for information visualization
US10176236B2 (en) Systems and methods for a distributed query execution engine
CN101676910A (en) A page generation method facing to Web application system
CN111213137A (en) Alignment of source infrastructure data with BIS conceptual patterns
CN105824974B (en) The method and system of Data Analysis Services
CN101256490A (en) Expandable skin system and implementing method
US20120166977A1 (en) User programming access to data model in user interface design
CN104391701A (en) Method for developing energy efficiency assessment software
CN111159427B (en) Knowledge graph construction method and system based on crowdsourcing
CN110515613B (en) Software development method
CN116360766A (en) Low-code system and device based on DDD visual designer
CN104462605B (en) A kind of configuration of data base persistence layer frame, amending method and system
CN109542418A (en) Service code generating method and terminal
CN106372359B (en) A kind of equipment virtual prototype system
Betari et al. Model transformations in the MOF meta-modeling architecture: from UML to codeIgniter PHP framework
CN109597611B (en) Front-end data flow control component development system, method, device and storage medium
CN116450238A (en) Vue interface rendering method and device, storage medium and electronic equipment
CN112755534B (en) Data processing method, device and storage medium
Tarasiev et al. Developing Prototype of CASE-Tool to Create Automation Systems Based on Web Applications Using Code Generation
CN112199086B (en) Automatic programming control system, method, device, electronic equipment and storage medium
CN113608726B (en) Code generation method, device, electronic equipment and storage medium
Wang et al. Collaborative simulation environment framework based on SOA
Repenning et al. X-expressions in XMLisp: S-expressions and extensible markup language unite

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
GR01 Patent grant
GR01 Patent grant