jump to navigation

Five trends that every software engineer ought to know December 15, 2011

Posted by shuliuls in Software Engineering.
trackback

Five trends that every software engineer ought to know—Shu Liu

End User Programming

Firstly, I think end user is the ultimate beneficiary of product and service. In general, end users have their own specific requirements or habits for products and services thus the end user programming is required and practical. In my opinion, end user programming is a concept and technology for end users to programming so they can get what they really need.

End user programming will have impact on programming tools because in most cases, end users are not professional programmers and they are not familiar with programming skills and end user programming needs specific tools for end users to add simple scripting programming languages to extend and adapt an existing application. Thus the cost of the tools is a significant challenge in end user programming. But on the other hand, a good tool allows many small experiments and becomes part of a style of working that is exploratory, iterative, and highly productive.

Model driven software engineering

I think MDE is a considerable approach for developers. The basic principle of MDE is–everything is a model, compared to the basic principle of object orientation–everything is an object. MDE is an open and integrative approach that embraces many other technologies. The goal MDE is to improve productivity. In the current complex development environment, with a growing diversity of systems and platforms, newly build software applications can’t be compatible with all existing and future systems.

MDE has several impacts on project management because it can help to increase productivity by reducing the software artifacts’ sensitivity for changes in personnel, requirements, development platforms and deployment platforms.

Software Product Lines

A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.

Software product lines have important impact on implementation because it can help organizations overcome the problems caused by resource shortages. Organizations of all types and sizes have discovered that a product line strategy, when skillfully implemented, can produce many benefits—and ultimately give the organizations a competitive edge.

Agile development

Many of the individual principles and practices that are promoted by agile development have been around for years, even decades. As opposed to implementing these best practices piecemeal, agile methodologies have “packaged” various customer, management, and in some cases, engineering practices and principles together in a way that helps guide teams through the process of rapidly planning and delivering working, tested software. Each of the agile methodologies combines both old and new ideas into refinements that are certainly greater than the sums of their parts.

Agile development has good impact on design patterns because it has several advantages, such as: increased team efficiency, lower development costs, faster time to market, better quality software, systems better suited to customer needs, and repeatable results.

Capability Clouds

The hottest wave in the world of information technology now is the potential growth of cloud computing. The cloud computing is a new form to visit data from anywhere of the world. The main advantage of such a technology is that it frees individuals from their desktop and allows them to access their data anywhere and anytime.

In my opinion, capability clouds will have a major impact on the mobile world is due to the popularity of mobile applications on different devices. With the emergence of the Smartphone, the mobile operators are being gradually cut out of the value added services space with most of the revenues shifting to rest of the ecosystem. Mobile cloud computing provides an opportunity to leverage their network infrastructure assets and their consumer relationships to open up new revenue streams.

Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: