The impact of cloud computing on traditional software engineering

Source: Internet
Author: User

The influence of cloud computing on traditional software engineering the concept of traditional software engineering

One of the traditional software engineering is structured generics, the basic stages are as follows: Requirement stage, Specification stage, design stage, realization stage, integration stage, maintenance stage, decommissioning, etc., which is a kind of traditional software development method suitable for the moderate code quantity.

With the development of social progress and technology, software is more and more complex, computing is more and more cumbersome, the code is more and more large, storage and processing of more and more information, software scale is more and more large. But the traditional structure design method has the difficulty in the large-scale software development organization and the maintenance aspect, the software reusability performance also is not good. So the concept of cloud computing was developed.

The concept of cloud computing

Cloud computing is a data-intensive supercomputing, distributed computing, parallel computing, utility computing, network storage, virtualization, load mean, thermal backup redundancy and other traditional computer and network technology development and integration of the product, in the data storage, data management, programming mode, concurrency control, System management and other aspects have their own unique technology. Cloud computing is the addition, use, and interaction of Internet-related services that provide dynamically scalable and often virtualized resources over the Internet. This is a pay-per-use model that provides available, convenient, on-demand network access and access to a configurable pool of compute resources that can be quickly delivered with little or no management effort or minimal interaction with service providers. Cloud computing is done by distributing computing across a large number of distributed computers, rather than on a local computer or a remote server, where the enterprise data center runs more like the Internet. This enables enterprises to switch resources to the required applications, access computers and storage systems on demand, and the benefit is that the client can have a broader repository of resources without being constrained by local resources.

Cloud computing is more of a service than a technology, providing the services that are available to you from all directions. The cloud can also provide more extensive resources for traditional software engineering.

The impact of cloud computing on traditional software engineering 1. The openness of software architecture

In the age of Internet, sharing and open source on the internet have reached new heights than ever before. On this basis, the openness of the software based on the development of cloud computing has been greatly improved, and the reusability of the software structure has been improved a lot. Cloud computing can provide a mature software architecture, design architecture and even open source code, in distributed computing mode, can be used by different "cloud" developers, or even between different software development teams. In Software as a service (SaaS) mode, cloud computing abstracts the low-end tasks in traditional development and integration, providing a standardized, ready-to-use solution. In the cloud, we can find a lot of artifacts as part of the software we're going to develop, and these artifacts will evolve and become more and more mature as we continue to use them. At the same time, the newly developed software can be used as a component of more complex software to be developed later.

2. Diversity of Software objects

In the process of traditional software development, data and methods are independent of each other. The most popular approach to object-oriented development is to combine data and methods to encapsulate them. This development method is from the beginning people in the analysis phase can be extracted from the object, in the design phase of the comparison, so that the implementation of the program, its stage changes than the structural design to be flat, thus reducing the number of errors, but the design of the object there are different developers, different software understanding differences, The implementation method is inefficient and has great limitations. In the era of cloud computing, everyone can put their own construction of objects on the network, cloud computing providers can also provide a molding, a variety of objects for developers to use, different software developers to the object of the unity of understanding, you can reuse the previous experience, reduce time costs.

3. The dynamic nature of software process

In the software development process, the resources required for the project, such as the developer, data, equipment, and software requirements, can be dynamically changing. A software development team may have normal personnel transfer, the use of software can be expanded over time, even beyond the original design, software development at the same time, the equipment is also upgrading. Traditional software development requires a rigorous process, and the changes that occur can have a huge negative impact on development, resulting in losses. Compared with the traditional software engineering, the cloud-based software engineering is no longer the waterfall model, and the concurrent model and multi-helix model will become the mainstream. After software deployment, each phase is delivered in an intermediate version, and software upgrades become more frequent. Any changes can be changed at any time, the next version of the update or upload to the cloud, the software development process becomes flexible.

4. Socialization of development organizations

Traditional software development is generally a development team, communication with people outside the team very little, and encountered the flow of personnel resources, usually a programmer is gone, requires two programmers to replace his location, there are huge limitations in the developer. In the cloud computing model, there is no impact on the flow of people, as long as there is a computer with Internet access, you can develop and communicate with the team, making development more inclusive and open. Cloud-based software development allows users to abandon part of the control and autonomy of the application, the control and autonomy to the cloud platform operators to master, which means that the organization and management of software is no longer just a developer's task, but a social group development management.

5. The popularity of developers

Software company's software development although has the outstanding Organization management organization, but still has the certain limitation to the developer. A company's development department personnel, may be due to the impact of corporate culture and other factors, there is a certain ideological limitations. In the cloud, many of the module designs can be obtained directly from the cloud provider, as long as the selection of modules suitable for their own development is good. Rather than just a fixed person in a company, they don't have to do all the work, they can do more in their area of expertise. At the same time, the early preparation cost of software development is reduced, everyone can have the ability to rent the resources and equipment on the cloud, which makes commercial programming popular, everyone can have a secure and stable development environment to achieve their own applications.

6. Virtualization of resource deployments

Cloud computing is a computing model that provides dynamically scalable virtualized resources over the internet in a way that is serviced. Computational resource virtualization is the core of cloud computing technology, which separates the upper software application from the underlying software, and because resources are in the cloud, users can access the cloud resources anytime, anywhere, and buy as much as they want. This maximizes the utilization of resources and allows the program to remain at maximum operational efficiency for ever. With cloud resources highly virtualized, the three modes of cloud-based IAAS (infrastructure as a service), PaaS (platform as a service), and SaaS (software as a service) make software and hardware resources readily available in the cloud. Software development is more about the need to consider human resources.

Summarize

Whether the development of software engineering promoted by cloud computing can become a "silver bullet" to solve the software crisis is unknown, but it plays an effective role in improving efficiency and reducing cost. While cloud computing technology is not yet very mature, more and more people are already aware of the benefits of cloud computing. In the environment of cloud computing becoming more and more popular, the software development mode must make corresponding change. The traditional development model of software engineering and related technologies are bound to change with the wide application of cloud computing, and more diversified software engineering development mode and business model will be possible. The development of cloud computing, software development will enter a new era.

The impact of cloud computing on traditional software engineering

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.