You are on page 1of 73

Introduction to

Information
Technology Systems
What is a System?
 Theword System is derived from Greek word
Systema, which means an organized relationship
between any set of components to achieve some
common cause or objective.

 A systemis “an orderly grouping of


interdependent components linked together
according to a plan to achieve a specific goal.”
Components of a System
 The following diagram shows the components of a
system −
Outputs, Inputs and Processor
 The main aim of a system is to produce an output
which is useful for its user. Output is the outcome
of processing.
 Inputsare the information that enters into the
system for processing.
 The processor is the element of a system that
involves the actual transformation of input into
output.
Control and Feedback
 The behavior of a computer System is controlled by
the Operating System and software.

 Feedback provides the control in a dynamic system.


 Positive feedback encourages the performance of
the system. Negative feedback provides the
controller with information for action.
Environment
 The environment is the source of external elements
that strike on the system.
 It determines how a system must function.
 For example, vendors and competitors of
organization’s environment, may provide constraints
that affect the actual performance of the business.
 A system should be defined by its boundaries.
 Boundaries are the limits that identify its
components, processes, and interrelationship when it
interfaces with another system.
Information System
 An information system (IS) is an organized system for the collection, storage and
communication of information.
 An information system (IS) is a group of components that interact to produce
information
 The term is also used in more restricted senses to refer to the software used to run
a computerized system.
 An information system is an ICT that an organization uses, and the way in which
people interact with this technology to support business processes
Components of IS
 The five key components that must come together in order to produce an
information system are:
 Hardware: This includes the computer itself,
 Software: The term software refers to computer
programs and the manuals (if any) that support them.
 Data: Data are facts that are used by programs to
produce useful information.
 Procedures: Procedures are the policies that govern the
operation of a computer system.
 People: Every system needs people to be useful.
Information System Development
 Information System development is the process of defining, designing, testing,
and implementing a new software application or program.
 It could include the internal development of customized systems, the creation of
database systems, or the acquisition of third party developed software
 An information system can be developed in house (within the organization) or
outsourced. 
 A series of methodologies and processes can be used to develop an information
system.
Information System Development
 Before, software development consisted of a programmer writing code to solve a
problem or automate a procedure.
 Things have really changed in the System development arena over the last few
years.
 These days, systems are highly complex and that means that many large
companies employ huge teams of programmers, analysts, testers, architects,
programmers, and more – they have to collaborate and work together in order to
produce the custom-written code which ultimately drives companies to success.
Information System Development
 However, Many developers now use an engineering approach such as the system
development life cycle (SDLC), which is a systematic procedure of developing an
information system through stages that occur in sequence.
 Adhering to a SDLC increases efficiency and accuracy and reduces the risk of
product failure.
System Development Life
Cycle (SDLC)
Introduction to SDLC
 System Development Life Cycle (SDLC) is a conceptual model which includes
policies and procedures for developing or altering systems throughout their life
cycles.
 SDLC is used by System analysts to develop an information system.
 An effective System Development Life Cycle (SDLC) should result in a high
quality system that meets customer expectations, reaches completion within time
and cost evaluations, and works effectively.
 This is CYCLIC - continual
 The SDLC is not a methodology per se, but rather a description of the phases in
the life cycle of a software application. 
 SDLC works by lowering the cost of software development while simultaneously
improving quality and shortening production time.
 The life cycle approach is used so that users can see and understand what activities
are involved within a given step.
 It is also used to let them know that at any time, steps can be repeated or a
previous step can be reworked when needing to modify or improve the system.
REASONS for SDLC
 Make sure that the computer system works well
 Makes sure that the computer system is up to date
 Make sure that the computer system does what
needs to be re-done
 Continual
Improvement and development of
computer system
Phases of SDLC
 The SDLC involves several distinct stages(phrases or steps) of the development
process.
 Requirements
 Analysis
 design
 implementation
 testing
 deployment
 Operations and Maintenance
 These steps are used by systems engineers and systems developers to plan, design,
build, test, and deliver information systems.
1. Requirements Phase
 This is the first phase in the systems development process.
 It identifies whether or not there is the need for a new system to achieve a
