0% found this document useful (0 votes)
27 views22 pages

Unit 3 Part 2

Uploaded by

paarthchotani85
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views22 pages

Unit 3 Part 2

Uploaded by

paarthchotani85
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

CHAPTER 6

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.

6.1 Meaning and Concept of System

System is defined as a set of elements arranged in an orderly manner to accomplish an objective.


Elements are arranged with same logic governed by rules, regulations, principles and policies.
Such an arrangement is also influenced by the objective of the system desire to achieve. A
system is a set of interacting entities having inter-relationships or interconnections with each
other. A system can be defined as a group of components(functions, people, activities, events)
that interface with and complement one another to achieve one or more predefined goals.

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

Feedback Feedback Environment

CONTROL PROCESS OUTPUT

Fig No. 1 Elements of System

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.

6.2 Types of System

A system is defined and determined by its boundaries and objectives. A system is an


arrangement of smaller system in a logical order. When smaller system together make a larger
system, smaller systems are called the subsystem of the larger system and the larger system is
called the super system.
Systems can be classified in different categories based on the predictability of the output and the
degree of information exchange with the environment.

Deterministic
Predictibility of
Output
Probabilistic

Types of System

Open
Degree of
Information
Exchange
Closed

Fig No. 2 Types of System

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

6.3 Software Development Life Cycle (SDLC)

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

Fig No. 3 System Development Process

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 -

o What will be the cost of conducting a full system investigation?


o What will be the cost of hardware and software involved in creating
required application?
o What will be the benefits in terms of reduced costs, improved customer
service, improved resource utilization or fewer costly errors?

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.

Construction & Testing


After understanding the system specifications, the system should be physically created. The
required programs are coded, debugged, and documented. It is tested with associated test data to
ensure its accuracy and reliability. Entire construction of system takes place based on the system
design specifications.

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

Maintenance and Support


System maintenance focuses on monitoring, evaluating and modification of system to make
desirable or necessary improvements. It includes enhancements, modifications or any change
done apart from the original specifications. Sometimes, it needs to be maintained not because
some of its modules or programs wear out and need to be replaced, but because there are some
bugs remaining in the system which should be removed after they are discovered. This is an on-
going process, until the system reaches stabilization. Generally system maintenance is performed
for three reasons:-
 To correct errors: Uncovering bugs in the program or weakness in the design that were
not detected during testing and correcting these weaknesses.
 To keep system updated: Over the time, changes occur in the system environment that
require modification in the system design and software.
 To improve the system: Continuous improvement in the system is required to meet user
requirements.

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.

6.4 SDLC Models

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.

Requirement Analysis & Specification

Design

Implementation and Unit Testing

Integration and System Testing

Operation and Maintenance

Fig No. 4Waterfall Model

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.

Iterative Enhancement Model


This model contains the following phases:
 Requirement analysis and specification
 Design
 Implementation and unit testing
 Integration and System Testing
 Operation and Maintenance

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.

Fig No. 6 Prototype Model

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

Advantages of Spiral Model


 Spiral Life Cycle Model is one of the most flexible SDLC models in place. Development
phases can be determined by the project manager, according to the complexity of the
project.
 Project monitoring is very easy and effective. Each phase, as well as each loop, requires a
review from concerned people. This makes the model more transparent.
 Risk management is one of the in-built features of the model, which makes it extra
attractive compared to other models.
 Changes can be introduced later in the life cycle as well. And coping with these changes
isn’t a very big headache for the project manager.
 Project estimates in terms of schedule, cost etc become more and more realistic as the
project moves forward and loops in spiral get completed.
 It is suitable for high risk projects, where business needs may be unstable.
 A highly customized product can be developed using this.

Disadvantages of Spiral Model


 Cost involved in this model is usually high.
 It is a complicated approach especially for projects with a clear SRS.
 Skills required for evaluating and reviewing project from time to time needs expertise.
 Rules and protocols should be followed properly to effectively implement this model.
Doing so, through-out the span of project is tough.
 Due to various customizations allowed from the client, using the same prototype in other
projects, in future, is difficult.
 It is not suitable for low risk projects.
 Meeting budgetary and scheduling requirements is tough if this development process is
followed.
 Amount of documentation required in intermediate stages makes management of project
very complex affair.
SUMMARY

 A system is an orderly grouping of interdependent components linked together according


to a plan to achieve a specific goal.
 Systems can be classified in different categories based on the predictability of the output
and the degree of information exchange with the environment.
 The System Development Life Cycle is the process of developing information systems
through investigation, analysis, design, implementation, and maintenance.
 The preliminary investigation is a way of handling the user’s request to change, improve
or enhance an existing system.
 A problem initiation will describe: Required input and Required output.
 Feasibility study is a high-level capsule version of the entire process, intended to answer
a number of questions.
 Primary objective of Analysis phase is to understand the user’s needs and develop
requirements for Software development.
 During the Design Phase, the system is designed to satisfy the requirements identified in
the previous phases.
 In SDLC, implementation refers to post-development process of guiding a client to use
the software or hardware that was purchased. This includes Requirements Analysis,
Scope Analysis, Customizations, Systems Integrations, User Policies, User Training and
Delivery.
 System maintenance involves the monitoring, evaluating and modifying of a system to
make desirable or necessary improvements.
REVIEW QUESTIONS

Q1 Define system. Discuss the various elements of system.


Q2 Explain various characteristics of system.
Q3 Differentiate between deterministic and probabilistic system.
Q4 Differentiate between open and closed system.
Q5 Describe in detail the system development lifecycle process.
Q6 What is feasibility study? Discuss its types.
Q7 Define testing. Discuss its types.
Q8 Explain in detail the phases of waterfall and prototype model.
Q9 Differentiate between waterfall and prototype model.
Q10 What is risk analysis? At which stage is risk analysis done in spiral model?
Q11Discuss iterative enhancement model in detail.
Q12 In what type of system development, we prefer to use waterfall model.
Q13 Which type of systems incorporate spiral model as their lifecycle model.

You might also like