Anda di halaman 1dari 25

1

LESSON 12 to upward
Planning for System Development:-
The management should prefer to have a plan for IT development so as to help it to take various
software development projects in a structured way. At the very start, the management regarding
following issues does planning
• Scope of software development – certain selected areas or the entire organization.
• How to get the project done –in-house committee or hired consultants.
• How much resource and time commitment can be made?
• Any written policy on which model is needed to be followed for software development.

IT planning provides a structured means of addressing the impact of technologies, including


emerging technologies, on an organization. Through the planning process, relevant technologies are
identified and evaluated in the context of broader business goals and targets. Based on a
comparative assessment of relevant technologies, the direction for the organization can be
established. Business planning is an accepted responsibility of management. Plans provide a
direction and framework for action.
Phases of IT planning:-
Although information technology plans are unique, the planning process and the underlying
activities are similar.
• Orientation -- This start-up phase is required to establish the scope of the plan and the
methodology and techniques to be applied
• Assessment -- Major steps in this phase are
• Confirm business direction and drivers;
• Review technology trends; outline future requirements;
• Inventory (list or record) existing information systems; and
• Develop an assessment of what is needed.
• In the concluding step of this phase there should be a well-developed assessment of the current
and future business needs,
• Strategic Plan -- This phase commences with developing the vision and desired future
positioning of information technology within the organization.
2

• Tactical Plan -- The selected strategies are divided into a series of projects which are scheduled
for implementation depending upon relative priorities and resource availability. The planning
process is concluded by recommending a monitoring and control mechanism.
What is System Development?
System development refers to the structuring of hardware and software to achieve the effective and
efficient processing of information. Information systems are developed keeping in view the needs
to be met. There can be two reasons for system development.
• A manual information system is to be computerized.
• An already computerized information system is to be replaced with a system that addresses the
growing and changing needs of the organization or the old system has become too slow or there are
newer more efficient and user friendly development tools are available.
In both the above mentioned situations, the phases followed for system development would be the
same.
The extent of system study, analysis & design may depend on the fact whether the existing system
is manual or computerized. To develop systems, various development models or techniques are
deployed. Let us understand why these development models are used.
Models Used for System Development:-
Initially software development consisted of a programmer writing code to solve a problem or
automate a procedure. Nowadays, systems are so big and complex that teams of architects, analysts,
programmers, testers and users must work together to create the millions of lines of custom-written
code that drive our enterprises. To manage this, a number of models for system development have
been created. The most famous of these models is the system development lifecycle model (SDLC)
or Lifecycle Models.

Systems Development Life Cycle (SDLC):-

The systems development life cycle (SDLC) is a conceptual model used in project management
that describes the stages involved in an information system development project, from an initial
feasibility study through maintenance of the completed application. SDLC is also known as
information systems development or application development. Various SDLC methodologies have
been developed to guide the processes involved, including the waterfall model (which was the
original SDLC method); rapid application development (RAD); joint application development
(JAD); the fountain model; the spiral model; build and fix; and synchronize-and-stabilize.
3

Often, several models are combined into some sort of hybrid methodology. Documentation is
crucial regardless of the type of model chosen or devised (set up, develop, create) for any
application, and is usually done in parallel with the development process. Some methods work
better for specific types of projects, but in the final analysis, the most important factor for the
success of a project may be how closely the particular plan was followed.

In general, an SDLC methodology follows these steps:

1. If there is an existing system, its deficiencies are identified. This is accomplished by


interviewing users and consulting with support personnel.
2. The new system requirements are defined including addressing any deficiencies in the
existing system with specific proposals for improvement.
3. The proposed system is designed. Plans are created detailing the hardware, operating
systems, programming, and security issues.
4. The new system is developed. The new components and programs must be obtained and
installed. Users of the system must be trained in its use, and all aspects of performance must
be tested. If necessary, adjustments must be made at this stage.
5. The system is put into use. This can be done in various ways. The new system can phased
in, according to application or location, and the old system gradually replaced. In some
cases, it may be more cost-effective to shut down the old system and implement the new
system all at once.
6. Once the new system is up and running for a while, it should be exhaustively evaluated.
Maintenance must be kept up rigorously at all times. Users of the system should be kept up-
to-date concerning the latest modifications and procedures.

