Today, in the country, in China, today, I have always adhered to the development of software development, although it is not a trend. I found the living life of software development in actual combat in the project. This may also be the problem existed by project development.
This is, the utility and commonality of the software. We can see this scene helpless, that is, a company has many employees very similar, but there is a different project maintenance. What is even more, some employees are resident (or recruited some cheap workers), specifically for project maintenance. Sad. I think the purpose of software is to provide applicability, and design is abstract, constantly abstract until the implementation of the development schedule and cost limit.
Therefore, I have proposed such a software development model for some companies that are still too high in the project maintenance costs. The main meaning is for a function of the same (similar) software, only a version, for different needs updates, and retains a maximum collection of a program function in this unique version. The calls of these functions conform to the principle of object-oriented and functional permissions. By comparing with the Demand Party Bright. If it is in line, it is considered to have functional permissions. Ability to perform functions. Otherwise this feature will not be executed.
We can see that such a unique version will greatly reduce the rewriting and maintenance of functional code. And to a large extent to achieve functional sharing and code multiplexing.
You can use the following figure to demonstrate:
[Original development method]
Demand Analysis - "Software Design -" Test, Online - "Maintenance [Developer]" - Demand Update
- "Test, online -" Maintenance [Developer] "- Demand Update
. . . . . . .
[New development method]
| "- Updated demand
Demand Analysis - "Software Design -" Test, Online - "Maintenance [Developer] -" Implementation [Market Personnel]
- "Implementing [Market Personnel]
. . . . .
Obviously we can see the [New Development Mode] will greatly reduce the difficulty of maintenance, reduce the development difficulty, research and development costs, and maintenance costs of developers.
Some people have filed the following issues for [New Development Methods].
a. Party A Since the source code, this is exposed to other companies' needs or function points.
Answer, this is not. Because this development method is largely implemented by reading the application logic. If the corresponding configuration information is not submitted to a third party, the third party can also obtain the execution process of the program, and they can maximize the ability to get a scattered function point.
b. If the database used by different demand is different?
Reply. Oh, the application logic will not be and the specific database technology, and the specific hardware information is binded. Therefore, it is possible to adapt to different databases, different interface programs. . . This is able to implement cross-platform and cross-database application.
Of course, there will be many concerns, but you have thought that the openness of software development, commonality often reflects the cost of software development. Also, the project development this 'Chinese characteristic' should not take care of China's China has emerged. There is no more meaningful thing than reducing repeated development.