当前位置:网站首页>[beauty of software engineering - column notes] 21 | architecture design: can ordinary programmers also implement complex systems?
[beauty of software engineering - column notes] 21 | architecture design: can ordinary programmers also implement complex systems?
2022-07-29 08:01:00 【if...else...】
List of articles
Column information
Columnist : The treasure jade
Column publishing platform : Geek time
primary coverage
The demand for software is increasing , And experts are scarce resources , So a problem to be solved is : Let ordinary programmers also participate , Realize complex systems together , Instead of relying on many elites .
One 、 Why do software projects need architecture design ?
Complex software projects , There are usually two characteristics : Uncertain requirements and complex technology .

The complexity of Technology , Mainly reflected in four aspects .
Requirements complicate Technology
If the requirements themselves are complex , Then the corresponding technology will also be very complex . For example, you build a personal blog website , And build a website like Taobao , Technical complexity is different .People can complicate Technology
Nowadays, software development is usually not a person , It's a team . The level of team members is different , I'm good at different technical directions , It is also a great test to make this group of people work together effectively , Simple technical problems will also become complex technical problems .Technology itself is complex
Now choose the programming language in the software project 、 frame 、 Technology components 、 Database and other technologies or tools , You may also need applications like microservices 、 big data 、 Artificial intelligence technology , These technologies are complex in themselves , Ordinary people need to learn to master .It is complex to make software run stably
After development , To publish a run , But the runtime is also full of various uncertainties . For example, celebrity gossip may lead to Weibo downtime ; Alibaba cloud downtime has led to the inability of many Alibaba cloud based systems to provide services .
Because of the complexity of Technology , It will make software development very complicated , Development costs are high . And architecture design can solve technically complex problems in these aspects .
- First , Architecture design can reduce the development cost of meeting requirements and changes in requirements .
- secondly , Architecture design can help organizations work together efficiently .
- Again , Architecture design can help organize various technologies .
- Last , Architecture design can ensure the stable operation of services .
Two 、 What is architecture design ?
We can start from Goals and methods Two perspectives .
So the architecture is designed The goal is , It is to meet the development of demand and respond to the change of demand with the minimum labor cost , To ensure the operation of software with the minimum operation cost .
Architecture design , already There are many mature methods . such as :
- Using an architecture like microservices , Break a complex system into a series of small services , The service is then disassembled into functional modules , Let people work better ;
- By separating the front and rear ends , Let programmers focus more on a certain knowledge field , Reduce the difficulty of development ;
- Use layered design to isolate business logic , Reduce the impact of demand changes .
3、 ... and 、 How to do architecture design well ?
Architecture design should be done well , It's really not an easy thing , It takes a lot of experience . But there are many mature architectural design patterns in the industry , We don't need to work behind closed doors , After understanding the business requirements , Find similar architectural designs , Then based on the mature architecture design scheme , To transform , Become an architecture that suits your business needs .
Architecture design can go through four basic steps :
- First step : Analyze requirements ;
- The second step : Choose a similar mature architecture design scheme ;
- The third step : Layer by layer refinement from top to bottom ;
- Step four : Validate and optimize architecture design .
Four 、 Other excerpts
- Architecture design , Through organizing people and Technology , Low cost to meet demand and changes in demand , Ensure the stable and efficient operation of the software .
- The way of architecture design , It is to organize personnel and technology to split the system and team , And arrange the arrangement relationship after segmentation , Let the split parts communicate with each other through the agreed protocol , Work together to achieve the final result .
- For example, the team takes PHP Mainly programmers , There is no need to choose rashly Java As a development language ; If the js Mainly programmers , You can consider using it Nodejs. Because of this choice , It can make the team not need too much learning cost .
summary
Architecture design , It is to control the technically complex problems in software projects . Architecture design , By organizing people and Technology , Low cost to meet demand and changes in demand , Ensure the stable and efficient operation of the software .
边栏推荐
- Vmstat memory consumption query
- Official tutorial redshift 01 basic theoretical knowledge and basic characteristics learning
- 佳木斯市场监管局开展防疫防虫害专题食品安全网络培训
- An Optimal Buffer Management Scheme with Dynamic Thresholds论文总结
- Jianmu continuous integration platform v2.5.2 release
- How to draw an excellent architecture diagram
- [cryoelectron microscope] relion4.0 pipeline command summary (self use)
- [note] the art of research (understand the importance of the problem)
- [cryoelectron microscope | paper reading] emclarity: software for high-resolution cryoelectron tomography and sub fault averaging
- How to get to the deep-water area when the industrial Internet goes?
猜你喜欢

MySQL uses date_ FORMAT(date,'%Y-%m')

UE4 highlight official reference value

JVM garbage collection mechanism (GC)

Convert source package to RPM package

Ue4/ue5 C disk enlargement processing
![[untitled] format save](/img/6c/df2ebb3e39d1e47b8dd74cfdddbb06.gif)
[untitled] format save

技术分享| 快对讲综合调度系统

Ansible (automation software)

V-Ray 5 acescg workflow settings

Ionicons icon Encyclopedia
随机推荐
工业互联网行至深水区,落地的路要怎么走?
Explanation and closing method of server 135, 137, 138, 139, 445 and other ports
[skill accumulation] common expressions when writing emails
An optimal buffer management scheme with dynamic thresholds paper summary
The smallest positive number that a subset of an array cannot accumulate
postman接口测试|js脚本之阻塞休眠和非阻塞休眠
下推分析的限制
How to connect VMware virtual machine to external network under physical machine win10 system
Dynamic Thresholds Buffer Management in a Shared Buffer Packet Switch论文总结
[cryptography experiment] 0x00 install NTL Library
Unity beginner 4 - frame animation and protagonist attack (2D)
Operator overloading
How to draw an excellent architecture diagram
Effective learning of medical image segmentation annotation based on noise pseudo tags and adversarial learning
The software package is set to - > Yum source
Some simple uses of crawler requests Library
Shell script - global variables, local variables, environment variables
Solve the problem that CSDN cannot publish blog due to unknown copyright
Compare three clock circuit schemes of single chip microcomputer
[note] the art of research (understand the importance of the problem)