Академический Документы
Профессиональный Документы
Культура Документы
1
Basics of Computer
1.1 INTRODUCTION
In this lesson we present an overview of the basic design of a
computer system: how the different parts of a computer system
are organized and various operations performed to perform a
specific task. You would have observed that instructions have to
be fed into the computer in a systematic order to perform a
specific task. Computer components are divided into two major
categories, namely, hardware and software. In this lesson we will
discuss about hardware, i.e., the machine itself and its connected
devices such as monitor, keyboard, mouse etc., as well as
software that makes use of hardware for performing various
functions.
1.2 OBJECTIVES
After going through this lesson you would be able to:
l
explain basic organization of computer system
l
explain different types of input and output devices
l
define Software and its classification
l
distinguish between system software and application
software
l
describe computer language and its classification
Memory Unit
Input unit
Control Unit
Output unit
Arithmetic
Logic Unit
Basics of Computer :: 3
2.
INTEXT QUESTIONS
1.
2.
3.
Disk drives
Monitor
Keyboard
Mouse
1.5.1 Keyboard
A keyboard (as shown in figure 1.3) is the most common input
device. Several kinds of keyboards are available, but they
resemble each other with
minor variations. The
keyboard in most common
use is the QWERTY board.
Generally
standard
keyboard has 104 keys. In
these keyboards, the cursor
control keys are duplicated
to allow easier use of the
Fig. 1.3 Keyboard
numeric pad.
Basics of Computer :: 5
1.5.2 Mouse
A mouse is an electro-mechanical, hand-held device (as shown
in figure 1. 4). It is used as a pointer. It can perform functions
like selecting menu commands, moving icons, resizing windows,
starting programs, and choosing options.
1.5.6 Microphone
Microphone is an input device, which takes voice as input. The
voice communication is more error-prone than information
through keyboard. There are two types of microphones available
(as shown in figure 1.8):
1.
Desktop Microphone
2.
Basics of Computer :: 7
2.
Printers
3.
Plotter
4.
Speakers
1.6.1 Monitor
Out of all the output devices,
monitor (as shown in figure
1.10) is perhaps the most
important output device
because people interact with
this device most intensively
than others. Computer
Fig. 1.10 CRT and LCD Monitor
information is displayed,
visually with a video adapter card and monitor. Information
processed within the CPU, that needs to be visually displayed,
is sent to video adapter. The video adapter converts information
from the format used, in the same manner as a television displays
information sent to it by a cable service.
CRT
2.
LCD
1.6.2 Printer
After a document is created on the computer, it can be sent to a
printer for a hard copy (printout). Some printers offer special
features such as colored and large page formats. Some of the
most commonly used printers are:
1.
Laser Printer
2.
3.
4.
Line Printer
Basics of Computer :: 9
1.6.3 Plotter
A plotter is a special kind of output device that, like a printer,
produces images on paper, but does so in a different way. Plotters
are designed to produce large drawings or images, such as
construction plans for buildings or blueprints for mechanical
objects. A plotter can be connected to the port normally used by
a printer.
An array of different colored pens in a clip rack and a robotic arm
is part of plotter. The instructions that a plotter receives from a
computer consist of a color, and beginning and ending
coordinates for a line. With that information, the plotter picks up
the appropriate pen through its arm, positions it at the beginning
coordinates drops the pen down to the surface of the paper and
draws to the ending coordinates. Plotters draw curves by creating
a sequence of very short straight lines.
Plotters usually come in two designs:
1.
2.
1.6.4 Speaker
Speakers (as shown in figure 1.16) are
another type of output device, which
allow you to listen to voice like music,
and conversation with people.
Fig. 1.16 Speaker
Basics of Computer :: 11
INTEXT QUESTION
4.
(b)
(c)
(d)
(e)
1.7 SOFTWARE
As you are aware, computer cannot do anything on its own. It is
the user who instructs computer; what to do, how to do and when
to do. In order to perform any task, you have to give a set of
instructions in a particular sequence to the computer. These sets
of instructions are called Programs. Software refers to a set of
programs that makes the hardware perform a particular set of
tasks in particular order. Software can be classified mainly
into following categories and sub-categories are shown in
Figure 1.17.
Software
System Software
Operating
System
Utilities
Application Software
Generalized
Packages
Customized
Packages
Generalized packages
(b)
Customized packages
Basics of Computer :: 13
Generalized Packages
These are user friendly softwares written to cater to users very
general needs such as preparing documents, drawing pictures,
database to manage data/information, preparing presentations,
play games etc.
It is a group of programs that provide general purpose tools to
solve specific problems. Some of the generalized packages are
listed below:
l
Spreadsheets (Data Analysis): Lotus Smart suites, MSExcel, OpenOffice.org Calc, Apple Numbers
Customized Packages
These are the applications that are customized (or developed) to
meet the specific requirements of an organization/institution. For
Example: Student information details, Payroll packages,
inventory control etc.
These packages are developed using high-level computer
language.
Basics of Computer :: 15
l
Source Program
(Higher Level Language)
Compiler
Object Program
(Machine Language)
Source Program
Assembler
(Assembling Language)
Object Program
(Machine Language)
INTEXT QUESTION
5.
(b)
(c)
(d)
(e)
2.
3.
Basics of Computer :: 17
4.
5.
6.
7.
(a)
Laser Printer
(b)
(c)
Compiler
(d)
Plotter
2.
ALU :
CU
Control Unit
CPU :
3.
(a) i
(b) iii
(c) i
4.
(a) False
(b) False
(c) True
(d) True
(e) True
5.
(a) False
(b) True
(c) True
(d) False
(e) True
MODEULE 2
INFORMATION SYSTEMS AND STRATEGIC IMPLICATIONS
What Is an Information System?
In this lesson, we'll take a look at the definition of an information system. We will also learn who
stakeholders are and how they contribute to an information system.
Users
Think about your daily routine. It doesn't matter if you are a student, working adult, someone's
parent, retired or some combination of all of these, systems of technology impact you. For example,
these videos are made with a broad variety of technological and human resources. You might
access your school or employment record system or take a trip to the gas station to fill up or buy a
gallon of milk. We all use these systems day in and day out, making us users of information
systems.
AKA Stakeholders
Another term for people who have an interest in information systems is a stakeholder. These can
include anyone who makes use of the system - who's also known as an end-user - and the creative
team, customers and anyone else who may be affected by the system.
Let's take a moment to break down a very complex system into a really simple visual to show how
an information system affects a hospital and its stakeholders. Let's say you're shooting hoops with
your buds. You go up to jam, and you come down on the opponent's foot. Your ankle rolls and gives
a great 'pop' you really didn't want to hear.
Your friends load you up and take you to the emergency room. You go through the process of
registration and triage. Your personal information is sent to a system that holds data and your basic
medical information, such as vital signs, height, weight and the symptoms you're presenting. These
may be entered into the computer system and held or documented on paper, passed along with your
billing information and entered into the system later. You are then assigned to a bed and a nurse
and ER doctor. Both of these individuals would have clocked in to a system that held payroll
information. Their login and logout times are maintained until the pay period ends, at which time the
payroll department combines their data with their personal information and processes the paycheck.
Your nurse may take your vital signs and discuss the symptoms with you, marking them down in an
electronic chart. She'll report the information to a doctor, who will then come to complete the
interview and make an early diagnosis. The doctor might order lab work, X-rays, MRIs or CT scans.
Again, these orders would be entered into the hospital's information system. Once the ordered tests
are completed, the results of the lab tests and digital copies of X-rays, MRIs and CTs are tied to your
record held in the computer system.
Your doctor will then make his final diagnosis and either admit or discharge you. If you are admitted,
your status would change from emergency room to admit and the bed assignment would be
changed. Your on-call doctor would start a treatment plan, and once you're healed, you would then
be discharged. When you're discharged, instructions are created, the visit is communicated to your
personal physician, all services and materials used for the visit are transmitted to patient billing who
will then create an invoice to send to your insurance company using electronic data interchange. The
hospital then waits for the insurance company to return payment via direct pay. This combination of
users, technologies and processes to complete a given goal is the information system, and it is
vitally important to all the different stakeholders that will be a part of that system.
IPOS
Information systems require a constant cycle. We'll get to the specifics of what equipment they need
later, but the functionality requires four basic steps:input, process, output and storage. It also
requires significant feedback during and after use of the system. These steps, if remembered, will
help you understand with what should be taken out of an information system. IPOS is a simple
acronym to learn, and is the ground work of all the components, internal and external, tangible and
intangible, of the information system.
Input is anything we wish to embed in a system for some type of use. A variety of sources are used
to input: keyboard, scanner, microphone, mouse, even another computer. What we input has a
purpose - but until it is processed and generated in some form of output, it doesn't do us much good.
Processing takes place in the internal parts of the computer. It is the act of taking inputted data and
converting it to something usable. What we typically see on the screen in today's computer world
(known as what you see iswhat you get or WYSIWYG) is the result of our input being processed by
some program so we can have usable output: an English paper, an edited photograph, this video
you're watching.
Output, or processed information in a usable format, comes in many different forms: monitor or
printer for visual work, a speaker for audio. Sometimes our output is short-term, such as printing a
photo, and sometimes what we work on needs to be kept around for a while. That's where storage
comes in.
Storage is the term used to indicate we will be saving data for a period of time. We store for many
reasons: for future reference; to prevent full loss of data; because we forget to purge. But, storage is
vital. There are several mediums on which we can keep output and processed data: a hard disk, a
USB drive, a CD.
Here are two anecdotes to drive that point home. Someone lost an entire season of her son playing
hockey because she didn't back-up the video and photo files. And, a fellow student was working on a
year-long bachelor's thesis and did not back it up the first, the second or the third time she lost it - all
at different stages of completion, with a thesis over 60 pages long when she was done.
Quick - what does IPOS stand for? That's right, input, process, output and store! Besides the four
functions of IPOS, an information system also requires feedback. This is how future systems are
revised and rebuilt - by receiving ideas, impressions and constructive (or not so constructive)
criticism by users and other stakeholders.
IPOS in Action
'Okay, teach. You gave us a bunch of technical jargon, but what does it mean?'
Let's take a trip to a favorite restaurant. The overall system means that a patron is entering the
doors, being seated (and served a tasty meal), then departing as a happy customer. The bottom line
is a meal that pleases the customer because all of the criteria were met. There are multiple inputs in
this transaction and we will step through them.
The first input: greetings would be exchanged and the patron places their order. Let's say you're
ready for a steak. At this point we go into the process mode: the chefs will do their thing back in the
kitchen. Output: the dinner will be presented nicely to Mr. Smith. For storage, your order is kept for
the evening and tied with the computer system that may be used for ordering, trend analysis and
other things. In feedback: in this case, you (the patron) provide feedback to the server about the
quality of the food and service. Was the steak cooked to your liking? Do you have the correct side
dishes and condiments? Is the taste satisfactory?
Now, take that back to the information system. Many restaurants use a point-of-order information
system that accepts input at a computer screen and flows through an entire process. During the
input step, the server jots down your order and then inputs it into the order system. The order is then
processed (along with other patrons') by using that order system. Orders are output either on printed
tickets or monitors for the kitchen staff (and of course, on your final bill). Servers, kitchen staff and
managers may provide feedback to the system administrator regarding functionality, ease of use,
repetitive tasks and so on. And finally, storage: the information that is stored can be used as
previously mentioned for inventory control and sales trends. It can also be used for income and
expense reports, staffing needs and so on.
What are the resources an information system needs? Discover how networks, hardware, software,
data and people work together to create usable information.
Understanding Data
We've established that an information system is the combining of users, technology and processes
to complete a specific goal. A stakeholder isn't only a user but is someone who has any type of
interest in a particular process. These people utilize hardware and software, typically in a network
format, to process raw data into usable information.
Data is one piece of a record. Individually, some of your datum might be your first name, middle
name, last name, address, city, state, zip, phone number and occupation. When put together, we
see a record. Consider a global business with nearly 100,000 employees. If we were to put each bit
of data on index cards and toss it in a room, we'd have a lot of cards, but could you interpret and use
that data? Probably not. What we would have is a great start to a bonfire. But if each person's data
was compiled as a record and those records processed into an employee list, we would now have
usable information, or a collection of related records.
The old way would have been handwritten or typed index cards filed in many boxes alphabetically.
The list would then have been typed and photocopied for distribution. Technology has made that
process just a little faster. We now use keyboards, scanners and microphones to input data into a
system. The system unit contains components, which house the software that processes the data
into information.
to the system unit. Peripherals communicate with the interior components of the system unit via
installed software. Software itself is intangible and can't be touched physically.
Software
That particular type of software is the operating system software. Software, as a general term, is
the set of instructions written to direct the computer to execute specific tasks. Operating system
software is typically written for a specific type of computer. The operating system, or just system
software, instructs the hardware to get moving when the power is turned on or the mouse is moved,
deactivating a sleep mode. It interprets instructions from applications software to utilize peripherals
and/or storage devices. An example is Microsoft Windows 7 for a PC-based computer or Mac OS X
for a Macintosh.
Microsoft is semi-unique in that it produces not only operating system software, but application
software as well. Application software, or productivity software, is the set of instructions installed in
a computing device that lets us do something. There are thousands of software programs out there,
but a few examples you may be familiar with are iTunes, Microsoft Word and Adobe Reader. Both
application and system software are sold to individual users; however, there are versions that can be
used in a network environment.
Networks
A computer network is a grouping of computer stations connected in some manner that allows for
sharing of resources. You may have a wireless network at home that lets you share Internet
connection, printers or even storage devices. This same concept can be created, many times larger,
using wired technology in businesses ranging in size and physical location.
An information system is software that helps you organize and analyze data. This makes it possible
to answer questions and solve problems relevant to the mission of an organization.
Different Types
The many different types of information system can be divided into categories based on the where
they are used in the hierarchy of an organization.
This is best understood with an example. Consider a chain of bookstores. Every day, each store
receives new books to put on the shelf, and many books are sold. All of these events are processed
using atransaction processing system. This is used by store clerks and cashiers. Individual store
managers have different tasks. They need to schedule staffing for their store, keep track of deliveries
of new books and keep track of the finances. A store manager will use one or more management
information systems for these tasks.
The company has a number of stores, and so it also has more senior managers need to make sure
the entire chain keeps running smoothly. This includes tasks like the logistics of shipping books from
a warehouse to the stores, keeping track of inventory and sales and managing personnel. At this
more senior level, managers would use decision support systems. At the executive level, the
decisions are more strategic. For example, they may need to determine where to locate a new store,
identify new markets and develop an online presence in addition to the brick-and-mortar stores. This
would require the use of executive information systems.
While this pyramid model is useful, some information systems might be used at different levels. In
the case of the bookstore chain, the sales information from the transaction processing makes it all
the way to the top in order to identify which products are doing well and which stores are doing
better than others.
Subsystem Defined
A system is defined as an assemblage or combination of things or parts forming a complex or
unitary whole. It's important to understand the difference between a process and a system. Business
processes occur within a business system. Processes are an organized set of steps intended to
take some input and generate a desired output. Systems don't generate outputs, but they provide
the structure and environment within which a process can reside.
A subsystem, while a system in itself, is also wholly contained within a larger system. An online
retailer may have a complex and extensive distribution system and within that system would be
subsystems, such as delivery, order fulfillment, and inventory management.
Business Examples
You may have heard the term 'system' used to describe specific parts of a business, such as a
distribution system or an information technology system. Both of these reside within a larger system
- the organization of which they're a part - and even the organization is part of a larger economic
system.
A distribution subsystem includes the people, processes, equipment, and policies that exist to
distribute products or services from an organization to individual customers. These components
might include delivery trucks, an order entry process, inventory, and employees to make it all
happen.
Information technology systems are very complex and often have hundreds of subsystems within
subsystems. These systems include the hardware (computers, devices, etc.) and the software
(operating system, word processors, web browser, etc.), as well as the human or mechanical owner
of the system. All of the hardware and software owned by a company could be considered the
information technology system, and a single workspace that consists of a computer, printer, and
software could be considered the subsystem.
MODULE 3
INTRODUCTOIN TO E-BUSINESS
What is 'e-Business'?
Simply defined, an e-business is an electronic business activity. It's an older term, just like many of
the terms created in the late 1980s and early 1990s as the Internet started becoming part of
everyday life: first for researchers, then for many businesses, and then for consumers. Just like 'email,' the abbreviation 'e' - meaning electronic - was put in front of words already used to describe
how the Internet was changing our lives.
At first, e-business generally referred to businesses that interfaced with their consumers almost
exclusively over the Internet. For example, one of the earliest e-businesses that aimed to serve a
broad market was Amazon.com. The Amazon.com of 1994 was very different than the Amazon.com
of today. Even if you could compare their homepage in 1994 to their current homepage, you'd be
shocked at how much technology has changed. But you would also notice that, in 1994,
Amazon.com was a specialty bookstore.
Today, while it still sells books, it also sells nearly every other product you can think of: clothes,
electronics, toys, household goods, music, movies, and even food! Amazon Dash is a service
available in many large U.S. cities where you can order fresh vegetables, fruit, and other food on
Amazon and it is delivered the same day. Amazon.com also includes the Amazon Marketplace,
which is where third-party vendors can sell on Amazon, much like eBay (but Amazon Marketplace
doesn't use bidding). As the 'e' part of 'e-business' has changed, Amazon is a great example of a
company that has changed with it.
But not all e-businesses were intended for consumers to see and use. As the Internet developed, so
did the type of businesses on it.
Types of e-Businesses
Earlier, we discussed Amazon. Amazon is a great example of a direct-to-consumer e-business.
Their marketing, distribution system, and website is all aimed at the end user - me and you - using
their website and buying something, without ever leaving our home. When you think about ebusinesses, these might be the first to come to mind. These are often called B2C or business-toconsumer companies. But there are other types.
How about eBay or Craigslist? eBay may sound like a direct-to-consumer business, but really, it's
a third-party service provider. When you buy something from eBay, you don't really buy it from
eBay, you buy it from someone that has listed an item for sale on eBay. In that way, a third-party
service provider isn't selling you something directly, but is facilitating a transaction between the
buyer and seller. Companies like eBay that connect two consumers are sometimes called C2C, or
consumer-to-consumer businesses.
Third-party service providers are popular on the internet. Think about PayPal. PayPal isn't a bank,
but it helps you send and receive money from other people. And how about Gmail, AOL, Yahoo!
Mail, or any other email provider? They facilitate communication between two or more other people.
These third-party service providers have become big businesses on the Internet.
Another type of e-business that quickly became popular were business-to-business wholesalers,
or B2B. Companies no longer needed to call one of their manufacturers when they needed new
inventory, ask for a catalog, fax or call in an order of something, and then wait for it to arrive. Much
of that process could be automated by keeping track of inventory online, so restock triggers could be
automatic, sending a new order for a predetermined amount directly to the manufacturer. This
benefited both the wholesaler and the manufacturer.
A good example of a business-to-business company that had an early online presence is Sony.
Sony doesn't have physical stores, so before the Internet, they sold their goods through wholesalers
and retailers. When there are two parties in between the producer and end consumer, costs rise. But
when Sony could eliminate much of the waste in the process by communicating with their
wholesalers online, they saved money, time, and waste. An interesting point about these pre-Internet
manufacturers is that many have now skipped the traditional distribution channels and have started
selling directly to consumers, since the Internet allows them to do so.
Types of E-Commerce
There are several types of electronic commerce. The most common is business to consumer, in
which a business sells products or services directly to consumers over the Internet. An example of a
business to consumer e-commerce transaction would be an individual purchasing a pair of sneakers
through Nike's website.
Another type of electronic commerce is business to business, where companies sell products or
services to other companies over the Internet. An example would be the company GoDaddy, which
sells domain names, websites, and hosting services to other businesses.
Consumer to business electronic commerce involves consumers selling products or services to
businesses. You've taken part in this form of e-commerce if you've ever completed a paid online
survey where you've given your opinion about a product.
Finally, there is consumer to consumer e-commerce, which is where consumers sell products to
other consumers. An example would be one consumer selling something that he or she no longer
needs or wants to another consumer via a site like eBay or Amazon.
Business-to-Consumer E-Commerce
Business-to-consumer E-commerce has changed the way customers buy products from stores and
businesses. This lesson discusses the benefits of business-to-consumer E-commerce. A short quiz
follows the lesson.
Business-to-Business E-Commerce
Some businesses primarily serve other businesses instead of consumers, and business-to-business
(B2B) e-commerce has become an increasingly important means of providing that service. In this
lesson, you'll learn about B2B e-commerce.
E-Distributor
Elisa's company relies on some e-distributors, online businesses that provide goods and services
directly for Elisa's company. For example, her company produces different types of motor vehicles
that require different components, such as steel, plastic, fiberglass, engine components, tires and
entertainment systems.
Just like traditional brick and mortar distributors, some e-distributors are retailers, while others
provide wholesale goods. For example, while the parts ordered for the production of the company's
autos are provided by a wholesale e-distributor, the company's office supplies are provided by a
retail e-distributer. Let's take a look at some other e-commerce options on how e-commerce may be
transacted.
E-Procurement
As mentioned earlier, Elisa's auto company needs to procure a wide variety of goods and services in
order to manufacture its vehicles. E-procurement can help Elisa do this efficiently. E-procurement is
an e-commerce business model where a business creates a digital marketplace where buyers and
suppliers can engage in sales transactions. You can kind of think of it as Etsy for businesses, though
businesses often pay for the access.
Aside from creating the online market place, the e-procurement business may also provide
specialized software to help suppliers and their customers transact business, such as e-invoicing, eauctions, e-payment, e-catalogues and order tracking, among others. In Elisa's case, her company
may decide to use an e-procurement service to acquire a variety of auto parts. However, there are
other options available. Let's take a look.
Exchange
Elisa's company sometimes may turn to an electronic exchange. An exchange provides a
marketplace that is focused on serving one vertical market, such as the steel market, chemical
market or copper market. It's different from e-procurement because it's more narrowly focused.
Elisa's company may utilize an exchange to acquire raw inputs, such as copper wire or steel that it
will machine into engine components.
Industry Consortium
Rather than use an exchange, Elisa may have her company turn towards an industry consortium.
An industry consortium is like an exchange as it also is a vertical market, but an industry
consortium is owned by a specific industry, such as the aerospace industry, the auto industry and
the pharmaceutical industry. An industry consortium typically will permit only a limited number of
suppliers in to try to serve its members.
Consumers have a growing number of opportunities to engage in electronic commerce with each
other. Learn about how consumer-to-consumer e-commerce works and take a quiz to test your
knowledge.
Business Model
C2C e-commerce differs from a business-to-business model or a business-to-consumer model
because consumers interact directly with each other. However, a business does operate the online
platform on which C2C transactions take place. Typically, buyers can shop for free, but sellers
sometimes have to pay a fee to list their products. Consumers often play an active role in monitoring
e-commerce sites for scams and other inappropriate content.
The C2C model entails lower costs and higher profits for buyers and sellers. Sellers can store
inventory in a home office, and it costs less to market and distribute products than in a traditional
business-to-consumer model. Both new and used goods are sold through C2C e-commerce, and
fewer middlemen are involved in the transactions. Advances in technology and ease of access to the
Internet have also made it possible for a growing number of individuals to launch C2C e-commerce
businesses.
The craigslist site is easy to navigate. Consumers conduct their craigslist transactions via e-mail, but
the system disguises the e-mail addresses to protect consumer privacy. Craigslist has more than 25
million new classified ads each month posted from more than 450 different cities. Since craigslist
has a small workforce, users play an important role in monitoring the site's content and reporting
scams or other unethical or illegal activities.
eBay is a global online shopping and auction website that offers millions of consumers a wide
variety of goods and services. Sellers pay a fee or commission to sell their items, and buyers can
shop and make purchases for free. Buyers place bids just like in a traditional auction and only
acquire an item if they are the highest bidder. Monetary transactions are typically completed
through PayPal, a service for online money transfers. Once a transaction is complete, buyers and
sellers can rate each other based on their trustworthiness.
In addition to these two C2C e-commerce giants, there are many other C2C e-commerce sites.
Examples include the award-winning bizrate.com shopping site, China's eBay-style taobao.com site
and the handcrafts marketplace at etsy.com. These sites serve customers in specific regions and
specific niche markets. As Internet access spreads around the world, the number of opportunities for
C2C e-commerce will also continue to grow.
Industry and product which satisfy above conditions are likely to adapt e-commerce.
E-Strategy
Companies with high information presence were the first to look at e-commerce as an alternate way
of conducting business. For example, software companies, much of there is business is done
through the internet. Their website provides in-depth product information through e-brochure, video,
client opinion, etc. Sales leads are generated online; purchase and fund transfer is done, and also
after-sales service is done online.
These high information companies have made substantial investment in human resources and
information/communication technology.
Challenges
Companies which are moving towards e-commerce need to have business model developed to
support online activities. The dotcom burst of 2000 has served hard example about companies doing
e-commerce.
Wendy: You can either conduct a search or type the Uniform Resource Locator (URL) into the
address bar. To conduct a search, click in the Web search box, type Publishers Clearing House and
click search. Your search will return a listing of results. The Website you want will most likely be
listed at the top. Click on the hyperlink of the result that you want, and you will be directed to the
Publishers Clearing House Website.
Grandma, did you know that websites are a collection of Web pages? Each website has a home
page. The home page is the first page of a website in which you are taken to a starting point. From
there, you can access other content. You are now on the Publishers Clearing House homepage. You
can click the other links to access information about Publishers Clearing House or to enter their
sweepstakes.
Grandma: No, Wendy, I didn't know that.
Wendy: The next technology that plays an integral role in the operation of the Web is Hypertext
Markup Language. Hypertext Markup Language (HTML) is a programming tool that uses hypertext
to establish dynamic links to other documents. It is known as the Web's programming language and
it provides a general structure for creating Web pages. If you wanted to create your own website you
would use HTML.
HTML allows webpage developers to create hyperlinks. These are the clickable images or words on
a webpage. Clicking on a hyperlink will take you to another webpage or file specified by that link.
Then, we have Hypertext Transfer Protocol (HTTP) . HTTP provides the rules which allow
requests and file transmissions to occur between Web browsers and Web servers. HTTP is a
protocol used by the Web which dictates how messages are formatted and transmitted. When you
type in a URL to your Web browser the HTTP protocol command is sent to the Web server and
instructs it to retrieve the desired Web page.
Grandma: Hypertext seems to be the key word when we discuss the Web!
Wendy: That's a good observation Grandma. Hypertext is a term we frequently hear because it
really is whole basis of the Web. Another commonly used term that is important to know is File
Transfer Protocol (FTP). It is an Internet protocol used for retrieving and transferring files from a
remote computer. FTP relies on the TCP/IP protocols to transfer files. It is often used to download
programs and files from one computer to another. You can use a Web browser to connect to an FTP
address just like you would to an HTTP address.
F. Baker, Editor
Cisco Systems
June 1995
2. INTERNET ARCHITECTURE
This chapter does not contain any requirements. However, it does contain useful background
information on the general architecture of the Internet and of routers.
General background and discussion on the Internet architecture and supporting protocol suite can be
found in the DDN Protocol Handbook [ARCH:1]; for background see for example [ARCH:2],
[ARCH:3], and [ARCH:4]. The Internet architecture and protocols are also covered in an ever- growing
number of textbooks, such as [ARCH:5] and [ARCH:6].
2.1 Introduction
2.2 Elements of the Architecture
o 2.2.1 Protocol Layering
o 2.2.2 Networks
o 2.2.3 Routers
o 2.2.4 Autonomous Systems
o 2.2.5 Addressing Architecture
2.2.5.1 Classical IP Addressing Architecture
2.1 Introduction
The Internet system consists of a number of interconnected packet networks supporting communication
among host computers using the Internet protocols. These protocols include the Internet Protocol (IP),
the Internet Control Message Protocol (ICMP), the Internet Group Management Protocol (IGMP), and a
variety transport and application protocols that depend upon them. As was described in Section [1.2], the
Internet Engineering Steering Group periodically releases an Official Protocols memo listing all the
Internet protocols.
All Internet protocols use IP as the basic data transport mechanism. IP is a datagram, or connectionless,
internetwork service and includes provision for addressing, type-of-service specification, fragmentation
and reassembly, and security. ICMP and IGMP are considered integral parts of IP, although they are
architecturally layered upon IP. ICMP provides error reporting, flow control, first- hop router redirection,
and other maintenance and control functions. IGMP provides the mechanisms by which hosts and
routers can join and leave IP multicast groups.
Reliable data delivery is provided in the Internet protocol suite by Transport Layer protocols such as the
Transmission Control Protocol (TCP), which provides end-end retransmission, resequencing and
connection control. Transport Layer connectionless service is provided by the User Datagram Protocol
(UDP).
We distinguish two categories of application layer protocols: user protocols that provide service
directly to users, and support protocols that provide common system functions. The most
common Internet user protocols are:
There are a number of other standardized user protocols and many private user protocols.
Support protocols, used for host name mapping, booting, and management include SNMP,
BOOTP, TFTP, the Domain Name System (DNS) protocol, and a variety of routing protocols.
Application Layer protocols relevant to routers are discussed in chapters 7, 8, and 9 of this
memo.
Transport Layer
The Transport Layer provides end-to-end communication services. This layer is roughly
equivalent to the Transport Layer in the OSI Reference Model, except that it also incorporates
some of OSI's Session Layer establishment and destruction functions.
There are two primary Transport Layer protocols at present:
The Internet Group Management Protocol (IGMP) is an Internet layer protocol used for
establishing dynamic host groups for IP multicasting.
The Internet layer protocols IP, ICMP, and IGMP are discussed in chapter 4.
Link Layer
To communicate on a directly connected network, a host must implement the communication
protocol used to interface to that network. We call this a Link Layer protocol.
Some older Internet documents refer to this layer as the Network Layer, but it is not the same as
the Network Layer in the OSI Reference Model.
This layer contains everything below the Internet Layer and above the Physical Layer (which is
the media connectivity, normally electrical or optical, which encodes and transports messages).
Its responsibility is the correct delivery of messages, among which it does not differentiate.
Protocols in this Layer are generally outside the scope of Internet standardization; the Internet
(intentionally) uses existing standards whenever possible. Thus, Internet Link Layer standards
usually address only address resolution and rules for transmitting IP packets over specific Link
Layer protocols. Internet Link Layer standards are discussed in chapter 3.
2.2.2 Networks
The constituent networks of the Internet system are required to provide only packet (connectionless)
transport. According to the IP service specification, datagrams can be delivered out of order, be lost or
duplicated, and/or contain errors.
For reasonable performance of the protocols that use IP (e.g., TCP), the loss rate of the network should
be very low. In networks providing connection-oriented service, the extra reliability provided by virtual
circuits enhances the end-end robustness of the system, but is not necessary for Internet operation.
Constituent networks may generally be divided into two classes:
Local-Area Networks (LANs) LANs may have a variety of designs. LANs normally cover a
small geographical area (e.g., a single building or plant site) and provide high bandwidth with
low delays. LANs may be passive (similar to Ethernet) or they may be active (such as ATM).
Wide-Area Networks (WANs) Geographically dispersed hosts and LANs are interconnected by
wide-area networks, also called long- haul networks. These networks may have a complex
internal structure of lines and packet-switches, or they may be as simple as point-to-point lines.
2.2.3 Routers
In the Internet model, constituent networks are connected together by IP datagram forwarders which are
called routers or IP routers. In this document, every use of the term router is equivalent to IP router.
Many older Internet documents refer to routers as gateways.
Historically, routers ha ve been realized with packet-switching software executing on a general-purpose
CPU. However, as custom hardware development becomes cheaper and as higher throughput is
required, special purpose hardware is becoming increasingly common. This specification applies to
routers regardless of how they are implemented.
A router connects to two or more logical interfaces, represented by IP subnets or unnumbered point to
point lines (discussed in section [2.2.7]). Thus, it has at least one physical interface. Forwarding an IP
datagram generally requires the router to choose the address and relevant interface of the next-hop router
or (for the final hop) the destination host. This choice, called relaying or forwarding depends upon a
route database within the router. The route database is also called a routing table or forwarding table.
The term "router" derives from the process of building this route database; routing protocols and
configuration interact in a process called routing.
The routing database should be maintained dynamically to reflect the current topology of the Internet
system. A router normally accomplishes this by participating in distributed routing and reachability
algorithms with other routers.
Routers provide datagram transport only, and they seek to minimize the state information necessary to
sustain this service in the interest of routing flexibility and robustness.
Packet switching devices may also operate at the Link Layer; such devices are usually called bridges.
Network segments that are connected by bridges share the same IP network prefix forming a single IP
subnet. These other devices are outside the scope of this document.
To finally deliver the datagram, the last router in its path must map the Host-number (or rest) part of an
IP address to the host's Link Layer address.
The simplest classical network prefix is the Class A, B, C, D, or E network prefix. These address ranges
are discriminated by observing the values of the most significant bits of the address, and break the
address into simple prefix and host number fields. This is described in [INTERNET:18]. In short, the
classification is:
0xxx Class A
10xx Class B
110x Class C
1110 Class D
1111 Class E
This simple notion has been extended by the concept of subnets. These were introduced to allow
arbitrary complexity of interconnected LAN structures within an organization, while insulating the
Internet system against explosive growth in assigned network prefixes and routing complexity. Subnets
provide a multi- level hierarchical routing structure for the Internet system. The subnet extension,
described in [INTERNET:2], is a required part of the Internet architecture. The basic idea is to partition
the <Host-number> field into two parts: a subnet number, and a true host number on that subnet:
IP-address ::=
{ <Network-number>, <Subnet-number>, <Host-number> }
The interconnected physical networks within an organization use the same network prefix but different
subnet numbers. The distinction between the subnets of such a subnetted network is not normally visible
outside of that network. Thus, routing in the rest of the Internet uses only the <Network-prefix> part of
the IP destination address. Routers outside the network treat <Network-prefix> and <Host-number>
together as an uninterpreted rest part of the 32-bit IP address. Within the subnetted network, the routers
use the extended network prefix:
{ <Network-number>, <Subnet-number> }
The bit positions containing this extended network number have historically been indicated by a 32-bit
mask called the subnet mask. The <Subnet-number> bits SHOULD be contiguous and fall between the
<Network-number> and the <Host- number> fields. More up to date protocols do not refer to a subnet
mask, but to a prefix length; the "prefix" portion of an address is that which would be selected by a
subnet mask whose most significant bits are all ones and the rest are zeroes. The length of the prefix
equals the number of ones in the subnet mask. This document assumes that all subnet masks are
expressible as prefix lengths.
The inventors of the subnet mechanism presumed that each piece of an organization's network would
have only a single subnet number. In practice, it has often proven necessary or useful to have several
subnets share a single physical cable. For this reason, routers should be capable of configuring multiple
subnets on the same physical interfaces, and treat them (from a routing or forwarding perspective) as
though they were distinct physical interfaces.
32-bit address space. Classless Inter Domain Routing (CIDR) [INTERNET:15] is a method currently
being deployed in the Internet backbones to achieve this added efficiency. CIDR depends on deploying
and routing to arbitrarily sized networks. In this model, hosts and routers make no assumptions about the
use of addressing in the internet. The Class D (IP Multicast) and Class E (Experimental) address spaces
are preserved, although this is primarily an assignment policy.
By definition, CIDR comprises three elements:
The use of networks and subnets is now historical, although the language used to describe them remains
in current use. They have been replaced by the more tractable concept of a network prefix. A network
prefix is, by definition, a contiguous set of bits at the more significant end of the address that defines a
set of systems; host numbers select among those systems. There is no requirement that all the internet
use network prefixes uniformly. To collapse routing information, it is useful to divide the internet into
addressing domains. Within such a domain, detailed information is available about constituent networks;
outside it, only the common network prefix is advertised.
The classical IP addressing architecture used addresses and subnet masks to discriminate the host
number from the network prefix. With network prefixes, it is sufficient to indicate the number of bits in
the prefix. Both representations are in common use. Architecturally correct subnet masks are capable of
being represented using the prefix length description. They comprise that subset of all possible bits
patterns that have
Routers SHOULD always treat a route as a network prefix, and SHOULD reject configuration and
routing information inconsistent with that model.
IP-address ::= { <Network-prefix>, <Host-number> }
An effect of the use of CIDR is that the set of destinations associated with address prefixes in the routing
table may exhibit subset relationship. A route describing a smaller set of destinations (a longer prefix) is
said to be more specific than a route describing a larger set of destinations (a shorter prefix); similarly, a
route describing a larger set of destinations (a shorter prefix) is said to be less specific than a route
describing a smaller set of destinations (a longer prefix). Routers must use the most specific matching
route (the longest matching network prefix) when forwarding traffic.
2.2.6 IP Multicasting
IP multicasting is an extension of Link Layer multicast to IP internets. Using IP multicasts, a single
datagram can be addressed to multiple hosts without sending it to all. In the extended case, these hosts
may reside in different address domains. This collection of hosts is called a multicast group. Each
multicast group is represented as a Class D IP address. An IP datagram sent to the group is to be
delivered to each group member with the same best- effort delivery as that provided for unicast IP
traffic. The sender of the datagram does not itself need to be a member of the destination group.
The semantics of IP multicast group membership are defined in [INTERNET:4]. That document
describes how hosts and routers join and leave multicast groups. It also defines a protocol, the Internet
Group Management Protocol (IGMP), that monitors IP multicast group membership.
Forwarding of IP multicast datagrams is accomplished either through static routing information or via a
multicast routing protocol. Devices that forward IP multicast datagrams are called multicast routers.
They may or may not also forward IP unicasts. Multicast datagrams are forwarded on the basis of both
their source and destination addresses. Forwarding of IP multicast packets is described in more detail in
Section [5.2.1]. Appendix D discusses multicast routing protocols.
router- id is one of the router's IP addresses (a router is required to have at least one IP address). This
router- id is used as if it is the IP address of all unnumbered interfaces.
called address sharing routers or transparent routers. The focus of this memo is on routers that support
the first model, but this is not intended to exclude the use of transparent routers.
The basic idea of a transparent router is that the hosts on the local-area network behind such a router
share the address space of the wide-area network in front of the router. In certain situations this is a very
useful approach and the limitations do not present significant drawbacks.
The words in front and behind indicate one of the limitations of this approach: this model of
interconnection is suitable only for a geographically (and topologically) limited stub environment. It
requires that there be some form of logical addressing in the network level addressing of the wide-area
network. IP addresses in the local environment map to a few (usually one) physical address in the widearea network. This mapping occurs in a way consistent with the { IP address <-> network address }
mapping used throughout the wide-area network.
Multihoming is possible on one wide-area network, but may present routing problems if the interfaces
are geographically or topologically separated. Multihoming on two (or more) wide-area networks is a
problem due to the confusion of addresses.
The behavior that hosts see from other hosts in what is apparently the same network may differ if the
transparent router cannot fully emulate the normal wide-area network service. For example, the
ARPANET used a Link Layer protocol that provided a Destination Dead indication in response to an
attempt to send to a host that was off- line. However, if there were a transparent router between the
ARPANET and an Ethernet, a host on the ARPANET would not receive a Destination Dead indication
for Ethernet hosts.
See chapter 4 (Internet Layer - Protocols) and chapter 5 (Internet Layer - Forwarding) for more
information.
4. Chooses a next-hop destination for each IP datagram, based on the information in its routing
database. See chapter 5 (Internet Layer - Forwarding) for more information.
5. (Usually) supports an interior gateway protocol (IGP) to carry out distributed routing and
reachability algorithms with the other routers in the same autonomous system. In addition, some
routers will need to support an exterior gateway protocol (EGP) to exchange topological
information with other autonomous systems. See chapter 7 (Application Layer - Routing
Protocols) for more information.
6. Provides network management and system support facilities, including loading, debugging,
status reporting, exception reporting and control. See chapter 8 (Application Layer - Network
Management Protocols) and chapter 10 (Operation and Maintenance) for more information.
A router vendor will have many choices on power, complexity, and features for a particular router
product. It may be helpful to observe that the Internet system is neither homogeneous nor fully
connected. For reasons of technology and geography it is growing into a global interconnect system plus
a fringe of LANs around the edge. More and more these fringe LANs are becoming richly
interconnected, thus making them less out on the fringe and more demanding on router requirements.
The global interconnect system is composed of a number of wide-area networks to which are
attached routers of several Autonomous Systems (AS); there are relatively few hosts connected
directly to the system.
Most hosts are connected to LANs. Many organizations have clusters of LANs interconnected by
local routers. Each such cluster is connected by routers at one or more points into the global
interconnect system. If it is connected at only one point, a LAN is known as a stub network.
High Availability
These routers need to be highly reliable, providing 24 hours a day, 7 days a week service.
Equipment and software faults can have a wide-spread (sometimes global) effect. In case of
failure, they must recover quickly. In any environment, a router must be highly robust and able
to operate, possibly in a degraded state, under conditions of extreme congestion or failure of
network resources.
High Performance
Long-haul lines in the Internet today are most frequently full duplex 56 KBPS, DS1 (1.544
Mbps), or DS3 (45 Mbps) speeds. LANs, which are half duplex multiaccess media, are typically
Ethernet (10Mbps) and, to a lesser degree, FDDI (100Mbps). However, network media
technology is constantly advancing and higher speeds are likely in the future.
The requirements for routers used in the LAN fringe (e.g., campus networks) depend greatly on the
demands of the local networks. These may be high or medium-performance devices, probably
competitively procured from several different vendors and operated by an internal organization (e.g., a
campus computing center). The design of these routers should emphasize low average latency and good
burst performance, together with delay and type-of-service sensitive resource management. In this
environment there may be less formal O&M but it will not be less important. The need for the routing
mechanism to be highly dynamic will become more important as networks become more complex and
interconnected. Users will demand more out of their local connections because of the speed of the global
interconnects.
As networks have grown, and as more networks have become old enough that they are phasing out older
equipment, it has become increasingly imperative that routers interoperate with routers from other
vendors.
Even though the Internet system is not fully interconnected, many parts of the system need to have
redundant connectivity. Rich connectivity allows reliable service despite failures of communication lines
and routers, and it can also improve service by shortening Internet paths and by providing additional
capacity. Unfortunately, this richer topology can make it much more difficult to choose the best path to a
particular destination.
Note that future protocol developments may well end up putting some more state into routers.
This is especially likely for multicast routing, resource reservation, and flow based forwarding.
MODULE 4
DATABASE MANAGEMENT SYSTEMS AND SYSTEM ANALYSYS AND DESIGN
Library Example
Let's consider an example of how databases are used. Think of a public library. A library contains
books, magazines, CDs, DVDs and other materials. All these materials need to be catalogued so we
know what is available in the library. For each item, the catalog would describe things like the type of
item, the title, the authors, the publishers and other relevant details. The catalog also needs to be
searchable, so the librarian typically assigns some keywords to each item. The library catalog is a
type of database.
Once we have a catalog, we also need to have a way for users to check out the materials. Users
need to be able to register, get a library card and use this card to check out the materials they want
to take home. So the library needs a database of users. This would include the user's name,
address, telephone number, e-mail and age. With a catalog of materials and a user database, the
library can start operating. What is needed to support the day-to-day operations is a system to keep
track of which materials each user checks out and when they get returned. This system needs to be
linked to the catalog and the user database.
Now consider how you actually use the library and what decisions are being made. You go to the
library and want to learn something about the theory of evolution. The first thing you probably do is
go to a computer terminal and search the catalog with a keyword like 'evolution theory.' You browse
through the results to see which books might be most useful. Once you have found a few titles, you
can check to make sure they are not already checked out.
You find the materials you are interested in on the shelves and take them to the checkout counter.
The staff at the counter scans your library card to make sure your account is in good standing. If you
have books overdue, the staff member will be quick to remind you. Then the materials you want to
check out are scanned, and the staff member will make sure you don't exceed any limits set by the
library - such as a maximum of three music CDs.
You take your materials home, and a week later you get a reminder e-mail that your music CDs are
due, since you can only keep them for a week. You return the music CDs but keep the books for
now. Two weeks later, you get a reminder your books are due. You are not quite done reading them,
so you log on to the library's website and renew the books online. A few weeks later, you return the
books.
Throughout these steps, you have used the library system in several ways:
All of this is possible because of the database systems maintained by the library.
Also consider how the library staff uses the databases. Staff at the checkout counters process user
requests. Librarians add new books to the catalogue and help users find materials at other libraries.
Senior staff at the library analyze how the collections are being used, which new materials should be
acquired and how to best meet the needs of the many library users. All of these decisions are
informed by the various databases.
Other Examples
The library is just one example. You can select almost any organization and think of the various data
being used and how they support decision-making. Consider a hospital. Databases used by a
hospital would include:
Patient records
Medication and equipment
Scheduling of staff and facilities
Billing and insurance and many others
These data are used to make decisions on how to treat patients - sometimes literally life-and-death
decisions. Without accurate and readily available data, it would be much harder for nurses and
doctors to do their jobs.
Or consider a supermarket. Databases used by a supermarket would include:
Product catalog
Sales transactions
Suppliers
Staffing
Customer loyalty program and others
Imagine you are the produce manager of the supermarket. Keeping a steady supply of fresh fruits
and vegetables every single day is no easy task. Customers expect to have the shelves stocked
continuously, so the supermarket is using various databases on a daily basis to keep the customers
happy.
Database Structure
A database is an organized collection of data. Instead of having all the data in a list with a random
order, a database provides a structure to organize the data. One of the most common data
structures is a database table. A database table consists of rows and columns. A database table is
also called a two-dimensional array. An array is like a list of values, and each value is identified by a
specific index. A two-dimensional array uses two indices, which correspond to the rows and columns
of a table.
In database terminology, each row is called a record. A record is also called an object or an entity.
In other words, a database table is a collection of records. The records in a table are the objects you
are interested in, such as the books in a library catalog or the customers in a sales database.
A field corresponds to a column in the table and represents a single value for each record. A field is
also called an attribute. In other words, arecord is a collection of related attributes that make up a
single database entry.
The example shows a simple database table of customers. Each customer has a unique identifier
(Customer ID), a name and a telephone number. These are the fields. The first row is called the
header row and indicates the name of each field. Following the header row, each record is a unique
customer.
Notice a few things about the table. First, all the data values in a single field or column are of the
same kind - they are the same data type. Second, the data values in a single record or row can
consist of different types, such as numbers and text. Third, there are no empty rows or columns.
Individual data values can be missing, but there are no blank records or fields. These properties
make a database table quite different from a table in a word processing or spreadsheet application.
The database structure imposes certain constraints on the data values, which makes it more
reliable. For example, for the phone number, you cannot enter text, since that wouldn't make sense.
While this example is quite simple, you can easily imagine what else could be stored in such a
database. For example, you could store the customer's mailing address, billing information, history of
past purchases, etc. For an organization with many thousands of customers, this quickly becomes a
large database. To use a large database effectively, you can use a database management system
(DBMS). A DBMS is specialized software to input, store, retrieve and manage all the data.
A database can contain one or more tables, as well as other elements. DBMS software stores a
database as afile. A database file is similar to a file used to store a word processing document or a
video clip. A database file can be copied, deleted, renamed, etc. Just like other files, there are a
number of different database file types, many of them specific to a particular software application.
1. The physical database: the collection of files that contain the data
2. The database engine: the software that makes it possible to access and modify the contents
of the database
3. The database scheme: the specification of the logical structure of the data stored in the
database
While it sounds logical to have a DBMS in place, it is worth thinking for a moment about the
alternative. What would the data in an organization look like without a DBMS? Consider yourself as
the organization for a moment, and the data are all the files on your computer. How is your data
organized? If you are like most typical computer users, you have a large number of files, organized
in folders.
You may have word processor documents, presentation files, spreadsheets, photographs, etc. You
find the information you need based on the folder structure you have created and the names you
have given to your files. This is called a file system and is typical for individual computer users.
Now consider the challenges you are faced with. Have you ever lost a file? Have you had difficulty
finding a file? Probably. Perhaps you are using multiple computers and your files are located in
different physical locations. And when was the list time you created a backup of all your files? You
do back up, right?
You probably get the picture. A file system is relatively simple, but it only works if you keep yourself
very organized and disciplined. Now consider an organization with 1,000 employees, each with their
own computer. Can you see some of the challenges when using a file system? Do you really want
critical financial data floating around the offices as simple files on individual computers?
Functions of a DBMS
So what does a DBMS really do? It organizes your files to give you more control over your data.
A DBMS makes it possible for users to create, edit and update data in database files. Once created,
the DBMS makes it possible to store and retrieve data from those database files.
More specifically, a DBMS provides the following functions:
Concurrency: concurrent access (meaning 'at the same time') to the same database by
multiple users
Security: security rules to determine access rights of users
Backup and recovery: processes to back-up the data regularly and recover data if a problem
occurs
Integrity: database structure and rules improve the integrity of the data
Data descriptions: a data dictionary provides a description of the data
user permissions. You don't want someone who only needs to view the database to accidentally
delete parts of the database.
Multi-User Databases
One of the advantages of using a database management system is that multiple users can use the
same database at the same time.
Consider for a moment how this is different from using a regular document stored on your hard drive.
If you open a word processing or spreadsheet document on your computer, you are the only user. If
you want to share this document with a colleague, you could e-mail it to them so they can save it on
their hard drive. However, this creates a copy, and now there are two versions of the same file. Both
you and your colleague can work with the data, but what happens if you both start making changes?
You can see how this is going to get confusing.
Using a DBMS, you can store a database in a central location, such as a computer server. A server
is a computer system that provides a network service. One of these services is data storage.
Now, both you and your colleague can work with the same database. Depending on the
configuration of the DBMS, you can actually both edit the database at the same time. This does
require that the database has been set up for multiple users and that each user has been given the
proper permissions.
DBMS Models
There are a number of different types of database management systems (DBMS), also referred to as
DBMS models. Each one represents a somewhat different approach to organizing data in a
systematic manner. They include:
Flat file
Hierarchical DBMS
Network DBMS
Relational DBMS
Object-oriented DBMS
Of these five models, the relational DBMS is by far the most widely used, but a quick overview of
each model is useful.
Flat File
The most basic way to organize data is as a flat file. You can think of this as a single table with a
large number of records and fields. Everything you need is stored in this table, or flat file.
Think of a database of customers. Everything you want to know about the customers is stored in this
one table. You start off with a single record for every customer. A customer places an order and you
enter this in one of the fields. You continue entering customer orders in this way.
What if the same customer places a second order? Do you enter this as a new record in the table, or
do you add a field to the existing record for this customer?
There is no single best answer for this. The key point here is that a flat file is quite limited since it
provides very little in terms of structure. In fact, it is so simple that you could argue it is not a DBMS
at all. However, it is good to start off with the idea of a flat file, and then you will see how alternative
models are more flexible and effective.
Hierarchical DBMS
In a hierarchical DBMS one data item is subordinate to another one. This is called a parentchild relationship. The hierarchical data model organizes data in a tree-like structure.
One of the rules of a hierarchical database is that a parent can have multiple children, but a child
can only have one parent. For example, think of an online store that sells many different products.
The entire product catalog would be the parent, and the various types of products, such as books,
electronics, etc., would be thechildren. Each type of product can have its own children categories.
For example, books could be broken up into fiction and non-fiction. Each of these categories can be
broken up into subcategories. You can continue like this by listing individual authors and then the
individual book titles.
This is a rather simple way to represent data, but it is very efficient. This model works best for data
that is inherently hierarchical in nature. Many datasets cannot easily be organized in this manner
and require a more complex approach. For example, in the case of the product catalog, what if a
book falls into more than one category? Or what if one author has written several books but also
published an audio CD of one of her books? This is where the hierarchical model breaks down.
Network DBMS
In a network DBMS every data item can be related to many others ones. The database structure is
like a graph. This is similar to the hierarchical model and also provides a tree-like structure.
However, a child is allowed to have more than one parent. In the example of the product catalog, a
book could fall into more than one category. The structure of a network database becomes more like
a cobweb of connected elements.
For example, consider an organization with an employee database. For each employee there are
different pieces of data, such as their name, address, telephone number, social security number and
job function. Different units in the organization need different levels of access. For example, the
human resources department needs to have access to the social security information for each
employee so they can take care of tax deductions and set up benefits. This is somewhat sensitive
information, so other departments do not need access to this part of the database. All the pieces of
data are connected in a network that implements these rules.
While conceptually relatively simple, this database structure can quickly become very complicated.
Relational DBMS
In a relational DBMS all data are organized in the form of tables. This DBMS model emerged in the
1970s and has become by far the most widely used type of DBMS. Most of the DBMS software
developed over the past few decades uses this model. In a table, each row represents a record,
also referred to as an entity. Each column represents a field, also referred to as an attribute of the
entity.
A relational DBMS uses multiple tables to organize the data. Relationships are used to link the
various tables together. Relationships are created using a field that uniquely identifies each record.
For example, for a table of books, you could use the ISBN number since there are no two books with
the same ISBN. For a table of authors, you would create a unique Author ID to identify each
individual author.
Consider a relational database of books and authors. The first table is a table of authors. Each
author is identified by a unique author ID, and the table also contains their name and contact
information. The second table is a table of books. Each book is identified by its ISBN number, and
the table also contains the book's title, the publisher and the author ID associated with the author of
the book.
What makes a relational database so effective is that you can link these tables together. In this
example you would use the author ID field to do this. For example, you can store multiple books
written by the same author or multiple authors for the same book. The detailed information for each
author and each book is only stored once and not duplicated in both tables. Yet all the information
you need can be accessed using the table relationship.
Object-Oriented DBMS
The previous DBMS models work primarily with text and numbers. Object-oriented databases are
able to handle many newer data types, such as images, audio and video. These data items are
the objects stored in the database.
If you have data that fit neatly into rows and columns, such as a customer database with names,
addresses, ZIP codes, etc., a relational DBMS is typically the most suited. On the other hand, if you
have a library of multimedia files, an object-oriented DBMS is going to work better.
You can still create tabular representations of your data. For example, you can represent your video
library as a table showing a list of your videos with their length, sorted by the date of the recording.
Consider a database for all the medical imagery collected in a hospital, such as X-rays, CAT scans
and electrocardiograms. The most suitable way to organize this data would be an object-oriented
database. Each image would be an object and this would be tagged using the type of image, the
name of the patient, the name of the medical doctor who requested the exam, the technician who
carried out the exam, etc.
The various models are not entirely exclusive of each other. For example, the object-relational
database management system combines elements of both models. It uses a relational model to
describe associations between data tables, but it makes it possible to store multimedia objects.
In the case of the hospital example, you could use a relational model to create a database of patient
records and store all the imagery as objects. By tagging each image, you can link the patient records
with the imagery as needed.
Database Relationships
A relational database consists of tables that are linked together in some meaningful way. For
example, consider a company that sells products to customers. The company maintains a database
of the products it sells. Each product has a unique code so it can be identified. The product
database consists of a table, and every product is a record in this table. The second database the
company maintains is a database of its customers. Each customer also has a unique code as well
as their name and address. The third database is a database of orders placed by customers. Each
order also has a unique code.
So what are the relationships between the three tables? Think of a single order placed by a
customer. An order will contain at least one product, but possibly more than one. So each order will
include the unique codes for each product. An order is also linked to a particular customer, so each
order will include the unique code for this customer. Because customers are linked to their order and
each order contains the product codes, you can look up which products each customer has bought.
Once these relationships are established in the database, it becomes possible to look for meaningful
patterns in the data. For example, the company may be interested in finding out if certain products
are often bought together. This might give some insights into how to best market products as a
bundle. Or the company might be interested in identifying the customers that buy similar products
over time as part of different orders instead of as a single order. A well-designed relational database
makes it possible to examine such patterns based on the relationships between the various tables.
These rules are implemented as part of the overall database design. Typically, the design for a
database is developed by a database specialist in close consultation with various people in the
organization. These include the actual database users but also more senior executives who need to
make sure the database supports not only day-to-day operations but also provides the information
necessary to support decision-making.
foreign key since it is the primary key in the table of customers. The table of orders has its own
primary key, called Order ID, to uniquely identify each order. If the same customer makes multiple
orders, this results in duplicate values in the Customer ID field.
This applies as a general rule: primary keys are unique, while foreign keys may contain duplicate
values. Remember, keys create relationships in tables, and a relationship is an association between
two or more tables. In the example, the field Customer ID is used to create the association. This
field acts as the primary key in the table of customers and the foreign key in the table of orders.
Cardinality of Relationships
There are a number of different types of relationships based on how many records in one table are
related to how many records in the other table. This is known as cardinality. There are four types of
cardinality:
One-to-one (1:1).
One-to-many (1:m).
Many-to-one (m:1).
Many-to-many (m:m).
Let's look at an example of each. The simplest relationship is a one-to-one (1:1) relationship.
Consider that a voter can only cast one vote in an election. An election ballot can therefore belong
only to one voter. This means there is a one-to-one relationship between a voter and a ballot.
For our next example of cardinality, let's return to the earlier company database that included tables
for products, customers and orders. The table of customers contains the orders for each customer.
One customer can have one or more orders. However, a single order only has one customer. So the
relationship between customers and orders is one-to-many (1:m): one customer to many orders.
This does not mean every customer has to have more than one order, but it is possible for a
customer to have multiple orders, and therefore the cardinality is one-to-many.
Next, let's return to the example of voting. Consider the relationship between voters and the party
they voted for in a particular election. A single voter can only vote once, but a party can receive
votes from many different voters. So the relationship is many-to-one (m:1): many voters to one
party. Although one-to-many and many-to-one appear to be the same, their difference is a matter of
perspective since it depends on which table to start from.
Let's consider the fourth and final type of cardinality. In the example of products, customers and
orders, there is also a relationship between products and orders. A single product can occur in more
than one order, and a single order can contain more than one product. So the relationship is manyto-many (m:m): many products to many orders.
Data Types
Computer systems work with different types of digital data. In the early days of computing, data
consisted primarily of text and numbers, but in modern-day computing, there are lots of different
multimedia data types, such as audio, images, graphics and video. Ultimately, however, all data
types are stored as binary digits. For each data type, there are very specific techniques to convert
between the binary language of computers and how we interpret data using our senses, such as
sight and sound.
Character Strings
One of the most basic data types is plain text. In database terminology, this is referred to as
a character string, or simply a string. A string represents alphanumeric data. This means that a
string can contain many different characters, but that they are all considered as if they were text and
not put into calculations, even if the characters are numbers.
Consider the following database table. All of these fields are strings. Fields like the first and last
name consist only of text characters, so it makes sense they are stored as a string. The field for the
street address contains both numbers and characters and is also stored as a string. The student ID
looks like a number, but it really represents a code. It is not a number you want to do any
calculations with, so it is stored as a string. Similarly, the ZIP code looks like a number, but is also
stored as a string.
There are several different types of numeric data. An integer is a numeric value without a decimal.
Integers are whole numbers and can be positive or negative. In a database, a distinction is made
between short and long integers, referring to how much data storage is used for the number. A short
integer is typically stored using 16bits, which means that you can store up to 2^16, or 65,536 unique
values. For any number larger than that, you would need to use a long integer, which uses 32 bits or
more.
A number with a decimal is referred to as a decimal, a float or a double. The terminology varies
somewhat with the software being used. The term float comes from 'floating point,' which means you
can control where the decimal point is located. The term double refers to using double the amount of
storage relative to a float.
In the example table of students, the field credits completed is an integer, while GPA is a decimal. In
both these examples, it would make sense to do calculations. For example, you could use credits
completed to calculate how many more credits a student needs to graduate. Or, you could determine
the average GPA for all the students.
Boolean Data
The Boolean data type can only represent two values: true or false. Typically, a zero is used to
represent false and a one is used to represent true. In the example table of students, the field
Financial Aid is stored as a Boolean, since a student is classified as having financial aid or not.
Multimedia Types
In the early days of computing, the most widely used data types were text and numbers. While these
are still very important today, the last 20 years or so have seen a rapid rise in the use of multimedia
data types. These include images, audio, and video, as well as many specialized types. Consider
the files you have on your computer. You probably have numerous word processing files and some
spreadsheets. You may have readings and course notes for school in PDF format. Most of your
other files are likely to be multimedia, such as digital music and photographs.
One very important aspect of multimedia data is that they require lots of storage, much more than
text and numbers. For example, a typical book contains around 100,000 words. Using a word
processing application, the total size of the file storing this text is less than 1 megabyte (MB). A
typical audio file that contains a four to five minute song in MP3 format is somewhere between 5 and
10 megabytes. If you have a good digital music collection, you will quickly end up with several
gigabytes (GB) of files.
When you start combining data types into one document, the file size also gets larger. While
100,000 words may require less than 1 megabyte, as soon as you add some images to your word
processing document, those images become part of the file. From a database management point of
view, multimedia data present somewhat of a challenge, since the data do not fit easily into a table,
like texts and numbers. Instead, organizing multimedia files typically uses an object-oriented view
of the data. This means every multimedia file becomes an object and you describe important
characteristics of each file. These characteristics are called properties or tags.
Think of your digital music collection. Typically, each song is a single MP3 file residing on the hard
drive of your computer. When you want to listen to some music, however, you normally don't
navigate to this file to play it. Instead, you use some type of music library application with a built-in
player. The software has organized all your music. Each song has tags, like the name of the artist,
the name of the song, the name of the album, perhaps a rating you have given to the song, etc.
The music library software is like an object-oriented database management system. Each song is an
object in the library and each object is tagged with important details about the object. This makes it
possible for you to quickly find the songs you want and organize them in a way that is helpful to you.
For example, you may have created a list of some good party songs. Without realizing it, you have
become a database manager!
If you work a lot with photographs and video, you probably have a similar library application for these
types of files. There are many other specialized multimedia types. For example, a Geographic
Information System uses maps in digital form to analyze spatial relationships. 3D modeling software
uses complex three-dimensional data types for animation. Drawing software is used by architects
and engineers to plan the design of buildings and objects. All these data are stored as specialized
data types.
Manipulating a Database
One of the primary functions of a database management system (DBMS) is to be able
to manipulate data. This means adding new data, changing the values of existing data and
reorganizing the data. Another basic form of data manipulation is to retrieve specific information from
the database.
For example, for a database of employees within an organization, you may want to find just the
employees hired within the last year or those holding a certain position. In database terminology, this
is called a query. The term 'query' means 'to search, to question or to find.' So, a database query is
like asking a question of the database.
SQL Statements
Like any programming language, SQL uses statements. A statement is a specific instruction for the
computer to do something. For example, SQL contains the CREATE statement. As you can probably
guess, this statement is used to create a new database or a new table or a new user.
There are many different kinds of SQL statements. In the following, we'll focus on just one of them:
the SELECTstatement. This statement is used to perform a query on a database. If you are using an
existing database in DBMS software, this is likely the first SQL statement you will use. And, unless
you are a database administrator, it may be the only one you will use.
The SELECT statement is used to accomplish one of the following:
SQL Syntax
SQL uses a very specific syntax. Syntax defines the logic of a programming language. It is similar to
the grammar of a regular spoken language. Unless you follow the proper syntax, the DBMS will not
understand your SQL statement.
Here is the basic syntax of a SQL SELECT statement:
SELECT field(s)
FROM table(s)
WHERE conditional expression
This is a generic version of the syntax. When you work with an actual database, you specify the
field(s) and table(s) by their name and you provide the conditional expression. Think of the
conditional expression as the question you want to ask.
Time for an example. Let's say you have the following table of employees. Your question is, 'Which
employees have a salary greater than $65,000?' You translate this into a database query by writing
a SELECT statement. In database terms, you want to select just those records for which the salary is
greater than $65,000.
Here is what your SQL statement is going to look like:
SELECT Name
FROM Employees
WHERE Salary > 65,000
If you were to use this SQL statement in DBMS software, this is what your result would look like. Of
the seven records in the table, only five meet the stated condition. How this result is represented
depends on the specific software, but it is typically in the form of a new table or report.
You can perform additional tasks by using other SQL statements. For example, sorting the data can
be accomplished by using the ORDER BY statement.
SELECT Name
FROM Employees
WHERE Salary > 65,000
ORDER BY Name
Your result would be the same list as before, but in alphabetical order.
The examples so far have selected records as well as fields. In many cases, you may want to select
specific records, but you want to keep all the fields. This can be accomplished using
a wildcard symbol:
SELECT *
FROM Employees
WHERE Salary > 65,000
ORDER BY Name
The wildcard symbol (*) means that the name of the field can be anything. In other words, all fields
are selected.
SQL Operators
You probably noticed the use of the greater than (>) symbol in the conditional expression. This
works just as you might expect. For every record, the salary is compared to the value of 65,000. If
the salary is greater than 65,000, the record is selected and becomes a part of the result.
The greater than symbol is called a SQL operator. An operator manipulates individual data items
and returns a result. In the case of greater than, the manipulation is really in the form of a
comparison. There are a number of different kinds of other operators. Arithmetic operators are
used to work with numeric values. They include:
Add (+)
Subtract (-)
Multiply (*) and
Divide (/)
Comparison operators are used to compare one value to another. These include:
Equal to (=)
Not equal to (<>)
Greater than (>)
Greater than or equal to (>=)
Less than (<)
Less than or equal to (<=)
Boolean Logic
Finally, there are logical operators. Most logical operators combine the result of two conditions into
a single result. The logical operators include AND, OR and NOT.
AND displays a record if both the first condition and the second condition are true
OR displays a record if either the first or second conditions is true
NOT displays a record if the conditions are false
These are also called Boolean operators. Boolean means there are only two values: true and false.
A condition (such as Salary > 65,000) is either true or false. Boolean logic makes it possible to
combine two or more conditions in a single statement.
Time for a few more examples.
WHERE Salary > 65,000 AND Position = Accountant
returns a table with all the accountants with a salary greater than $65,000.
WHERE Position = Accountant OR Position = Financial Analyst
returns a table with all of the accountants and all of the financial analysts.
WHERE NOT (Position = Accountant)
returns a table with all the employees except for the accountants.
This last example could also have used a not equal to (<>) operator, but there are cases where the
condition is more complicated and only the logical operator will produce the desired result.
Data Warehouses
A database consists of one or more files that need to be stored on a computer. In large
organizations, databases are typically not stored on the individual computers of employees but in a
central system. This central system typically consists of one or more computer servers. A server is
a computer system that provides a service over a network. The server is often located in a room with
controlled access, so only authorized personnel can get physical access to the server.
In a typical setting, the database files reside on the server, but they can be accessed from many
different computers in the organization. As the number and complexity of databases grows, we start
referring to them together as a data warehouse.
A data warehouse is a collection of databases that work together. A data warehouse makes it
possible to integrate data from multiple databases, which can give new insights into the data. The
ultimate goal of a database is not just to store data, but to help businesses make decisions based on
that data. A data warehouse supports this goal by providing an architecture and tools to
systematically organize and understand data from multiple databases.
Distributed DBMS
As databases get larger, it becomes increasingly difficult to keep the entire database in a single
physical location. Not only does storage capacity become an issue, there are also security and
performance considerations. Consider a company with several offices around the world.
It is possible to create one large, single database at the main office and have all other offices
connect to this database. However, every single time an employee needs to work with the database,
this employee needs to create a connection over thousands of miles, through numerous network
nodes. As long as you are moving relatively small amounts of data around, this does not present a
major challenge.
But, what if the database is huge? It is not very efficient to move large amounts of data back and
forth over the network. It may be more efficient to have a distributed database. This means that the
database consists of multiple, interrelated databases stored at different computer network sites.
To a typical user, the distributed database appears as a centralized database. Behind the scenes,
however, parts of that database are located in different places. The typical characteristics of a
distributed database management system, or DBMS, are:
You have probably used a distributed database without realizing it. For example, you may be using
an e-mail account from one of the major service providers. Where exactly do your e-mails reside?
Most likely, the company hosting the e-mail service uses several different locations without you
knowing it.
The major advantage of distributed databases is that data access and processing is much faster.
The major disadvantage is that the database is much more complex to manage. Setting up a
distributed database is typically the task of a database administrator with very specialized database
skills.
Data Mining
Once all the data is stored and organized in databases, what's next? Many day-to-day operations
are supported by databases. Queries based on SQL, a database programming language, are used
to answer basic questions about data. But, as the collection of data grows in a database, the amount
of data can easily become overwhelming. How does an organization get the most out of its data,
without getting lost in the details? That's where data mining comes in.
Data mining is the process of analyzing data and summarizing it to produce useful information. Data
mining uses sophisticated data analysis tools to discover patterns and relationships in large
datasets. These tools are much more than basic summaries or queries and use much more
complicated algorithms. When data mining is used in business applications, it is also referred to
as business analytics or business intelligence.
Consider an online retailer that sells a wide variety of products. In a typical day, it may sell
thousands of different products to tens of thousands of different customers. How does the company
leverage all this data to improve its business? One strategy is to discover which products are often
bought together.
This would make it possible to create product bundles that are attractive to customers. Another
method is to develop profiles for customers. A company could ask, based on past purchases, which
products might the same customer also be interested in? This makes it possible to make
suggestions to the customer and increase sales.
Another scenario is fraud detection. Have you ever had your credit card company contact you
regarding a suspicious transaction? How does this work? Let's say you're a construction worker in
Minneapolis. Normally, you use your credit card at the grocery store, the mall and some local
restaurants, all within the Minneapolis area.
Suddenly, your credit card is used to pay for a high-end hotel in Miami Beach, several nightclubs
and a jewelry store. It could very well be that you went down to Miami for a romantic weekend with
your girlfriend because you are going to propose to her. But, it is also quite possible that your credit
card was stolen and you have not noticed it yet.
So, the credit card company has sophisticated algorithms running in real-time to identify patterns
that are out-of-the ordinary based on your demographics and past spending habits. A suspicious
transaction triggers an alert and you are contacted by their fraud detection department. Pretty clever
and all thanks to data mining.
Data mining algorithms are often designed to get better over time as more data is collected and the
outcomes of the analysis are checked for accuracy. You probably recognize these scenarios. Data
mining has become integrated into many businesses, especially those with a strong online presence.
Database Administration
Imagine it's the first day of class in college, and you sit down for the first lecture. Your professor
walks in and makes an announcement:
'Welcome back after the summer everyone. I have to start off with some bad news. Due to a glitch in
the university's database, all grades and credits from last semester have been lost. I'm sorry, but we
are going to have to do last semester all over again. Now open your book on page'
That would be disastrous, right? Could you imagine? How could the university lose all that
information? Luckily, these things almost never happen. The important question really is how can we
prevent this from happening? Who is responsible for keeping all the data secure in an organization?
That would be the database administrator, or DBA.
Keeping data secure is only one of the roles of the DBA. The typical tasks of a DBA include:
Controlling access to the database, including creating logins for users and setting roles for
each user. Some users may only need to query the data, while others are involved in
entering new data.
Providing support services to the end users, such as making sure all users know how to use
the database.
Managing procedures for backup and recovery of data, in case of errors made by users or
system crashes. You don't want to lose all the valuable data just because the power went
out.
Ensuring data integrity, which means that data are complete, accurate and current for the
tasks at hand.
Controlling data security, including preventing unauthorized access to the data and
protecting against other security threats.
Setting data privacy, which means that only authorized individuals are able to see certain
data. For example, there is no need for everyone in the organization to be able to see all the
personnel files of all the employees.
Several of these tasks go hand-in-hand. For example, carefully controlling access to the data helps
to implement data security and data privacy policies.
Security Threats
Databases face a number of security threats. Many of these threats are common to all computer
systems, but large databases in organizations are particularly vulnerable because they often contain
sensitive information and are used by many different people.
One of the basic threats is data loss, which means that parts of a database can no longer be
retrieved. The earlier scenario where the university lost part of their records has disastrous
consequences.
This could be the result of physical damage to the storage medium, like fire or water damage,
human error or hardware failures. Every single computer system is to some degree vulnerable, so a
common strategy employed by DBAs is to create multiple backups on different computer systems.
So if one system were to fail, the data is still secure somewhere else.
Another security threat is unauthorized access. Many databases contain sensitive information, and it
could be very harmful if this information were to fall in the wrong hands. Imagine someone getting a
hold of your social security number, date of birth, address and bank information. It would be
relatively easy for someone to open up a credit card under your name and start spending without
your knowledge.
Getting unauthorized access to computer systems is known as hacking. Computer hackers have
developed sophisticated methods to obtain data from databases, which they may use for personal
gain or to harm others. Have you ever received an e-mail with a notification that you need to log in to
your credit card account with a link for you to follow? Most likely, this is a hacker trying to obtain your
log in details, so be careful.
A third category of security threats consists of viruses and other harmful programs. A computer
virus is a computer program that can cause damage to a computer's software, hardware or data. It
is referred to as a 'virus' because it has the capability to replicate itself and hide inside other
computer files. There are many types of viruses and new ones are being developed all the time.
Once a virus is present on a computer, it typically performs some type of harmful action, such as
corrupting data or obtaining sensitive information. Computer viruses are one type of malware, short
for 'malicious software.' Malware is used by attackers to disrupt computer operation. In addition to
computer viruses, this includes spyware (used to collect information about a person without their
knowledge), adware (used to display advertising) and Trojan horses (used to create unauthorized
access to someone's computer).
One of the most common ways to get a virus on your computer is to download a file from the Internet
that is infected. So if you get an e-mail from someone you don't know with a file attached to it, be
careful opening up these attachments. As the database administrator of your own computer, you
should use some type of anti-virus software.
Database Security
One of the primary tasks of a DBA is to keep databases secure. This can be accomplished, for
example, by restricting access to certain users, controlling what each user can do and running antivirus software.
Another way to keep databases safe is to use encryption. This is often used when data is
transferred over the Internet, where it could be potentially seen by others. Encryption is the process
of encoding messages so it can only be viewed by authorized individuals. An encryption key is used
to make the message unreadable, and a secret decryption key is used to decipher the message.
Encryption is widely used in systems, like e-commerce and Internet banking, where the databases
contain very sensitive information. If you have made purchases online using a credit card, it is very
likely that you used encryption to do this.
There is one other major strategy to improve database security, which is to use a firewall. A firewall
consists of software and hardware set up between an internal computer network and the Internet. A
computer network manager sets up rules for the firewall to filter out unwanted intrusions.
These rules are set up in such a way that unauthorized access is much more difficult. A DBA can
decide, for example, that only users within the firewall can access a particular database or those
outside the firewall have limited capabilities to modify the data. You can also set up a firewall for
your own computer, and on many computer systems, this is built into the operating system.
Cloud computing uses a network of computers to provide services that otherwise would be provided
by a single computer or computer server. Learn how cloud computing works and how it allows you to
use the same database on multiple devices in this video lesson.
Cloud Computing
So what exactly is cloud computing? Cloud computing uses a large number of networked
computers to provide services to users, such as running software applications, accessing databases
and file storage. These are normally services you would get from a single computer or from a
computer server. In the cloud, however, you cannot point to one single computer as the device that
is providing you the service - it's the entire network.
In cloud computing, the network of computers does the heavy lifting, such as running software and
storing files. The computer of the user only needs to run software to interact with the cloud, known
as interface software. E-mail is a very good example of this. You may use a web browser for your email. You use this to receive, read, delete, write and send messages. The actual e-mail software and
the files are not on your computer, but in the cloud.
One of the benefits of cloud computing is that sharing resources leads to economies of scale.
Instead of every small organization building its own network for services and storage, it is more
efficient to have a few organizations build this network for others to use at a cost. The analogy is
often made with electric utilities. We are now so used to having a handful of utilities provide
electricity to all of us, that we don't think of generating our own electricity for our own use, although
solar panels are changing this. A similar argument could be made that computer services are like a
utility.
Another benefit is that the entry cost has become very low. A very small organization can get access
to sophisticated services at a relatively low cost, since it does not have to build the entire
infrastructure itself. Cloud computing also creates flexibility. You can access any of the information in
your organization, anywhere, on any device. You don't have to go back to the office to look up
something. Or wait until you return from your trip to work on that memo. Everything can be right
there at your fingertips - that is, if everything works smoothly.
1
INTRODUCTION TO SYSTEM
ANALYSIS AND DESIGN
1.1 INTRODUCTION
Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In
this dynamic world, the subject System Analysis and Design (SAD),
mainly deals with the software development activities.
1.2 OBJECTIVES
After going through this lesson, you should be able to
l
define a system
Processing
Output
2 :: Computer Applications
Preliminary study
Feasibility study
Detailed system study
System analysis
System design
Coding
Testing
Implementation
Maintenance
Feasibility Study
Software
Development
Life Cycle
System Analysis
System Design
Coding
Fig. 1.2: Phases of System Development Life Cycle
INTEXT QUESTIONS
1. Write True or False for the following statements.
(a)
(b) System life cycle is not an organizational process of developing and maintaining a system.
(c)
background analysis
4 :: Computer Applications
Workout the pros and cons including new areas of the system
All the data and the findings must be documented in the form of
detailed data flow diagrams (DFDs), data dictionary, logical data structures and miniature specification. The main points to be discussed
in this stage are:
l
List of attributes of the entities these are the data items which
need to be held about each entity (record)
Preliminary or General Design: In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated.
If the project is still considered to be feasible, we move to the detailed design stage.
Structured or Detailed Design: In the detailed design stage, computer oriented work begins in earnest. At this stage, the design of
the system becomes more structured. Structure design is a blue
print of a computer system solution to a given problem having the
6 :: Computer Applications
same components and inter-relationships among the same components as the original problem. Input, output, databases, forms, codification schemes and processing specifications are drawn up in detail. In the design stage, the programming language and the hardware and software platform in which the new system will run are
also decided.
There are several tools and techniques used for describing the system design of the system. These tools and techniques are:
l
Flowchart
Data dictionary
Structured English
Decision table
Decision tree
Program test
System test
Program test: When the programs have been coded, compiled and
brought to working conditions, they must be individually tested with
the prepared test data. Any undesirable happening must be noted
and debugged (error corrections)
System Test: After carrying out the program test for each of the
programs of the system and errors removed, then system test is
done. At this stage the test is done on actual data. The complete
system is executed on the actual data. At each stage of the execution, the results or output of the system is analysed. During the
result analysis, it may be found that the outputs are not matching
the expected output of the system. In such case, the errors in the
particular programs are identified and are fixed and further tested
for the expected output.
When it is ensured that the system is running error-free, the users
are called with their own actual data so that the system could be
shown running as per their requirements.
(h) Implementation
After having the user acceptance of the new system developed, the
8 :: Computer Applications
Conversion
User Training
Documentation
The hardware and the relevant software required for running the
system must be made fully operational before implementation. The
conversion is also one of the most critical and expensive activities in
the system development life cycle. The data from the old system
needs to be converted to operate in the new format of the new system.
The database needs to be setup with security and recovery procedures
fully defined.
During this phase, all the programs of the system are loaded onto
the users computer. After loading the system, training of the user
starts. Main topics of such type of training are:
l
After the users are trained about the computerized system, working
has to shift from manual to computerized working. The process is
called Changeover. The following strategies are followed for
changeover of the system.
(i) Direct Changeover: This is the complete replacement of the old
system by the new system. It is a risky approach and requires
comprehensive system testing and training.
(ii) Parallel run: In parallel run both the systems, i.e., computerized
and manual, are executed simultaneously for certain defined
period. The same data is processed by both the systems. This
strategy is less risky but more expensive because of the following:
l
Manual results can be compared with the results of the computerized system.
(iii) Pilot run: In this type of run, the new system is run with the
data from one or more of the previous periods for the whole or
part of the system. The results are compared with the old
system results. It is less expensive and risky than parallel run
approach. This strategy builds the confidence and the errors
are traced easily without affecting the operations.
The documentation of the system is also one of the most important activity in the system development life cycle. This
ensures the continuity of the system. There are generally two
types of documentation prepared for any system. These are:
l
System Documentation
10 :: Computer Applications
INTEXT QUESTIONS
2. Fill in the blanks.
(a) System study is the _____________ stage of system development life cycle.
(b) Analysis involves a ____________ study of the current system.
(c)
All procedures requirements must be analysed and documented in the form of data flow diagrams, data dictionary,
___________ and miniature specifications.
(b) False
2. (a) first
(c) True
(e) pilot
(f) manual
MODULE 5
DECISION SUPPORT SYSTEM
What Are Specialized Information Systems? - Decision Support Systems for Business
Specialized information systems have been developed to support decision making in an increasingly
complex world. Learn about some of the different types of specialized information systems.
the case of the supermarket, an inventory system for use by the store manager would be an
example of an MIS.
A Decision Support System, or DSS, is a specialized information system designed to facilitate the
decision-making process in organizations. It provides a framework to gather information from internal
and external sources to support decision making. There are many different kinds of decision support
systems, but in general, they are used for problems that are less structured.
So, while an MIS is used for routine decisions, a DSS is often used when the circumstances are not
well defined or unpredictable. In the case of a supermarket, an example of a DSS would be a system
for how to handle an emergency, such as a flood. Quick decisions without complete information will
be necessary, and this is not something all the employees will have to deal with on a daily basis.
An Executive Information System, or EIS, is a specialized DSS for senior management and
executives. It combines information from various units in the organization to provide a strategic
overview. This is often in the form of an executive dashboard that shows key performance indicators.
An Expert System (ES) is a specialized information system that simulates the reasoning and
decision making of human experts. Software collects and stores the experiences and knowledge of
human experts from various professional fields. This organized knowledge then makes it possible for
a less experienced individual to make decisions using this expertise. Expert systems are often
developed for very specialized applications. In the case of a supermarket chain, an ES could be
used to develop the most desirable layout of products within a store, given a certain size and
number of products.
A Business Intelligence System, or BIS, is a computerized intelligence system that collects,
manages and interprets information about a business and its competitors. BIS is not only used to
make well-informed decisions, but specifically to gain a competitive edge in the marketplace. BIS
typically includes some type of predictive analytics to try to determine the impact of certain decisions
on future trends. In the case of a supermarket, a BIS could be used to examine how market share
might change based on changes in the price of certain products.
A Geographic Information System, or GIS, allows you to map the locations of things of interest
and examine geographic relationships between these locations. In the case of a supermarket, a GIS
could be used to find the best location for a new store. You would want to select a location not too
close to an existing store, but close to potential customers and transportation.
Statistical analysis is used to analyze and interpret data. This includes creating graphs and charts
to get a visual display of the data, but also statistical testing to find patterns and relationships. In the
case of a supermarket, you may want to analyze whether a particular advertising campaign
produced the desired effect. Did sales really go up and how certain are we that this is related to the
advertising? That's where statistics comes in.
Decision Support Systems: How Managers Analyze Internal and External Data with DSS
Sources of Information
A DSS gathers information from internal sources of an organization over which there is a certain
amount of control as well as from external sources over which control is more limited. Internal
sources consist of all the various databases within an organization, such as those related to
personnel, finances, assets, customers, etc. External sources consist of the various factors that
influence how an organization operates, such as market trends, government regulations,
competitors, etc. How this information is used is best illustrated using an example.
Consider a bank, which provides loans to customers. A customer comes to the bank to request a
mortgage loan to buy a house. The bank employee working with the customer will collect information
to decide whether the bank will provide a loan to the customer and under what conditions. The
information collected includes things like the customer's employment, income, credit score, loan
history and other financial information.
Since this loan is to buy a house, the bank also collects information on the property, such as the
legal description and the assessed market value. The bank will also look at trends in the real estate
market, including interest rates offered by other financial institutions. Finally, the bank needs to
consider its own internal finances, such as the funds it has available for loans, how many mortgage
loans it has already approved recently, its experience with loans given to similar customers, etc.
There is a lot of information to consider. Some of this can be used again for the next loan
application, but some of it is very specific to this particular customer. Some of the information can
also change very quickly, such as trends in the housing market. A DSS makes it possible for the
bank employee to make an informed decision in a timely manner that considers all the different
internal and external data sources.
Decision Models
In addition to lots of data, a DSS uses a model base. This provides access to a number of different
models to support decision making. Many of these models consist of statistical analysis of data and
can serve as guidelines for certain decisions. Some models are used to determine patterns in
existing data, while others are used to try to predict trends in the future.
Models in a DSS provide relatively easy access to sophisticated analytical methods. Typically, such
models have already been developed and tested in other contexts, so users can have some
confidence in them. In the case of the mortgage loan, a DSS could include a model that predicts the
likelihood that someone will default on their loan based on their financial profile.
User Interface
A DSS uses many different data sources as well as a number of different models. A typical user,
however, could easily get overwhelmed by all this information. A DSS therefore often has a custombuilt user interface that makes it a lot easier to use. In the example of the mortgage loan, the bank
employee enters the information into electronic forms within the DSS. The user interface helps the
employee ask the right questions and collect all the necessary information. Some of the necessary
information is also collected automatically using behind-the-scenes protocols.
The user interface structures the collection and organization of data and also reports the results in
an easy-to-follow format. A certain amount of training may be needed to use the system, but the
employee does not have to be a database expert or statistical analyst to make an informed decision.
Types of Decisions
There are a number of different ways to look at decisions. One way to characterize decisions is to
look at them as programmed or non-programmed. A programmed decision is one that can be
made into a rule or rigorous procedure.
For example, consider the inventory of a store. When should a store order new inventory? A store
could use a rule where it orders every month the same amount of product as it sold on a monthly
basis averaged over the past six months. You can probably think of a few cases where this rule may
not work, but you get the basic idea. You could write a rule that a computer system could
automatically implement.
A non-programmed decision would be one that is much harder to quantify. Deciding where to go to
college would be a good example. Trying to put all the factors into a single, quantifiable rule is
probably futile. How do you compare tuition cost with the quality of your education? This is more
subjective and likely different for different individuals. Knowing the type of decision you are making
helps you to understand the role of information systems.
In the case of managing store inventory, you could probably come up with a set of logical rules,
which could be programmed into a computer system. These rules could then be carried out into a
semi-automatic manner. An actual person still needs to look over these decisions and possibly
modify the orders, but the basic number crunching could be done automatically.
In the case of deciding where to go to college, no set of programmed rules is going to make the
decision for you. But what about an information system where you can quickly find the colleges
where they have the majors you are most interested in? The system would make you a map of
where they are located, show tuition costs and any other criteria you ask for. That would be useful,
right? This college information system does not make the decision for you but helps you in sorting
through all the information, so it becomes easier for you to make your decision.
Business Intelligence uses specialized information systems to gain a competitive edge in the
marketplace. Learn about some of the specific tools used in Business Intelligence.
Predictive Analytics
BI often has a predictive aspect to it, referred to as predictive analytics. What will the marketplace
look like in the next few weeks, months or years? What will my competitors do? What will give my
company a competitive edge in the near future?
These questions are not addressed by brainstorming through pie-in-the-sky thinking but by computer
algorithms analyzing data. Predictive analytics is a type of data mining that is focused on finding
patterns in existing data in order to predict trends and behavior into the future. One example of
predictive analytics you are already familiar with is weather forecasting. Meteorologists use longterm historic data and more recent measurements of the atmosphere to predict the temperature,
wind and precipitation a few days into the future. The forecast may not always be accurate, but it is
often pretty close.
A good example of predictive analytics in the business world is the insurance industry. Let's say you
have just bought a new car, but before you can even drive it off the lot, you need to get insurance.
You call an insurance agent to set up a new insurance policy. How will the insurance company
determine your monthly premium? This will depend first of all on the actual car you drive. If a very
expensive car gets into an accident, it will cost more to repair. It will also depend on how you will be
using your car and where it will be parked.
Can you think of some other things the insurance company wants to know? How about your age?
Definitely. Your gender? Yes. The ZIP code where you live, work and/or go to school? Those too.
So let's say you are 24. You provide all the other information, and the insurance company calculates
your premium at $137 per month. You turn 25 in a few months, and you want to know if it makes any
difference. Sure enough, your premium will drop to $125 per month.
So, how exactly did the insurance company calculate the $12 difference? Will you be a much better
driver in a few months? Remember how insurance works. You get an insurance policy, and when
you get into an accident, the insurance company pays for your repair. So, the insurance company
needs to calculate what kind of risk you present to them. What is the probability you will get into an
accident in the next 12 months?
This is determined by looking at the data on drivers from the past couple of years. How many drivers
with a similar profile got into an accident over a 12-month period? What insurance companies have
found is that younger drivers under 25 tend to drive less safe than those that are older.
Whatever the exact reasons are behind this, this is what the statistical analysis shows. What this
means is that younger drivers have to pay a little more. The $12 difference is determined by the
statistical model used to predict the risk of a driver getting into an accident.
Predictive analytics use historic data to predict the probability of you getting into an accident. That
doesn't mean you are going to get into an accident, of course. But let's say the insurance company
has 250,000 customers with an automobile insurance policy. Every year, there are going to be a
number of accidents. Predictive analytics helps to determine the overall risk to the insurance
company. That overall risk is used to calculate the premiums. Customers will have to pay more or
less, depending on how much they contribute to the overall risk.
Management Information Systems help managers make effective decisions to support ongoing
operations within an organization. Learn about the types of reports produced by a MIS.
What Is a MIS?
A management information system, or MIS, is a computer-based system that provides managers
with the tools to run their department effectively. Relative to other types of specialized information
systems, an MIS is used by mid-level management to support ongoing operations. The emphasis is
on making routine decisions. MIS relies mostly on internal sources of information.
One of the important roles of an MIS is to provide the right information to the right person in the right
format at the right time. Information is collected within the organization on an ongoing basis and an
MIS processes this information, so managers get the summarized reports. Information is typically in
the form of reports on a daily or weekly basis.
MIS reports can be in the form of tables with numerical values, visual displays or other key
indicators. Reports can be in paper format, electronic format or both. More sophisticated systems
use electronic reports that can be updated on demand in close to real-time. This gives managers an
updated snapshot of the current state of operations. For example, an MIS could provide a manager
with real-time information on customer records, customer complaints, sales and production cycles.
Types of Reports
An MIS can produce a number of different types of reports. A scheduled report is produced on a
regular interval, such as every day, week or month. For example, a manager of a production floor
may want to see weekly payroll reports to keep track of labor costs. Reports typically focus on a
number of key indicators, such as inventory levels, production activity or sales volume.
Often, these indicators are compared to numbers from prior reporting periods or to targets set by the
organization. This gives mangers the opportunity to implement any corrective actions where
necessary.
An on-demand report is only produced by request instead of on a fixed schedule. Such reports are
typically produced when a question arises regarding the status of a particular item or production
element. For example, consider a shipping company that picks up, ships and delivers thousands of
packages every day. If you ship a package, you get a tracking number that you can use to get the
status of that package. When you log in to the website and enter the tracking number, you are
requesting an on-demand report.
An exception report is automatically generated when a situation is unusual and requires some sort
of attention. For example, consider a manufacturing plant with several production lines. All lines are
expected to generate a certain volume. An MIS could generate an exception report if these are not
met. Exception reports rely on trigger points. These are parameters set up by managers that would
result in an exception. In the case of the production lines, the trigger point could be something like
10% below expected production.
A drill-down report provides great detail about a situation. Reports can provide information at a high
level (such as the volume at a production line), at a more detailed level (such as the employees who
worked on this line) and then at a very detailed level (such as the training provided to those
employees over the past year).
Characteristics of a MIS
The various types of reports help managers make better decisions on a daily basis. The general
characteristics of an MIS are:
Typically, an MIS is organized along the functional areas of an organization. So the finance
department will have a financial MIS, the human resources department will have a human resources
MIS, etc. Since an MIS is typically targeted at mid-level management, it may not integrate
information across these functional areas. This would be accomplished by using other types of
specialized information systems.
Management Information Systems are typically organized around the functional areas of an
organization. Learn about some of the most common applications of Management Information
Systems.
MIS Applications
Many organizations are structured based on functional areas. This is often reflected in an
organizational chart. Typically, functional areas include finances, human resources, marketing, etc.
Many of these functional areas have their own Management Information System, or MIS.
Financial MIS
A financial MIS provides financial information for managers to make daily decisions on operations
within the organization. Most systems provide these functions:
A financial MIS often has a number of subsystems, depending on the type of organization. These
include systems to analyze revenues, costs and profits, auditing systems for both internal and
external purposes and systems to manage funds. A financial MIS can also be used to prepare
reports for third parties, such as external auditors or shareholders.
Marketing MIS
A marketing MIS supports activities throughout the many activities of marketing departments. Some
of the typical subsystems of a marketing MIS are marketing research, product development and
delivery, promotion and advertising, product pricing and sales analysis.
One of the most common uses of a marketing MIS is to produce sales reports. These are typically
produced on a regular schedule, such as by week, month and quarter. Reports can be organized by
sales representative, product, customer or geographic area. Such reports allow managers to see
which aspects of sales are doing well and which ones need attention.
Perhaps one sales representative has suddenly experienced a drop in sales by losing one major
customer and needs some support to develop some new leads. If there are only a handful of sales
reps sharing one office, a manager might be able to pick up on this just by talking to everyone.
However, what if a manager has to oversee more than 100 sales reps in 12 different offices around
the nation? A specialized information system that provides regular updates in a meaningful format
will make it a lot easier for the manager to make effective decisions.
Manufacturing MIS
Manufacturing is one of the areas where information systems have made a major impact. A
typicalmanufacturing MIS is used to monitor the flow of materials and products throughout the
organization. In a manufacturing process, raw materials or parts are transformed to finished
products, and a manufacturing MIS is used at every stage. Some of the common subsystems in a
manufacturing MIS include: design and engineering, production scheduling, inventory control,
process control and quality control.
Consider the example of building an airplane. How many different parts do you think there are in an
airplane? One of those commercial jets used by the major airlines easily has over 100,000 parts.
Many of those parts come from suppliers and have to be ordered. Others are made at the
manufacturing plant itself. Now think of the process that is needed to get all those parts at the right
place at the right time. And all those parts have to be carefully inspected before they can be used in
building the plane.
This process requires a very sophisticated system for inventory and process control. The supply of
parts has to be planned carefully so it closely follows the assembly schedule. You can't have boxes
of parts piling up around the plane since it would become very chaotic. And you don't want one
missing part to hold up the entire assembly process either.
What Is an EIS?
Let's say you are the Chief Executive Officer of a large company. You have 35 locations in 12
countries with 20,000 employees. How do you keep track of everything that is going on in the
company? In order for you to be an effective leader, what information are you going to need? You
don't have the whole day to read through dozens of reports or listen to a series of presentations.
What you need is an executive information system.
An Executive Information System, or EIS, is a specialized information system used to support
senior-level decision making. An EIS is not only for the CEO but for any senior manager or executive
making strategic decisions to improve the long-term performance of the organization. An EIS is also
referred to as Executive Support Systems, or ESS.
Senior management is responsible for a number of different tasks within an organization, including
defining an overall vision, strategic planning, strategic organizing and staffing, strategic control and
crisis management. An EIS is designed to support these various activities.
Characteristics of an EIS
An EIS is a type of Decision Support System, or DSS, but is unique in a number of ways. First, in
many organizations there may be a number of different DSSs in place to support specific decisions
by individual units. An EIS, on the other hand, combines critical information from all areas within the
organization so senior management gets a complete overview.
Second, a typical DSS is designed for one specific decision. An EIS supports decisions that are
more strategic in nature and long-term. These differences influence what information is being used
and how it is presented.
Consider the example of maintaining an airplane. There are numerous critical parts to an airplane
that have to be carefully inspected after a certain number of flight hours. A DSS could be used to
assist safety inspectors in making sure no critical parts get missed and that any issues that come up
are dealt with appropriately.
Senior management is not specifically interested in the one-time inspection of a single plane. They
are interested, however, in making sure the company has an outstanding safety record, and they
need to know that the inspection program is working effectively. So the safety inspection program as
one unit would be part of an EIS, but the details on individual plane inspections would not.
Executive Dashboards
An EIS typically extracts information from the various information systems used in an organization.
This information needs to be summarized in a meaningful manner. One popular approach to do this
is to use anexecutive dashboard.
The term 'dashboard' is used to indicate the various panels inside a vehicle. While you're driving,
you need to keep your eyes on the road, but your dashboard provides critical information you can
see with a quick glance: driving speed, gear information, fuel level, oil temperature, things like that.
Depending on your vehicle, the dashboard may also include a navigation system, audio system and
more detailed diagnostics for your vehicle.
Now instead of you driving a vehicle, you're a CEO running a company. You need to keep your eyes
on the road, which means you need to focus most of your time on actually running your company.
But once in a while, you glance at your executive dashboard to see how the company is doing, and
you make adjustments accordingly.
You probably get the idea of a dashboard. It should contain the critical information needed to make
decisions, and it needs to be easily understood. It should also not be too detailed. You don't want to
spend too much time trying to figure out what all the information on your dashboard means. The
dashboard should also be free of distractions, so you can focus on strategic decisions.
An executive dashboard typically shows Key Performance Indicators, or KPIs. These indicators
are carefully selected to measure achievement towards a specific objective or to measure the level
of success of specific activities. In the case of the airline company, one of these key performance
indicators could be the company's safety record or some measure of its safety inspection program.
There is no one-size-fits-all for what should go on an executive dashboard. This will vary between
organizations and will also depend on the management style. Some executives may want quite a bit
of detail on the daily operations, while others want to focus primarily on a few selected indicators.
A Group Decision Support System, or GDSS, consists of interactive software that allows for making
decisions by a group of participants. Learn about some of the tools used in a GDSS.
While these approaches can be productive, many decisions in today's world are very complex and
require a lot of different considerations. Having access to the same information can contribute to
better decision making. However, this can quickly become overwhelming, and not all participants
may have the time, skill or interest to analyze all this information. Imagine having to read through
hundreds of pages of a document just to prepare for a meeting.
One strategy not to get bogged down by complexity and information overload is to use computerbased tools for group decision making. A Group Decision Support System, or GDSS, consists of
interactive software that allows for making decisions by a group of participants. The goal of a GDSS
is to improve the productivity of a group to come to a decision. A GDSS is sometimes also referred
to as a 'computerized collaborative work system.'
Characteristics of a GDSS
A GDSS has a number of unique characteristics to support a group of participants in their decisionmaking process:
The most important characteristic, however, is that it provides support for a group to come to a
decision. A number of different approaches can be used.
The Delphi approach is a structured communication technique in which experts answer
questionnaires in several rounds. Participants get to see each other's input after each round and are
encouraged to revise their earlier answers based on replies by others. The underlying assumption is
that this type of communication will lead to a convergence toward a final answer. This approach is
often used when conditions are highly uncertain and the opinion of experts is weighed heavily. A
good example of this would be trying to predict the sales of a particular new product. If there are no
similar products on the market, there may not be a lot of data for analysis.
The group consensus approach forces members to come to a unanimous decision. This is sort of
like locking a team up in a room, and they can't leave before a decision is reached - but the room
could be virtual, and the communications could all be electronic.
The nominal group technique gives each participant an equal voice, and the final decision is
reached by voting. Contrary to regular voting, however, the group comes up with a number of
different solutions, and these are ranked by using a voting process. Whatever the specific decisionmaking strategy employed, a GDSS is designed to facilitate this process.
GDSS Tools
A GDSS uses a number of different tools to encourage collaboration and group decisions. These
can include:
Videoconferencing - making it possible for multiple participants to see and talk to each other
in real-time
Group scheduling - allowing participants to share schedules and plan joint activities
Project management software - providing a way to plan for and keep track of group activities
Collaborative electronic workspace - making it possible for participants to work on the same
documents
While these tools can facilitate the decision-making process, many decisions still benefit greatly from
face-to-face meetings. Personal interactions remain an important part of group collaboration.
One approach to make face-to-face meetings more productive is to use a decision room. This is a
type of room that combines face-to-face interactions with technology. Using networked computers
and projectors, multiple participants can interact with the same information. For example, documents
can be shown on the screen and various participants can enter their feedback at the same time.
Specific collaborative software makes it possible to process this feedback into meaningful
information.
A Geographic Information System uses smart maps to describe geographical relationships. Learn
how organizations use spatial analysis to improve decision making.
What Is GIS?
Many decisions made by organizations are related to physical locations. For example, a
supermarket has a physical location and many of its customers will likely live nearby. Knowing the
location of the store and its customers is critical to making decisions. For example, a store manager
may want to know how many of the nearby residents are buying their groceries at competitors a few
blocks away. When distributing flyers to residents, which neighborhoods should be targeted? When
considering opening a new store, what would be the best location?
GIS is known as smart maps because of all the information they can
show.
information system.
to collect, organize,
of objects of interest.
supermarket and its
You've probably used GIS without referring to it by this name. For example, maybe you visited a
different city and you used a website to find the restaurants within walking distance of your hotel.
You typed in the address of your hotel and then searched for 'restaurants.' Up came a map with the
locations of restaurants, and you were able to click on each one to see the type of restaurant and
their reviews. Sounds familiar? How do you think that map was created? You got it - using GIS.
The website you used has access to a database with all the streets and landmarks. When you enter
the address of your hotel, it searches for this address in the database and reports the location as a
pin on a map. This is known as 'geocoding,' or converting addresses to geographic locations. When
you search for nearby restaurants, it pulls up the restaurants from the database that fall within the
same general area. Those locations are also reported on the map and linked to other websites,
which provide descriptive information, such as customer reviews.
Now that you have your three map layers organized, what is so smart about them? In GIS, you can
overlay these maps and ask questions about their geographic relationships. For example, you may
be interested in knowing how many people of a certain income with young children live within a fivekilometer drive from your store. GIS allows you to compare the maps of supermarkets,
neighborhoods and roads to answer this type of question. In this case, the answer is not only a
number, but also a map of where these families live.
Going one step further, you can also examine how many of those families also live within a fivekilometer drive from a competing store. That could be really useful information to determine which
customers you are really competing over.
Now think back about the last time you went to the supermarket. Did you use a customer loyalty
card? Or did they ask you for your ZIP code? What do you think the store does with all that data?
You guessed it, they map their customers - not exactly where they live but the general
neighborhood. In this way, a store can see where their customers come from. Perhaps many of them
come from relatively far away, so in the analysis of your competitors, you would use ten kilometers
instead of five.
Spatial Data
GIS uses two types of spatial data: vector and raster. Vector uses the locations of features of
interest and their attributes. In the case of supermarkets, the locations are represented by points.
Neighborhoods, on the other hand, are best described by areas instead of a single point location.
These are referred to as 'polygons.' Roads are best described by lines, referred to as 'polylines.'
Points, polylines and polygons represent the three types of vector data used in GIS. Vector data
represents real-world objects using line drawings. Vector is used for anything that has well-defined
boundaries.
The second type of spatial data is raster. For example, instead of a map showing locations, you can
use a photograph taken from a satellite to provide a view from above. These images are a type of
raster data. Raster data represents real-world objects using pixels. Raster is used for phenomena
that change more gradually. In addition to imagery, raster is used for things like elevation,
temperature and vegetation.
Spatial Analysis
The previous example of mapping the locations of supermarkets and analyzing their customers is an
example of spatial analysis. More generally, spatial analysis examines the geographic relationships
between features of interest. There are numerous examples where organizations use spatial
analysis to assist with decision making and to implement more efficient ways of doing business:
A parcel delivery company uses GIS to plan the most efficient route to deliver all the parcels
to the right customers in a timely manner.
A health services organization uses GIS to predict the impact of climate change on the
number of people with malaria in West Africa.
An electricity company uses GIS to plan a new transmission line to connect a proposed wind
energy farm to maintain the electric grid.
Just think of any decision that involves the location of something, and it's no wonder GIS is used by
so many organizations.
Descriptive Statistics
There are several types of statistics. The first type is descriptive statistics, which does just what
the term suggests. It describes the existing data, using measures such as average, sum and others.
This is the earlier example of the sales reports. You want to know things like the total value of all
sales combined and the average value of those sales.
Descriptive statistics allow you to summarize large amounts of data. You use these on a regular
basis in everyday life, so they are very intuitive. When you say you are going out for dinner on
average twice per week, you're using descriptive statistics. Or consider your GPA in high school or
college. Your GPA is a measure of your average grade for all your coursework. Descriptive statistics
also looks at variability of data. For example, if your GPA is exactly a 3.0, did you get mostly Bs or
did you get a lot of As and Cs? Both cases result in the same average but represent a very different
academic record.
Inferential Statistics
The second type is inferential statistics, which tries to infer something about the data. In other
words, you are trying to find patterns and relationships in the data. Inferential statistics often involves
statistical testing. For example, let's say you want to increase the sales of your company, which
makes mobile phone accessories. You're selling your products to retail stores across the entire
nation, and you're going to run an advertising campaign on TV, hoping to increase demand for your
products.
This type of advertising is expensive, so you're going to start small and see if it actually works.
You're going to run a TV spot on local channels only within the state of California for two months.
Then you want to see how much the demand for your product has increased. There are 100 retail
stores in California and 700 in the rest of the nation. A simple way to look at this would be to
calculate by how much your sales to the stores in California went up following advertising on TV.
Then you can calculate if the advertising was worth it.
However, you know from experience sales can fluctuate as part of normal business. Sales can go up
or down for any given store in any given market. So if you find that on average the sales in California
went up, how confident can you be in your result? Maybe it was just a fluctuation in the sales and not
actually a real increase due to the advertising.
How can you determine that your advertising dollars were a good investment? Time for inferential
statistics! You're going to do a statistical test to determine how confident you are that there is really a
major difference in sales between California and the rest of country. In this case, you would create
two groups: group one with 100 stores in California and group two with 700 stores in the rest of the
nation. Then you do a test to compare groups. Let's not worry about which test exactly - there are
many different types, each one for different circumstances.
The result of the test would be something like this: We are 95% confident that the monthly sales per
store increased by an average of 10% or more in the three months following the advertising
campaign. Why 95%? Well, in statistics we are never 100% sure because you would never have
enough data to really show this with absolute certainly. So 95% is a good start. With a result like this,
you can calculate whether the investment in advertising paid off.
The results of a test can also be inconclusive. If the sales didn't really go up much, you may not be
able to say anything with confidence about whether sales really increased or not. That is not what
you wanted to hear, but better to know that now than after you have rolled out a multi-million dollar
campaign across the nation.
Predictive Statistics
The third type is predictive statistics, which tries to predict future conditions based on existing
data. Consider an example of predictive statistics you are already familiar with: weather forecasting.
You are planning a hiking trip for the weekend, and on Wednesday, you would like to know what the
weather is going to be like on Saturday and Sunday. You check the weather forecast, and it's going
to be sunny and warm with a very low chance of rain. Meteorologists use historic data and recent
observations of the atmosphere to make this forecast. Can you be 100% sure you won't need a
raincoat? No, but nice and sunny is much more likely.
Let's return to your company making accessories for mobile phones. This is a trendy market, and
you have to stay on top. One of the major phone manufacturers is coming out with a totally cool new
model. You think it's going to do well, and so you've lined up the production of several unique
accessories. However, you still have to decide on the best colors to use. This can be tricky because
you don't want to get stuck with 10,000 pink phone covers. Which colors are going to appeal to the
users of this new model?
One approach would be to look at your own sales data for when similar introductions were made in
the past: different phones, different brands, but targeting the same type of user. So you start
analyzing your data. Which other phones were most similar? Which colors did better? Sleek gray
tones for the business crowd, or splashy yellows and greens for the teenagers? You can develop a
statistical model to predict which colors are going to do better based on your existing data. And then,
you're going to use this model to plan your production. Is the model going to be spot-on accurate?
Most likely not, but it may just give you a competitive edge when the new phone comes out.
Statistical Software
Statistical analysis requires the use of statistical software. Spreadsheet programs include a number
of built-in statistical functions. However, more advanced statistical analysis typically requires
specialized functions.
In order to carry out statistical analysis, you need to organize and manage your data. Statistical
software, therefore, has a number of functions that make it similar to a database management
system, or DBMS. However, when working with very large and complicated databases, it is common
to manage this data using a dedicated DBMS and only export parts of the data for use in statistical
software. Statistical software typically includes all the different types of statistics, including
descriptive, inferential and predictive statistics. It also contains the ability of making graphs as part of
describing your data.
Enterprise Wide Computing- An Introduction
Few years back, computing servers were only used by a company's employees on an
intranet. Today every company seems to be on the Internet. They have an order of
magnitude: customers, suppliers, distributors and any one can access to their web site.
That is, companies have been forced to move from local client/server or mainframe
computing to a new world order of multi-tier computing paradigm. This automatically brings
a new set of challenging issues to be sorted out efficiently. They are reliability, scalability,
security, application development, transaction processing, web interface design and timely
software development. Thus enterprises need robust technologies and tools to develop
enterprise software. Here we have a brief look on what is all about enterprise computing in
the computing arena.
What is Enterprise Computing
Enterprise computing, an umbrella term used mostly to sell business systems
development products, traditionally refers to the mission-critical systems on which a
business depends. It almost always includes a database. The word "enterprise" most
certainly does not communicate or represent a determinate content, an identifiable
meaning, or a describable value. Nowadays almost all the technology product aimed at the
business customer are marketed with the tag - the buzzword "enterprise".
It becomes necessary to understand the word "enterprise" within the context of
enterprise software. The term "enterprise" overshadows the idea of business taken
wholistically. An enterprise solution identifies common problem domains within a business
and provides a shared infrastructure as a solution for those identified problems. Take the
case of running a bank, which has several branches in different places with different
cultures. But these differences in cultures and locations won't come in the way of identifying
the common ground realities, such as accounts and customers. Looking at this business
from an enterprise perspective means abstracting away from irrelevant differences in the
way the individual branches function, and instead approaching the business from their
common things.
Applying this view to design and development of software, an enterprise system
provides the proper abstractions for business concepts that remain constant across a
business so that they may be shared by all the different units within the company. In this
Internet age, enterprise systems even can share the business concepts with vendors, clients
and perspective customers also apart from the company. Thus enterprise solution are in
high demand among business houses in these days. Here comes a list of requirements for a
true enterprise system.
In order to bring out solutions to enterprise problems, an enterprise system must
exhibit certain characteristics. The primary goal of an enterprise system is simply to be able
to represent business concepts to any possible user. The user may be an another
application within the same business, an XML interface for the business clients or even
vendors, or a Web interface for customers. An enterprise system emphasize on providing an
appropriate window for each audience without duplicating the effort required to capture the
rules of business. An enterprise system must therefore meet these following requirements:
Requirements for Enterprise Systems
1. An enterprise system must avoid incorporating proprietary components, that is, it
must be platform- and database-independent. Business should not impose any sort
of technical requirements on vendors, clients and customers. Also it helps to
integrate new components into the system as technology evolves as days go by. It is
not possible to integrate new technological advancements into closed, proprietary
components.
2. An enterprise system must be capable of supporting personalized user experience
that is being made possible in many forms, such as, internationalization, localization,
accessibility, personalization and customization. These requirements become feasible
by designing user interfaces which can display content tailored to the language and
cultural norms of the user interacting with the system. This also means that
developing client side supporting tools will enable users with disabilities to access
software applications. Finally, an enterprise system needs to be able to study the
way users interact with it so that it can better support each user's unique mode of
interaction.
3. An enterprise system must be the authoritative, shared source for the business
concepts it represents. All applications using concepts common across the business
should reference the objects that represent those concepts from the shared system.
This means that any given concept has an authoritative location that is transparent
to the client from which it can be referenced.
Enterprise Systems - Security
An enterprise contains many resources that can be accessed by many types of users.
Sensitive information often has to traverse on unprotected open networks, such as the
Internet. This open environment forces every enterprise to design the relevant security
requirements, specific mechanisms and infrastructure to meet the real threat. Although the
quality assurances and implementation details may vary, all enterprises have to share some
or all of the following characteristics:
1. Authentication - The means by which communicating entities prove to one another
that they are acting on behalf of specific identities.
2. Access Control for sensitive resources - The means by which interactions with vital
resources are limited to collections of users or programs for the purpose of enforcing
integrity, confidentiality, or availability constraints
3. Data Integrity - The means used to prove that information could not have
tampered with by any third part. That is, a recipient of data sent over an open network
must be able to check whether the data gets manipulated on its way.
4. Data Privacy - The means used to ensure that information is made available only
to users who are authorized to access it.
5. Non-repudiation - The means used to prove that a user performed some
transaction such that the user can not deny it later.
6. Auditing - The means used to capture a tamper-resistant record of security
related events for the purpose of being able to evaluate the effectiveness of security policies
and mechanisms.
Enterprise Computing by Java
The J2EE specification introduces the concept of enterprise applications. An
enterprise application contain J2EE modules, which could be web applications, EJBs,
application clients and applets. A J2EE Enterprise archive is packaged as a Java Archive file
with a .ear filename extension.
The database is the heart of any enterprise system. The shared business objects that
make up an enterprise need some way to make sure that they are saved across time. The
database provides that storage mechanism. Any language that is going to claim to be an
enterprise language therefore needs to have strong, reliable and robust database
connectivity. Java fulfills this need by Java Database Connectivity (JDBC). This facility
immensely helps to design and maintain a Web-based back-end database.
Towards enterprise computing, Java is really the only language in widespread use
that can easily be used to build enterprise systems that meets the certain requirements in a
robust and efficient manner. Java is a standards-based language. It has support for
accessibility and internationalization and localization, including a Unicode basic character
type, built into the language. Also Java has both database access and distributed computing
at its core with a number of tested technologies.
Advantages of J2EE Technologies
J2EE makes the Java language to embrace a number of server-side applications,
such as Web-based and e-commerce applications. Apart from all the innovative and pathbreaking features that Java provides, J2EE technologies brings some additional features
most suitable for all enterprise systems.
1. J2EE makes Java a fully-fledged server-side development platform.
2. J2EE has a solid infrastructure that provides a well-tested implementation of many
common applications that need security and messaging facilities.
3. J2EE standardizes development making it easier for companies to commit to J2EE
and share third party code.
4. J2EE provides a solid backend for wireless applications and many wireless companies
use J2EE on the server for this purpose.
5. Java is the primary language for designing many exciting application servers of today
and hence e-commerce applications fully utilize the guaranteed services of Java.
Object-oriented analysis and design (OOAD) is a software engineering approach that models a
system as a group of interacting objects. Each object represents some entity of interest in the
system being modeled, and is characterized by its class, its state (data elements), and its behavior.
Various models can be created to show the static structure, dynamic behavior, and run-time
deployment of these collaborating objects. There are a number of different notations for representing
these models, such as the Unified Modeling Language (UML).
Object-oriented analysis (OOA) applies object-modelling techniques to analyze the functional
requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce
implementation specifications. OOA focuses on what the system does, OOD on how the system
does it.
Object-oriented systems
An object-oriented system is composed of objects. The behavior of the system results from the
collaboration of those objects. Collaboration between objects involves them sending messages to
each other. Sending a message differs from calling a function in that when a target object receives a
message, it itself decides what function to carry out to service that message. The same message
may be implemented by many different functions, the one selected depending on the state of the
target object.
The implementation of "message sending" varies depending on the architecture of the system being
modeled, and the location of the objects being communicated with.
Object-oriented analysis
Object-oriented analysis (OOA) looks at the problem domain, with the aim of producing a conceptual
model of the information that exists in the area being analyzed. Analysis models do not consider any
implementation constraints that might exist, such as concurrency, distribution, persistence, or how
the system is to be built. Implementation constraints are dealt during object-oriented design (OOD).
Analysis is done before the Design
The sources for the analysis can be a written requirements statement, a formal vision document,
interviews with stakeholders or other interested parties. A system may be divided into multiple
domains, representing different business, technological, or other areas of interest, each of which are
analyzed separately.
The result of object-oriented analysis is a description of what the system is functionally required to
do, in the form of a conceptual model. That will typically be presented as a set of use cases, one or
more UML class diagrams, and a number of interaction diagrams. It may also include some kind of
user interface mock-up. The purpose of object oriented analysis is to develop a model that describes
computer software as it works to satisfy a set of customer defined requirements.
Object-oriented design
Object-oriented design (OOD) transforms the conceptual model produced in object-oriented analysis
to take account of the constraints imposed by the chosen architecture and any non-functional
technological or environmental constraints, such as transaction throughput, response time, runtime platform, development environment, or programming language.
The concepts in the analysis model are mapped onto implementation classes and interfaces. The
result is a model of the solution domain, a detailed description of how the system is to be built.