Home > Back-end > How to allocate to arrange a big program, please
How to allocate to arrange a big program, please
Time:05-14
For the first time to accept a big project, the following points about 15 big modules, I wrote a main logic (haven't finished writing)
Now want to input/output according to each module to write a document, the document, please?
I want to see my documents then developers know how to write a function, then I direct and joining together into my logic is ok
CodePudding user response:
Function level of integration is, small integrates the particle size according to your "big projects' understanding, 15 big modules, should from the following several aspects to consider,
If you do is a kind of information system based on network 1. The demand part of the big project, is what, for example, remote medicine, that is the same and all kinds of work function, involving laboratory test results, images, medical record a variety of categories of data interaction and visualization, and management level of drug, financial examination and approval, and so on, to undertake the function of the GUI, behind is the workflow in the entity data model - object constraints, therefore, the general design of a large system, can start on the data modeling, the data process clear, to consider specific rendering,
2. Your team is using the tool chain, is to use the WEB, or the C/S, the database itself selection, your data is relationship or a relationship, the team can Hold these tool chain, solve various pits, have the ability to do independent transactions interface segregation and front-end data warehouse? If not, it is the public environment of the Internet, the extra security to consider,
3. If you are not familiar with the standard of software engineering development process, familiar with UML is not it doesn't matter, find a few sister, go deep into the customers work together a few weeks, together with the customer, the individual should be on the same interface appearance, behavior with the WPS or Office slides into interface sketch, button is rectangular, list some striking view, reflect interface jump button to jump, note of each page, specify the source data, and submit the results of the request interface, or directly indicate the SQL statements,
4. With these, can be outsourced to the teams,
If you do a desktop version of development tools, such as CAD, Photoshop professional production tools, such as:
1. Segmentation work algorithm module, visualization module, the background data,
2. Algorithm module, an abstract interface, such as abstract as all image processing filter, transform matrix operations, such as, here want to consider your team's technical level, general use a variety of means the underlying implementation plug-in extensible algorithm interface is better, if the level difference, direct integration code, if the level is good, or several development department need to retain intellectual property rights independently, has the certain binary encapsulation, simple is a DLL, the complex can be as a local service or RPC, considering the compatibility of the tool chain, use standard CAPI interface as far as possible, avoid to use c + +, so future upgrades, the compiler version compatibility, if afraid of wrangling, the best to make the process of independent background services, use DBUS or message bus communication, such a process, the mistakes easy to locate, boundary clear good test,
3. The interface module, depends on your tool chain, basic GUI support MVC is now mainstream, but if the interface part of the package for each group, there was style, evasive, interface, do the most basic data collection, and at the end, according to all the data at the end, all done in the algorithm, for example, you want to display the spectrum of sound, then finally to show after the FFT data submission interface,
Part 4. Data: engine, using data from a comparison with tool chain in considering the upgrade and deployment, is to use a lightweight file database (Sqlite), green version of the All in one, or independent of the Sql Server, use different structure, are likely to affect the deployment of the software in different environment,
Across processes, across the networked application of the machine, is not recommended to start from scratch designing your communication protocol, and USES the database, mature technology such as the message queue to complete the exchange, unless have the ability to Hold protocol design and maintenance,
CodePudding user response:
In addition, as the Leader of the team, and prepare a version control tool, such as Git, SVN is effective, for everyone to do Doxygen documentation is necessary, so that the progress of the team can track directly, rolled back, if everyone in an office, is very convenient, direct face-to-face communication is the most effective, a small team, all kinds of soft ministry with a standard document, may involve large Numbers of energy,
CodePudding user response:
Have to learn technical project management, hope to adopt, can focus on direct messages I don't understand,