Title: Catholic University College of Ghana Fiapre-Sunyani
1Catholic University College of GhanaFiapre-Sunyan
i
DATABASE SOFTWARE DEVELOPMENT
- INFORMATION TECHNOLOGY II
Audrey Asante, Faculty of ICST
2DATABASE
- Database is an organized collection of integrated
files. - Database may be shared or distributed.
- Shared database is shared by users in one company
or organization in one location. Shared databases
can be found in local area networks.
3- Distributed database is one that is stored on
different computers in different locations
connected by a client/server network. An example
is the bank - Who is a database administrator?
- A person who coordinates all related activities
and needs for a corporations database.
4- What is the responsibility of a database
administrator? - System Security
- Backup and recovery
- Performance monitoring
- Database design, implementation and operation
- Coordination with users
5Database Storage Hierarchy
- It consists of the levels of data stored in a
computer file bits, bytes (characters), fields,
records, files and databases. - Field is a unit of data consisting of one or more
characters. Example is Name, Address, Social
Security No - Record is a collection of related fields. Example
is the persons name or address or social
security no
6- File is a collection of related records. Example
is data collected on everyone. - Database is an organized collection of integrated
files. Example is a database of a company
7Key Field
- It is a field that is chosen to uniquely identify
a record so that it can be easily retrieved and
processed.
8File Management System
- File-based system a collection of application
programs that perform services for the end-users
such as the production of reports. Each program
defines and manages its own data.
9File Management System
- Disadvantages
- Data redundancy or duplication
- Lack of data integrity
- Separation and isolation of data
- Incompatible file formats
- Data dependence
10Database Management System
- A software system that enables users to define,
create, maintain, and control access to the
database.
11Database Management System
- Advantages
- Control of data redundancy
- Data consistency
- Improved security
- Enforcement of standards
- Improved data accessibility and responsiveness
12Database Management System
- Disadvantages
- Cost
- Security
- Privacy
- Additional hardware cost
- Complexity
13TYPES OF DATABASE ORGANIZATION
- Hierarchical
- Network
- Relational
- Object Oriented
14Hierarchical Database
- In this type of database, fields or records are
arranged in related groups resembling a family
tree, with lower-level records subordinate to
higher-level records. A lower-level record is
called a child, and a higher-level record is
called a parent. The parent record at the top of
the database is called the root record. A parent
in a hierarchical database may have more than one
child, but a child always has only one parent.
This is called a one-to-many relationship. Used
principally on mainframes
15Network Database
- A network database is similar to a hierarchical
DBMS. The difference is that each child record in
the network database can have more than one
parent record. In the network database, a child
record is identified as a member whiles a parent
is referred to as owner. This is also principally
used with mainframes. The network database is
more flexible than hierarchical because different
relationships may be established between
different branches of data.
16Relational Database
- Relational database relates or connects data in
different files through the use of a key field,
or common data element. Data elements are stored
in different tables made up of rows and columns.
All related fields must have a key field that
uniquely identifies each row. It is more flexible
than hierarchical and network database models.
17Object Oriented Database
- This type of database handles new data types,
including graphics, audio, and video which can be
combined with text into a multimedia format. An
object oriented database system uses objects
software written in small, reusable chunks, as
elements within database files. An object
consists of data in the form of text, sound,
video and pictures and instructions on the action
to be taken on the data.
18Features of DBMS
- Data Dictionary a procedures document or disk
file that stores definitions or a description of
the structure of data used in the database. It
may monitor the data being entered to make sure
it conforms to the rules defined during data
definition such as field name, field size, type
of data.
19Features of DBMS
- Query Language is an easy-to-use computer
language for making queries to a database and for
retrieving selected records. - Utilities programs that allow one to maintain
the database by creating, editing, and deleting
data, records and files. - Report Generator a program users may employ to
produce an on-screen pr printed document from all
or part of a database.
20Features of DBMS
- Access Security a feature allowing database
administrators to specify different access
privileges for different users of a DBMS - System Recovery a feature that enables database
administrators to recover contents of the
database in the event of a hardware or software
failure.
21Software development
- Algorithms are a set of ordered steps for solving
a problem. - A program is a list of instructions that the
computer must follow in order to process data
into information.
22- Application software may be packaged or
customized. - Packaged software is the kind that one buys from
a computer store or mail-order house or download
from a vendors website, which is the kind used
by most PC users - Packaged software is an off-the-shelf prewritten
program developed for sale to the general public. - Share and freeware
23Customized software
- It is a software designed for a particular
customer. It is an application program that is
created or custom-made. Customized software is
written to perform a task that cannot be done
with packaged software.
24Programming
- It is a specialized form of the age old process
of problem solving. Problem solving typically
involves four steps - Understanding the problem defining the problem
clearly - Devising a plan for solving the problem what
resources are available? people? information? a
computer? Software? Data? How might those
resources be put to work to solve the problem? - Carrying out the plan this phase often overlaps
with the previous step, since many problem
solving schemes are developed on the fly - Evaluating the solution is the problem solved
correctly? Is this solution applicable to other
problems?
25Programming process
- There are four step process
- Defining the problem
- Devising, refining, and testing the algorithm
- Writing the program
- Testing and debugging the program
- Most programming problems are far too complex to
solve all at once. To turn a problem into a
program, a programmer typically creates a list of
smaller problems.
26- Each of these smaller problems can be broken into
subproblems that can be subdivided in the same
way. This process, called stepwise refinement, is
similar to the process of developing an outline
before writing a paper or a book. Programmers
sometimes refer to this type of design as
top-down design because the design process starts
at the top, with the main ideas, and works down
to the details
27- The result of stepwise refinement is an
algorithm-a set of step-by-step instructions
that, when completed, solves the original
problem. Programmers typically write algorithms
in a form called pseudocode (a cross between a
computer language and plain english). When the
details of an algorithm are in place, a
programmer can translate it from pseudocode into
a computer language.
28Control structures
- A computer cant understand this algorithm, but
the pseudocode is clear to any person familiar
with control structures (logical structures that
control the order in which instructions are
carried out). - This algorithm uses three basic control
structures sequence, selection, and repetition
29- Sequence control structure is a group of
instructions followed in order from the first
through the last. Eg. - Set answer to a random value between 1 and 100
display guess a number between 1 and 100 - Set counter to 0
- Repetition control structure is a looping
mechanism. It allows a group of steps to be
repeated several times, usually until some
condition is satisfied.
30- A selection (or decision) is used to make logical
decisions. That is to choose between alternative
courses of action depending on certain
conditions. It typically takes the form of
if(some condition is true), then(do something)
else (do something else)
31Testing the algorithm
- Testing the algorithm is the next step but not
the same as testing the program. This is testing
designed to check the logic of the algorithm. We
can test it by following the instructions using
different sets of numbers.
32Programming languages and methodologies
- Low level languages
- Machine language
- Assembly language a language thats functionally
equivalent to machine language but is easier for
people to read, write, and understand.
Programmers use alphabetic codes that correspond
to the machines numeric instructions. - High level languages it falls between natural
human languages and precise machine languages
33- High level programs hides most of the nitty
gritty details of the machine operations from the
programmer. - High level language allows the programmer to
focus on what to do, while assembly language
forces the programmer to focus on how to do it. - It allows transportation from one machine to the
other - They need to be partially rewritten to adjust to
differences among hardware, compilers, operating
systems, and user interfaces
34- Structured programming a technique to make the
programming process easier and more productive.
It breaks the big, complicated machine into more
manageable modules, each of which has a clearly
defined task. Modular programs are easier to
understand and debug - A programmer combines the modules using sequence,
repetition and selection (basic control
structures)
35- Object oriented programming it is a collection
of objects. Objects contain both data and
instructions and can send and receive messages.
OOP makes it easy to use features from one
program in other programs, so programmers dont
have to start from scratch with every new
program.
36Visual programming
- It enables programmers to create large portions
of their programs by drawing pictures and
pointing to on-screen objects, eliminating much
of the tedious coding of traditional programming.
It saves hours of coding time, especially when
creating user interfaces
37Languages for users
- Some computer languages are designed with
nonprogrammers in mind - Macro languages (scripting languages) are built
into many applications, utilities and operating
systems eg. Macro in access, spreadsheet to build
a program, vba in office - Fourth generation languages
38Fourth Generation Languages
- 4GLs use English-like phrases and sentences to
issue instructions - They are nonprocedural, not like pascal, c and
basic which are procedural languages. - Non procedural languages enable users to focus on
what needs to be done, not on how to do it. - It also increases productivity because
programmers can often get results by typing a few
lines of code rather than a few pages. - Eg. Query language
39Programming for the web
40PROGRAMMING
- It is also called software engineering. It is a
multistep process for creating that list of
instructions. - There are five steps
- Clarify the problem
- Design a solution
- Code the program
- Test the program
- Document and maintain the program
41Clarify the programming needs
- Clarify objectives and users
- Clarify desired outputs
- Clarify desired inputs
- Clarify desired processing
- Feasibility of implementing the program
- Document the analysis
42Feasibility
- Technical feasibility can the required hardware
and software be purchased or developed? Is the
technology reliable? Does the system provide for
accurate, reliable and secure data? - Economic feasibility cost, good investment
- Operational feasibility needs of the
organization, changes in the work procedure,
system be developed on a timely schedule - Organizational support goals and strategy, legal
implications
43Data collection techniques
- Document review
- Interview
- Questionnaire
- Observation
- sampling
44Modeling tools
- Graphic representation of a system
- System flowchart
- Data flow diagram
- Data dictionaries
- Decision tables
45Design the program
- User interface design
- Database design
- Process design
463. Code the program
- A programming language is a set of rules that
tells the computer what operations to do.
474. Test the program
- Desk checking is simply reading through or
checking the program to make sure that its free
of errors and that the logic works - Debug the program means to detect, locate and
remove al errors in a computer program. The
debugging step is sometimes called alpha testing - Run real-world data it is sometimes alled beta
testing
48DOCUMENT AND MAINTAIN THE PROGRAM
- Prepare user documentaton