Translate

Total Page Views


Featured 1

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 2

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 3

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 4

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 5

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Tuesday, February 5, 2013

Asia political


Some of the world’s first great civilizations sprang up in Asia from 3500 BC onwards. Their riches attracted trade and conquering armies. Over the centuries peoples such as the Mongols and the Turks built up and then lost vast empires. From the 1800’s much of Asia was colonized by European countries. These new rulers took away wealth, but did not help the colonies develop their industries.

Great social changes have taken place in Asia during this century. Many colonies freed themselves from their European rulers, creating independent nation such as India and Jordan. In countries where a large majority of poor people were ruled by a wealthy few, communism seemed to be the answer. Communist governments set prices for goods and labour. They also owned all property. The idea was that people would share the profits as well as the work. However, the spread of communism often caused wars with capitalist countries where individuals were able to own property and to set all prices. In 1991, the Soviet Union abandoned communism and , as it broke up, republics such as Kazakhstan and Uzbekistan become independent countries. Some Asian countries still have communist governments, although a number have recently held democratic elections for the first time. Many Asian governments are now improving the economies of their countries by creating new industries and improving old ones. They are using both government money and foreign aid.

Animal of all shapes and sizes are found throughout Asia. They include the Asian elephant, the Bactrian camel and the giant panda. 

The word’s  largest and smallest bats are also found on this continent. The tiny Kitti’s  hognosed bat lives in caves in Thailand , while the large Bismark  fying fox is found in Indonesia. In the waters off southern Japan lurks the giant spider crab with a massive caw span of up to four metres.

Friday, February 1, 2013

Fourth Generation Computer Languages

When you use a third generation language to perform a task you need to provide a detail description of how this task should be carried out. For very narrow domains (specific areas) fourth generation programming languages have been developed, where you only needed to describe what is required. The most famous example of a fourth generation language is the Structured Query Language (SQL) which is used with databases.

Using SQL you can retrieve data from a database in different formats for various conditions just by specifying the headings you need, where they are stored (tables), and the conditions.

Fig 4.3 compares the differences when instructing a computer using SQL and Visual Basic (Third Generation Language) to retrieve data from a database. The example prints a list of students who have obtained an Avg above 75 from a database. In the Visual Basic example you are required to write all the details on how the data should be retrieved. In the SQL example only the requirements need to be specified.

Computer Languages
Third Generation vs Fourth Generation

Fifth Generation Computer Languages

Computer Languages which are related to Artificial Intelligence e.g. Prolog is an example of Fifth Generation Languages. Prolog is used to develop Expert Systems.

Thursday, January 31, 2013

Third Generation Computer Languages

A program is a list of instructions that performs a particular task. Assembly programs were very long, this made it difficult to maintain programs written in Assembly. In the late 1950 Computer Scientists came up with high level computer languages which were closer to English and Mathematics.

High Level languages are relatively easy for people to learn and to program computers. Fig 4.2, shows examples of four programs written in diffe rent high level programming languages which display the message “Hello World” on the computer screen.

World
High Level Programming Languages

The computer cannot understand instructions given in a high level language. A transla tor is needed to convert the high level language program into machine code. Imagine that you got an opportunity to go to Japan as part of a student exchange program. As a student ambassador you need to make a speech to students about Sri Lanka. How would you carry out your speech?

If you knew how to speak in Japanese, that would be the best way to carryout your speech. But if you knew English couldn’t you still made the speech? You could by getting help of a translator who is conversant in both Japanese and English. This is exactly how things work in a computer. A translator is used to translate instructions given in a high level language into machine code.

Coming back to the earlier example you could use two approaches to conduct your speech. One way to carry out your speech is for you to speak a few sentences in English and pause allowing the translator to repeat what you have said in Japanese. The second approach is that you could prepare your speech before hand and give awritten copy of it to the translator. You could conduct your speech completely in English. Your Japanese friends would not understand anything you say, but would probably patiently wait till you finish. After you have finished the translator could now repeat your entire speech in Japanese.

These two approaches are used by computers to translate high level language programs to machine. Translator software which uses the first approach are called Interpreters and the latter are known as compilers.

An Interpreter converts a program written in a high level language to machine code as follows.
1. Interpret the next high level language instruction to machine code
2. Execute translated machine code instruction
3. Goto 1st step

