You are on page 1of 80

Chapter 03:

Software Solutions
for Personal and
Professional Gain
Objectives
• Discuss how software is created, distributed, installed,
and maintained
• Describe the functions of system software and
operating systems, and provide examples of operating
systems for PCs, larger computer systems, and mobile
devices
• Describe different types of productivity software and
explain how application software assists people at
home, at work, and in between
• List areas of research in artificial intelligence and tell
how AI is being used in everyday applications
Succeeding with Technology, Third Edition 2
Software
• Software has become more expensive than
hardware
– Advances in hardware technology has lowered
hardware prices
– Increasingly complex software requires more
development time
– Software developers are in high demand, and their
salaries have risen to reflect that

Succeeding with Technology, Third Edition 3


Software

Succeeding with Technology, Third Edition 4


System and Application Software
• Two basic types of software
– System software
• Coordinates hardware activities

– Application software
• Programs written to help users solve problems, perform
tasks, and help people and organizations achieve their
goals

Succeeding with Technology, Third Edition 5


How Software Works
• Software

– Usually consists of a number of files, ranging from a


few to dozens or more

– At least one file is an executable file with an .exe


extension

– Text file typically has a .txt extension

– Word processing files have a .doc extension

Succeeding with Technology, Third Edition 6


How Software Works

Succeeding with Technology, Third Edition 7


The Software Development Process
• Programming language
– Primary tool of computer programmers
– Program code
• Set of instructions that signal the CPU to perform circuit-
switching operations
– Programming language standard
• Set of rules that describes how programming statements
and commands should be written
• Source code and object code

Succeeding with Technology, Third Edition 8


The Software Development Process

Succeeding with Technology, Third Edition 9


Programming Languages
• Programming languages continue to evolve
– Thought of as generations
• Most software is developed using third-level
languages
• Fourth-generation used for database
manipulation and queries
• Fifth-generation (AI languages) are not
developed enough to provide the power and
control of third-generation languages

Succeeding with Technology, Third Edition 10


Visual Programming
• Visual programming
• Use a graphical or visual interface for program
development
• Visual Basic .NET, C++, Visual C#
• Allow the creation and interaction of programming objects
• Has become the dominant programming paradigm
• A true visual language uses no text-based language
commands
• Alice, Mindscript, Microsoft language for programming
robots

Succeeding with Technology, Third Edition 11


Integrated Programming Environments
• Integrated development environment (IDE)
– Combines all the tools required for software
engineering in one package
– Supports several visual programming interfaces and
languages
• Compiler and interpreter
• Programming automation tools
• Debugger
• Other tools that provide convenience to the developer

Succeeding with Technology, Third Edition 12


Object-Oriented Programming
• Object-oriented programming languages are
based on the creation and interaction of
reusable programming objects
• Data, instructions, procedures are grouped
together into reusable objects
– Visual Basic .NET, C++, Visual C#, Java, Perl, Python

Succeeding with Technology, Third Edition 13


Object-Oriented Programming

Succeeding with Technology, Third Edition 14


Web Services
• Web service
– Software system that automates tasks by controlling
communication between computers over the
Internet

Succeeding with Technology, Third Edition 15


Software Copyrights and Licenses
• Software, once created, is considered intellectual
property
– Copyright
• Defines exclusive rights legally granted to the owner
– Software license
• Defines the permission, rights, and restrictions for the
person who buys the software
– Single-user license
• Permits the user to install the software on a single
computer, sometimes two computers if used by one
person
Succeeding with Technology, Third Edition 16
Freeware, Open-Source Software,
and Alternative Licensing
• Freeware
– Software made available to the public for free
• Public domain
– Anyone can use this software for free, as it has
reached the end of its copyright term
• Open-source software
– Distributed with source code to be studied and
improved by users
– General Public License (GPL)

Succeeding with Technology, Third Edition 17


Freeware, Open-Source Software,
and Alternative Licensing
• Creative Commons license
– Allows creators if intellectual property to grant
certain freedoms to users while still controlling the
property and the ability to make money using it

Succeeding with Technology, Third Edition 18


Freeware, Open-Source Software,
and Alternative Licensing

Succeeding with Technology, Third Edition 19


Off-the-Shelf software
• New PCs come equipped with essential software
– Operating system, Web browser, media software,
word processor, security, assorted accessories
• Additional software must be purchased and
installed
– Off-the-shelf software
• Purchased in a store or online
– System requirements
• Memory, storage, and system requirements to run the
software

Succeeding with Technology, Third Edition 20


Off-the-Shelf software
• Shareware
– Allows customers to use software for free for a limited time
(usually 30 days) in order to evaluate it and decide if they wish
to purchase it
– “Try before you buy” marketing method
– Most shareware is inexpensive, with registration fees ranging
from $15 to $80
• Subscription model
– New model for software distributors which charges a monthly
fee for use
• Web-based operating system
Succeeding with Technology, Third Edition 21
Custom Software
• Custom software
– When a company finds there is no off-the-shelf
software to meet a particular need, it must invest
time and money in creating custom software
– Essential to a business’s competitive strategy
• Value-added software vendor
– Third-party software firm, which develops or
modifies programs to meet special needs
• Contract software
– Developed for a specific company
Succeeding with Technology, Third Edition 22
Installing New Software

Succeeding with Technology, Third Edition 23


Handling Software Bugs
• Software bugs
– One or more defects in the program, which prevent
the software from working correctly
– Software can contain millions of lines of code, so
removing all bugs before releasing it to the public can
be difficult
• Patches or updates

Succeeding with Technology, Third Edition 24


Removing (Uninstalling) Software
• Operating systems provide a method for
removing software safely and completely
– Proper procedures should remove the entire
program
• Sometimes utilities must be used to properly
remove elements of the program and ensure
that your system runs smoothly
– Norton System Works, McAfee QuickClean, Windows
OneCare

Succeeding with Technology, Third Edition 25


Operating Systems (OS)
• The operating system is a set of programs that
controls the computer hardware and acts as an
interface between the hardware and the user

Succeeding with Technology, Third Edition 26


Operating Systems (OS)
• Combinations of operating systems, computers,
and users include:
– A Single Computer with a Single User
– A Single Computer with Multiple Users
– Multiple Computers
– Special-purpose Computers

Succeeding with Technology, Third Edition 27


Operating Systems (OS)
• Partitioning the hard disk makes it possible to
have two or more operating systems on one
computer
– Virtual machines
• The complete computer system is stored on the
hard drive
– Booting transfers the OS from the hard drive to RAM

Succeeding with Technology, Third Edition 28


Providing a User Interface
• Command-based user interface
– Requires that text commands be typed at a prompt in
order to perform a task
• Graphical user interface (GUI)
– Uses the keyboard and mouse to manipulate graphic
images on the display which issue commands to the
computer

Succeeding with Technology, Third Edition 29


Providing a User Interface

Succeeding with Technology, Third Edition 30


Providing a User Interface
• Features of a typical GUI
– Icons
– Desktop
– Windows
– Menus and dialog boxes
– Information bar
– Program launch area
– File viewer / organizer
– System viewer
– System settings
– Network resources
– Gadgets / Widgets

Succeeding with Technology, Third Edition 31


Controlling Common Computer
Hardware Functions
• Operating systems control many hardware functions
– Capturing input, providing output
– Managing the processor, memory, storage
– Formatting disks
– Communicating with peripheral devices
• Having an OS layer that adapts to new and varied
hardware allows engineers to develop thousands of
applications that can function on different hardware
– Hardware independence

Succeeding with Technology, Third Edition 32


Managing Memory
• Operating system controls how memory is
accessed
– Maximizes use of memory and storage
• Virtual memory or virtual storage
– Extends standard memory by treating a portion of
the disk drive as memory

Succeeding with Technology, Third Edition 33


Managing Processors
• Processor Management
– OS controls the operation of all processors within the
computer system
– OS makes sure that one program does not interfere
with the operation of another program
• Multitasking
• Time sharing

Succeeding with Technology, Third Edition 34


Managing Processors

Succeeding with Technology, Third Edition 35


Managing Storage
• Logical view of data
– The way a programmer or user thinks about data
• Physical view of data
– Includes the specific location of the data in storage
• File system
– Organizing how data and files are physically stored
and logically manipulated
• File allocation table (FAT)
• New Technology File System (NTFS)

Succeeding with Technology, Third Edition 36


Managing Input, Output, and Peripherals
• Managing Input, Output, and Peripherals
– OS uses a device driver to manage and coordinate the use of:
• Input and output devices
• Other peripheral equipment

Succeeding with Technology, Third Edition 37


Managing Files
• Operating systems provide tools for managing
files
– Windows Vista
• Documents
– Mac
• Finder
• Systems organize files into folders or directories
– Files can be viewed by size, type, date, title
– Files can be copied to external memory devices

Succeeding with Technology, Third Edition 38


Managing Network Functions
• Today’s operating systems allow computers to
be connected together in order to share
resources
– Disk space, printers, etc.
• Laptops/notebooks are usually equipped with
wireless network adapters

Succeeding with Technology, Third Edition 39


Other Operating System Functions
• Registry
– Windows database for storing information about hardware,
software settings, and user preferences
• Modification of OS
– Screen and mouse operations, printer or modem operations,
volume, tone of sound, management of battery power
• Software that is not part of the actual operating
system
– Word processors, games, media player, Internet browser

Succeeding with Technology, Third Edition 40