Need Assessment:-
Information systems are usually developed on need-basis, that is, problems and opportunities arise
and render system development necessary. In this phase the stakeholders must attempt to come to
some understanding of the nature of the problem or opportunity they are addressing.
Should formal terms of reference be prepared and approved by the steering committee or project
committee? This depends on the size, impact and cost of the system being prepared. The TOR
usually covers following aspects.
• Investigation on existing system
• Definition of system requirements
4

• Specifying performance criteria for the system


• Detailed cost budget
• Draft plan for implementation
If the problem is decided to be addressed and the level of acceptance that exists among the
stakeholders on the need of change, the level of technological uncertainty the proposed solution to
the problem/opportunity has. The most critical phase is the agreement of the stakeholders on the
definition of problem and parameters of solution.

Entry and Feasibility Study:-


The purpose of this phase is to obtain a commitment to change and to evaluate whether cost
effective solutions are available to address the problem or opportunity that has been identified.
Following examples can be considered to explain this situation.
• Say a problem has been recognized by a group of users. They believe they can design and
implement a solution themselves using a high level language. Their proposed system will not have
little impact on others within the organization, nor will it be material from the viewpoint of the
overall organization. In this situation, the users are already motivated to bring about change.
Thus activities to accomplish successful entry are minor or unnecessary.
• On the other hand, consider a solution where potential solutions will have a widespread impact on
the overall organization. Activities to accomplish successful entry are now critical.
Information systems professionals must seek to establish themselves as legitimate change agents
among the stake holders. Moreover they must seek to foster among the stakeholders a commitment
to change. If potential solutions will have a significant impact on task and social systems, a spirit of
collaborative analysis and evaluation among stakeholders must be developed.
Once the entry is successful, a preliminary study can be carried out to evaluate the feasibility of the
new system. A Feasibility study team should be constituted
• Draw representatives from the departments affected by the project
• At least one person must have a detailed knowledge of computers and systems design (called
system analyst).
• At least one person should have a detailed knowledge of
1. The organization
2. How current system operates
3. Information needs of the system
4. Defects in the existing system
• Consultants from the outside
5

Key Areas of Feasibility


Following aspects/criteria can be covered in a feasibility study.
• Technical Feasibility – is the available technology sufficient to support the proposed project?
Can the technology be acquired or developed?
• Electricity
• Machinery
• Response times – time between request and execution
• Volume of transactions which can process within the given time
• Capacity to hold files or records of a certain size
• Number of users supported without execution
• Operational Feasibility – compliance and adjustability with the way organization works with
attitude to change or chains of command.
• Can the input data be collected for the system?
• Is the output usable?
• Economic feasibility – Do the benefits of the system exceed the costs?
It should be the BEST OPTION among those under consideration for the same purpose.
• Behavioural feasibility – What impact will the system have on the user’s quality of working life?
• Reduction is job stress
• Job satisfaction
• Quality of output by employees
• Costs of Proposed System
6

Other feasibility areas can be:


Managerial Feasibility: • Skilled persons
• Project team
• Availability of resources
Financial Feasibility: • Availability of finance
Cultural Feasibility: compatibility of the proposed project with
the cultural environment
Safety Feasibility: Minimal adverse effects on the
environment.
Market Feasibility: • Market analysis
• Competitor analysis
Legal Feasibility: • NOC
• Judicial papers

Benefits from the proposed system:-


When a system is being introduced, management should consider the impact and amount of
proposed benefits. The purpose of this activity is to consider and
• Better decision making
• Savings in:
• Possible in staff costs through increase of efficiency and not necessarily through
redundancies.
• In costs of running the department through more organized and efficient computerization.
• More sales revenue
• Efficient use of staff time
• Customer satisfaction
• Better planning of resources required for operations e.g. inventory ordering, fixed asset
utilization.