A compiler on the other hand translates (compiles) the entire high level language program into machine code. The converted machine code program is usually stored on disk. In Microsoft Windows such machine code files generally have the extensions .EXE. You can get the computer to execute these instructions by running
the executable file. i.e. by typing the name of the executable file in the command prompt or by selecting the executable using the Windows Task Bar Run command.

There are hundreds of different high level programming languages available with newer ones being developed regularly. This is because different people have made different attempts to make Programming (Writing Computer programs) much easier. Some of the high level computer languages are general purpose. This means that these languages could be used to write programs which solve a wide range of problems. These could include, business applications, games, web applications etc. Java, C++, Visual Basic are example of such languages.

There are some high level languages which are special purpose. These languages are intended for writing specific types of programs only. For example COBOL was a language that was used for developing Business type applications. Fortran is used to developing scientific, engineering types of applications. Most of the languages that are used in the software industry fall into the Third Generation Computer Language category..

Wednesday, January 30, 2013

Introduction to Programming

Languages

In Sri Lanka people use three languages Sinhala, Tamil and English. The purpose of a language is to allow people to communicate. If we want to communicate with a computer it would be ideal if you could use a language like English. Unfortunately computers at present are not intelligent enough to understand human languages. Because of this computer scientists have developed computer friendly languages. These computer languages could be learnt relatively easily by people. Using such a computer language you can communicate with a computer. More specifically you could instruct the computer to perform a particular task.

Computer Languages Generations

First Generation Computer Languages
In the computer there is a component called the central processing unit (CPU). The main purpose of the CPU is to execute instructions given to the computer. The instructions even a modern day computer can understand directly are numbers given in binary format. This language is called machine code (See Fig 4.1). This is the language that a computer really understands. Machine code is dependent on the type of CPU your computer has. The Intel Pentium IV is the CPU used in new personal computers. There are older versions of this CPU, e.g. Pentium III, Pentium II, 80486, etc. These belong to a family of processors called the Intel 80x86. The machine code in these processors are similar. There are other types of CPUs like the PowerPC used in Apple computers, UltraSparc used in Sun Workstations. The internal design of these CPUs are very different from the Intel 80x86 family of processors. Because of this, machine code of these processors are different from the Intel processors.

If you think of a calculator it could add, substract, multiply. These are the operations it can perform. A CPU of a computer has instructions to mainly perform arithmetic calculations such as add and logical operations such as or, and etc.. The instructions supported by the CPU are called the instruction set. People do not instruct computers using machine code today. But when the first electronic computers were developed during the 1940s, the only type of computer language that was available was machine code. Computer scientists had to literally write all instructions using numbers. Machine Code is an example of a first generation computer language.

Second Generation Computer Languages

Using machine code was very difficult and error prone so in the 1950s they came up with the idea of using simple English words to replace the numerical instruction codes. These words were called mnemonics, and this computer language was named as Assembly. 

Now the computer scientists could give instructions using simple words. They next converted these instructions into machine code so that the CPU could understand them using a software developed called an Assembler.

In Assembly every assembly instruction corresponds to a machine code instruction. Since Assembly languages corresponded to machine code, each different type of CPU has its own type of assembly. Assembly is still used today to program small electronic devices because assembly programs are more efficient in speed and requires the least amount of memory compared to programs developed using third generation languages (See 41.2.3).. Assembly is classified as a second generation computer language. Both machine code and assembly are called low level languages.

                                   Machine Code                                           Assembly
Assembly, machine code 

Tuesday, January 29, 2013

Problems in Systems Development