PC Operating Systems Today
• Microsoft Windows
– Most popular OS for PCs
– Windows Vista is the most recent version
• There are many versions of Vista for various computing
environments
• Several improvements over past versions

Succeeding with Technology, Third Edition 41


PC Operating Systems Today
• Mac OS
– Native OS for Mac PCs
– Easy to use graphical interface
– Outstanding graphic capabilities
• Popular with those working in the arts as well as
mathematicians and scientists
• Mac OS X
– Built on the UNIX OS
– Most recent update -- Leopard

Succeeding with Technology, Third Edition 42


PC Operating Systems Today
• Linux
– Developed by Linus Torvalds in 1991
– Open-source software package
• Ubuntu
– Many free, open-source applications
• Fedora

Succeeding with Technology, Third Edition 43


Operating Systems for Servers,
Networks, and Large Mainframes
• Network operating systems
– Designed for larger systems that require servers
• Windows Server 2003, Linux, Novell NetWare, Sun
Microsystems Solaris
• Solaris is the most popular version of the UNIX OS
• Mainframe computer systems include:
– z/OS, MPE/iX, ESA/370, MVS/ESA

Succeeding with Technology, Third Edition 44


Operating Systems for Handheld
Computers and Special Purpose Devices
• Embedded operating systems
– Embedded in a chip
• Proprietary OS
– Created for and used by one specific device
• Portable OS
– Can be used on many devices

Succeeding with Technology, Third Edition 45


Operating Systems for Handheld
Computers and Special Purpose Devices

Succeeding with Technology, Third Edition 46


Utility Programs
• Utility programs are any system software,
besides the OS, that assists in maintaining,
managing, and protecting computer resources
– Merge and sort sets of data
– Keep track of computer jobs being run
– Perform other important routine tasks

• Often come installed on computer systems

Succeeding with Technology, Third Edition 47


Productivity Software
• Productivity software
– Designed to help users be more productive
• Word processors
• Spreadsheets and database management systems
• Presentation software
• Personal information management

Succeeding with Technology, Third Edition 48


Word-Processing Software
• Word-processing software
– Most highly used application software for individuals
– Microsoft Word
• Most popular word-processing program
• Available on both PCs and Macintosh computers
– Others include Apple Pages, Corel WordPerfect,
Lotus WordPro, Sun Microsystems Write

Succeeding with Technology, Third Edition 49


Word-Processing Software
• Word-processing software includes several
features
– Easy entry of text and formatting
– Spelling and grammar checking
– Table and chart creation
– Generation of footnotes and endnotes
– Generation of table of contents, index
– Wide variety of visual styles and layouts

Succeeding with Technology, Third Edition 50


Spreadsheet Software
• Spreadsheet Applications
– Support complicated numerical analysis and
calculation, including calculation of “what-if”
scenarios
– Contain numbered rows and lettered columns
– Have built-in functions for
– Science and engineering, statistics, and business
– Display data in a meaningful way
– Optimization

Succeeding with Technology, Third Edition 51


Spreadsheet Software

Succeeding with Technology, Third Edition 52


Presentation Software
• Presentation software
– Supports formal presentations
– Embellishes live presentations or presents
information without a human speaker by using
“slides”
• Almost essential for transmitting information to
professionals today
• PowerPoint, Keynote, Freelance Graphics,
Harvard Graphics

Succeeding with Technology, Third Edition 53


Database-Management Software
• Database Management Programs
– Used to store, manipulate, and manage data
– Can perform business functions for small business
• Payroll, inventory, order processing, bill paying, tax returns

Succeeding with Technology, Third Edition 54


Personal Information Management
• Personal Information Management (PIM)
– Allows users to store useful information
• To-do lists, appointments, contacts
– Information can be linked to other hardware
• Docking station

Succeeding with Technology, Third Edition 55


Software Suites
• Software suite
– Collection of application software packages sold
together
• Backward compatibility allows newer versions of a suite to
work with older versions

Succeeding with Technology, Third Edition 56


Software Suites

Succeeding with Technology, Third Edition 57


Integrated and Mobile Software Packages
• Integrated packages provide the functionality of
different types of software all in one program
– Microsoft Works, Apple NeoOffice
• Mobile software packages are usually included
with the device
– Allow users to take advantage of the unique features
of the device

Succeeding with Technology, Third Edition 58


Additional Application Software
for Individuals

Succeeding with Technology, Third Edition 59


Routine Transaction Processing Software
• Can be used to
– Process routine transactions
– Provide information to help people make better decisions
– Perform a number of specialized functions

• Routine Transaction Processing Software


– Can be developed or purchased
– Part of a larger transaction processing system (PTS)

Succeeding with Technology, Third Edition 60


Application Software for Businesses
and Organizations

Succeeding with Technology, Third Edition 61