Types of System Development Life-Cycle Model:-


The concept of system development lifecycle model has been explained in various shapes and
forms. The concluding form follows the same spirit except for minor differences.
7

Popular Software Development Models:-

The following are some basic popular models that are adopted by many software development
firms

A. Waterfall Model
B. Incremental Model
C. Prototyping Model
D. Spiral Modal
E. Rapid Application Development Model
F. Component Assembly Model

A. Waterfall model / Classic lifecycle/ Linear Sequential Model:-


This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall
Method.
The waterfall model is a software development model (a process for the creation of software) in
which development is seen as flowing steadily (gradually, increasingly) downwards (like a
waterfall) through the various phases.

There are various software development approaches defined and designed which are
used/employed during development process of software, these approaches are also referred as
"Software Development Process Models". Each process model follows a particular life cycle in
order to ensure success in process of software development.
8

One such approach/process used in Software Development is "The Waterfall Model". Waterfall
approach was first Process Model to be introduced and followed widely in Software Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of software
development is divided into separate process phases. The phases in Waterfall model are:
Requirement Specifications phase, Software Design, Implementation and Testing & Maintenance.
All these phases are cascaded (Rush down in big quantities, like a cascade) to each other so that
second phase is started as and when defined set of goals are achieved for first phase and it is signed
off, so the name "Waterfall Model". All the methods and processes undertaken in Waterfall Model
are more visible.

The stages of "The Waterfall Model" are:

Requirement Analysis & Definition:- All possible requirements of the system to be


developed are captured in this phase. Requirements are set of functionalities and constraints that the
end-user (who will be using the system) expects from the system. The requirements are gathered
from the end-user by consultation, these requirements are analyzed for their validity and the
possibility of incorporating the requirements in the system to be development is also studied.
Finally, a Requirement Specification document is created which serves the purpose of guideline
for the next phase of the model.
9

System & Software Design:- Before a starting for actual coding, it is highly important to
understand what we are going to create and what it should look like? The requirement
specifications from first phase are studied in this phase and system design is prepared. System
Design helps in specifying hardware and system requirements and also helps in defining overall
system architecture. The system design specifications serve as input for the next phase of the
model. This phase includes the designing of following elements:

• Design of the information flow


• DFD’s (Data Flow Diagrams)
• ERD’s (Entity Relationship Diagram)
• Design of database
• Design of user interface
• Physical design
• Design of hardware & software platform
Data Flow:-
Diagrams: (on next page)
10

User/Accountant uses chart of accounts to access the relevant accounts in order to prepare different
vouchers according to requirements. The purpose behind this entire activity is to record various
transactions. The next step is posting of all these transactions in the system. This process updates
the general ledger.

Entity Relationship Diagram (ERD):-


Another diagrammatical tool used in system design is ERD. ERD as shown below indicates simple
relationships. These relationships can be read as follows.
• One department has one supervisor
• A department may have more than one employee
Or
• An employee may be in more than one department
• An employee may not be working on any project but a project must have at least one employee
working on it
11

The above figure shows a hotel booking system. Various records have been kept for each entity.
However each entity shares a relationship with for logical purpose. For instance, the field for room
however link has been made to reservation, session and logs by making user ID common to all
three tables. Such kind of relationship helps in keeping

Implementation & Unit Testing: - On receiving system design documents, the work is
divided in modules/units and actual coding is started. The system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and tested for
its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the modules/units
meet their specifications.
12

Integration & System Testing: - As specified above, the system is first divided in units
which are developed and tested for their functionalities. These units are integrated into a complete
system during Integration phase and tested to check if all modules/units coordinate between each
other and the system as a whole behaves as per the specifications. After successfully testing the
software, it is delivered to the customer.

