The impact of cloud computing on traditional software engineering

Source: Internet
Author: User

The impact of cloud computing on traditional software engineering

With the development of science and technology and the improvement of people's demand, software becomes more and more complex and diverse, which undoubtedly deepens the difficulty of software development, management and maintenance. People have been making unremitting efforts to simplify software development and have made great achievements. The rapid development of the Internet also provides more possibilities for the development of Software engineering, in which cloud computing is a very representative aspect. Next I will discuss the impact of cloud computing on traditional software engineering in six ways.

Before we go into the discussion, we need to understand what cloud computing is. The concept of cloud computing was first proposed by a University of Southern California professor in 1997 and was accepted by some large IT companies as a term in 2007 . The concept of cloud computing is divided into two kinds: narrow and generalized. Narrow-sense cloud computing refers to the use of it mode and infrastructure delivery, refers to the network in an on-demand, easily scalable way to obtain the required resources; Generalized cloud computing refers to the delivery of usage patterns and services, which means getting the required services over the network in an on-demand, easy-to-scale manner [1]. "Cloud" refers to the "computation" of the carrier and implementation of the site, "computing" refers to all the resources available on the computer [2]. The theory of cloud computing can be infinitely extended, which also provides a better technical resources for software development, some of the problems that can not be handled by a single processor can be solved. Cloud Computing provides a new opportunity for software engineering, and we start our discussion here.

1. openness of the software architecture

Software architecture refers to the basic structure of the system embodied in the principles of design development, which is the relationship between the components, the relationships between each other and the environment [3]. In the traditional software engineering, the software architecture is closed, some large enterprises have a large number of excellent architects, and the fledgling small business may not get a good architecture. Compared with the traditional software architecture, the components of cloud computing are more open and mature, and the reuse degree of software is greatly improved. A large number of architects written by the excellent architecture can be shared in the "cloud", to communicate with each other, to supplement their own flaws, improve the quality of the code, while this can greatly reduce the amount of code writing, some of the requirements of software engineering can be directly in the "cloud" to find the right architecture, combined with specific code to achieve, Save a lot of time and resources, improve the efficiency of software development. In addition, some small businesses can obtain the required architecture by paying a fee, thereby gaining development, increasing competitiveness and providing fresh blood to the software industry.

2. diversity of software objects

In today's case, when object-oriented programming is widely used in software development, software object becomes a very important object programming in software engineering, and software object becomes a very important element in software engineering. In traditional software engineering, the number of developers is limited, and the designed objects can be analyzed according to the requirements. In the open platform of cloud computing, developers can learn from similar software design objects to find gaps, but also can be designed by the excellent software objects uploaded to the "cloud" as a currency to exchange the required resources. This cloud platform will provide a large number of object selection, greatly improving the diversity of software objects, making software engineering quality higher and better.

3. dynamic nature of software processes

In the software engineering study, we understand that the development of software is a detailed and strict time plan, reasonable human resources and material resources allocation, more fixed. Rigorous planning leads to low fault tolerance, which, once a part of the problem, can affect the overall progress. In addition, if the software development in the middle of the proposed changes in certain requirements or functions, the entire software engineering will also cause greater losses. And cloud-based software engineering can minimize the loss of these problems. First of all, the cloud platform provides a very rich resources, ready to apply, on demand, to avoid the unreasonable allocation of resources; second, cloud computing can be based on the needs of users to develop software timely changes, such as traditional software engineering, if you need to use another language in the development process, it is necessary to reconfigure the development environment and so on , and programming on a cloud computing platform does not have to be considered, which can save a lot of time; Finally, the existence of cloud computing and the characteristics of resource allocation, make software engineering plans more relaxed, divided in planning and document editing time less. The above comes down to reflect the cloud computing makes the process of software development more dynamic, real-time update real-time change, which for the rapid development of technology, the explosion of the transmission of the message is very necessary today.

4. socialization of development organizations

Due to the openness of the cloud computing platform, there will undoubtedly be a lot of interaction among developers. In the traditional software engineering development process, developers can only work with people around them. With cloud computing, developers with the same interest goals can no longer be constrained by distance, staff gathering is more convenient, and software development is more efficient. The same project can be developed by people from different regions, brainstorming, the development of products are more excellent, higher quality. The github we're using is a cloud platform where we can upload our own code, and people in the same group can view, modify, and annotate on GitHub at any time, whenever and wherever they have a device that can be connected to the Internet, and can be developed online.

5. The popularization of developers

As open source software grows, the average person also has access to the code to learn, which lowers the threshold for software development, and some amateur developers who are not programming as major professionals are also likely to participate in the development. And the cloud computing platform has a lot of software projects part of the code can be referenced or reused, some code without understanding the principle can be directly used, equivalent to the black box, which also makes the task of the developers more simplified, some weak-based programmers can also participate in the development of some major projects, Reduce the threshold and capital of software development, developers will become popular because of the difficulty of code learning, more people can join the software project.

6. Virtualization of resource deployments

A very important feature of cloud computing is virtualization. The traditional software engineering has strict requirements on hardware, which can only be done on the entity, and configure various environments and debug the hardware. Cloud-based software engineering does not require that, as long as there is a network, users can be developed from a variety of terminals, regardless of the specific operating location, and the development environment can be switched at any time [4]. [5]Some of the features that individuals or small businesses cannot achieve, such as supercomputing, can also be achieved through cloud computing. The virtualization of resource deployment frees developers from complex hardware and development environments, regardless of the potential conflicts between different software development environments, and does not miss the opportunity to lose hardware resources at a time when the software developer is no longer confined to a small office space, making it easier to do it anytime, anywhere.

This is what I think cloud computing can have a positive impact on traditional software engineering, the advent of cloud computing, reduce the cost of software development, improve development efficiency. Although today's cloud computing is not a very mature technology, but I believe that the software engineering will be in the gradual application of cloud computing to create a revolutionary change. The future of software will be richer, more complex logic, cloud computing will be the key to break the technical barriers, with the cloud computing, software development will be more efficient and concise. Of course, cloud computing can also have some negative effects, such as the copyright issues of openness, network constraints, and the responsiveness of online programming, and I believe that as technology continues to evolve, these issues will be addressed. His flaws, we should integrate cloud computing and software engineering as early as possible, break the traditional thinking and strive to be in the forefront of the world in this respect.

Reference documents:

[1] Cheng . Introduction to Cloud computing and its application prospects [J]. China new technology new product .

[2] Wujaijie . Introduction to Cloud computing [J]. Communication design and application .

[3] Peter eeles.what is software architecture[z]. Rational Edge. 2006

[4] Zhang Yong . Research on software engineering mode in cloud computing environment [C]. The third National Software Testing conference and the mobile computing, grid, intelligent high-level forum proceedings .

[5] Sagessa, Jie Jili, Shaohua . On the impact of cloud computing on software engineering [N]. Journal of Kunming University . 2011.33 (6)

The impact of cloud computing on traditional software engineering

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.