Advanced Systems Design with Java, UML and MDA

Chapter 1: The Challenges of Software Design

This chapter surveys current issues in software construction, the problems caused by the pace of technological change, and the need for improved maintainability and portability of software. In particular we consider the need for software development to focus more resources on construction of platform-independent models to reduce the effort in recreating a system for a new platform or technology.

1.1 Software Development

The purpose of software [1] remains the same today as it was at the beginning of computing in the 1940s: to automate the solution of complex problems, using computers. However the nature of the problems to be solved has changed dramatically, and so have the programming techniques employed: the first computers were used for highly critical and specialised tasks such as decryption, and 'programming' them meant reconfiguring the hardware (vacuum tubes or 'valves') of these huge and massively expensive devices.

Today, the variety of tasks for which computational power is used spans the whole range of business, social and creative endeavours. Increasingly, instead of performing some isolated computation, software systems form active or passive elements in a communicating network of services and agents, each new system depending essentially on existing capabilities of previously developed systems, whose services it uses.

Programming techniques have also advanced in the decades that followed the 1940s, through the use of languages of increasing power and abstraction: Assembly languages, FORTRAN, C, C++, and now Java and C #. Instead of manipulating instructions at the level of the hardware, programmers specify data and...

UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programming Languages
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.