It is evident by now, system development is a complex process. There are many areas where things can go wrong which may result in project failure. As per our initial discussion, the system development methodologies (such as SDLC) were proposed to provide some structure and formalism to system development process in order to ensure that valid systems are developed and to minimise the possibility of failure. Although, following a methodology does not guarantee success, it provides a mechanism to minimise failures and detect problems early in the system development.
Problems in Systems Development
Some of the major issues that need to be considered in system development include:
  • Estimating cost and time: “What is the best way to estimate the cost and time required by a project?”
  • Selecting a project team: “What members must be included in a project team? What type of background and skills are required?”
  • Capturing user requirements: “What is the best method to capture user requirements? How to ensure that all requirements are captured? How to ensure that the accuracy of the requirements (that is, requirements captured meets the goals of users)?”
  • Using standards: There are many standards and methodologies proposed for system development (such as SDLC). “Which standard/methodology should be used for the project?”
  • Choosing design approaches: There may be many design alternatives for a problem. “How do we ensure that the best design choice is made?”
  • Coding programs: There are many different programming languages, tools and programming methodologies to develop programs. “How do we ensure that the right tools and languages are used?”
  • Testing programs: Programs if incorrectly written can cause errors (sometimes also called “bugs”). “How do we minimize errors in programs? What is the best way to test programs?”
  • Maintaining systems: “What is the best way to ensure that the systems are maintained till the end of their life cycle?”
As per our previous discussion, many organisations try to follow a system development process (i.e. a set of activities, methods, best practices, deliverables and tools an organisation uses to develop information systems) to ensure that they develop successful information systems.

It has been shown that as an organisation’s standard information system development process matures, project delays and costs decrease while productivity and quality increases. The Software Engineering Institute at Carnegie Mellon University (USA) has observed and measured this phenomenon and developed a framework, called the Capability Maturity Model (CMM), to assist all organisations to achieve these
benefits.

The Capability Maturity Model (CMM) is a framework to assess the maturity level of an organisation’s information systems development and management processes and products. It consists of five levels of development maturity.

  • Level 1 – Initial: This is sometimes called anarchy or chaos. System development projects follow no prescribed process. Each developer uses his or her own tools and methods. Success or failure is usually a function of the skill and experience of the project team. The process is unpredictable and not repeatable. A project typically encounters many crises and is frequently over budget and behind schedule. Documentation is sporadic or not consistent from project to project and causes problems for those who maintain the system over the life cycle. Almost all organisation start at Level 1.
  • Level 2 – Repeatable: Project management processes and practices have been established to track project costs, schedules and functionality. The focus is on project management, not systems development. A systems development process is always followed, but it may vary from project to project. Success or failure is still a function of the skill and experience of the project team; however, a concerted effort is made to repeat earlier project successes.
  • Level 3 – Defined: A standard system development process has been purchased or developed, and its use has been integrated throughout the information systems/services unit of the organisation. All projects use a tailored version of the software development process to develop and maintain information systems and software. As a result of using this standardised process for all projects, each project results in consistent high-quality documentation and deliverables. The process is stable, predictable and repeatable.
  • Level 4 – Managed: Measurable goals for quality and productivity have been established. Detailed measures of the standard system development process and product quality are routinely collected and stored in a database. There is an effort to improve individual project management based on this collected data. Thus, management seeks to become more proactive than reactive to systems development problems (such as cost overruns, scope creep, schedule delays etc.). Even when projects encounter unexpected problems or issues, the project can be adjusted based on predictable and measurable impacts.
  • Level 5 – Optimised: The standardised system development process is continuously monitored and improved based on measures and data analysis established in Level 4. This can include changing the technology and best practices used to perform activities required in the standard system development process, as well as adjusting the process itself. Lessons learned are shared across the organisation, with an emphasis on eliminating inefficiencies in the systems development process while sustaining quality. In summary, the organisation has institutionalised continuous systems development process improvement.
Each level is a pre-requisite for the next level. Although there are organis ations that have reached Level 5, currently, many organisations try hard to meet at least CMM Level 3. A central theme is the use of a standard process or methodology (such as SDLC) to build or integrate systems. We have now come to the end of the chapte r. It is time to review and summarize the materials learnt so far.

Sunday, January 27, 2013

Systems Development Life Cycle

In Systems Development Life Cycle (SDLC) model, the development process is divided into a set of well-defined steps or phases as follows:
  • Systems Investigation
  • System Analysis and Requirements Definition
  • Systems Design
  • Software Development
  • Testing
  • Implementation
  • Maintenance