Artificial Intelligence
• Artificial intelligence (AI)
– Computers with the ability to simulate human thought and
behavior
• Era of smart machines
– Computers can process information as fast as, or faster, than
the human brain
– The hard part is the software
• Technological singularity
– When computers exceed human intelligence
– Current prediction is 2060

Succeeding with Technology, Third Edition 62


An Overview of Artificial Intelligence
• AI refers to the science and engineering of
creating computer systems that simulate human
thought and behavior
– Computer scientists, psychologists, philosophers,
neuroscientists, engineers
• Cognition
– The process by which our brains process information
giving us the ability to learn and gather knowledge
– Sensory input is important in true cognition

Succeeding with Technology, Third Edition 63


An Overview of Artificial Intelligence
• For computers to have intelligence, we must be
able to recognize the traits of intelligent human
behaviors so that we might recognize them in
computers
– Reach conclusions and establish new understanding by
combining information in new ways
– Assume
• Draw conclusions when not all of the necessary information is known
– Communicate and use language
• Turing Test

Succeeding with Technology, Third Edition 64


An Overview of Artificial Intelligence

Succeeding with Technology, Third Edition 65


Teaching Computers to Think
• Uses for AI software
– Evaluating and interpreting large amounts of data
– Advisory assistance with difficult decisions
– Gaming
• To perform well, AI software requires
– Set of logical rules
– Instructions for handling unexpected input
– Ability to learn from experience
• Conventional AI
• Computational intelligence
Succeeding with Technology, Third Edition 66
Teaching Computers to Think

Succeeding with Technology, Third Edition 67


Expert Systems
• Expert System (ES)
– Functions like a human expert in a particular field
– Uses heuristics to arrive at conclusions
• Uses include
– Medical diagnoses
– Suggest causes for mechanical failure in engines
– Predict weather
– Design new products and systems

Succeeding with Technology, Third Edition 68


Case-Based Reasoning
• Case-based reasoning
– Computer uses a library of cases and solutions to
arrive at solutions for new cases
– The four Rs:
• Retrieve
• Reuse
• Revise
• Retain

Succeeding with Technology, Third Edition 69


Bayesian Networks and Behavior-Based AI
• Bayesian networks (belief networks)
– Graphic model that represents a set of variables and
their relationships and dependencies
• Behavior-based AI
– Simulates intelligence by combining many semi-
autonomous models, making the whole smarter than
its parts
– Popular for programming robots

Succeeding with Technology, Third Edition 70


Neural Networks
• Neural networks simulate the functioning of the
human brain in software
• Once a neural net is trained, it can process data
with impressive results
– Specific features include:
• Ability to retrieve information even if some nodes fail
• Fast modification of stored data using new information
• Discovery of relationships and trends in large databases
• Ability to solve complex problems when not all of the
information is present

Succeeding with Technology, Third Edition 71


Neural Networks

Succeeding with Technology, Third Edition 72


Fuzzy Systems
• Fuzzy systems
– Based on fuzzy logic
– Reasoning that is approximate rather than precise
– In the real world, cumulative probabilities don’t
always add up to 100%, and fuzzy systems attempt to
deal with those ambiguities
• Fuzzy control systems
– Anti-lock brakes

Succeeding with Technology, Third Edition 73


Evolutionary Computation
• Evolutionary Computation
– Genetic algorithm
• Form of evolutionary computation used to solve large,
complex problems where models change and evolve until
the best one emerges

Succeeding with Technology, Third Edition 74


AI Applications
• Applications include
– Robotics
– Computer vision
– Neural language processing
– Speech recognition
• Speech segmentation
• Ambiguity
• Voice variety

Succeeding with Technology, Third Edition 75


AI Applications
• Other AI applications
– Handwriting recognition
– Face recognition
– Intelligent agents (intelligent robot, bot)
– Artificial creativity

Succeeding with Technology, Third Edition 76


AI Applications

Succeeding with Technology, Third Edition 77


Virtual Reality
• Virtual reality
– Computer-simulated environment that can be
manipulated by the user
• Immersive virtual reality
– User is fully immersed in the 3-D world
– Could be used for gaming, training, touring buildings

Succeeding with Technology, Third Edition 78


Summary
• Software consists of the electronic instructions
and programs that govern the functions of a
computer system
– System Software
– Application software
• Software is written using programming
languages
• Copyright defines exclusive rights legally granted
to the owner

Succeeding with Technology, Third Edition 79


Summary
• Businesses sometimes must create custom software for
specific purposes
• System software and operating systems are necessary in
order for hardware to perform properly in assisting
users to meet their goals
• Software can be used by individuals, businesses, and
organizations to increase productivity in many areas
• Artificial intelligence is the science of creating computer
systems that simulate human thought, and is currently
used in several everyday applications

Succeeding with Technology, Third Edition 80

You might also like