Five realms of software product design

Source: Internet
Author: User

The vicissitudes of software R & D over the past decade and the painful experience of first-time bankruptcy have given me a deeper understanding of software product development. When the New Year is approaching, I will write a speech to share with you.

 

I. agricultural realm

 

My friend asked me, what can I do with my computer? I can do anything you think. In fact, I am quite ignorant of this.

 

Plato once said that people's knowledge is like a circle. You already know the inside of the circle. You do not know the outside of the circle. The circumference is what you already know and what you have not solved. The more knowledge you have, the larger the circle, and the longer the circle perimeter, that is, the more problems you know that you have not solved.

 

If you think you have no problems, it means you are very ignorant.

 

Countless young people rely on their own enthusiasm and are not afraid of tigers. Without experience and rules, they have invested in the first battle that won't win. To put it simply, we try to build a high-rise building with the technology of base dog's nest.

 

At this stage, enterprises are at best a hands-on workshop. Some people say that my R & D team has hundreds of people. Sorry, do you have much to do with the number of employees at this stage.

 

2. Industrial realm

 

Knowing that software product design and development is a complex system engineering, many people will try to use some necessary technologies to break down complex systems into simple subsystems. At this stage, some software engineering theories are gradually absorbed. This includes:

 

Object-Oriented Design

Software Engineering theories and tools such as UML, RUP, XP programming, and design patterns

Componentized system design-technologies such as COM, DCOM, ActiveX, CORBA, and WebServices are beginning to enter product design.

 

To put it simply, we already know how to split high-rise buildings into multiple dog nests and simplify them. We also know how to develop reusable system components in compliance with software industry standards.

 

Many people think that they have reached the end of software development and mastered the ultimate technical means. However, this is only the initial stage of software product development. As you discover more and solve deep-seated problems, you need more effective theories to improve your ability to control software product development.

 

Iii. Mathematical realm

 

The realm of industrialization provides technical support and ideas for simplicity, but good tools cannot guarantee correct design.

 

When we learned how to solve the quadratic equation of a single element, we began to learn a lot of technical solutions, such as cross-phase multiplication and formula. This is similar to the realm of industrialization-which allows you to break down complex problems into simpler ones. However, these skills are not always effective. The final solution is to export the formula to completely solve such problems.

 

Does software product design have a formula from demand to code? This is a project that has been studied for half a century. Unfortunately, 99% of software developers in China do not know about the progress. It's too late for you to find yourself armed with such a good technique when the foreign ship's gunshots hit your door.

 

At this stage, you will use mathematical methods to ensure the correctness of the software system design. You may introduce the following theories into your design process:

 

In system design, we consciously run finite state machine, Petri Net and other mathematical models to design and analyze the system structure.

Introduce formal software engineering technologies such as Cleanroom technology, B method, and Z language to ensure the correctness of the system design.

 

Finally, you will find that software product design is really a strict scientific process. If you do this with the mindset of Yamano, it will eventually be a mess.

 

Iv. artistic realm

 

Humans are essentially irrational animals. The ultimate goal of designing products for humans is not to be correct. Therefore, the mathematical realm does not bring you to the final destination.

 

When humans have not solved the problem of food and clothing, they have learned to graffiti on the rocks, hanging necklaces around their necks, and designing products for humans to satisfy their seemingly worthless preferences.

 

Therefore, after mastering the skills of correctly designing products, software product design will fight for art-we are not designing tools for our customers, on the contrary, we are designing an eye-catching super toy, a work of art for them.

 

Software Product designer-you are not just an engineer. Further, you should be an artist driving high-tech technologies!

 

V. Religious realm

 

Akmao was shot not for science, nor for art, but for the purpose of capturing our hearts!

 

The reason for being shot is that he has adopted a means and product which is not recognized by civilized society-Heroin.

 

Similar to others, the highest realm of software product design is to conquer the hearts of customers, so that customers can be conquered by your software as if they worship God. In addition to heroin, it seems that religion can do this.

 

Look at IBM, look at Microsoft, look at Intel, look at Apple, these super business giants, in order to let you put out the pockets of money honestly, is one by one look like a evangelist?

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.