The SDLC is a development process that is best suited for projects where the requirements can be clearly defined. SDLC encourages top-down problem solving. That is, designers must first define the problem to be solved and then use an ordered set of steps to reach a solution. In SDLC, the development activities are performed as a sequence of phases. The major phases are illustrated in the figure 3.1.3. In SDLC, each phase begins only after the previous phase has been completed. Each phase usually produces one or more model(s), and/or products (shown in figure 3.13 in rectangles with rounded corners underlined). The models become part of a phase report, whic h describes what have been achieved in this phase and outlines a plan for the next phase. The report also includes any models, new or expanded user requirements, design decisions and problems encountered. This information is used at the next phase. Phase reports are also used to keep the management informed of project progress, so that management can change or modify project direction and allocate resources to the project. In the following subsections, we will discuss each phase in detail.
Systems Development
The development phases in SDLC
Systems investigation phase: The systems development life cycle begins with the System Investigation Phase. This phase includes problem definition and feasibility study. The major goals and objectives of the project are identified in this phase. This typically includes answering the following questions:
  1. Problems in or opportunities for improving the existing syste
  2. Objectives of the system investigation
  3. Overview of the proposed system
  4. Expected costs and benefits of the proposed system
A vital step in the system investigation phase is the feasibility study. Feasibility study includes:
  • Operational feasibility – whether the project can be put into action or operation. This includes considering motivational, logistical and acceptance considerations (such as resistance by users and other ethical considerations).
  • Technical feasibility – whether hardware, software and other system components can be acquired or developed to solve the problem.
  • Schedule feasibility – whether the project can be completed in a reasonable amount of time.
  • Economic feasibility – whether the project is financially viable. Whether the predicted benefits offset the costs and time needed to obtain them.
  • Legal feasibility – whether there are laws and regulations that may prevent or limit the system development project.
 Let us consider an example of a school. Let us assume that presently the school uses a manual system for administration purposes of the school. A computer-based information system (i.e. School Information and Management System - SIMS) for the school can dramatically improve the efficiency of its Administrative Division. If we were to develop a SIMS for the school using SDLC, the first step will be to perform a system investigation phase. In the system investigation phase, we will identify the following:
  • Problems in or opportunities for improving the existing system. By having a SIMS in the school, we can keep all student records, staff records, timetables etc. in the SIMS. This can improve the efficiency of the administrative division. For example, some of the objectives of the system may be:
  1. Release student reports within 2 days of submitting the marks by teachers.
  2. Student character and leaving certificates provided to students within 2 working days from the time of request.
  3. Student reports are accessible to students and parents via the Internet.
  4. Staff attendance and salaries are calculated using SIMS.
  • Objectives of the system investigation
  1. The objectives of the system investigation phase are to evaluate the feasibility and merit of introducing a SIMS to the school. The operational, technical, schedule, economic and legal feasibility is studied. Also, justification for introducing a SIMS to the school is discussed.In our SIMS example, a requirement may be to keep student and staff records in Sinhala and Tamil languages. The technical feasibility study will investigate whether current technology has adequate support for Sinhala and Tamil languages.
  • Overview o f the proposed system
  1. The overview of the proposed system including the main features is discussed. The following diagram illustrates an example of a proposed system.
Systems Development
An overview of a proposed School Information and Management System (SIMS)

In the above figure, the School Information and Management System (SIMS) keep data of students and staff in a database. The staff enter their attendance information to the system (by swiping a proposed staff identification card). SIMS uses this information in computing the salaries of the staff members. Teachers enter the student marks to the SIMS from the staff room. The Student Reports are generated by the SIMS and accessible to students via the school network (i.e. from the computer lab). The parents also have access to the Student Report of their child via the Internet. The Registrar uses information in the SIMS database to verify records and generate Student Character and Leave Certificates.
  • Expected costs and benefits of the proposed system
  1. Since the school currently uses a manual system, the costs must be computed for technology infrastructure, re -organization and training of staff. Then an analysis of whether the benefits outweigh the costs or not must be determined.
This phase results in a statement of requirements (i.e. formal definition of what the system must do). This document includes the project goals, project bounds and resource limits. This output is often reviewed by a steering committee, often consisting of senior management, users, IS department personnel and other functional areas. After review, the approval may be given by the management to carry on with the other phases and allocate resources for the project. 

System analysis and requirements definition phase: The next phase, Systems Analysis and Requirements Definition, results in the detailed system specifications. This includes an analysis model which describes how the current system works and what it does, requirements model which gives detailed requirements on what the users want the new system to do, and design model which describes how the new system will work and what it does.

