Single-machine software is generally relatively simple, then from the perspective of architecture design, the general logic architecture requirements are relatively high, the structure of the physical architecture requirements of almost 0, of course, may be because the future to adapt to the market
Changes, may require a single-machine software to achieve LAN or Internet Information sharing or Internet application integration, this time need to consider a higher level of architecture, of course, we also need to consider this aspect of design considerations,
But we're going to start with a simple architecture that shows how to adapt to this change.
1. The design of the system architecture we have just opened may be the case. The system architecture is driven by demand, since the first requirement is simple. For example, the first customer asked me to develop a simple interface designer, no
requirements, I am able to implement a simple drag and drop function.
I analyzed the following structure according to the requirements:
By layering, the common drag-and-drop base components are placed on the base component layer, and the configuration pages related to the development design drag-and-drop pages are placed in the Design view layer.
2, later, came a demand, said is to be able to generate the page Design view through the wizard, then I think the next, there will be the system to modify the schema as follows:
At this point, you need to add a new layer that is responsible for adding all the wizard pages, and then the designer view layer loads the component elements of the interface based on the configuration. The system architecture is as follows:
3, then, with the change in demand, there is a requirement can generate code, output winfrom page code, the need to drag and drop the page to see what kind of interface, require the output of the Winfrom interface code with the designer to see
The visual interface is the same, and my architecture is designed as follows.
4, through the above architecture design, I found that the follow-up demand came, but this time I through the design, has been able to deal with this demand, this time the demand change is to support a variety of page performance style.
For example, in the designer view, design once, you can generate the same page of Winfrom, the Web page layout is similar, colleagues may support Silverlight and WPF.
In this case, you do not need to do large architectural refactoring, just modify the CodeDom layer and view the original designer
Figure calls the code generation, replaced by the interface calls the way to decouple, the subsequent if need to add, only need to implement the interface.
5. It's time for new requirements to integrate tools with other tools, such as the SDM files generated by the data Model Designer in the Agileeas.net platform, to support opening and saving
Function. The design of the interface model file is stored in the SDM file, which is how this is handled.
、
6, the end is almost finished, the follow-up may also have new requirements, may require me to modify the stand-alone tool for networking software, or the design of the interface is saved to the database, to achieve application deployment of the dynamic
Change orders, and so on, is a very likely requirement, and perhaps my architecture needs to change.
7, the future requirements in the Internet dynamic Update the software, to support the intelligent upgrade of software.
Stand-alone Software Architecture description
Even today, there are many complex stand-alone systems, most of which are specialized products, such as CATIA in CAD/CAM, proengineer,autodesk AutoCAD, and our familiar photo
Shop, Coraldraw, and so on (the advanced versions of these systems may offer some networking features, but cannot change the nature of their standalone systems).
So what I want to say here is that the complexity of software architecture does not mean that the software system is complex, in fact, the software architecture design is more important area only one, that is, the information system field, that is, data processing (storage, transmission
Security, query, display, etc.) as the core of the software system. Software applications in other industries are not so emphatic about the concept.
Microsoft's. NET's architecture diagram
For example, the above-mentioned content, we are below to demonstrate the software tool has the function and design ideas.
1. Main interface:
Support for opening. SDM files:
At this point, we chose the solution file that was generated based on the ORM Data Model Designer in Agileeas.net, so
It is possible to integrate and unify the interface designer with the data Model Designer, and also facilitate the use of developers. Of course, it is possible that subsequent integration of the tool functionality into a single console.
So we need to consider in the process of architecture design, follow the possible requirements, but we can not unduly consider the scalability, because of the change in demand, we can not foresee 100%, so we can only do
Can adapt to change, according to statistics, the system architects consider the extensibility, 20% of the odds in the actual project used to, 80% of the extensibility of the design, and did not use, so a word, specific problems specific analysis.
Then there is the build solution:
Select "Build Solution" to see the following selection page:
Build the solution directly from the model file of the interface designer.
Meet ever-changing needs through continuous demand-adding and architectural design expansion. All this determines the design success or failure of the architecture.
System Architect-Basic to enterprise application architecture-stand-alone software architecture