The core technology of software development

Source: Internet
Author: User

"Introduction to Programming (Java) 0.1.5 Problem Solving"

Programmers use programming languages to write source code activities-programming is often generalized to problem solving (problem solving).

The problem to be solved can be large and small, and the solution to the problem requires the participation of the computer. Therefore, the programming activity is called problem solving, and computer science is regarded as the science of problem solving.

The size of the problem is mainly reflected in the amount of code and the number of software development participants.

The actual problem can be:

2 Printing multiplication 99 table;

2 The factorial of 50000 is obtained;

2 Set up a new large-scale network game platform;

2 Develop a student registration, class curriculum input, student performance Inquiry ... Function of student performance management system;

2 Manage all kinds of enterprise resources, such as human resources, warehouses, funds, etc.

2 Construction of Digital hospital, the establishment of regional-oriented medical information sharing and collaborative platform, Electronic medical records as the core of the clinical information system.

For small-project software development or small-scale programming (Programming-in-the-small), it usually has the following characteristics: (1) The code is written by one or several programmers, and each programmer is able to understand the full details of the project. (2) The project may be a separate project or part of a large project, but the task is clear and the main purpose of development is to write clear and effective code.

For large projects or large-scale programming (Programming-in-the-large), it has the following characteristics: (1) A large development team is required, comprising project managers, software architects, demand analysts, software designers, interface designers, testers , programmers and so on, no one can understand all the details of the entire system. (2) The development of the object is a complex system, the first issue of development work is the effective communication and communication of the development team, focus on the reusability and maintainability of the software.

The size of the problem makes a huge difference in the methodology of software development. Large-scale programming is often called System Development, such as the development of large-scale management information systems, various system software; small-scale programming is called (narrow) problem solving, which focuses on all the detailed steps/actions required to solve the problem, and describes the detailed steps, called algorithms.

Therefore, the core technology of computer software development has two:

★ Program Organization (Object oriented technology), problem Solving (algorithm).

Many C programmers have a solid underlying technology, but they tend to belittle the importance of program organization while emphasizing algorithms and data structures, System programming (reading "Windows core programming", "UNIX programming Art", etc.).

Some java/c# programmers, the research design pattern, the frame, may neglect the operating system principle, the compiler principle, the algorithm and so on bottom knowledge time investment . There are also some Java Web development that may be less common to the bottom.

I am here to organize and solve the problem, as a brief summary of the core technology of software development, I hope readers are not affected by certain paranoia, at least at the university stage, you have to cadres -from the macro-understanding of the procedural organization, from the details of understanding (chivalrous) problem solving. After work, in accordance with their own situation, and then to strengthen some aspects-after all, time is limited.

In teaching C language , I will also follow the theme of " program organization " to expand the content of #include, functions (structured programming, interface and implementation separation) ;

In addition, please note, "Now, suppose the program is very large and requires more than one person to work together to write is3x (int), ISINCLUDE5 (int) and foo (int) ...", in a similar text, reminding the reader that, although our book examples, There is only one output statement, but it stands for, say, more than 1000 lines of code!

I've seen one of the most satirical fanatics in the past, using multi-layered class + mode to do a simple job. Baby, can the example not be simplified? It is possible to say cannon hits mosquitoes. So, in the 11.1 Note, I have again emphasized the importance of the organization of the program, reminding it is a good opportunity for practice.



Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

The core technology of software development

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.