mis notes(lesson 12 17, and database)

36
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 1

Upload: mbaim2009

Post on 18-Nov-2014

465 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MIS  Notes(Lesson 12 17, and database)

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.

1

Page 2: MIS  Notes(Lesson 12 17, and database)

• 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.

2

Page 3: MIS  Notes(Lesson 12 17, and database)

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

3

Page 4: MIS  Notes(Lesson 12 17, and database)

• 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

4

Page 5: MIS  Notes(Lesson 12 17, and database)

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

5

Page 6: MIS  Notes(Lesson 12 17, and database)

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.

6

Page 7: MIS  Notes(Lesson 12 17, and database)

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.

7

Page 8: MIS  Notes(Lesson 12 17, and database)

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.

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

8

Page 9: MIS  Notes(Lesson 12 17, and database)

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.

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)

9

Page 10: MIS  Notes(Lesson 12 17, and database)

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

10

Page 11: MIS  Notes(Lesson 12 17, and database)

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

11

Page 12: MIS  Notes(Lesson 12 17, and database)

its functionality; this is referred to as Unit Testing. Unit testing mainly verifies if the modules/units

meet their specifications.

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)

12

Page 13: MIS  Notes(Lesson 12 17, and database)

• 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

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.

13

Page 14: MIS  Notes(Lesson 12 17, and database)

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

14

Page 15: MIS  Notes(Lesson 12 17, and database)

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.

15

Page 16: MIS  Notes(Lesson 12 17, and database)

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.

16

Page 17: MIS  Notes(Lesson 12 17, and database)

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:

17

Page 18: MIS  Notes(Lesson 12 17, and database)

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)

18

Page 19: MIS  Notes(Lesson 12 17, and database)

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 organization, it will contain the data of employees such as employees ID, grade and salary etc. All data in database is arranges in tables.

19

Page 20: MIS  Notes(Lesson 12 17, and database)

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 Email1 Usman B.SC. [email protected] Abdullah M.SC. [email protected] Ejaz M.SC. [email protected]

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. [email protected] 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.

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 phone directory is very easy as all phone numbers are stored in an organized way.

2. Library:-

NameUsman

AbdullahEjaz

20

Page 21: MIS  Notes(Lesson 12 17, and database)

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.

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

21

Page 22: MIS  Notes(Lesson 12 17, and database)

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 TableRoll No Name Address Email Phone1 Usman Faisalabad [email protected] 7272532 Abdullah Faisalabad [email protected] 784692

Marks TableRoll No Subjects Marks1 Math 981 English 872 Math 812 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.

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

22

Page 23: MIS  Notes(Lesson 12 17, and database)

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.

2. Higher Hardware Cost:-

23

Page 24: MIS  Notes(Lesson 12 17, and database)

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 approach1. The programs and data are interdependent.

1. The programs and data are independent of each other.

2. The data may be duplicated in different files that cause data redundancy.

2. The data is not duplicated and appears only once.

3. The same data in different file may be different that creates inconsistency.

3. The data appear only once so it is always consistent.

4. The data is separately stored in various files and it is different for application to retrieve the appropriate data.

4. The data is stored in tables which are linked together. The applications can retrieve the required data easily.

5. The data is distributed in many different files and cannot be shared.

5. The data is stored at one place and can be shared easily.

6. It is difficult to apply data integrity checks on files.

6. Database approach provides many constraints for data integrity.

7. It provides poor security as the data is widely spread.

7. It provides many procedures to maintain data security.

8. It is difficult to maintain as it provides less controlling facilities.

8. It provides many facilities to maintain the programs easily.

9. It is less complex system. 9. It is very complex system.10. The cost is very less than DBMS. 10. The cost is much more than file

system.

24

Page 25: MIS  Notes(Lesson 12 17, and database)

11. One application can fail without affecting the others.

11. All application relying on database fails if the database fails.

25