Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the core principles of software development

2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

This article mainly explains "what are the core principles of software development". The content of the explanation is simple and clear, and it is easy to learn and understand. Please follow the editor's train of thought. Let's study and learn what are the core principles of software development.

As programmers, have you ever thought about the simple question, "what is software?" You can close your eyes and let yourself think for a while. If you find it a little abstract and difficult to answer, take a look at my answer.

Software = program + data + document + (service)

Program = data structure + algorithm

After reading these two intuitive formulas, is there a feeling of sudden enlightenment, "Oh, I see."

Let's take a look at the four definitions of "software". Although it is boring, the concept is in place:

The software can complete the predetermined function, achieve the expected performance, and can execute computer instructions.

Software is a data structure that allows a program to process appropriate information.

Software is a document that describes the operation and use of a program

Software is a kind of logical entity, a collection of products with knowledge, an abstraction of the physical world, and a result of human brain intelligence.

In the eyes of many self-righteous Party A, software is cheap and can be copied at will, so they often put forward some stringent requirements, some of which make software developers laugh and cry: "this demand is simple." you go online to find a ready-made one, change it, it won't take long, can you fix it in a month? " Every time I hear something like this, there are ten thousand grass-mud horses galloping past in my heart.

Software development is not an easy task and needs to go through the following basic processes:

1) Software planning to determine product positioning and target users. This step requires Party A to plan and investigate.

2) Software requirement analysis: according to the requirements of Party A, analyze the product functions that Party A needs. This step requires the project leader (or product manager) to communicate with Party A.

3) Design according to the requirements, including outline design and detailed design. This step needs to be done by the project leader (or product manager) and communicated correctly to the developer.

4) Encoding and running. This step requires developers to do it.

5) Test: confirm the requirements of Party An and verify the design and results. Developers to carry out unit testing, integration testing, if there is a professional testing team, they need to stand on the point of view of Party An and users to test whether the overall product meets the requirements and meets the performance requirements.

6) maintenance: ensure that the software can run in a formal environment, and correct some defects (bug), or improve the function, or improve the performance, and constantly iterate the software version.

Look, the process of software development is not as simple as Party An imagines. If a partner encounters an unreasonable Party A, throw this article to him.

Since the process of software development is difficult and takes time and effort, it is necessary to follow some principles, otherwise the development cost will become very expensive and the development cycle will be delayed for a long time.

Principle one: Don't Repeat Yourself.

The literal translation is called "Don't repeat yourself", and there is another familiar version, "Don't repeat the wheel."

After you first enter the field of software development, be sure to gather together some of the solutions you have written, comb them regularly, write some documentation, and constantly ReFactor them into Swiss Army knives. If you can, open source them to serve more developers.

With your own tool library, the next time you encounter a similar need, you can use it directly, saving a lot of time.

In addition, you should also be good at taking advantage of mature technology solutions that have been opened up in the industry, such as the following.

GitHub and Mayun are two places full of treasures. If you think you are not good enough to build your own wheels, be sure to visit these two websites, where there are many mature solutions for you to use for free.

For example, if you want a mall system, then marcozheng's mall can be used directly as a prototype. For example, if you want a personnel management system, then the vhr with a little rain in Jiangnan can be used as a prototype directly. Although it has been recommended many times, it is not too much for a good friend to recommend one more time.)

Principle two: Keep it simple stupid.

The famous KISS principle, "keep simple, keep stupid", is similar to Steve Jobs' famous saying "stay hungry, stay foolish".

This principle can also be reflected in the design of Apple products. The original phones, such as Nokia smartphones, had a lot of physical keys, but Apple had only one home key and all other virtual keys were replaced, which completely changed Nokia's life.

In the process of designing software, we must not think too complicated, the simpler the better, and then enrich the effect after it is formed, otherwise the development cost will become very expensive and the software can be stillborn.

Principle 3: You Ain't Gonna Need It.

It means "you don't need it", and the rule requires programmers not to add features until necessary. Ron Jeffries, co-founder of extreme programming, once said: "things are always realized when they are actually needed, not when they are foreseen to be needed."

The project leader (product manager) should adhere to this principle, never over-disassemble the needs of users and add too many functions that they think should be added in the product design process, because in the use of a software, often 80% of requests are spent on 20% of functions.

Many minor functions may be needed to add icing on the cake to the software because of their existence, but without them, the commercial value of the software still exists. The fewer features, the shorter the development cycle, which makes it more likely to beat the competition.

Principle 4: Done is better than perfect.

Done is better than perfect because perfect is never done .

It's a very simple sentence in English, can you understand?

Don't always want to perfect all the functions and go online after perfection. Try and make mistakes immediately after the product has a certain prototype, according to the feedback of users, and then consider whether to add some other functions or optimization according to the needs of the market.

"No one is perfect, no gold is perfect", some defects should be allowed to exist, and the deliberate pursuit of perfection is not necessarily a good thing. Jobs wants a whole screen, but when the technology is not available, he will also leave a home button.

When developing software, we programmers should also follow this principle, first do the function, as for the effect, user experience, should be put back, do not always think about perfection, perfection means that it can never be done-there is no best, only better.

Principle five: Choose the most suitable things.

Choose what suits you best, and don't blindly pursue fashion. Technology is changing with each passing day, and if you blindly pursue the most cutting-edge technology when developing software, it may turn the product into a guinea pig.

Just like we fall in love, do not blindly pursue the unattainable, often those around us, willing to accompany us is the best.

When it comes to technical selection, as long as it is suitable. If there are fewer than a thousand target users of the product, there is no need to engage in distribution and big data, otherwise it will be a bit like "snake swallowing elephant." when it comes to the need for distribution, it will be too late to upgrade when big data is engaged.

Thank you for your reading. the above is the content of "what are the core principles of software development". After the study of this article, I believe you have a deeper understanding of what are the core principles of software development. the specific use of the situation also needs to be verified by practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report