This chapter discusses the software engineering lifecycle, history, and software architecture as well as the foundation of Information Engineering and Information Systems. The first part of this chapter discusses the software lifecycle phases and how to make effective use of various technical methods by applying effective technical and other efficient methods at the right time. This chapter also shows the technical similarities between software database design and Information System’s database design. In the second part of this chapter, the author introduces the information engineering life cycle and discusses the key phrases for information engineering as well as Information System. In fact, this part is a good dictionary of information and software engineering. This chapter provides guidance for decision-makers in selecting an appropriate Information System strategy that contributes to the achievement of information engineering sustainability targets and leverages competitiveness.
Top1.0 Introduction
The term ‘life cycle’ means the changes that happen in the life of an animal or plant. In software engineering, this term is usually applied to artificial software systems to mean the changes that happen in the ‘life’ of a software product. Various identifiable phases between the product’s ‘birth’ and its eventual ‘death’ are known as lifecycle phases.
Typical software lifecycle phases are (Leszek, 2005):
There are a number of life cycle models – each for a different way of organising software development activities.
Top3.0 Software Development
John Tukey has used the term “software” the first time in the American Mathematical Monthly journal in January 1958. However, the purpose of software remains the same today as it was in the 1940s – at the very beginning of computing.
Today software development is often used to enhance a company’s enterprise information capabilities by building new functions into an already existing infrastructure, or by gluing together existing systems to carry out new services (Kevin et al. 2005).
In general, the emphasis in software development is increasingly on systems as components in larger systems, components, which interact and combine with each other, perhaps in ways that were not envisaged by their original developers.
The true process of software development is usually based on an irrational process (Pauline, 2004). A rational approach to software development is believed to lead to better software development. In addition, measurements of project progress are made simpler if an initial agreement on how a project is to be carried out exists, based on such guidance.
(Parnas & Clements, 86) Faking the design process allows ease of readability and understanding of the development process by outsiders.