In this phase, the existing system is studied in detail. Data on the existing system is gathered using different techniques, such as (1) inspecting written documents, (2) conducting interviews, (3) questionnaires and (4) onsite observations. The next step is to manipulate the collected data so that it is usable for the development team participating in the system analysis. Various techniques including data flow diagrams (DFD), entity relationship diagrams (ER), screen layouts, report layouts etc. are used for documenting requirements. (The study of these techniques in detail are beyond the scope of this book. Readers are encouraged to refer to the Suggested Learning Materials in section 3.6 and other related references for further information). In this phase, requirements for the new system are proposed, reviewed and documented. The figure below shows an example of a Student Report generated by SIMS.

Systems Development
A Sample Student Report generated by the proposed School Information
and Management System (SIMS)

At the end of this phase, the detailed system specifications (also popularly known as the Systems Requirements Specification – SRS) of the new system are generated. This document specifies in detail all the functionalities of the proposed system (i.e. “What the system does?”). These requirements are used in the next phase, which is the Systems Design phase. 

Systems design phase: The Systems Design Phase produces a design specification for the overall system being developed. This specifies how the system will be built meeting all requirements specified by the SRS. This includes an architectural design, which specifies the high-level modules being built, and a detailed design, which specifies the user interfaces, system procedures and low-level modules of the new system.

The design specifications typically cover the following areas:
  • Hardware design: All computer equipment including input, processing and output devices with performance characteristics. In our example of SIMS, hardware design includes specification of all hardware requirements (such as computers etc.) and specifying for what purpose the equipment will be used.
  • Software design: All software must be specified with capabilities. Certain software may be purchased or others may be developed. All input, output and processing requirements are considered in software design. In our example of SIMS, this includes all software that needs to be purchased (such as Operating Systems, Database Management Systems) and also specifying the software components to be developed (such as Principal, Registrar, Student, Parent interfaces to SIMS, etc.).
  • Personnel Design: Positions, job titles and task descriptions are considered in the personnel design. In our SIMS example, we may propose new positions, duties and job titles such as a “System Administrator” etc. and even restructure existing positions.
  • Database design: The type, structure and function of the database must be specified. In our SIMS example, this may include the database design that stores the student and staff records.
  • Telecommunications and network design: The necessary characteristics of the communications software, media, and devices must be specified. In our SIMS example, this pertains to the school network design that connects the different computer systems.
  • Procedures design: All information systems require procedures to run applications and handle problems if they occur. These important policies are captured during procedures design. An important aspect of this step is to design security and backup polices and procedures to minimise the potential for fraud and crime.
  • Training requirements: Specifies the training requirements.
  • Maintenance requirements: Specifies maintenance requirements for both hardware and software.
  • Design Decisions and Alternatives: Major design decisions and alternatives considered are documented.
Various tools and techniques are used in the system design phase. We will not discuss these techniques in detail as it is beyond the scope of this textbook. Readers are encouraged to refer to materials outlined in section 3.6 and other related references for further information.

Software development phase: The specifications produced in the systems design phase provide the input for the Software Development Phase. At this stage, software developers and programmers build and test individual modules of the overall software system. The individual modules are integrated to produce the new system.

Testing phase: Testing Phase proceeds in parallel with the major phases. A broad test strategy is defined at the time the system requirements are identified. Detailed test design takes place during system design, and testing is a part of the software development phase. There are different types of testing that takes place:
  • Unit testing: tests individual modules.
  • Integration testing: modules are integrated and tested.
  • System testing: entire system is tested
  • Acceptance testing: verifying users’ test scenarios. This is usually performed at the end of the system development to verify that the system meets users’ requirements.
Other types of testing include stress testing (with large volumes of data and users), reliability testing (how does the system handle failures?) and security testing (how does the system perform with respect to security attacks?). In addition to the testing types mentioned above, in SDLC, after each phase, the output is verified/validated to ensure that the phase objectives have been correctly met. 

