How to choose the programming language for the Software engineering project according to the project assignment.

Source: Internet
Author: User

Our team of software engineering projects is to develop a simple instant messenger software, we finally choose to use Java to develop this software. Why Choose Java? First of all, Java is a high-level language using object-oriented approach coding, which has a great advantage over the--c language we have learned in another language. C language is a kind of structured language, and it is process-oriented. The following text refers to an object-oriented process-oriented advantage:

Process-oriented is to analyze the steps required to solve the problem, and then use the function to implement these steps step by one, using a one-time call to be able.

Object-oriented is the decomposition of a problem transaction into individual objects, the purpose of which is not to complete a single step, but to describe the behavior of something in the whole process of solving the problem.

For example, the process-oriented design is the first step in the analysis of the problem: 1, start the game, 2, Sunspot first go, 3, draw the screen, 4, Judge Win and lose, 5, turn to white son, 6, draw the screen, 7, Judge Win and lose, 8, return step 2,9, output the final result. The problem is solved by using separate functions for each of the above steps.

The object-oriented design is to solve the problem from another idea. The whole Gobang can be divided into 1, black and white both sides, the behavior of the two parties is exactly the same, 2, the Board system, responsible for drawing the screen, 3, the rule system, responsible for determining such as foul, winning and losing. The first Class object (Player object) is responsible for accepting user input, and informs the second class object (Checkerboard object) The change of the chess piece layout, the Checkerboard object receives the change of the chess piece to be responsible to show this change on the screen, and uses the third kind of object (rule system) to decide the chess game.

It is obvious that object-oriented is a function to divide a problem, not a step. The same is the game, the behavior in the process-oriented design scattered in the total number of steps, there is likely to be different drawing version, because the designers often consider the actual situation of a variety of simplification. In object-oriented design, the drawing can only appear in the Checkerboard object, thus guaranteeing the unification of the drawing.

The unity of function guarantees the extensibility of object-oriented design. For example, I want to join the Undo function, if you want to change the process-oriented design, then from the input to the judgment to show the sequence of steps to change, even the steps between the sequence of a large-scale adjustment. If it is object-oriented, only with the change of the Board object on the line, the board system to save black and white on both sides of the game, simple backtracking can be, and the display and rule judgment is not to be taken into account, while the entire function of the object call sequence has not changed, the change is only local.

For example, I want to change this Gobang game to go game, if you are process-oriented design, then the rules of Gobang distributed in every corner of your program, to change is not as good as rewriting. But if you are the object-oriented design, then you only change the rules of the object can be, Gobang and go is not the difference between the rules? (Of course the size of the chessboard is not the same, but do you think this is a problem?) Just make a small change to the Checkerboard object. The approximate steps of playing chess have no change from the object-oriented perspective.

(Quoted from Baidu Know authentication computer network classification talent Chi Liangfei Answer,

Object-oriented and process-oriented differences _ Baidu knows
http://zhidao.baidu.com/link?url=WJkU8QN_fldDoFb8NFOCjy3b7IkFI3n1JMHagy8LEgtao9ljaLbioF4lAzdvoSBc1n3HXDuvKf0DOnfXjgdG2q)

At the same time, the object-oriented language of Java has good stability, good reusability, easy to develop large-scale software products, good maintainability, good portability and so on.

We have also considered the following aspects

(1) Available compilers: Configuring the Java compilation environment is an easy thing for our student dog.

(2) Available software tools: Eclipse is a Java development tool that we have learned to use more skillfully.

(3) Project scale: Our project scale is not big, just need to complete the instant communication of several basic functions.

(4) Programmer's Knowledge: A more systematic Java course for one semester last semester, so it is more familiar to Java.

(5) Software portability requirements: Java has a platform-independent feature because Java removes pointers and encapsulation, which makes it very portable.

To sum up, we have chosen Java as the development language of our group Software Engineering project.

How to choose the programming language for the Software engineering project according to the project assignment.

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.