Operations & Maintenance: - This phase of "The Waterfall Model" is virtually never
ending phase (Very long). Generally, problems with the system developed (which are not found
during the development life cycle) come up after its practical use starts, so the issues related to the
system are solved after deployment (use or operation) of the system. Not all the problems come in
picture directly but they arise time to time and needs to be solved; hence this process is referred as
Maintenance.

Arguments for water fall:-


• Waterfall model places emphasis on documentation (such as requirements documents and design
documents) as well as source code.
• Other methodologies which save time in software development can de-emphasize documentation.
In such methodologies project knowledge is stored mentally by team members. Should team
members leave, this knowledge is lost, and substantial loss of project knowledge may be difficult
for a project to recover from. Extreme Programming is an example which will be discussed later.
• Waterfall model is preferred for its simple and arguably more disciplined approach. The model
itself progresses linearly through discrete, easily understandable and explainable "phases" and is
thus easy to understand

Arguments against water fall:-


• It is argued that it is impossible to get one phase of a software product's lifecycle "perfected"
before moving on to the next phases and learning from them.
For example clients may not be aware of exactly what requirements they want before they see a
working prototype and can comment upon it - they may change their requirements constantly, and
program designers. This is an example of iterative model (to be discussed later)
• Waterfall model advocates more reliance on fixed, static requirements. Designers may not be
fully aware of future implementation difficulties when writing a design for an unimplemented
13

software product. That is, it may become clear in the implementation phase that a particular area
of program functionality is extraordinarily difficult to implement.
• Another problem is that the waterfall model assumes that the only role for users is in specifying
requirements, and that all requirements can be specified in advance. Unfortunately, requirements
grow and change throughout the process and beyond, calling for considerable feedback and
iterative consultation. Thus many other SDLC models have been developed. The choice of
phases differs in various standards and organizations.
• As it is very important to gather all possible requirements during the Requirement
Gathering and Analysis phase in order to properly design the system, not all requirements
are received at once, the requirements from customer goes on getting added to the list even
after the end of "Requirement Gathering and Analysis" phase, this affects the system
development process and its success in negative aspects.
• The project is not partitioned in phases in flexible way.
• As the requirements of the customer goes on getting added to the list, not all the
requirements are fulfilled, this results in development of almost unusable system. These
requirements are then met in newer version of the system; this increases the cost of system
development.
• Produces excessive documentation and keeping it updated as the project progresses is time-
consuming.
• Problems are often not discovered until system testing.

Situations where most appropriate:-


1. Project is for development of a mainframe-based or transaction-oriented batch system.
2. Project is large, expensive, and complicated.
3. Project has clear objectives and solution.
4. Pressure does not exist for immediate implementation.
5. Project requirements can be stated unambiguously and comprehensively.
6. Project requirements are stable or unchanging during the system development life cycle.
7. User community is fully knowledgeable in the business and application.
8. Team members may be inexperienced.
9. Team composition is unstable and expected to fluctuate.
10. Project manager may not be fully experienced.
11. Resources need to be conserved.
14

12. Strict requirement exists for formal approvals at designated milestones.


Situations where least appropriate:-
1. Large projects where the requirements are not well understood or are changing for any
reasons such as external changes, changing expectations, budget changes or rapidly
changing technology.
2. Real-time systems.
3. Event-driven systems.
4. Leading-edge applications. (Leading Edge Applications specializes in testing equipment for
the Pulp and Paper industry as well as the label printing industry.)

B. Incremental Model:-
In incremental models, software is built not written. Software is
constructed step by step in the same way a building is constructed. The products is designed,
implemented, integrated and tested as a series of incremental builds, where a build consists of code
pieces from various modules interacting together to provide a specific functional capability and
testable as a whole.
The incremental model is a method of software/ Information System development where the model
is designed, implemented and tested incrementally until the product is finished. It involves both
development and maintenance. This model combines the elements of the waterfall model with the
philosophy of prototyping.
Example -An example of this incremental approach is observed in the development of word
processing applications where the following services are provided on subsequent modules:
• Basic file management, editing and document production functions
• Advanced editing and document production functions
• Spell and grammar checking
• Advance page layout
15

The first increment is usually the core product which addresses the basic requirements of the
system. This maybe either be used by the client or subjected to detailed review to develop a plan
for the next increment.
This plan addresses the modification of the core product to better meet the needs of the customer,
and the delivery of additionally functionality.
Characteristics of the Incremental Model:-
• The system development is broken into many mini development projects
• Partial systems are successively built to produce a final total system.
• Highest priority requirements tackled early on.
• Once an incremented portion is developed, requirements for that increment are frozen.
• Generates working software quickly and early during the software life cycle.
• More flexible - less costly to change scope and requirements.
• Easier to test and debug during a smaller iteration.
• Easier to manage risk because risky pieces are identified and handled during its iteration.
Disadvantages:-
• Each phase of an iteration is rigid and do not overlap each other.
• Problems may arise pertaining to system architecture because not all requirements are gathered up
front for the entire software life cycle.
• Larger picture cannot be seen until the entire system is built
• Difficult to break down the total system at early stage of product development to determine
reasonable increments

C. Prototyping Model:-

1) This is a cyclic version of the linear model. In this model, once the requirement analysis is done
and the design for a prototype is made, the development process gets started. Once the prototype is
created, it is given to the customer for evaluation. The customer tests the package and gives his/her
feed back to the developer who refines the product according to the customer's exact expectation.
After a finite number of iterations, the final software package is given to the customer.
16

2) This methodology includes:-


•Listen to the customer.
•Develop a demonstrating (demo) version of the software.
•Evaluate by the customer.

The customer is called at the software engineer/developer’s site or he/she visited to customer in
order to gather the main requirements of the software. The software engineer developed a demo
version of the software and, called the customer at his/her site to evaluate the demo. The customer
and software engineer sits together. The customer provides his feed back about the demo is to the
developer. The developer rebuilds the demo according to the changes and new requirements
inquired by the customer. The customer is again called to re-evaluate the demo and this process
continues until the final version of the software/customer satisfaction.
17

The prototype model, which is illustrated in the above Figure usually, consists of the following:

1. Analyze the user’s basic requirements.

2. Repeat
•Develop or revise the working prototype to include the requirements that are known at this stage.
•Allow the user to use the prototype to suggest changes to the requirements. If there are no major
changes, exit the loop.
•Analyze the requested changes with the user.

3. The outcome is usually one of the following:

•The final prototype is used as part or all of the specifications for the formal development of the
system.

•The final prototype is placed into production.

E. Rapid Application Development (RAD) Model:-

The RAD model is a linear sequential software development process that emphasizes an extremely
short development cycle. The RAD model is a "high speed" adaptation of the linear sequential
model in which rapid development is achieved by using a component-based construction approach.
Used primarily for information systems applications, the RAD approach encompasses the following
phases:
18

Conclusion:-

All these different software development models have their own advantages and disadvantages.
Nevertheless, in the contemporary commercial software development world, the fusion of all these
methodologies is incorporated. Timing is very crucial in software development. If a delay
happens in the development phase, the market could be taken over by the competitor. Also if a 'bug'
filled product is launched in a short period of time (quicker than the competitors), it may affect the
reputation of the company. So, there should be a tradeoff (exchange, swapping) between the
development time and the quality of the product. Customers don't expect a bug free product but
they expect a user-friendly product. That results in Customer Ecstasy. (Joy, happiness)
19

Database

Database:-
Database is an organized collection of related data that is stored in an efficient and
compact manner.
The word organized means that data is stored in such a way that the user can use this data
easily. The word related means that a database is normally created to store the data about a
particular topic.

For example if a database is created for students, it will contain data about the students such
as roll no, name, address etc. Similarly, if the database is about the employees of an
20

organization, it will contain the data of employees such as employees ID, grade and salary
etc. All data in database is arranges in tables.

The word efficient means that the user can search the required data quickly. The word
compact means that the stored data occupies as little space as possible in computer.

Tables:-
Table is the fundamental object of the database structure. The basic purpose of a
table is to store data. A table consists of rows and columns. A table is a very convenient
way to store data. The data in tables can be manipulated easily.

Serial No Name Qualification Email


1 Usman B.SC. usman@yahoo.com
2 Abdullah M.SC. Abdullah@yahoo.com
3 Ejaz M.SC. ejaz@yahoo.com
Table: Records table.

Rows/Record:-
Rows are the horizontal part of the table. It is a collection of related fields. For
example, the above table has three rows. Each row contains a record of different person.

2 Abdullah M.SC. Abdullah@yahoo.com


A single row/ record

Columns/ Field:-
Columns are the vertical part of the table, For example, all values in the above table
under “Name” field make a column.

Name
Usman
Abdullah
Ejaz
A single column

Examples of Databases:-
Following are some important examples of databases:

1. Phone Directory:-
Phone directory is a simple example of a database. A phone directory stores
the phone numbers of different persons. Searching a phone number from
21

phone directory is very easy as all phone numbers are stored in an organized
way.
2. Library:-
A library contains thousands of books. It is very difficult to handle the records
of all these books without database. A database system can be used to store
the records of books, search the required books easily. This database can help
for doing research work.
3. College:-
A college has many students in different classes. A database may be used to
keep the records of the students, fee transactions, examination information
and other data of the college. It can also store the attendance of the students.

Database Management System:-


A database Management system (DBMS) is a collection of programs that are
used to create and maintain a database. DBMS is a general-purpose software system that
provides the following facilities:

1. It provides the facility to define the structure of database. The user can specify data
types, format and constraints for the data to be stored in database.
2. It provides the facility to store data on some storage medium controlled by DBMS.
3. It provides the facilities to insert, delete, update and retrieve specific data to generate
reports etc.

Components of Database Environment:-


The important components of a database environment are as follows:

1. Repository:-
A repository is a collection of all data definitions, data relationships, output styles
and report formats etc. All this information is the metadata that is important to
manage database.
2. Database Management System:-
A database management system (DBMS) is a collection of programs that are used to
create and maintain a database.
3. Database:-
Database can be defined as an organized collection of related data. The word
“organized” means that data is stored in such a way that user can store, manipulate
and retrieve data easily.
4. Application Program:-
An application program is program that is used to send commands to the database
management system to manipulate database. These commands are sent to the DBMS
through graphical user interface. The user interface with the application program and
the application program further interacts with the database management system. Two
important application programs are developer 2000 and power Builder.
22

5. User Interface:-
The user interface is a visual environment that is used to communicate with the
computer. It consists of menus, buttons and other components. All windows based
software use graphical user interface. The user interface consists of following
components. It will contain forms, menus and reports.
6. Data Administrators:-
Data administrators are the persons who are responsible of whole information
system. They authorize access to the database as well as coordinate and monitor the
use of database.
7. System Analysts and Application Programmers:-
System analysts determine the requirements of end users and develop specifications
for transactions. Application programmers implement these specifications and
programs.
8. End User:-
End users are those persons who interact with the application directly. They are
responsible to insert, delete and update data in the database. They get information
from the system as and when required.

Database Approach:-
Database approach has many advantages over file processing system.

1. Redundancy Control:-
The data in a database appears only once and is not duplicated. For example the
data of a student in college database is stored in one table. The table can be
accessed for different purposes. For examples, if we want to store the marks of
student in a table, only roll No of the student will be used in second table. The
second table will be connected to the student table for accessing the information
about the student as follows:

Student Table
Roll No Name Address Email Phone
1 Usman Faisalabad usman@yahoo.com 727253
2 Abdullah Faisalabad Abdullah@yahoo.com 784692

Marks Table
Roll No Subjects Marks
1 Math 98
1 English 87
2 Math 81
2 English 92

In the above figure, the details of the students are stored in student table. The marks table
stores only the Roll No of students. The remaining data is not duplicated. Roll No in the
Marks table is duplicated for joining two tables.
23

2. Data Consistency:-
An important benefit of controlling redundancy is that the data is consistent.
If a data item appears only at one place, It is easy to maintain. If it is required to update data
the updating is performed at only one place. The change will automatically take effect at all
places where ever this data is used.

3. Consistency Constraints:-
Consistency constraints are the rules that must be followed to enter data in database.
If the constraints are not fulfilled, data cannot be entered in database. Database
Management systems provide an easy way to apply different consistency to ensure data
consistency. For example, a constraint can be applied to ensure that the data is always
entered in a specific range etc.

4. Data Atomicity:-
A collection of all steps to complete a process is known as transaction. Data
atomicity means that either a transaction should take place as a whole or it should not take
place at all. It ensures that the database will always have correct and consistent data.
Suppose a user wants to transfer money from account A to account B. This process consists
of two steps:
1. Deduct the money from account A.
2. Add the money to account B.
Suppose that the system fails when the computer has performed the first step. It means that
the amount has been deducted from account A but has not been added to account B. This
situation can make data inconsistent. The database management system does not allow such
a situation to happen. Database management system either executes both steps or does not
execute any step.

5. Data Security:-
Data security is the protection of the database from unauthorized access. The
database management system provides several procedures to maintain data security. The
security is maintained by allowing access to the database through the use of passwords. Not
every use of database system should be able to access all the data.
In some situations, it is required to provide different types of access permission to
data for different users. For example, a data entry operator should only be allowed to enter
data. The chairman of the organization should be able to access or delete the data
completely. Database management system provides different levels of security options for
different users.

Disadvantages of Database Approach:-


Some disadvantages of using database approach are as follows:

1. High Cost of DBMS:-


A Complete database management system is very large and sophisticated software. It is
expensive to purchase database management software.
24

2. Higher Hardware Cost:-


Database management systems are complicated and heavy soft wares. Additional
memory and processing power may be required to run the DBMS. It may require more
powerful hardware.
3. Higher Programming Cost:-
DBMS is complex software with many features. The programmers need a thorough
knowledge of system to use it to best advantage. If the organization hires experienced
database programmers, it has to pay extra cost for this expertise.
4. High Conversion Cost:-
If an organization converts its records to database, data has to be converted from files to
database system. Because of the different formats used by different systems, it may be a
difficult and time-consuming process. Moreover, the structure and data may also have to
be modified according to the requirements of DBMS.
5. More Chance of Failure:-
In database management system, all resources and components are centralized. If any of
these components fails, the whole system stops.
6. Complexity & Performance:-
Database management system is general-purpose software. A complete DBMS has to
perform many tasks that make it complex and complicated software. In some
applications, DBMS may run less efficiently as compared to file processing system.

Difference between File and Database Approach:-


The difference between File and Database approach is as follows:
File-based approach Database approach
1. The programs and data are 1. The programs and data are
interdependent. independent of each other.
2. The data may be duplicated in 2. The data is not duplicated and
different files that cause data appears only once.
redundancy.
3. The same data in different file may 3. The data appear only once so it is
be different that creates inconsistency. always consistent.
4. The data is separately stored in 4. The data is stored in tables which are
various files and it is different for linked together. The applications can
application to retrieve the appropriate retrieve the required data easily.
data.
5. The data is distributed in many 5. The data is stored at one place and
different files and cannot be shared. can be shared easily.
6. It is difficult to apply data integrity 6. Database approach provides many
checks on files. constraints for data integrity.
7. It provides poor security as the data is 7. It provides many procedures to
widely spread. maintain data security.
8. It is difficult to maintain as it 8. It provides many facilities to
provides less controlling facilities. maintain the programs easily.
9. It is less complex system. 9. It is very complex system.
25

10. The cost is very less than DBMS. 10. The cost is much more than file
system.
11. One application can fail without 11. All application relying on database
affecting the others. fails if the database fails.

Anda mungkin juga menyukai