The standalone software is generally relatively simple, so from the perspective of architecture design, it is generally in the logic architecture requirements are relatively high, the physical architecture requirements are almost 0, of course, it may be due to future adaptation to the market.
The change may require single-host software to achieve information sharing or Internet application integration over the LAN or the Internet. At this time, we need to consider a higher level of architecture. Of course, we also need to consider this factor during design,
However, this article explains how to adapt to such changes from a simple architecture.
1. The system architecture we just launched may be designed like this. System architecture is driven by requirements, because the requirements are simple at the beginning. For example, at the beginning, the customer asked me to develop a simple interface designer.
If required, you must be able to implement simple drag and drop functions.
I analyzed the following structure as required:
By layering, you can place basic components such as universal drag-and-drop on the base component layer, and place the configuration pages related to the development and design drag-and-drop pages on the design view layer.
2. Later, I came up with another requirement to generate a page design view through the Wizard. Now I thought about how to change the system architecture to the following:
At this time, you need to add a new layer, which is responsible for adding all the wizard pages, and then the designer view layer loads the component elements of the interface according to the configuration. The system architecture is as follows:
3. Later, as the demand changes, a requirement can be generated.CodeTo output the winfrom Page code, you need to drag the page to see what kind of interface, you need to output the winfrom interface code and the designer to see
The visual interface is the same. At this time, my architecture design is as follows.
4. Through the above architecture design, I found that the subsequent requirements are coming again. However, this design can already deal with this demand. This demand change is, multiple page presentation styles are required.
For example, in the designer view, design a page once to generate the same page as winfrom. The web page layout is similar. Colleagues can support Silverlight and WPF.
In this case, you do not need to rebuild the large architecture. You only need to modify the codedom layer to view the original designer
The code generated by the graph call is replaced by the interface call Method for decoupling. If you need to add the code later, you only need to implement the interface.
5. At this time, new requirements are coming. We want to integrate the tool with other tools, for example, to integrate agileeas. the SDM file generated by the data model designer in the. NET platform is integrated and can be opened and saved.
Function. How to store the designed interface model file to the SDM file.
,
6. In the end, there may be some new demands. I may be asked to change my standalone tool to a networked software, or save the designed interface to the database, dynamic Application Deployment
Status Change tickets and so on are all very likely requirements. At this time, my architecture may need to change.
7. In the future, the software should be dynamically updated on the Internet to support intelligent software upgrade.
Standalone software architecture
Even today, there are many complex stand-alone systems, most of which are specialized products, such as CATIA, proengineer, Autodesk's AUTOCAD in the CAD/CAM field, and our familiar photo
Shop, coraldraw, and so on (the advanced versions of these systems may provide some network functions, but they cannot change the essence of their standalone systems ).
So what I want to say here is that the complexity of the software architecture does not represent the complexity of the software system. In fact, there is only one important field in the software architecture design, that is, the information system field, that is, data processing (data storage, transmission
Transmission, security, query, presentation, etc.) as the core software system. Software applications in other industries do not really emphasize this concept.
Architecture of Microsoft. NET
For example, the following describes the functions and design ideas of the software tool.
1. Main Interface:
Open the. SDM file:
In this case, we select the solution file generated by the ORM Data Model Designer in agileeas. net.
The interface designer can be integrated and unified with the Data Model Designer, which is also convenient for developers. Of course, it is also possible to integrate the tool functions into a console in the future.
Therefore, we need to consider the possible requirements in the architecture design process. However, we cannot consider the scalability too much. Because of the changes in requirements, we cannot predict 100%, so we can only do everything we can.
According to statistics, the scalability considered by the System Architect is 20% more likely to be used in the actual project, and the scalability Design of 80% is not used. So in a word, analyze specific issues.
Then a solution is generated:
Select "generate solution" and the following selection page appears:
Directly generate a solution using the model file of the interface designer.
By constantly adding demand and expanding architecture design, we can meet the ever-changing needs. All of these determine the design success or failure of the architecture.