Computer Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 89

Computer

Software
Software is the general term applied
to the instructions that direct the
computer’s hardware to perform
work. It is distinguished from
hardware by its conceptual rather
than physical nature.
Hardware consists of physical
components, whereas software
consists of instructions
communicated electronically to the
hardware
Software is needed for 2 purposes:
First, computers do not directly understand
human language, and software is needed to
translate instructions created in human
language into machine language.
Second, packaged or stored software is
needed to make the computer an economical
work tool.
Software is supplied as organized instruction
sets called programs, or more typically as a
set of related programs called a package.
Programs translate operations the user
needs into language and instructions that
the computer can understand. By itself,
computer hardware is merely a collection of
printed circuits, plastic, metal, and wires.
Without software, hardware performs no
functions.
Categories of Software
1. System Software
2. Utility Software
3. Application Software
System Software
System software “boots up” (starts up
and initializes) the computer system;
controls input, output, and storage;
and controls the operations of the
application software.
System software helps speed up the computer’s
processing, expands the power of the
computer by creating cache memory, reduces
the amount of confusion when multiple
programs are running together, “cleans up”
the hard drive so that storage is managed
efficiently, and performs other such system
management tasks.
Basic Input/Output System
The first level of system control is handled by
the basic input/output system (BIOS) stored
on a ROM chip on the motherboard. The
software on the BIOS chip is the first part of
the computer to function when the system is
turned on. It first searches for an Operating
System (OS) and loads it into the RAM.
Programs on chips are often
called firmware, because they
straddle the line between
hardware and software.
Operating System
An OS is the overall controller of thwork of
the computer. The OS is software loaded
from the hard drive into RAM as soon as the
computer is turned on.
While the firmware cannot be upgraded
without changing the hardware chip, the OS
can be upgraded or entirely changed
through software.
OSs handle the connection between the CPU and
peripherals.
The connection between the CPU and a peripheral
or a user is called an interface.
The OS manages the interfaces to all peripheral
hardware, schedules tasks, allocates storage in
memory and on disks, retrieves programs and
data from storage, and provides an interface
between the machine and the user.
Utility Software
Utility software consists of
programs designed to support and
optimize the functioning of the
computer system itself.
Utility programs include programs
designed to keep the computer system
operating efficiently. They do this by
adding power to the functioning of the
system software or supporting the OS
or applications software programs.
6 Categories of Utility Software
1. Security Software
2. Disk Management Utilities
3. Backup Utilities
4. Screen Savers
5. Archival Software
6. Programming environvment
support system
Security Software
Security software, including primarily anti-
virus, firewall, and encryption programs,
protect the computer and its data from
attacks that can destroy programs and
data.
Anti-virus Utilities
serve primarily to guard against malicious
program inadvertently accessed, usually
through email or downloads from the
Internet.
Firewalls
Firewalls are a type of security program that
makes it much harder for unauthorized persons
or systems to enter the computer and hijack or
damage programs or data on the computer.
Firewalls can include both additional hardware
and utility software.
Encryption Software
Encryption software encodes the data so that it
cannot be read until it is decoded. The HTTPS
letters on a Web page address indicate that the
site encrypts data sent through that site. The
encryption is sufficiently high level that it
cannot be decoded without a program at the
receiver site.
Disk Management Utilities
Disk management utilities are designed to
help the user keep hard disk space clean and
efficient.They do this by analyzing use of
disk space, defragmenting the drive and
deleting duplicate files if the user so
commands.
The defragmenter moves data around
on the disk so that small empty spaces
are eliminated and data and programs
are relocated to better use the
available space.
Backup Utilities
serve to help the users back up their data.
Applications programs may be backed up,
but usually that is not necessary because
legal copies of programs can be reloaded
by the person who bought the license.
Screen Savers
are computer programs that either blank
the monitor screen or fill it with
constantly moving images when the user is
away from the computer but does not
turn it (and the monitor) completely off.
Archival Software
usually performs at least two functions.
First, it compresses information in files
to be archived, and then stores them in a
compressed form in some long-term
storage device.
Terms used to describe the data compression
performed by archival software include:
packing as well as:
zipping unpacking
compressing unzipping
archiving de-archiving, and
extraction
The compression can sharply reduce the
size of a large file such that it can be
made small enough to e-mail to another
person or location.
Programming environment
support programs
are used by program developers to
support their programming work or to
run their programs.
COMPILER - The program that performs the
translation.
If a programmer wishes to translate a machine
language program into a higher level language a
human can understand the programmer uses a
DECOMPILER PROGRAM.
Programming is difficult because not only does
the programmer have to detail complex logic,
but the commands that comprise the program
must be written in a specific syntax.
Syntax in this usage refers to a set of very
specific rules about words, word usage, and
word order in order of a computer language.
Syntax must be exactly correct for a
computer to correctly interpret the code
and run the program. Problems with either
the logic or syntax will cause the program
to fail, or perform incorrectly.
These kinds of problems are called
“BUGS” and correcting them is called
“DEBUGGING” a program.
Utility programs designed to help a
programmer debug a program are called
DEBUGGING PROGRAMS.
Applications Software
Applications software includes all the
various programs people use to do work,
process data, play games, communicate
with others, and watch videos and
multimedia programs on a computer.
Application programs are written in a
particular programming language. Then
the program is “compiled” (or translated)
into machine language so the computer can
understand the instructions and execute
the program.
INFORMATION SCIENCE
Information science is an interdisciplinary
field primarily concerned with the analysis,
collection, classification, manipulation,
storage, retrieval, movement, dissemination,
and use of information (Stock & Stock, 2013).
It is concerned with technologies, strategies,
and methodologies for getting the right
information to people when it is needed without
people getting overwhelmed with irrelevant and
unwanted information. All science is concerned
with measurement and analysis, and information
science is no different
Key themes in information science
analysis include (Luenberger, 2006):
optimality
performance
complexity
structure
Optimality
Optimality varies with the situation, but
generally refers to achieving an optimum
value for some desired outcome.
Optimality may refer to almost any variable
that is measured on a numerical scale, such as
cost, time, workload, etc.
Performance
Performance is typically considered in the context
of average performance of the information system
over a series of communication instances.
Averages are better representations of
performance than long lists of single instance
performance.
Complexity
Complexity is a reality with the enormous
masses of data and information generated,
collected, stored, and retrieved. A typical
measure of complexity in informatics is the
amount of time it takes to complete a task.
Structure
Structure means developing a
system for ordering and cataloging
the data and information,
particularly in a database.
Information science is a rapidly growing field, and
much of the progress is based on development and
testing of mathematical algorithms related to
information management tasks, such as storage
and retrieval, database structure, measuring the
value of information, and other works involved in
increasing the efficiency of using information to
make better decisions.
Programming Languages
A programming language is a
means of communicating with
the computer.
Generations and Levels of
Programming Languages
Programming languages are divided into
five generations, or sometimes into three
levels. The term level refers to how close
the language is to the actual machine.
THE FIRST LEVEL INCLUDES THE FIRST TWO
GENERATIONS OF PROGRAMMING
LANGUAGES:
machine language
assembly language.
Machine Language
Machine language is the true language of the
computer.
The machine language consists only of the binary
numbers 1 and 0, representing the ON and OFF
electrical impulses. All data—numbers, letters,
and symbols—are represented by combinations
of binary digits.
Assembler Language
Assembler language is far more like the
English language, but it is still very close to
machine language.
Assembler language instructions have a
one-to-one correspondence with a machine
language instruction.
Assembler language is still used a great
deal by system programmers and
whenever application programmers wish
to manipulate functions at the machine
level.
THIRD-GENERATION LANGUAGES.
Third-generation languages include the
procedural languages and were the
beginning of the second level in
programming languages.
Procedural languages require the
programmer to specify both what the
computer is to do and the procedure for
how to do it. These languages are far more
English-like than assembler and machine
languages.
The style and sequence of a language are
called its syntax.