business’s strategic objectives.
 This stage of SDLC means getting input from all stakeholders, including
customers, salespeople, industry experts, and programmers.
 Learn the strengths and weaknesses of the current system with improvement as the
goal.
 In this stage of SDLC, the team defines the requirements of the new software, the
cost and resources required are determined.
 The purpose of this step is to find out the scope of the problem and determine
solutions.
 The activities:
 Prioritise requirements: efforts focus on the most critical requirements.
 Organise requirements: create a set of views of the requirements for the new
business solution that are understood from all stakeholder perspectives.
 Specify and model the requirements: using a combination of textual statements,
matrices, diagrams and formal models.
 Verify the quality of requirements: ensure that requirement specifications and
models meet the necessary standard of quality to allow them to be used effectively
 This is the most crucial step in creating a successful system, during this phase you
decide exactly what you want to do and identify the problems you’re trying to
solve,
 All of the information is analyzed to see if there is an alternative solution to
creating a new product.
 If there is no other viable alternative, the information is assembled into a project
plan and presented to management for approval.
 In this stage, a Software Requirement Specification(SRS) document is created.
2. Analysis Phase
 The second phase is where requirements are submitted and analyzed to identify
the best fit for the ultimate goal(s) of the project.
 This is where teams consider the functional requirements of the project or
solution.
 It is also where system analysis takes place by analyzing the needs of the end
users to ensure the new system can meet their expectations.
 There are several tools businesses can use that are specific to the second phase.
They include:
 CASE (Computer Aided Systems/Software Engineering) or
 Structured analysis
 A feasibility study will be made for the project as well, involving determining
whether it’s organizationally, economically, socially, technologically feasible.
 Often this is done with the assistance of client focus groups, which provide an
explanation of their needs and what their expectations are for the finished
product and how it will perform.
 The project team documents all of the user requirements and gets a sign-off from
the client and management to move forward with system design.
3. Design Phase
 The design phase of SDLC starts by turning the software specifications into a
design plan called the Design Specification.
 It defines the elements of a system, the components, the security level, modules,
architecture and the different interfaces and type of data that goes through the
system.
 The developers design the database, generate the code for the data flow process
and design the actual user interface screens.
 Failure at this stage will certainly result in cost overruns and total collapse of the
project.
 Design elements describe the desired system features in detail,
and generally include functional hierarchy diagrams, screen
layout diagrams, pseudo-code, and a complete entity-
relationship diagram with a full data dictionary.
 The flow of data processing is developed into charts, and the
project team determines the most logical design and structure
for data flow and storage.
 This phase describes, in detail, the necessary specifications,
features and operations that will satisfy the functional
requirements of the proposed system which will be in place.
 The output of this stage will describe the new system as a collection
of modules or subsystems.
4. Implementation Phase
 This SDLC stage develops the software by generating all the actual code. it’s the
actual construction process after having a complete and illustrated design for the
requested system.
 This is when the real work begins—in particular, when a programmer, network
engineer and/or database developer are brought on to do the major work on the
project.
 This work includes using a flow chart to ensure that the process of the system is
properly organized.
 If the system contains hardware, then the implementation phase will contain
configuration and fine-tuning for the hardware to meet certain requirements and
functions.
 The system is ready to be deployed and installed in customer’s premises, ready
to become running, live and productive,
 During the construction phase, test data is prepared and processed as many times
as necessary to refine the code.
Integration and Testing Phase
 In this stage, we test for defects and deficiencies. We fix those issues until the
product meets the original specifications.
 Testing may be repeated, specifically to check for errors, bugs and
interoperability.
 During the test phase all aspects of the system are tested for functionality and
performance.
 It can be performed until the end user finds it acceptable.
 Another part of this phase is verification and validation, both of which will help
ensure the program’s successful completion.
 Testing is becoming more and more important to ensure customer’s satisfaction,
and it requires no knowledge in coding, hardware configuration or design.
 normally carried out by a Quality Assurance (QA) professional—to determine if
the proposed design meets the initial set of business goals.
 Testing can be performed by real users, or by a team of specialized personnel, it
can also be systematic and automated to ensure that the actual outcomes are
compared and equal to the predicted and desired outcomes.
 The system is tested for integration with other products as well as any previous
versions with which it needs to communicate.
 This brings all the pieces together into a special testing environment, then checks
for errors, bugs and interoperability.
 The code is tested at various levels in software testing. Unit, system and user
acceptance testings are often performed.
Deployment Phase
 This phase involves the actual installation of the newly-developed system.
 Depending on feedback from end users, more adjustments can be made.
 Rollout, is when customers receive the new system as an update or a full-scale
conversion.
 This step puts the project into production by moving the data and components
from the old system and placing them in the new system via a direct cutover.
 training may be required for end users to make sure they know how to use the
system and to get familiar with it, the implementation phase may take a long time
and that depends on the complexity of the system and the solution it presents.
 Training usually covers operational training for those people who will be
responsible for supporting the system as well as training for those end users who
will be using the system after its delivery to a production operating environment.
Operation and Maintenance Phase

 The seventh and final phase involves maintenance and regular required updates.
 Maintaining the system is an important aspect of SDLC.
 This step is when end users can fine-tune the system, if they wish, to boost
performance, add new capabilities or meet additional user requirements.
 this will include continuously evaluating system’s performance, it also includes
providing latest updates for certain components to make sure it meets the right
standards and the latest technologies to face current security threats.
Evaluation
 it to be an extension of the maintenance stage, and may be referred to in some
circles as post-implementation review.
 This is where the system that was developed, as well as the entire process, is
evaluated.
 Some of the questions that need to be answered include:
 does the newly implemented system meet the initial
business requirements and objectives?
 Is the system reliable and fault-tolerant?
 Does the system function according to the approved
functional requirements?
 In addition to evaluating the software that was released, it is important to assess
the effectiveness of the development process.
 If there are any aspects of the entire process, or certain stages, that management
is not satisfied with, this is the time to improve.
 Evaluation and assessment is a difficult issue. However, the company must
reflect on the process and address weaknesses.
Importance or Benefits of the SDLC
 If SDLC is done right can allow the highest level of management control and
documentation.
 The SDLC practice has advantages in traditional models of systems development
that lends itself more to a structured environment.
 The benefits of SDLC only exist if the plan is followed faithfully.
 Instead of viewing SDLC from a strength or weakness perspective, it is far more
important to take the best practices from the SDLC model and apply it to whatever
may be most appropriate for the software being designed.
A comparison of the strengths and
weaknesses of SDLC
Strengths Weaknesses
Control Increased development time
Monitor large projects Increased development cost
Detailed steps Systems must be defined up front
Evaluate costs and completion targets Rigidity
Hard to estimate costs, project
Documentation
overruns

Well defined user input User input is sometimes limited


Ease of maintenance
Development and design standards
Tolerates changes in MIS staffing
SDLC Models
SDLC Models
 Many models of system development life cycle came up from the idea of saving
effort, money and time, in addition to minimizing the risk of not meeting the
customer’s requirement at the end of project,
 To manage this level of complexity, a number of SDLC models or methodologies
have been created, such as waterfall, spiral, Agile software development, rapid
prototyping, incremental, and synchronize and stabilize
 Some methods work better for specific types of projects, but the most important
factor for the success of a project may be how closely the particular plan was
followed.
 Following
are the most important and popular
SDLC models followed in the industry;
 Waterfall Model
 Iterative Model
 Spiral Model
 V-Model
 Big Bang Model
 Otherrelated methodologies are Agile Model, RAD
Model, Rapid Application Development and
Prototyping Models.
SDLC - Waterfall Model
 The Waterfall Model was the first Process Model to be
introduced. It is the earliest SDLC approach that was used
for software development.
 It
is also referred to as a linear-sequential life cycle
model.
 The waterfall Model illustrates the software development
process in a linear sequential flow
 In a waterfall model, each phase must be completed before
the next phase can begin and there is no overlapping in the
phases.
 This means that any phase in the development process
begins only if the previous phase is complete.
Waterfall Model - Design
 In "The Waterfall" approach, the whole process of software
development is divided into separate phases. typically, the outcome of
one phase acts as the input for the next phase sequentially.
The sequential phases in Waterfall
model
• Requirement Gathering and analysis 
• All possible requirements of the system are captured in this phase
and documented in a requirement specification document.
• System Design 
• This system design helps in specifying hardware and in defining
the overall system architecture.
• Design of data structures, software architecture, interface
representations, algorithmic details.
• Implementation 
• source code of the system is developed in small programs called units, Each unit is
developed and tested for its functionality, which are integrated and tested in the next
phase.
Phases of waterfall model
• Integration and Testing 
• All the units developed in the implementation phase are integrated
into a system after testing of each unit.
• Deployment of system 
• Once the functional and non-functional testing is done; the product is
deployed in the customer environment or released into the market.
• Maintenance 
• There are some issues which come up in the client environment. To
fix those issues, patches are released.
• Maintenance is done to deliver these changes in the customer
environment.
Waterfall Model - Application
 Every software development is different and requires a
suitable SDLC approach to be followed based on the
internal and external factors.
 Some situations where the use of Waterfall model is most
appropriate are −
 Requirements are very well documented, clear and fixed.
 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 Ample resources with required expertise are available to support
the product.
 The project is short.
Waterfall Model - Advantages
 Someof the major advantages of the Waterfall
Model are as follows −
 Simple and easy to understand and use
 Easyto manage due to the rigidity of the model. Each
phase has specific deliverables and a review process.
 Phases are processed and completed one at a time.
 Workswell for smaller projects where requirements are
very well understood.
 Workswell when quality is more important than cost or
schedule
Waterfall Model - Disadvantages
 The disadvantage of waterfall development is that it does not
allow much reflection or revision.
 Once an application is in the testing stage, it is very difficult to
go back and change something that was not well-documented or
thought upon in the concept stage.
 The major disadvantages of the Waterfall Model are as follows −
 No working software is produced until late during the life
cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Cannot accommodate changing requirements.
SDLC – Iterative or incremental Model
 In the Iterative model, the process starts with a simple
implementation of a subset of the software requirements and
iteratively enhances the evolving versions until the full system is
implemented.
 At each iteration, design modifications are made and new
functional capabilities are added. The basic idea behind this
method is to develop a system through repeated cycles
(iterative) and in smaller portions at a time (incremental).
 This process is then repeated, producing a new version of the
software at the end of each iteration of the model.
 Each subsequent release of the system adds function to the
previous release, until all designed functionality has been
implemented.
The Iterative and Incremental model
 In this incremental model, the whole requirement is divided
into various builds.
 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 key to a successful use of an iterative is rigorous validation of requirements,
and verification & testing of each version of the software against those
requirements within each cycle of the model.
Iterative Model - Application
 Likeother SDLC models, Iterative model is most
often used in the following scenarios −
 Requirements of the complete system are clearly defined
and understood.
 There is no time to the market constraint. A new
technology is being used and is being learnt by the
development team while working on the project.
 Resources with needed skill sets are not available and
are planned to be used on contract basis for specific
iterations.
 Thereare some high-risk features and goals which may
change in the future.
Incremental Model Strengths
 Each release delivers an operational product
 Uses “divide and conquer” breakdown of tasks
 Lowers initial delivery cost
 Initial product delivery is faster
 Customers get important functionality early
 Risk of changing requirements is reduced
Iterative Model - Pros and Cons
 The advantage of this model is that there is a working
model of the system at a very early stage of development,
which makes it easier to find functional or design flaws.
 Finding issues at an early stage of development enables to
take corrective measures in a limited budget.
 The disadvantage with this SDLC model is that it is
applicable only to large and bulky software development
projects.
 This is because it is hard to break a small software system
into further small serviceable increments/ modules.
SDLC - Spiral Model
 The spiral model combines the idea of iterative
development with the waterfall model with a very high
emphasis on risk analysis.
 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 process of iterations along the spiral continues throughout the life of the
software.
Spiral Model - Design
 Thespiral model has four phases. A software project
repeatedly passes through these phases in iterations called
Spirals.
Phases of Spiral Model
 Identification Phase - This phase starts with gathering the
business requirements in the baseline spiral.
 In the subsequent spirals as the product matures,
identification of system requirements, subsystem
requirements and unit requirements are all done in this
phase.
 This phase also includes understanding the system
requirements by continuous communication between the
customer and the system analyst.
 At the end of the spiral, the product is deployed in the
identified market.
Phases of Spiral Model
 Design Phase - The Design phase starts with the conceptual
design in the baseline spiral and involves architectural
design, logical design of modules, physical product design
and the final design in the subsequent spirals.

 Construct or Build Phase - The Construct phase refers to


production of the actual software product at every spiral. In
the baseline spiral, when the product is just thought of and
the design is being developed a POC (Proof of Concept) is
developed in this phase to get customer feedback.
 Evaluation and Risk Analysis
 Risk Analysis includes identifying, estimating and
monitoring the technical feasibility and management risks,
such as schedule slippage and cost overrun. After testing the
build, at the end of first iteration, the customer evaluates the
software and provides feedback.

 Then, the subsequent spirals with higher clarity on requirements and design details a
working model of the software called build is produced with a version number.
 These builds are sent to the customer for feedback.
Spiral Model Application
 The Spiral Model is widely used in the software industry as
it is in sync with the natural development process of any
product. The following pointers explain the typical uses of a
Spiral Model −
 When there is a budget constraint and risk evaluation is important.
 For medium to high-risk projects.
 Customer is not sure of their requirements which is usually the
case.
 Requirements are complex and need evaluation to get clarity.
 New product line which should be released in phases to get enough
customer feedback.
 Significant
changes are expected in the product during the
development cycle.
Spiral Model - Pros and Cons
 The advantage of spiral lifecycle model is that it allows
elements of the product to be added in, when they become
available or known. This assures that there is no conflict
with previous requirements and design.
 This method is consistent with approaches that have
multiple software builds and releases which allows making
an orderly transition to a maintenance activity.
 Another positive aspect of this method is that the spiral
model forces an early user involvement in the system
development effort.
 On the other side, it takes a very strict management to
complete such products and there is a risk of running the
spiral in an indefinite loop.
SDLC - Big Bang Model
 The Big Bang model is an SDLC model where we do not
follow any specific process.
 The development just starts with the required money and
efforts as the input, and the output is the software developed
which may or may not be as per customer requirement.
 Even the customer is not sure about what exactly he wants
and the requirements are implemented on the fly without
much analysis.
 Usuallythis model is followed for small projects where the
development teams are very small.
Big Bang Model ─ Design and
Application
 The Big Bang Model comprises of focusing all the possible
resources in the software development and coding, with
very little or no planning.
 The requirements are understood and implemented as they
come. Any changes required may or may not need to restore
the complete software.
 This model is ideal for small projects with one or two
developers working together and is also useful for academic
or practice projects.
 Itis an ideal model for the product where requirements are
not well understood and the final release date is not given.
Big Bang Model - Pros and Cons
 The advantage of this Big Bang Model is that it is very
simple and requires very little or no planning.
 Easy to manage and no formal procedure are required.
 However, the Big Bang Model is a very high risk model and
changes in the requirements or misunderstood requirements
may even lead to complete reversal or scraping of the
project.
 It is ideal for repetitive or small projects with minimum
risks.
SDLC - Prototype Model
 The Software Prototyping refers to building software
application prototypes which displays the functionality of
the product under development, but may not actually hold
the exact logic of the original software.
 Software prototyping is becoming very popular as a
software development model, as it enables to understand
customer requirements at an early stage of development.
 Ithelps get valuable feedback from the customer and helps
software designers and developers understand about what
exactly is expected from the product under development.
What is Software Prototyping?
 Prototype is a working model of software with some limited
functionality. The prototype does not always hold the exact
logic used in the actual software application and is an extra
effort to be considered under effort estimation.
 Prototyping is used to allow the users evaluate developer
proposals and try them out before implementation.
 Italso helps understand the requirements which are user
specific and may not have been considered by the developer
during product design.
Following is a stepwise approach to design a
software prototype.
 Basic Requirement Identification - This step involves
understanding the very basics product requirements especially in
terms of user interface.
 Developing the initial Prototype - The initial Prototype is
developed in this stage, where the very basic requirements are
showcased and user interfaces are provided. The workarounds
are used to give the same look and feel to the customer in the
prototype developed.
 Review of the Prototype - The prototype developed is then
presented to the customer and the other important stakeholders
in the project. The feedback is collected in an organized manner
and used for further enhancements in the product under
development.
 Revise and Enhance the Prototype - The feedback
and the review comments are discussed during this
stage and some negotiations happen with the
customer based on factors like – time and budget
constraints and technical feasibility of the actual
implementation.
 The changes accepted are again incorporated in the
new Prototype developed and the cycle repeats until
the customer expectations are met.
horizontal or vertical prototype
Prototypescan have horizontal or vertical
dimensions.
A Horizontal prototype displays the user
interface for the product and gives a broader view
of the entire system, without concentrating on
internal functions.
A Vertical prototype on the other side is a
detailed elaboration of a specific function or a sub
system in the product.
horizontal or vertical prototype
 The purpose of both horizontal and vertical prototype is
different.
Horizontal prototypes are used to get more
information on the user interface level and the
business requirements. It can even be presented in the
sales demos to get business in the market.
Vertical prototypes are technical in nature and are
used to get details of the exact functioning of the sub
systems. For example, database requirements,
interaction and data processing loads in a given sub
system.
Software Prototyping - Types
 There are different types of software prototypes used in the
industry.
 Following are the major prototyping types used widely
1. Throwaway/Rapid Prototyping
 Throwaway prototyping is also called as rapid or close
ended prototyping.
 Thistype of prototyping uses very little efforts with
minimum requirement analysis to build a prototype.
 Once the actual requirements are understood, the
prototype is discarded and the actual system is developed
with a much clear understanding of user requirements.
2. Evolutionary Prototyping
 Evolutionary prototyping also called as breadboard
prototyping is based on building actual functional
prototypes with minimal functionality in the beginning.
 Theprototype developed forms the heart of the future
prototypes on top of which the entire system is built.
 Byusing evolutionary prototyping, the well-understood
requirements are included in the prototype and the
requirements are added as and when they are understood.
3. Incremental Prototyping
 Incremental prototyping refers to building multiple
functional prototypes of the various sub-systems and then
integrating all the available prototypes to form a complete
system.
4. Extreme Prototyping
 Extreme prototyping is used in the web development
domain.
 Itconsists of three sequential phases. First, a basic
prototype with all the existing pages is presented in the
HTML format.
 Then the data processing is simulated using a prototype
services layer.
Software Prototyping - Application
 Software Prototyping is most useful in development of
systems having high level of user interactions such as
online systems.
 Systems which need users to fill out forms or go
through various screens before data is processed can use
prototyping very effectively to give the exact look and
feel even before the actual software is developed.
 Software that involves too much of data processing and
most of the functionality is internal with very little user
interface does not usually benefit from prototyping.
Software Prototyping - Pros and Cons
 Software prototyping is used in typical cases and where the
decision should be taken very carefully so that the efforts
spent in building the prototype add considerable value to the
final software developed.
 The advantages of the Prototyping Model
 Increaseduser involvement in the product even before its
implementation. The users get a better understanding of the system
being developed.
 Reduces time and cost as the defects can be detected much earlier.
 Quicker user feedback is available leading to better solutions.
 Missing functionality can be identified easily.
 Confusing or difficult functions can be identified.
The disadvantages of the Prototyping
Model
 Riskof insufficient requirement analysis owing to too much
dependency on the prototype.
 Users may get confused in the prototypes and actual
systems.
 Practically,this methodology may increase the complexity
of the system as scope of the system may expand beyond
original plans.
 Developers may try to reuse the existing prototypes to build
the actual system, even when it is not technically feasible.
 The effort invested in building prototypes may be too much
if it is not monitored properly.

You might also like