2. SYSTEM DEVLOPMENT
LIFE CYCLE(SDLC)
(1) Systems Investigation An eight-stage systems
(2) Systems Analysis development life cycle
(3) Systems Design (SDLC)
(4) Programming
(5) Testing
(6) Implementation
(7) Operation
(8) Maintenance
Go Back to a previous Stage or Stop
3. SDLC (continued …)
Systems Investigation (Step 1)
Feasibility Study determines the probability
of success of proposed system’s
development project and assesses the
project’s
technical feasibility : determines if the hardware,
software, and communication components can be
developed or acquired to solve the business problem
economic feasibility : determines if the project is an
acceptable financial risk and if the organization can
afford the expense and time needed to complete the
project
behavioral feasibility : addresses the human issues of
the project
4. SDLC (continued …)
Systems Analysis (Step 2)
the examination of the business
problem that the organization plans to
solve with information systems
produces the following information
strengths and weaknesses of the
existing system
functions that the new systems must
have to solve the business problem
user information requirements for the
new systems
5. SDLC (continued …)
Systems Design (Step 3)
describes how the system will accomplish the
task
technical design
system outputs, inputs, and user interfaces
hardware, software, databases, telecommunications,
personnel, and procedures
how these components are integrated
local systems design : what the system will do
Physical systems design : how the system will
perform its functions
6. SDLC
Programming (Step 4)
the translation of the design specifications
into computer code
structured programming techniques :
improve the logical flow of the program by
decomposing the computer code into
modules, which are sections of code
sequence structure
decision structure
loop structure
7. SDLC
Testing (Step 5)
checks to see if the computer code
will produce the expected and
desired results under certain
conditions
syntax errors : misspelled word or a
misplaced comma
logic errors : permit the program to
run, but result in incorrect output
8. SDLC
Implementation (Step 6)
the process of converting from the old system to the new
system
four major conversion strategies
parallel conversion : the old and new systems operate
simultaneously for a period of time
direct conversion : the old system is cut off and the
new systems is turned on at a certain point in time
pilot conversion : introduces the new system in one
part of the organization
phased conversion : introduces components of the
new systems in stages
9. SDLC
Operation (Step 7)
the new systems will operate for a
period of time, until it no longer meets
its objectives
Maintenance (Step 8)
debugging the program
updating the system to accommodate
changes in business conditions
add new functionality to the system
10. INFORMATION SYSTEM
PLANNING
I/S starts with gaining a holistic
perspective on what the firm aims to
achieve.
System development is the entire set of
activities needed to construct an I/S to a
business problem/opportunity.
I/S is the key component which begins
with the strategic plan of the
organization.
12. The I/S Strategic plan…
The I/S strategic plan is a set of long range
goals.
The I/s strategic plan must meet 3 objectives.
It must be aligned with the organizations
strategic plan.
It must be provide for an it architecture that
enables users,applications, and databases to
be seamlessly networked and integrated
By I/S we can complete project in time, within
budget, and have required funcionality
13. The I/S Operation plan
I/S strategic plan leads to I/S operational plan.
A typical IS operational plan contains the
following elements.
MISSION
I/S ENVIRONMENT
OBJECTIVE OF THE I/SFUNCTION.
CONSTRAINT OF THE I/S FUNCTION.
LONG TERM SYSTEM NEEDS.
SHORT-RANGE PLAN.
14. Alternative methods to the
Systems development
Two main problems with the SDLC
Time consuming
User requirements change over time
Expensive
15. Different Methods
Prototyping
Joint Application Design
Rapid application development (RAD)
ICASE Tools
Object Oriented Development
16. Prototyping
Prototyping is an
information-
gathering technique
Prototypes are
useful in seeking
user reactions,
suggestions,
innovations, and
revision plans
17. Prototype Advantages
Potential for changing the system early
in its development
Opportunity to stop development on an
unworkable system
Possibility of developing a system that
closely addresses users' needs and
expectations
18. Prototype Disadvantages
Managing the prototyping process is
difficult because of its iterative nature
and it is time consuming
It can largely replace analysis and
design stages.
19. Joint Application Design
It is a group-based method for
collecting user requirements and
creating system designs.
20. JAD- Advantages
The group process involves more users
in the development process.
Easier implementation of the new
system.
Low training costs.
22. Rapid Application
Development (RAD)
Rapid application development is a
systems development that includes a
method of development as well as
software tools to rapidly produce a high
quality system.
23. RAD Phases
There are three broad phases to RAD:
Requirements planning
RAD design workshop
Implementation
24. Requirements Planning Phase
Users and analysts meet to identify
objectives of the application or system
Oriented toward solving business
problems
25. RAD Design Workshop
Design and refine phase
Use group decision support systems to
help users agree on designs
Programmers and analysts can build and
show visual representations of the designs
and workflow to users
Users respond to actual working
prototypes
Analysts refine designed modules based
on user responses
26. Implementation Phase
As the systems are built and refined,
the new systems or partial systems are
tested and introduced to the
organization
When creating new systems, there is no
need to run old systems in parallel
27. RAD - Advantages
Active involvement of users in the
development process.
Reduces development cost
Create applications that are easier to
maintain and modify
28. Using RAD Within the SDLC
RAD is very powerful when used within
the SDLC
It can be used as a tool to update,
improve, or innovate selected portions
of the system
29. Disadvantages of RAD
It produces system with limited
functionality and flexibility for change
Therefore system may not be able to
respond to changing business
conditions
Produce system that are not of high
quality
30. ICASE TOOLs
Computer-aided software engineering tools
automate many of the tasks in SDLC.
The tools used to automate the early stages
of SDLC is Upper case tools.
The tools used automate the later stages in
the SDLC are lower case tools
CASE tools that provides link between upper
and lower case tools are called Integrated
CASE tools.
31. ICASE Advantages
Produce systems with a longer effective
operational life
Flexible and adaptable to changing
business conditions.
Have excellent documentation
32. ICASE Disadvantages
Produce systems which are more
expensive to built and maintain.
These are difficult to use with existing
system.
33. Why Object Oriented
Development
SDLC development approaches provide
specific step-by-step instructions in the
form of computer programs
These programs usually result in
system that performs the original task
but may not be suited for handling other
tasks.
34. Object Oriented Development
An object oriented system begins not
with the task to be perform, but with
aspects of the real world that must be
modeled to perform the task.
35. Advantages of OO system
It produces the system that are easy to
built and maintain.
Once an object is designed and tested
it can be reused in other systems.
System developed with OO approach
are more flexible.
36. Object-oriented analysis and
desing(OOA&D)
In this approach system developers
identify the objects
OBJECTS:
It is a fundamental elements in OOAD
It represents tangible real world entities
Ex: customer, bank account, student.
Objects have properties and operations
that can be performed on their
properties
37. Advatages of OOAD
It defines all relevant objects their
properties(data values) and their
operations(behaviours)
Here objects have relationship to meet
the objective of new system
Existing object can be used for other
application saving the time spent on
coding
38. DATAFLOW ANALYSIS
Data flow analysis is known as structured
analysis
It performs the following activities
Defining inputs, outputs and process that are
related to system
Developing a logical model of proposed
system
partitioning the system into different modules
Defining the process or transformations
performed on individual modules
Defining relationship b/w modules
39. ADVANTAGES
It helps analyst in detecting the errors at
early stages
There by reducing time and cost
incurred in detecting errors at later
stages
40. Tools for performing
Structured system analysis
Dataflow diagrams
Illustrates logical view rather than physical
view of business process
Logical view can be represented using logical
dataflow diagrams
Symbols used are ROUND RECTANGLE,
SQUARE, ARROW.
Data dictionary
These specify components present in
structure along with structure of files displayed
in data flow diagrams
41. System development outside
the IS department
Four methods for developing system
outside the information department are:
END-USER DEVELOPMENT
EXTERNAL ACQUISITION OF
SOFTWARE
APPLICATION SERVICE PROVIDER
OUTSOURCING
42. END-USER DEVELOPMENT
End user computing
Fulfilling the information requirements of
all departments.
Ability of supporting adhoc query and
reporting languages.
43. ADVANTAGES:
Level of user satisfaction incresed.
DISADVANTAGES:
Fails to address the backlog problem.
No procedures for recovery process.
Cannot perform data validation.
Cannot detect errors.
44. External Acquisition of
Software
Method of developing or purchasing
software from external vendor
Make-or-buy decision
Quality of software increased
Some of the Factors to be followed
Cost and financial factors
Graphical presentation
Security
Data management capabilities
45. ADVANTAGES:
1)Reduces initial cost of existing software
2)Satisfies all business requirements of an
organization
DISADVATAGES:
Requires large number of requirements
Requires huge amount of cost
Very expensive to modify
46. Application Service
Provider(ASP)
Method of providing applications only to
subscribed organization
Applications are hosted on asp’s data
center and users can access them or
carried out through “virtual private n/w”
These are not sold or licensed
47. ADVANTAGES: DISADVANTAGES:
Minimizes internal Fails to provide
IT cost customized solutions
Provides to all clients
information about Not flexible to
available products changes
Increase the Cannot be integrated
performance level
48. OUTSOURCING
It is a practice where a
company purchases a
product from another
company
Outsources the work to
external vendor
External vendor creates the
software and he is paid for it
EX: ASP
49. ADVANTAGES AND
DISADVANTAGES
Outsourcing can reduce the cost
This can built the system even when
internal resources are unavailable
Organization loses control over its
information system function
It results in high cost
50. DATABASE
A database is a structured collection
of data
Databases are designed to offer an
organized mechanism for storing,
managing and retrieving information.
51. File Oriented Approach
In early days,day was stored in files.
For an application,multiple files are
required to be created.
Each file stores and maintains its own
related data.
52. Limitations of File oriented
approach
Data redundancy and inconsistency: Different files
may have different formats and the programs may be
written in different programming languages as they are
developed by different programmers. Moreover, the same
information may be duplicated in several places (files).
For example, the address and telephone number of a
particular customer may appear in a file that consists of
saving-account records and in a file that consists of
checking-account records. This redundancy leads to
higher storage and access cost. It may lead to data
inconsistency; that is. The various copies of the same
data may no longer agree.
53. Limitations of File oriented
approach
Difficulty in accessing data: Suppose we need
to access information about all the customers of a
particular scheme. During the initial stages of
development of the system this kind of query might
not have been known, no application program would
be on hand to meet it. Say we have the application
program that generates list of all the customers along
with the scheme names. Thus we will have to run the
latter program and sort the customers of particular
scheme manually, or for each query we will have to
write a new application program. Clearly we can see
that accessing data is not easy in these cases.
54. Problems with file oriented
approach
Data isolation: Since data is scattered in various files, which might
be in different formats thus, it is difficult to write a new application to
retrieve appropriate data.
Integrity Problems: The data values stored in the database must
satisfy certain types of consistency constraints. For example, the
balance of a bank account may never fall below a prescribed amount
(say, Rs. 500). Developers enforce these constraints in the system
through hard coding these conditions. When new constraints are
added, it is difficult to change the program to enforce them.
Security problems: Every person should not be allowed to access
the database for security purposes. Since application programs are
added to the system in an ad-hoc manner, it is difficult to ensure such
security constraints.
55. Advantages of the Database
Approach
Data Independence :
The data is held in such a way that changes to the structure of
the database do not effect any of the programs used to access
the data.
Consistency of Data :
Each item of data is held only once therefore no danger of item
being updated on one system and not on another.
Data Redundancy is minimised :
In a non-database system, the same information may be held
on several files. This wastes space and makes updating more
time-consuming. A database system minimizes these effects.
Integrity of Data :
The DBMS provides users with the ability to specify constraints
on data such as making a field entry essential or using a
validation routine.
56. Advantages of the Database
Approach
Greater Security of Data :
The DBMS can ensure only authorized users are allowed access to
the data.
Centralized Control of Data :
The Database Administrator will control who has access to what
and will structure the database with the needs of the
More Information Available to Users :
Users have access to a wider range of data that was previously
held in seperate departments and sometimes on incompatible
systems.
Increased Productivity :
The DBMS provides an easy to use query language that allows
users to get immediate response from their queries rather than
having to use a specialist "programmer" to write queries for them
whole department in mind
57. Disadvantages of the
Database Approach
Larger Size :
More disk space is required and probably a larger
and more p owerful computer
Greater Complexity :
For optimum use the database must be very
carefully designed. If not done well, the new
system may fail to satisfy anyone.
Greater Impact of System Failure :
"All eggs in one basket.“
More Complex Recovery Procedures :
If a system failure occurs it is vital that no data is
lost
59. An UNIVERSITY example
A UNIVERSITY database for maintaining information
concerning students, courses, and grades in a
university environment
We have:
STUDENT file stores data on each student
COURSE file stores data on each course
SECTION file stores data on each section of each
course
GRADE_REPORT file stores the grades that students
receive
61. Types of Data models
1.Object based logical models
The entity-relationship models
The Object-oriented model
The semantic data model
The functional data model
2.Record based logical models
Relational model
Network model
Hierarchical model
3.Physical data model
M.G. Erechtchoukova 61
62. Object based logical
models
Used in describing data at logical level
and view level
Logical level is to make a decision
regarding what data are to be stored in
the database and what relationships
must exist among those data.
View level describes only part of the
entire database that is to viewed by the
database user.
63. Entity-relationship models (ERM)
Is based on a collection of basic objects called
entities, and the relationship among these objects.
In this step, the database designer creates an entity-
relationship (E-R) diagram to show the entities for
which information needs to be stored and the
relationship between those entities.
64. Figure shows a very simple E-R diagram with three entity sets,
their attributes and the relationship between the entity sets.
Fig: Entities, attributes and relationships in an E-R diagram
65. Object-Oriented Databases (OODB)
Is based on a collection of objects
Object contains values stored in instances
variables, methods (bodies of code) that
operates on the object
Object that contains the same types of values
and same methods are grouped together into
classes.
66. Semantic Data model
It makes easier for a user to give
starting description of data in an
enterprise
Contain a wide variety of relations that
helps to describe a real application
scenario
66
67. Functional Data model
Is easier to define functions and call
them wherever necessary to process
data
67
68. Record based logical models
Named because the data is kept in the
form of records (documents) of several
types
Each record has fixed number of fields
and each field is of fixed length
68
69. Relational database model
In the relational model, data is organized in two-dimensional
tables called relations. The tables or relations are, however,
related to each other, as we will see shortly .
Figure: An example of the relational model representing a university
70. Hierarchical database model
In the hierarchical model, data is organized as an inverted
tree. Each entity has only one parent but can have several
children. At the top of the hierarchy, there is one entity,
which is called the root.
Figure: An example of the hierarchical model representing a university
71. Network database model
In the network model, the entities are organized in a graph,
in which some entities can be accessed through several paths
(Figure 14.4).
Figure 14.4 An example of the network model representing a university
14.71
72. OTHER DATABASE MODELS
Distributed data bases
Object oriented data base
Active data base
Parallel data base
Multimedia data base
Web data base
74. Distributed
Database - A logically interrelated
collection of shared data (and a
description of this data), physically
distributed over a computer network .
DBMS - Software system that permits
the management of the distributed
database and makes the distribution
transparent to users.
78. NORMALIZATION
Process of efficiently organizing data in
database
Eliminating data redundancy
Reducing design flaws
How to achieve
Dividing database into two or more tables
Defining relationship between them
79. Why normalization
Normalization objective is to isolate
data so that additions, deletions and
modifications made in one table is
applicable to rest of tables in database
80. NORMAL FORMS
Normal forms are applied to achieve
normalized data
Normal forms are the conditions that a
table should fulfill
81. Different types of normal forms
First normal form(1NF)
Second normal form(2NF)
Third normal form(3NF)
Boyce-codd normal form(BCNF)
Fourth normal form(4NF)
Fifth normal form(5NF)
82. Different type of keys
PRIMARY KEY
COMPOSITE KEY
CANDIDATE KEY
SUPER KEY
FOREIGN KEY
83. FIRST NORMAL FORM(1NF)
Each attribute must be atomic
No repeating columns within a row
No multi-valued columns
This disallows “attribute as collection of
tuples”
Drawback
Redundancy of data
84. Examples of 1NF
Employee (unnormalized)
Emp-no name Dept-no Dept-name skills
1 Kevin jacobs 201 R&D C
Perl
java
2 Barbara jones 224 IT Linux
mac
3 Jake rivera 201 R&D DB2
Oracle
JAVA
Employee (1NF)
emp_no name dept_no dept_name skills
1 Kevin Jacobs 201 R&D C
1 Kevin Jacobs 201 R&D Perl
1 Kevin Jacobs 201 R&D Java
2 Barbara Jones 224 IT Linux
2 Barbara Jones 224 IT Mac
3 Jake Rivera 201 R&D DB2
3 Jake Rivera 201 R&D Oracle
3 Jake Rivera 201 R&D Java
85. SECOND NORMAL
FORM(2NF)
FUNCTIONAL DEPENDENCY:
This can be defined as every non-key
attribute is dependent on the primary key
attribute
PARTIAL FUCTIONAL DEPENDENCY
If an attribute is not dependent on all of
the keys in the relation, we say that it has
partial dependency on the key.
86. Partial Functional
Dependence
Employee (1NF)
emp_no name dept_no dept_name skills
1 Kevin Jacobs 201 R&D C
1 Kevin Jacobs 201 R&D Perl
1 Kevin Jacobs 201 R&D Java
2 Barbara Jones 224 IT Linux
2 Barbara Jones 224 IT Mac
3 Jake Rivera 201 R&D DB2
3 Jake Rivera 201 R&D Oracle
3 Jake Rivera 201 R&D Java
Skills is not functionally dependent on emp_no since it is not
unique to each emp_no.
87. SECOND NORMAL
FORM(2NF)
Meet all the requirements of 1NF
All partial dependencies must be
removed by dividing the table into small
tables and building relationships
between them
88. Example of 2NF
Employee (1NF)
emp_no name dept_no dept_name skills
1 Kevin Jacobs 201 R&D C
1 Kevin Jacobs 201 R&D Perl
1 Kevin Jacobs 201 R&D Java
2 Barbara Jones 224 IT Linux
2 Barbara Jones 224 IT Mac
3 Jake Rivera 201 R&D DB2
3 Jake Rivera 201 R&D Oracle
3 Jake Rivera 201 R&D Java
Skills (2NF)
Employee (2NF) emp_no skills
1 C
emp_no name dept_no dept_name 1 Perl
1 Kevin Jacobs 201 R&D 1 Java
2 Barbara Jones 224 IT 2 Linux
3 Jake Rivera 201 R&D 2 Mac
3 DB2
3 Oracle
3 Java
89. Third normal form(3NF)
Transitive dependencies
A transitive functional dependency is when changing a
non-key column , might cause any of the other non-key
columns to change
Employee (2NF)
emp_no name dept_no dept_name
1 Kevin Jacobs 201 R&D
2 Barbara Jones 224 IT
3 Jake Rivera 201 R&D
Changing in Dept_no it also reflects on dept_name
90. Third normal form(3NF)
Meet all the requirements of 2NF
Remove all transitive dependencies
Any transitive dependencies are moved
into a smaller (subset) table.
91. Examples of 3NF
Employee (2NF)
emp_no name dept_no dept_name
1 Kevin Jacobs 201 R&D
2 Barbara Jones 224 IT
3 Jake Rivera 201 R&D
Employee (3NF) Department (3NF)
emp_no name dept_no dept_no dept_name
1 Kevin Jacobs 201 201 R&D
2 Barbara Jones 224 224 IT
3 Jake Rivera 201
92. Boyce-codd Normal
Form(BCNF)
BCNF is based on the concept of
a determinant(left hand attribute)
A determinant is any attribute (simple or
composite) on which some other
attribute is fully functionally dependent.
A relation is in BCNF if, and only if,
every determinant is a candidate key.
93. Examples of BCNF
Student (un normalized)
STUDENT MAJOR ADVISOR
1 chemistry P
2 Maths Q
3 Social R
4 English S
5 chemistry p
STUDENT ADVISOR
ADVISOR MAJOR
1 P
P chemistry
2 Q
Q Maths
3 R
R Social
4 S
S English
5 P
94. Fourth Normal Fourth
Either of these conditions must hold true in
order to be fourth normal form
There is no multivalued dependency in the relation
There are multivalued dependency but the
attributes are dependent between themselves
The relation must also be in BCNF
Fourth normal form differs from BCNF only in
that it uses multivalued dependencies
95. Multivalued
Dependencies(MVD)
Given a relation R, let x and y be
attributes of R. Then MVD denoted as
xy satisfied in relation R if
t1(x)=t2(x)=t3(x)=t4(x)
t1(y)=t3(y) and t2(y)=t4(x)
X Y Z tuples xy
a b1 c1 tuples-1
a b2 c2 tuples-2
a b1 c2 tuples-3
a b2 c1 tuples-4
96. Example of 4NF
B C A D tuples
b c1 a1 d1 tuples-1
b c2 a2 d2 tuples-2
b c1 a2 d2 tuples-3
MVD:BC
FD:ABCD
As the relation has both FDs and MVDs it is in 4NF