Unit 3 Part 2
Unit 3 Part 2
SYSTEM DEVELOPMENT
Concept of System
Types of System
Software Development Life Cycle (SDLC)
SDLC Models
INTRODUCTION TO SYSTEM DEVELOPMENT
The word system is derived from the Greek word “system” which means a organized relationship
among the following unit or component. “A system is an orderly grouping of interdependent
components linked together according to a plan to achieve a specific goal.”
The word component may refer to physical parts (engine, wheels of cars), management steps
(planning, organizing, controlling) or a sub subsystem in a multi level structure. It is to be noted
that a system is not a randomly arranged set. It is arranged with some logic governed by rules,
regulation, principles and policies.
In MIS we are usually concerned with man-made system involving input, process and output, as
represented in figure. A system may have multiple inputs and multiple outputs. All systems
operate in an environment. The environment may influence the system in its design and
performance. When a system is designed to achieve certain objective, it automatically sets the
boundaries for itself. The understanding of boundaries of the system is essential to bring clarity
in explaining the system components and their arrangement.
Elements of a System
Following are considered as the elements of a system in terms of Information systems: -
Inputs and Outputs: Inputs are the elements that enter the system for processing and
output is the result of processing.
Processor: It is the element that involves the actual transformation of input into output.
Control: The control element guides the system.
Feedback: Output is compared against performance standards.
Environment: It is the super system within which an organization operates.
Boundaries and Interface: A system should be defined by its limits.
INPUT
Characteristics of System
A system usually has following characteristics -
Organization: Organization mainly refers to structure and order. It is the possible
arrangement of different components that provides help in meeting desired objectives. A
organization structure in hierarchical in nature. This type of relationship usually starts at
the top and ends with the lowest level employee. The entire hierarchy represents the
organization structure.
Interaction: Interaction means the way in which each component interacts with other
component of the system. In an organization, different departments organize with each
other like sales must interact with production, advertising with sales and payroll with
personnel.
Interdependence: Interdependence relates to how different components of system
depends upon each other for their work. It is more than sharing a physical part or
location. A function which performs successful integration of different components will
surely produce better results as whole rather than if each component works
independently.
Central Objective: Objective may be real or stated. Objective is determined by higher
management and user must be aware about the central objective well in advance.
Deterministic
Predictibility of
Output
Probabilistic
Types of System
Open
Degree of
Information
Exchange
Closed
Deterministic System: A system is called deterministic when the inputs, process and the outputs
are known with certainty. It acts in a predictable manner where stepwise execution and the
output is already known. In this system the relationship between its components are fully known
and hence when an input is given the output is fully predictable. For example: program to find
factorial of entered number.
Probabilistic System: A system is called probabilistic when the output can only be predicted in
probabilistic forms. In this system the outcome is predictable according to the probability values.
It acts in a unpredictable manner and the outcome is not predictable. There is always some
degree of error present in such system. For example: Weather Forecasting
Open System: A system is said to be open when it interacts with the environment in which it
exists. It exchange inputs and outputs with the environment and is influenced by the
environment. Open system continuously interacts with its environment. It permits interaction
across boundary. It receives input from and delivers output to the outside world.
Closed System: A system is said to be closed if it does not interact with the environment in
which it exist. It is isolated from the environment and completely self contained system which
does not have any exchange with the environment and a barrier exist between the environment
and the system to prevent the system from being affected
The systems approach is a problem solving model in the development of the system. System
approach considers the attributes of the software which are used to solve the problem. It allows
the system designer to manage the complex structure of the system. System approach consist of
related and dependent attributes which when combined, forming a complex structure. The system
designer by using various system approaches to design and develop the software. Software
Development Life Cycle (SDLC) models are the most popular tool which is used by the designer
to develop information systems.
The System Development Life Cycle is the process of developing information systems through
investigation, analysis, design, implementation, and maintenance. The system developer may
progress from one stage to another methodologically solving the problem involved and achieving
the desired results. These steps have been isolated in sequence for learning purpose and in actual
practice they may overlap.
1. Preliminary
Investigation
6. Maintenance 2. System
& Support Analysis
5. System
3. System Design
Implementation
4. Construction &
Testing
Preliminary Investigation
The first step in the system development life cycle is preliminary investigation. It is the way by
which user’s request to change, improve or enhance an existing system should be handled. The
main objective of this step is to determine whether user’s request is valid and feasible for
improving, modifying or building as new system. It does not describe about the system design,
also it does not include the details to completely describe the business system. Preliminary
system investigation includes the following two sub-stages.
Problem Definition: Problem definition tells about input, output, storage etc. It states
what the problem actually is. It defines the goal that is to be achieved. A problem
definition will consist of - Required Input, Required Output. Analysis of the problem
breaks it down into its parts and describes each one of them. It lays down the basic
requirements that the final solution must provide. It helps in making a logical design.
Customers only know what they want, but they do not know how to achieve that with
software. They mostly end up in providing incomplete, ambiguous or contradictory
requirements. These mistakes are recognized by skilled and experienced software
engineers. Regular internal live demos of the functionality may help in reducing the risk
that the requirements are incorrect. Similarly, a system analyst should provide a rough
estimate of the cost involved for the system development. This question usually comes
quite late in the system development process which makes the problem definition
uncertain.
Feasibility Study: The feasibility study corresponds to system vitality. This is study to
find out about the proposed system’s usefulness in the organization. It is basically a high-
level representation of the entire process. It provides answers to basic questions like,
what is the problem? Is the problem even worth solving? The findings of this study
should be formally presented to the user management through documentation or
presentation. This presentation becomes critical in-order to approve the project by
management. This report represents an excellent model of the system analyst’s
understanding of the problem. It provides a clear sense of direction for the subsequent
development of the system. The aim of the feasibility study is to find out alternative
systems and out of all such systems find out which one is the most feasible and desirable
system for development. It provides an overview of the problem and acts as an important
checkpoint that must be completed before investing further resources on the project.
The feasibility of a proposed system can be categorized in to four parts -
1. Organizational Feasibility: This deals with finding out whether the proposed
information system supports the objective of the organization’s strategic plan or not.
The proposed information system must be taken as a sub-set of the whole
organization.
2. Economic Feasibility: This deals with the ROI (Return on Investment) value for the
proposed information system. It focuses on whether returns justify the investment
cost incurred in the system project or not. During the preliminary investigation phase
this step try to answer few questions -
3. Technical Feasibility: The focus of technical feasibility is to find out about the
capability of involved hardware and software related to the needs of the proposed
system. It also focuses about the timeline in which this infrastructure should be met. It
includes questions like:
o Does the required technology really available to acquire the objective?
o Does the proposed equipment have enough capacity to capture the data required
to use in the new system?
o Will the proposed system respond to queries in timely manner, regardless of the
number of locations and users?
o Can the system be expanded?
o What is the technical surety of accuracy, reliability, ease of access and data
security?
4. Operational Feasibility: This step deals with the willingness and acceptability of the
management, employees, customers, suppliers, etc., to operate, use and support a
proposed system. It focuses around how to make the system working after its
development and deployment. The following questions are asked in operational
feasibility.
o Whether enough support is available from the management, employees,
customers and suppliers?
o If current business methods are suitable to the users?
o Have the users been involved in the planning and development of the system
project? It makes sure that the system is developed as per rules, regulations,
laws, organizational culture, union agreements, etc., along with active
involvement of the users.
Apart from the above categories, the system should look for legal feasibility and schedule
feasibility. Legal feasibility means the viability if the system from the legal point of view, i.e. it
confirms the system should follow all supportive laws and regulations of the land. Schedule
feasibility checks the feasibility of completing the system in the prescribed time.
System Analysis
System analysis revolves around understanding the user’s needs and gathering all development
requirements. It also concerns about detailed study of the various operations of business activity
along with its boundaries. The main objective of this phase is to find out what must be done in
order to solve the problem. This phase also focuses on developing data flow diagrams, an
elementary data dictionary and rough descriptions of the required relevant algorithms. To
summarize, system analysis involves:
1. The information needs of the organization and its end users.
2. Existing information systems (their activities, resources and products)
3. The expected information system.
The output of system analysis is a set of system requirements of a proposed information system.
It provides the analyst with a clear understanding of what is to be done. The next step in this
process will discuss about how to solve the problem. It involves activities like -
Gathering Information
Define Software requirement.
Prioritize requirements.
Generate and Evaluate alternatives.
Review recommendations with management.
System Design
System design provides the required details about how the system will accomplish required
objective. It includes following components:
User Interface Design
Data Design
Process Design
Technical System Specifications
During this phase, the system is designed to satisfy all the requirements identified in the previous
phases. The identified requirements are transformed into a System Design Document. This
document describes about the design of the system and act as an input to next phase. An interface
design activity defines about the interaction points between end users and proposed system. The
data design activity focuses on the design of the logical structure of database and files to be used
by the proposed information system. Process design activity focuses on the design of the
software procedures required by the proposed information system.
Design Objectives
Practicality: The system design should be practical in nature and must focus on the ability
to learn and operate with ease by the users. It should be user-oriented.
Flexibility: The system design should be flexible enough to meet the future changes
which are inevitably requested by its users and the business organization.
Efficiency: The system design should be enough efficient i.e. it should perform tasks
within their specified timeline. The efficiency of design can be measured in -
1. Throughput: Ability to handle a specified number of tasks per unit of time.
2. Response time: Ability to respond to a request made by the user within time limit.
3. Run time: Ability to complete task within time limit.
Security: The system design should deal with hardware reliability and security of data. It
should be able to detect and prevent, frauds and abuses of data.
The system developer must analyze each requirement and determine how to convert system
requirements into system features. Two types of design exist:-
Logical Design: It identifies the records and relationship to be handled by the system. It focus on
the reasoning by breaking down the system into subsystem and each subsystem into smaller
subsystem, until the process cannot be further repeated or breakdown. It establishes relationship
among various subsystems, the records and variables in the subsystem and inter-relationships
among variables and subsystems.
Physical Design: It proceeds after logical design is complete. It addresses the physical aspects of
the system i.e. input and output devices, hardware configuration for network, memory and
storage etc. It also defines data structures, access methods, file organization, indexes, blocking,
pointers etc.
Types of Testing
Unit Testing: In unit testing a system is viewed as a collection of programs or units and
each unit is individually tested.
Integration Testing: In integration testing the different unit tested modules are combined
together and then the functionality of the combined modules are tested.
System Testing: In system testing the entire system is tested to ensure that all its
components are functioning properly when they are combined into one system.
System Implementation
System implementation refers to steps that should be taken post-development of system. It
guides the client about the use of software or hardware that was purchased. This includes
Requirements and scope analysis, Customizations, Systems Integrations, User Policies, User
Trainings and Delivery of the implemented or developed system. The System implementation
phase includes -
Hardware and software installation
User Training
Documentation
Steps of Implementation are:-
Implementation Plan
Communication of Plan
Organization of MIS department
Selection and Procurement of hardware
Procurement of software
Creation of database
Training of users
Creation of physical infrastructure
Transition to the new system
Advantages of SDLC
It makes control and monitoring of large projects easier.
It consists of well detailed steps.
The orderly sequence of development steps and strict controls ensures the adequacy of
documentation.
The design reviews help to ensure the quality, reliability, and maintainability of the
developed software or solution.
The progress and the cost of system development, completion targets are measurable.
Limitations of SDLC
Increases the development time and cost
Difficulty to estimate the cost of the project
The performance of the system cannot be tested until it is almost fully coded.
The system details have to be specified up front
It increases the amount of documentation as time advances.
Waterfall Model
The waterfall model is the classical model of software engineering. This model is one of the
oldest models. The pure waterfall lifecycle consists of several non-overlapping stages. The
waterfall model serves as a baseline for many other lifecycle models. The steps followed in the
waterfall model are:
Requirement analysis and specification: The goal of this phase is to understand the exact
requirement s of the customer and to document them properly in a natural language
contains a description of what the system will do without describing how it will be done.
The resultant document is known as software requirement specification (SRS) document.
Design: The goal of this phase is to transform the requirements specification into a
structure that is suitable for implementation in some programming language. Overall
software architecture is defined and detailed design work is performed. This work is
documented and known as software design description (SDD) document.
Implementation and Unit Testing: In this phase design is implemented. If the SDD is
complete, the implementation or coding phase proceeds smoothly. During testing, the
major activities are centered around the examination and modification of the code.
Initially, small modules are tested in isolation from the rest of the software product.
Integration and System Testing: The objective of unit testing is to determine that each
independent module is correctly work. This gives little chance to determine that the
interface between modules is also correct and for this reason integration testing is
performed. And system testing involves the testing of the entire system, whereas software
is a part of the system. This phase is essential to develop confidence in the developers
before software is delivered to the customer or released in the market.
Operation and Maintenance: Software maintenance is a task that every development
group has to face, when the software is delivered to the customer’s site, installed and is
operational. Software maintenance is a broad activity that includes error correction,
enhancement of capabilities and deletion of obsolete.
Design
Advantages
Easy to understand and implement.
Widely used and known
Reinforces good habits: define-before- design, design-before-code.
Identifies deliverables and milestones.
Document driven, URD, SRD … etc.
Works well on mature products and weak teams.
Disadvantages
Real projects are rarely sequential.
It is difficult to define all requirements at the beginning of a project.
A working version of the system is not seen until late in the project’s life.
Software is delivered late in project, delays discovery of serious errors.
Difficult to integrate risk management.
The biggest disadvantage of the waterfall model is that cannot go back a step; if the
design phase has gone wrong, things can get very complicated in the implementation
phase.
Significant administrative overhead, costly for small teams and projects.
These phases are same as the waterfall model, but these may be conduct in several cycles in
Iterative enhancement model. A useable product is released at the end of the each cycle, with
each release providing additional functionality. This model does deliver an operational quality
product at each release. The complete product is divided into releases and the developer delivers
the product release by release. A typical product will usually have many releases. With this
model, first release may be available within few weeks or months whereas the customer
generally waits months or years to receive a product using other model.
Fig No. 5 Iterative Enhancement Model
Advantages
Divides project into smaller parts
Creates working model early and provides valuable feedback
Feedback from one phase provides design information for the next phase
Very useful when more staffing is unavailable
Disadvantages
User community needs to be actively involved in the project. This demands on time of
the staff and add project delay
Communication and coordination skills take a center stage
Informal requests for improvement for each phase may lead to confusion
Prototype Model
In this process model, firstly develop a working prototype (i.e., incomplete versions of the
software program being developed.) Of the software instead of developing the actual software.
The working prototype is developed as per current requirements. The developers use this
prototype to refine the requirements and prepare the final specification document. When the
prototype is created, it is reviewed by the customer. Typically this review gives feedback to the
developer that helps to remove uncertainties in the requirements of the software.
Advantages
Early visibility of the prototype gives users an idea of what the final system looks like
Encourages active participation among users and producer.
Enables a higher output for user.
Cost effective
Increases system development speed
Assists to identify any problems with the efficacy of earlier design, requirements analysis
and coding activities.
Disadvantages
Possibility of causing systems to be left unfinished.
Possibility of implementing systems before they are ready.
Producer might produce a system inadequate for overall organization needs.
Often lack flexibility.
Not suitable for large applications.
Project management difficulties.
Spiral Model
Models do not deal with uncertainly which is inherent to software projects. Important software
projects have failed because project risks were neglected & nobody was prepared when
something unforeseen happened. Barry Boehm recognized this and tired to incorporate the
“project risk” factor into a life cycle model. The result is the spiral model, which was presented
in 1986.
The radial dimension of the model represents the cumulative costs. Each path around the spiral is
indicative of increased costs. The angular dimension represents the progress made in completing
each cycle. Each loop of the spiral from X-axis clockwise through 360 represents one phase. One
phase is split roughly into four sectors of major activities.
Planning: Determination of objectives, alternatives & constraints.
Risk Analysis: Analyze alternatives and attempts to identify and resolve the risks
involved.
Development: Product development and testing product.
Assessment: Customer Evaluation
An important feature of the spiral model is that each phase is completed with a review by the
people concerned with the project (designers and programmers) The advantage of this model is
the wide range of options to accommodate the good features of other life cycle models.
Fig No. 7 Spiral Model
Source: https://en.wikipedia.org/wiki/Spiral_model