Home>Article> What do you need to learn about software development?

What do you need to learn about software development?

若昕
若昕 Original
2019-04-24 16:05:56 17110browse

timg (2).jpg

What do you need to learn to do software development? Today, the editor has compiled the following for you

What you need to learn to do software development:

1. Master data and Its conversion, on-machine representation of data, arithmetic and logical operations, and related basic knowledge of applied mathematics;

2. Understand the composition of the computer and the performance indicators of each major component;

3. Master the basic knowledge of operating systems and programming languages;

4. Proficient in the basic operating methods of commonly used computer office software;

5. Proficient in basic data structures and commonly used algorithms;

6. Proficient in C programming language, as well as one of C, Java, and Visual Basic programming languages;

7. Familiar with basic knowledge of databases, networks and multimedia;

8. Master the basic knowledge of software engineering, understand the basic knowledge of software process, and common sense of software development project management;

9. Understand common information technology standards, security, and basic knowledge of relevant laws and regulations;

10. Understand the basic knowledge of informatization and computer applications;

11. Correctly read and understand simple English materials in the computer field.

Necessary skills for programmers:

1. Proficient in development tools

As a programmer, you must be proficient in the use of at least two to three development tools. This is the program Among them, C/C and JAVA are the most recommended development tools. C/C has become a powerful tool among development tools due to its high efficiency and high flexibility. Many system-level software is still written in C/C.

JAVA's cross-platform and good integration with WEB are the advantages of JAVA, and JAVA, its related technology set JAVAOne, is likely to become one of the mainstream development tools in the future.

Secondly, it would be better to master a simple visual development tool, such as VB, PowerBuilder, Delphi, CBuilder. These development tools reduce the difficulty of development and can strengthen the concept of the programmer's object model.

In addition, you need to master basic scripting languages, such as shell, perl, etc., and at least be able to read these script codes.

2. Familiar with databases

As programmers, they naturally have their own reasons: many applications are centered on database data, and there are many database products, among which relational Databases are still the mainstream form, so programmers must be proficient in at least one or two databases, be very clear about the key elements of relational databases, and be proficient in the basic syntax of SQL.

Although many database products provide visual database management tools, SQL is the foundation and the universal database operation method. If you do not have access to commercial database systems, it is a good choice to use free database products, such as mySQL, Postgres, etc.

3. Understand the operating system

The current mainstream operating systems are Windows and Linux/Unix. It is necessary to be proficient in using these operating systems, but these alone are not enough.

To become a true programming master, you need to have an in-depth understanding of the operating system, its memory management mechanism, process/thread scheduling, signals, kernel objects, system calls, protocol stack implementation, etc.

Linux, as an operating system for developing source code, is a good learning platform. Linux has almost all the characteristics of modern operating systems. Although there is less information on the kernel implementation mechanism of Windows systems, a lot of information can still be obtained through the Internet. Understand the network protocol TCP/IP.

Today, when the Internet is so popular, if you have not yet mastered the TCP/IP protocol stack, the supporting protocol of the Internet, you need to quickly catch up on this lesson. Network technology has changed the way software runs. model.

From the earliest client/server structure, to today's WEBServices, to future grid computing, all of this is inseparable from network protocol support based on the TCP/IP protocol stack. In-depth understanding of TCP/IP IP protocol is very necessary.

At least, you need to understand the ISO seven-layer protocol model, the principles of common protocols such as IP/UDP/TCP/HTTP, and the three-way handshake mechanism.

4. Understand the significance of the existence of DCOM/CORBA/XML/WEBServices

With the development of technology, the seamless integration of software and network is an inevitable trend, and the location independence of software systems is the future One of the important features of the computing model is that DCOM/CORBA is an intermediate platform for the two current mainstream distributed computing. DCOM is an extension of Microsoft COM (Component Object Model), and CORBA is a specification supported by OMG.

The importance of XML/WebServices is self-evident. XML is known as the "Esperanto" on the Internet for its structured representation method and super expressive ability, and is one of the cornerstones of distributed computing.

5. Don’t separate software engineering from CMM

In the development of large-scale software systems, engineering development control replaces personal heroism and becomes the guarantee for the success of the software system. A programming master does not Must be an excellent programmer.

An excellent programmer combines excellent programming ability and development skills with strict software engineering thinking. Programming is only one part of the software life cycle. An excellent programmer should master all stages of software development. basic skills.

Such as market analysis, feasibility analysis, demand analysis, structural design, detailed design, software testing, etc.

6. Requirement understanding ability

Programmers must be able to correctly understand the requirements described in the task order. It should be clear here that programmers should not only pay attention to the functional requirements of the software, but also the performance requirements of the software.

You must be able to correctly evaluate the impact and potential threats of your own modules on the entire project. If a skilled programmer with two to three years of project experience does not understand this, it can only mean that he may be serious. I worked, but I didn’t work hard.

7. Modular thinking ability

As an excellent programmer, his thinking cannot be limited to the current work tasks. He must think about whether the modules he writes can be separated from the current system. It exists and can be used directly in other systems or other modules through simple encapsulation.

This can make the code reusable, reduce duplication of labor, and make the system structure more reasonable. The improvement of modular thinking ability is an important indicator of the improvement of a programmer's technical level.


The above is the detailed content of What do you need to learn about software development?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn