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 upto-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 • Availability of finance compatibility of the proposed project with the cultural environment Minimal adverse effects on the environment. • Market analysis • Competitor analysis • NOC • Judicial papers

Financial Feasibility: Cultural Feasibility: Safety Feasibility: Market Feasibility: Legal Feasibility:

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 timeconsuming. 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 1 2 3 Name Qualification Usman B.SC. Abdullah M.SC. Ejaz M.SC. Table: Records table. Email usman@yahoo.com Abdullah@yahoo.com ejaz@yahoo.com

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. A single row/ record Abdullah@yahoo.com

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: Roll No 1 2 Student Table Name Address Usman Faisalabad Abdullah Faisalabad Marks Table Roll No Subjects 1 Math 1 English 2 Math 2 English Email Phone usman@yahoo.com 727253 Abdullah@yahoo.com 784692 Marks 98 87 81 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. 11. One application can fail without affecting the others. 10. The cost is much more than file system. 11. All application relying on database fails if the database fails.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.