FORTRAN and COBOL are examples of


early third-generation languages.
A third-generation language written
specifically for use in healthcare settings
was MUMPS (Massachusetts General Hospital
Utility Multi-Programming System).
Today, the most popular computer
language for writing new OSs and other
system programs is called C. (It was named
after an earlier prototype program called
simply B.)
Two important late third-generation
languages are increasing in importance as
the importance of the Internet grows.
They include the visual programming
languages and Java.
Java was developed by Sun Microsystems to be a
relatively simple language that would provide the
portability across differing computer platforms and
the security needed for use on a huge, public network
like the Internet. The world community of software
developers and Internet content providers has warmly
received Java. Java programming skills are critical for
any serious Web developer.
Visual Programming Languages
As the popularity of GUI technology
grew, several languages were developed
to facilitate program development in
graphics-based environments.
Microsoft Corporation has marketed two
very popular such programs:
Visual BASIC (Beginners’ Allpurpose
Symbolic Instruction Code)
Visual C++.
Concurrent and Distributed
Languages.
Another way to categorize programs is
whether they were designed to work
sequentially or concurrently.
According to Igor Markov, “Computer speed
is not increasing anymore” (Markov, 2014).
Another strategy was needed to improve
speed. The solution has been to add more CPU
processors, and this solution is called
multiprocessing which involves multiple
processors working in parallel (parallelism).
The advantages of multiprocessing were
such that by 2014, all personal
computers advertised for the home and
business had two or more processors to
speed up the operation of complex and
graphics intensive programs.
Program languages designed to take advantage of
multiple processors are called CONCURRENT
LANGUAGES. Concurrent languages are designed
for programs that use multiple processors in
parallel, rather than running the program
sequentially on a single processor. C++ is an
example of a programming language designed as a
concurrent language.
Closely associated with the need to run
multiple parts of a program at the same
time is the need to accommodate multiple
users at the same time. This is called
multithreading (Intel, 2003).
While multithreading is more of an
implementation problem than strictly a
programming issue, modern, high-level
languages handle multiprocessing and
multithreading more easily than older
languages.
FOURTH-GENERATION LANGUAGES
Fourth-generation languages are
specialized application programs that
require more involvement of the user in
directing the program to do the
necessary work.
An important Fourth-Generation language is SQL
(Structured Query Language). SQL is a language
designed for management and query operations on a
relational database. It does far more than simply allow
users to query a database. It also supports data insert,
data definition,database schema creation, update and
delete, and data modification. It is not particularly user
friendly for nonprogrammers, but it is an extremely
powerful language for information retrieval.
FIFTH-GENERATION LANGUAGES
Fifth-generation or thirdlevel languages
are called natural languages. In these types
of programs, the user tells the machine
what to do in the user’s own natural
language or through use of a set of very
English-like commands.
To prepare a translation program for a
natural language requires several levels of
analysis. First, the sentences need to be
broken down to identify the subject’s
words and relate them to the underlying
constituents of speech (i.e., parsed).
The next level is called semantic analysis,
whereby the grammar of each word in the
sentence is analyzed. It attempts to
recognize the action described and the
object of the action.
An exciting application of natural language
processing (NLP) is called biomedical text
mining (BioNLP).
The purpose is to assist users to find
information about a specific topic in
biomedical literature.
DNorm is a program that detects specific
disease names (entered by the searcher) in
journal articles or other text documents. It
also associates them with search terms in
MeSH terms in PubMed and terms in
SNOMED-CT1 (Leaman, Dogan, & Zhivong,
2014).
COMMON SOFTWARE PACKAGES
FOR MICROCOMPUTERS
The most common package sold with computers is a
standard office package. The standard office package
includes:
a word processing program
a spreadsheet program,
a presentation graphics program
The two most commonly used programs are
the e-mail system and the word processor.
In fact, some people purchase a computer
with only an OS, word processor, and an
Internet browser, and sign up for their e-
mail account and use little else.
The two most commonly used programs are the e-
mail system and the word processor. In fact, some
people purchase a computer with only an OS,
word processor, and an Internet browser, and
sign up for their e-mail account and use little else.
Another very common product is a desktop
publisher.
Most of these common programs have to be written
in two versions: one for the IBM PC platform and
one for the Mac.
Security programs are also an important market
product. Given the large number of people seeking
to steal identities and otherwise use the computer
for criminal or malicious activity, every user who
accesses the Internet should have security software.
SOFTWARE PACKAGE
OWNERSHIP RIGHTS
Protecting ownership rights in software has
presented a challenge to the computer software
industry. A program sold to one customer can be
installed on a very large number of machines. This
practice obviously seriously harms the
profitability of software development.
As a result, copyright laws were extended to
software so that only the original
purchaser was legally empowered to install
the program on his or her computer. Any
other installations were considered illegal
copies, and such copies were called pirate
copies.
COMMON SOFTWARE USEFUL
TO NURSES
Hospital Information System (HIS) - a
multipurpose program, designed to
support many applications in hospitals
and their associated clinics.
Electronic Medical Record
- The components nurses use most for
charting patient care.
Admission-Discharge-Transfer (ADT)
systems
- that help with patient tracking
Medication Administration Record (MAR)
software
- supplies inventory systems through which
nurses charge IVs, dressings, and other supplies used
in patient care
Laboratory Systems
- that are used to order laboratory tests and
report the results.
Some nursing applications include a handy
“dashboard,” which is an application that
provides a sort of a menu of options from which
the nurse can choose. Typically, dashboards
provide the nurse a quick way to order common
output from certain (or all) screens, or may
provide some kind of alert that a task is due to be
performed.
COMPUTER SYSTEMS
Every functioning computer is a system;
that is, it is a complex entity, consisting of
an organized set of interconnected
components or factors that function
together as a unit to accomplish results
that one part alone could not.
Computer system may refer to a single machine (and
its peripherals and software) that is unconnected to
any other computer.
However, most healthcare professionals use
computer systems consisting of multiple,
interconnected computers that function to
facilitate the work of groups of providers and their
support people in a system called a NETWORK.
Common types of computer networks
are:
point-to-point
local area network (LAN)
wide area network (WAN), and
metropolitan area network (MAN).
A point-to-point network is a very small network in
which all parts of the system are directly connected
via wires or wireless (typically provided by a router
in a single building).
LANs, WANs, and MANs are sequentially larger and
given the number of users they require
communications architecture to ensure all users on
the network are served.
Computer networks must allocate time
and memory space to many users, and so
must have a way to organize usage of the
network resources so that all users are
served.
There are a variety of allocation strategies for high-level
communication in networks. The most common are:
token ring (developed by IBM)
star (also called multipoint; all communications go
through a single hub computer)
bus (in which all computers are connected to a single line)
tree.
For very large networks, backbone communication
technology is increasingly used.
The use of systems in computer technology is
based on system theory. System theory and its
subset, network theory, provide the basis for
understanding how the power of individual
computers has been greatly enhanced through
the process of linking multiple computers into a
single system and multiple computer systems into
networks.
Q&A
Session
Thank you

You might also like