Implementatio n phase: The Implementation Phase puts into operation the system built in the software development phase. This phase includes user training, acceptance testing and deploying the new system (also called conversion). Conversion of the system may proceed in four ways:
  • Direct implementation: The entire system is replaced with the new system at once.
  • Parallel implementation: Both systems (i.e., the new and the old systems) are executed in parallel for a certain defined period of time. This strategy is helpful because of the following:
  1.  Results of the old system can be compared with the results of the new system.
  2. Failure of the new system at the early stage, does not affect the working of the organisation, because the old system continues to work, as it used to do.
  • Phased implementation: The new system is introduced in a phased manner. In this implementation, the new system is installed in parts. Some part of the new system is installed first and executed successfully for considerable time period. When the results are found satisfactory then only other parts are implemented. This strategy builds the confidence and the errors are traced easily.
  • Pilot implementation: Pilot implementation allows users to test-drive the solution to make sure it meets both business and technical needs. During a pilot implementation, the solution is installed and configured in the users’ environment for the first time. A pilot implementation provides a snapshot of the same functionality of a full system implementation, generally without the scalability and redundancy found in a full system. To complete the changeover, users must be trained in system operation and any existing old procedures converted to the new system.
Maintenance phase: Maintenance is needed to eliminate any errors in the system during its working life and to tune the system to variations in its working environment. Also, an important review is the post-implementation review. This is usually conducted after sometime the system is implemented. The goal of the review is to evaluate how well the system meets its objectives.

In SDLC, there is a definite end point to each phase. The phases are carried out in strict sequence. One phase must be completed before the next phase starts. The problems are solved in a top-down manner from the initial concept to the detailed design and development.

The SDLC allows for a large degree of management control. At the end of each phase, a formal review is performed and a decision is made whether to continue, terminate the project or modify and repeat some of the current tasks of the current phase. During the SDLC, documentation is created and this can be useful for system modification later. A major problem of SDLC is that the user does not see a solution until the system is nearly complete. It may result in a system, which does not address the user’s real needs since the development was based on development team’s understanding of the needs. This is quite possible since the user may not necessarily be a computer literate or expert on systems and his expression of requirements may be incomplete and inaccurate resulting in misunderstanding by the development team. SDLC is also inflexible to changing needs of the users. Changes to requirements during system development may not be incorporated. This is because once the systems requirements definition phase is completed, the development team works on other phases without much interaction with the users. If the users’ requirements change during this time, the development team may not be aware or be able to incorporate these new requirements to the system. Even with these shortcomings, SDLC is still a popularly used development methodology for many TPS and MIS systems because of its advantages. Table 3.2 below illustrates some of the advantages and disadvantages of SDLC.

Systems Development
Advantages and Disadvantages of SDLC

Saturday, January 26, 2013

Information Systems Development

By now, we have gained an understanding of what information systems are and also seen their importance within an organisation. In this section, we discuss how information systems are developed. Developing information systems is a complex process (especially large-scale information systems). There have been many attempts in developing information systems that have failed to meet their objectives. Hence, information system development has been extensively studied and many approaches are proposed for information system development. We will study the traditional System Development Life Cycle approach, which is also known as the Classical Life Cycle Model, Linear Sequential Model or the Water Fall Model. There are other approaches such as Prototyping Model, Rapid Application Model, and so on, which are not discussed and beyond the scope of this textbook. All these approaches have advantages and disadvantages and selecting the appropriate model for system being developed is important. Certain IT organisations have created their own system development methodology by borrowing concepts from different models.

Effective systems development requires a team effort. This team consists of users, managers, systems development specialists and various support personnel (i.e. stakeholders). Stakeholders are individuals who, either themselves or through the area of the organisation they represent, ultimately benefit from the systems development process. Depending on the project, the development team may include a systems analyst. A systems analyst is a professional who specialises in analysing and designing business systems. Systems analyst plays various roles while interacting with the stakeholders (users, management, vendors and suppliers, external companies and suppliers, software programmers and other support personnel). Like an architect that builds the blueprint (also known as plan) for a new building, a systems analyst develops detailed plans for the new or modified system.
Development
The System Analyst plays an important role in the development team and
is often the only person who sees the system in totality

The System Life Cycle

Similar to humans, plants and animals, information systems also have a life cycle. An information system also follows a system life cycle – from its development to operation and to final retirement. The system life cycle divides the life of an information system into two stages as follows:
  • System development: developing the information system
  • Systems operation and support: running the system and supporting it until its retirement.
A system development methodology implements the development stage of the system life cycle. Next, we will study the trad itional System Development Life Cycle methodology.