Differences between Software Development and Information System Development

A. Definition of Software Development and Information System Development

Software development is the act of working to produce/create software. It refers to the activity of computer programming, which is the process of writing and maintaining the source code. In broader sense, software development includes all that is involved between the conceptions of the desired software through to the final manifestation of the software.

Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products. It determines the requirements for a new computer-based function, and creating, obtaining and/or modifying one or more programs that performs that function. For larger software systems, usually developed by a team of people, some form of process is typically followed to guide the stages of production of the software.

Information System Development, or more often called as System Development, is defined as the activity to develop a computer based system for the purpose of improving the effectiveness and efficiency of that organization. It has to consider the capabilities of the information system to characterise the organization, its work systems, its people, and its development and implementation methodologies together determine the extent to which that purpose is achieved.

Therefore the connection between Software Development and Information System Development is that software development is part of system development. Software Development Information Systems is all activities carried out by a software development enterprise. It is important that the system development is well structured. One of the reasons is that along with the increase complexity of a system, the number of people required increases, thus the number of communication paths also increases. A higher probability of misunderstanding will be introduced. Further methodologies of system development are explained in part B below.

B. Information System Development Life Cycle

There are four most common defined and used system development life cycles models,

–          build and fix

–          waterfall,

–          spiral, and

–          recursive/parallel method.

All methods recognise four main elements or phase of system development and deployment, which are functional requirement or analysis, system design, system build, and system maintenance.

1. Build  and Fix. The build and fix model is not technically a life cycle model but represent the lack of one. This was the methodology typical of system development in the old days, when computers were expensive and people were cheap.

2. Waterfall

The waterfall model is a sequential development process, in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, preliminary design, detailed design, implementation, testing (validation), integration, system testing, system rollout, and maintenance. The fundamental aspects of this model are that each step must be 100% completed before moving to the next step.

Picture 1.1. Waterfall Model

  1. Prototyping

The prototyping model is basically a non standalone methodology. It selects some portions from other methodologies depending on the requirement of the system development. It attempts to reduce project risk by breaking a project into smaller segments and providing more change flexibility.

Picture 1.2. Prototyping Model

  1. Spiral

The spiral model is the combination of prototyping and evolutionary system to primarily identify and evaluate risk and cost. This model divides the development activities into four quadrants: (a) Determine project objectives, (b) Evaluate the defined alternatives, (c) Develop a prototype, and (d) Re-evaluate and plan the next cycle.

Picture 1.2. Spiral Model

  1. Recursive/parallel

This model came from the idea that software is developed by applying work from all the major development cycle phases. The recursive/parallel model considers the ‘real’ way that expert system developers work and allows for more creativity by the object which at the end tends to smooth the process.

Picture 1.3. recursive/parallel model

References

  1. http://www.en.wikipedia.org/wiki/Software_development (accessed 11 July 2010)
  2. http://www.nekwib.org/survey-definitions.html (accessed 11 July 2010)
  3. Information systems development techniques and their application to the hydrologic database derivation application. http://cadswes.colorado.edu/PDF/RiverWare/DavidsonLV2002.pdf (accessed 12 July 2010)
Skip to toolbar