Chapter One System Development
Chapter One System Development
Chapter One System Development
System development
Data and information
• Information is very important part of any business, which helps the managers to
make decisions.
• Data: are raw (unprocessed) facts about people, objects, and events in an
organization
• Information: is data that have been processed and presented in a form suitable for
human interpretation.
• Is the processed data on which decisions and actions are based
• Information is interpreted data
System
• Is a group of components that work together according to a plan to achieve a
common goal.
Example of system
• Breathing System has components like nose, mouth, lung, and these components
work together to achieve a common goal, that is, to enable humans to live.
• Computer System has components like hardware and software. These components
work together to achieve a common goal, that is, data processing (converting raw
data to information).
• Ms-word
Characteristics of a System
• Our definition of a system suggests some characteristics that are present in all
systems: organization (order), interaction, interdependence, integration and a central
objective.
• Organization: implies structure and order.
• It is the arrangement of components that helps to achieve objectives.
• Such an arrangement, defines the formal flow of communication and formalizes
the chain of command.
• Like – wise, a computer system is designed around an input device, a central
processing unit, an output device and one or more storage units.
• When linked together they work as a whole system for producing information.
Cont.…
• Interaction: refers to the manner in which each component functions
with other components of the system.
• In a computer system, the central processing unit must interact with the input
device to solve a problem.
• In turn, the main memory holds programs and data that the arithmetic unit
uses for computation.
• The interrelationship between these components enables the computer to
perform.
Cont.…
• Interdependence
• Interdependence means that parts of the system (sub-system)depend on one
another.
• They are coordinated and linked together according to a plan.
• One subsystem depends on the input of another subsystem for proper
functioning: that is, the output of one subsystem is the required input for another
subsystem.
• No subsystem can function in isolation because it is dependent on the
data (inputs) it receives from other subsystems to perform its required tasks.
• This interdependence is crucial in systems work.
Cont.…
• Integration :refers to the holism of systems. Combination follows analysis to
achieve the central objective of the organization.
• Integration is concerned with how a system is tied together.
• It means that parts of the system work together within the system even though each
part performs a unique function.
• Successful integration will typically produce a synergistic effect and greater total
impact than if each component works separately.
• Central objective
• The last characteristic of a system is its central objective.
• The user must know the main objective of the system in the early phase for
successful design and conversion.
Elements of a System
• To reconstruct a system, the following key elements must be considered:
1. Outputs
2. Inputs
3. Processor(s)
4. Control
5. Feedback
6. Environment
7. Boundaries and interface
Input and output
• A major objective of a system is to produce an output that has value to its user.
• Whatever the nature of the output (services or information), it must be in line with the
expectations of the intended user.
• Inputs are the elements (material and information) that enter the system for processing.
• System takes input from its environment in order to function and it returns output to its
environment as a result of its functioning to achieve the purpose.
Processors
• The processor is the element of a system that involves the actual transformation of input
into output.
• It is an operational component of a system.
Control
• The control element guides the system.
• It is the decision making subsystem that controls the pattern of activities governing
input, processing, and output.
Feedback
• Feedback measures output against a standard in some form of cybernetic
procedure that includes communication and control.
• After the output is compared against performance standards, changes can result in
the input or processing and consequently, the output.
• Feedback may be positive or negative, informational.
• Positive feedback reinforces the performance of the system. Negative feedback
generally provides the controller with information for action.
• In systems analysis, feedback is important in different ways. During analysis, the
user may be told that the problems in a given application verify the initial
concerns and justify the need for change.
• Another form of feedback comes after the system is implemented. The user
informs the analyst about the performance of the new installation.
• This feedback often results in enhancements to meet the user’s requirements.
Environment
• The environment is the “super system” within which an organization
operates.
• It is the source of external elements that affect the system.
• In fact, it often determines how a system must function.
• The environment maybe a business application or a computer system
Boundaries and interface
• A system should be defined by its boundaries – the limits that identify its
components, processes and interrelationship when it interfaces with
another system.
System development methodology
• is a standard process followed in an organization to conduct all the steps
necessary to analyze, design, implement and maintain information
systems.
The most common methodology is software development life cycle
(SDLC).
The series of steps used to mark the phases of development for a
system.
This methodology uses:
• System planning and selection, Analysis, Design and Implementation
and operation.
Detailed software development methodology
Problem identification, selection and planning phase
Problem identification and selection
• Is the first phase of systems development life cycle.
• It can be:
Problems in existing process
New feature required in an existing system
A requirement to improve efficiency in the organization
Prioritizing problem
• It is a way of choosing What Problems Not to Solve.
• Project workers may be trying to solve too many problems at once.
• Here is a simple step to prioritize problems:
• Make a list.
• Prioritize urgency and effort.
• Make schedules visible and transparent.
• Which problems requires the most attention and can create bigger impact.
Problem definition
• A problem statement /definition is a concise description of the problem or issues a
project seeks to address.
• The problem statement identifies the current state, the desired future state and any
gaps between the two.
• A problem statement is an important communication tool that can help everyone
who are working on a project to know what the problem they need to address is
and why the project is important.
How to write a problem statement
• The process used to write a problem statement should involve answering questions
using a method commonly known as 4W2H.
• The process involves :
• what the problem is,
• why it is a problem,
• when and where the problem was identified,
• who the problem impacts,
• how they are impacted by the problem and
• how much of an impact the problem has.
• Write a problem of statement for your title based on the information.
Project planning tools and techniques
• Projects, have a beginning and an end.
• Each project also have defined phases between the project kickoff and project
closeout.
• Phases are typically sequential, where the prior phase is essentially completed
before the beginning of the next phase.
• However, phases do not have clear-cut end dates and some activities in an early
phase of the project will continue into the later phases.
• The Project Management Institute (PMI) identifies four major phases of a project
as characteristics of the project life cycle.
• Such as initiation, planning, execution, and project closeout.
• Project initiation is just starting the project, which includes all the activities
necessary to begin planning the project.
• Planning is organizing and preparing project activity that includes schedules and a
budget.
• Project Evaluation Review Technique (PERT) and Gantt Charts are the two most
commonly used project management tools.
PERT
• A PERT chart, sometimes called a PERT diagram, is a project management tool used
to schedule, organize and coordinate tasks within a project.
• Presents a graphic illustration of a project as a network diagram consisting of
numbered nodes linked by labeled vectors. The direction of the arrows on the lines
indicates the sequence of tasks
• It provides a graphical representation of a project's timeline that enables project
managers to break down each individual task in the project for analysis.
• This PERT Chart shows the major, high level development activities in a software
project. It consists of three major components:
• Lane: organizes and categorizes tasks into a group associated with a concept
such as a phase
• Task: A piece of work involved in project. Task name, ID, the start and end date
and a person who are responsible for the task.
• Dependency (connector): shows sequence of task.
Gantt chart
• A Gantt chart is a type of horizontal bar chart commonly used in project
management, which is a visual view of tasks scheduled overtime.
• It provides a graphical visualization of a schedule that helps to plan,
coordinate, and track specific tasks (or elements) in a project.
• Are used to show calendar time task assignments in days, weeks or
months.
• Gantt chart does not show clear dependencies or relationships between
tasks and also fails to provide enough information for showing the
critical path and as well as the detail information for each of the
activities.
SDLC Models
• There are various software development life cycle models defined and designed
which are followed during the software development process.
• Each process model follows a series of steps unique to its type to ensure success
in the process of software development.
• Waterfall model
• Iterative model
• Spiral model
• Agile model
• V-model
• Big bang model
• RAD model
Waterfall
• It is also referred to as a linear-sequential life cycle model.
• The waterfall is a universally accepted SDLC model.
• In this method, the whole process of software development is divided into
separate phases.
• Each phase must be completed before the next phase can begin and there is no
overlapping in the phases.
• The outcome of one phase acts as the input for the next phase sequentially.
• The waterfall Model illustrates the software development process in a linear
sequential flow.
Some of the major advantages of the Waterfall Model are as follows −
• Simple and easy to understand and use.
• Easy to manage due to the rigidity of the model.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements are very well understood.
• Clearly defined stages.
Some of the major dis-advantages of the Waterfall Model are as follows:
• Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-thought out in the concept stage.
• Not a good model for complex projects.
• Poor model for long and ongoing projects.
• Cannot accommodate changing requirements.
• High amounts of risk and uncertainty.
Iterative model
• Iterative process starts with a simple implementation of a small set of the software
requirements and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed.
• Requirements are divided into groups at the start of the project.
• At each iteration, design modifications are made and new functional capabilities
are added.
• An iterative life cycle model does not attempt to start with a full specification of
requirements.
• Instead, development begins by specifying and implementing just part of the
software, which is then reviewed to identify further requirements.
• This process is then repeated, producing a new version of the software at the end
of each iteration of the model.
• The basic idea behind this method is to develop a system through repeated cycles
(iterative) and in smaller portions at a time (incremental).
• During each iteration, the development module goes through the requirements,
design, implementation and testing phases.
• Each subsequent release of the module adds function to the previous release.
• The process continues till the complete system is ready as per the requirement.
The advantages of the Iterative model are as follows
• Less costly to change the scope/requirements.
• Testing and debugging during smaller iteration is easy.
• Risks are identified and resolved during iteration and each iteration is an easily
managed.
• It supports changing requirements.
• Better suited for large projects.
The disadvantages of the Iterative Model are as follows
• More management attention is required.
• More resources may be required.
• System architecture or design issues may arise because not all requirements are
gathered in the beginning of the entire life cycle.
Spiral Model
• Is a combination of iterative development process model and sequential linear
development model with risk analysis.
• Each iteration in spiral model begins with design goal and ends with customer
review.
• It allows incremental releases of the product or incremental refinement through
each iteration around the spiral.
• Based on the customer evaluation, the software development process enters the
next iteration and subsequently follows the linear approach to implement the
feedback suggested by the customer.
• The spiral model is specifically designed for projects which are huge in size and
requires regular enhancements.
• A “spiral model” is a type of iterative model where the individual iterations in the
spiral model take the form of mini-waterfalls.
Advantages and dis advantages of spiral model
• Advantages:
• Clients are involved in the development process to provide timely feedback.
• It is easy to make changes and add features to software.
• It is suitable for long-term projects where the client is not able to specify all
the requirements explicitly or the business requirements may change in
between the project.
• Disadvantages
• It is costly for small projects due to multiple iterations.
• It requires an expert in risk assessment.
• The radius of the spiral represents the expenses of the project, and the
angular dimension represents the progress made.
Agile model
• Is an iterative process models with focus on process adaptability and customer
satisfaction by rapid delivery of working software product.
• In the Agile method, the entire project is divided into small incremental builds.
• Each build is incremental in terms of features; the final build holds all the features
required by the customer.
• Agile uses an adaptive approach which have not work with detailed planning
and a complete forecast of the exact tasks and features to be delivered.
• There is feature driven development and the team adapts to the changing product
requirements dynamically.
• The product is tested very frequently, through the release iterations, minimizing
the risk of any major failures in future.
• The main principles of agile model is to deliver an increment to the customer after
each time-box.
• The end date of iteration is fixed, it can't be extended.
• The agility is achieved by removing unnecessary activities that waste time and
effort.
• Customer Interaction is the backbone of this Agile methodology, and open
communication with minimum documentation are the typical features of Agile
development environment.
• The advantages of the Agile Model are as follows:-
• Promotes teamwork and cross training.
• Functionality can be developed rapidly and demonstrated.
• Suitable for changing requirements
• Little or no planning required.
• Gives flexibility to developers.
• The dis-advantages of the Agile Model are as follows:-
• Depends heavily on customer interaction, so if customer is not clear, team can
be driven in the wrong direction.
• Maintenance of the completed project might become challenging due to a lack
of sufficient documentation after the project is completed
How to select appropriate life cycle model for a
project
• Selection of proper model to complete a project is the most important task.
• The different issues that are analyzed before selecting a suitable life cycle model are
given below:
• Characteristics of the projects to be developed:
• How precise the requirements are
• How lengthy the project is
• Characteristics of the development team: team members skill level
• Risk associated with the project: if the risk are difficult to determine the spiral
model is the best.
• Client characteristics −
• If the customer is unfamiliar with computers, the requirements are likely to change often since
developing full, consistent, and clear needs would be challenging.
• The client wants the documentation to be