Chapter IV Understanding Computer Software

advertisement
Chapter IV
Understanding
Computer Software
What is computer software?
System software and application software
Software market & licenses
Programming languages
Chapter Objectives
u  Understand
the role of software
u  Recognize
and understand different
categories of system software
u  Recognize
and understand different
categories of application software
u  Understand
application software
market
u  Understand
programming languages
and compilers
What is Software?
u 
Consists of programs designed to teach the
hardware what, how, and when to perform
u 
Provide programs and convert them into
machine language (only language that a
computer understand)
u 
Can be compared to the nervous system in
the human body
u 
There are 2 functional or operational
categories of software:
u  System
software
u  Application
software
Two Types of Software
System
Software
Application
Software
• Operating System
• Utility programs
• Drivers
• Interface between hardware and
users and peripherals
• Teaches computer HOW to perform
• Managerial and janitorial tasks
•  Provides services for people
•  Programs written to perform
tasks
•  Word processor, spreadsheets,
data base, presentation, etc…
•  Used by the users to tell the
computer WHAT they need.
Trends
u  There
is a shift from a hardware view
of computing to software & services
"Ten years out, in terms of actual
hardware costs you can almost think
of hardware as being free -- I'm not
saying it will be absolutely free -- but
in terms of the power of the servers,
the power of the network will not be
a limiting factor," Gates said,
referring to networked computers and
advances in the speed of the Internet.
Software/Hardware
u 
u 
Relationship between types of software and hardware
System software works as Interface between the hardware and
the users and their applications.
Application Software
Users
System Software
Hardware
6
Operating System (OS)
u 
Most important part of system software
u 
Master controller of everything that happen in
the computer system
u 
Can be compared to the central nervous
system in human body
u 
OS was introduced early 1960s by IBM to power
its computer IBM 360 and was behind its
overwhelming success
u 
Without OS, computers cannot run and manage
several different applications
OS Assignments
u 
Allocates memory space for all components
needed for the processing then manages and
supervises the process.
u 
Manage processor time and applications
u 
Monitors input and output operations through
interaction with their drivers and make sure
all operations proceed in an orderly manner.
u 
Monitors and enforces computer security with
the help of firewall, anti-virus software
OS Assignments
u 
Provides needed help when users ask for
help.
u 
Provides user interfaces:
u 
Menus and submenus
u 
Command line interface
u 
GUI (Graphical User Interface)
User Interface
Provided by the OS to enable users to communicate with computers.
Excluding menus and submenus two types are available:
u 
Command line interface
u 
GUI (Graphical User Interface)
u 
Only interface till the 80s
u 
Can be a button, graphic or text
u 
Only computer specialists can use it
u 
Every body can use it
Menus And Submenus
11
Operating System (OS)
u 
u 
u 
OS and processor must be tuned to the same word size.
The operating system comprises several components evolving
around its core component known as “kernel”.
Computer people, talk sometimes about kernel computing
referring to the most important part of the operating system.
When you start the
computer the OS is
loaded from HD into
memory
OS manages
processor, memory
& drivers, user
interface &
applications on
storage
OS remains in
memory until
computer is
turned OFF
12
UNIX - LINUX
UNIX
u 
u 
u 
Linux
Multi-user, multitasking
Developed 1969 in
assembly language ,
AT&T specialists at
BELL labs
Converted to C in
1973 so its Kernel
can power OS of
small mobile
computers.
u 
UNIX based
u 
GNU kernel launched
in 1983 by free
software activists.
u 
Thousands of
programmers
worldwide contributed
to Linux development
MAC/OSX
u 
UNIX based operating system series marketed by Apple Inc.
u 
A graphical interface OS
u 
First version released in 1999 server edition.
u 
iOS version runs on iPhone and iPod
u 
Many versions are named after cat names: Leopard and
Snow Leopard, Lion and Mountain lion.
u 
The X relate to UNIX and to the roman 10 (OS/X = OS
version 10)
u 
OS/X includes its own development tools IDE (Integrated
Development Environment) called XCODE provides
interfaces to many compilers of several programming
languages including C, C++ and JAVA.
Android OS
u 
Android was developed by Android Inc.
designed for smartphones and tablet
computers and other touch screen mobile
devices and tablets.
u 
Linux based operating system.
u 
Google purchased the company in 2005 and it is
developing Android presently.
u 
Apps development teams of Google have come up
with more than 700,000 apps by October 2012
(download via Google play)
u 
2010 (Android powered) smart phones become the
world leading mobile platform. Its share of the
market is 75%! (500 million devices)
Symbian OS
u 
Originally created by Symbian Ltd.
u 
Most popular worldwide 37.6% of the global smartphone
market until late 2010 when it was surpassed by
Android.
u 
Empowers most Nokia, Ericsson and European made
smartphones.
u 
Based on the graphical operating system EPOC
(Electronic Piece Of Cheese).
u 
Symbian share of the market is reduced presently to all
time low of about 7%.
u 
NOKIA shifted from Symbian to MS Windows phones 8
starting this year 2013 and Samsung did the same.
Operating System
u  IBM
Z/OS: Introduced October 2000
u  64
bits OS for mainframe server and
powerful computers
u  Support
old market computers
u  Accommodates
u  High
all mainframe systems
quality service
u  Support
clustering.
MS Windows
u 
Most popular operating system ever because of its
excellent graphical user interface that bridged the
gap between the user and the computer making user
friendly computers that can be used by everybody
and business personnel without being computer
specialists.
u 
Windows operating system was first introduced in
1985 to reign over a market highly enthusiastic to
the friendly GUI: 90% market share presently.
u 
Several versions were introduced since then
including Windows XP, Windows Vista, and Windows 7
and recently Windows 10 was released.
u 
The most recent server version is Windows Server 12.
Windows 8
u 
u 
Widows 8 introduced the following features:
u 
Keep backward compatibility
u 
Improving user experience on mobile computers and
devices.
u 
Friendly to Cloud computing and NFC (Near Field
Communication) for payments and file content
sharing.
u 
Secured boot process and malware filtering
u 
Built-in antivirus software.
u 
New app friendly touchscreen input platform features
many built-in apps.
Improved ability to synchronize settings and programs among
multiple devices working together within the computer system
Some Windows 8 apps
Touch screen friendly
Windows 10
u 
Newest Widows OS has the following features:
u 
Start menu is back; it’s more personal and organized.
u 
Comes with a personal assistant, Cortana, which is
activated from the desktop.
u 
New browser, Microsoft Edge, which allows you to take
notes, doodle, and highlight directly on the webpage.
u 
Comes with many built-in apps including Skype,
OneDrive
u 
Tablet mode makes Windows more intuitive to use
with touch devices like 2-in-1s.
u 
Enterprise-grade security without having to type in a
password.
Windows Phone
u 
Launched 10/29/2012
u 
Used by many smart phones including Nokia and Samsung
u 
Support removable storage media: USB, etc…
u 
NFC (Near Field Communication) friendly to support
payment and other applications.
u 
Many other features aimed at the business market that
include:
u  Bit-Locker
u  Ability
encryption for transactions security.
to create Marketplace to distribute apps.
u  Firmware
over-the-air support possible updates.
u  All
devices will receive software support for 18 months.
u  18
months update from Windows phones.
Utility Programs
u 
Help the OS in specific tasks and performs
the following:
u  Disk
care and management
u  File
management (Windows explorer, Mac
finder) and file defragmentation
u  Compilers
to covert high level languages
into machine language.
u  Computer
security:
u 
Antivirus software and antispyware, firewall
software
u 
Back-up and Restore
Utility Programs
u 
They cannot be inherent parts of the OS because
u 
As you may notice there are a lot of utilities and
each program consists of a big volume file.
u 
If they are added to the operating system they will
require a huge place in memory as long as the
computer is running.
u 
Most of these programs are needed briefly to
perform specific tasks and go, so the same memory
space can be used by different programs while they
are performing
u 
Memory space use is similar to the tables in
restaurant the same table is used by many customers
while they are eating.
Drivers
u 
Device drivers are system software designed to operate
hardware components and peripherals attached to the
computer.
u 
Each component or peripheral has its own driver (there are
no universal drivers, driver is made to control a particular
type of hardware)
u 
Driver that operates a specific model of HP printer may
not necessarily be good to operate any other HP model or
any other different brand model).
u 
Device driver operates as a translator interface between
the operating system and the hardware device.
u 
Only a specific device driver can communicate with that
particular device so that all instructions directed to the
device must be conveyed through the device driver.
Where are Drivers Needed?
u 
All printers
u 
Virtual printer: is computer software whose driver is an API
(Application Programming Interface) that doesn’t connect
with a physical printer but, instead save the printed copy
as no-edit file like PDF files.
u 
Scanners including MRI and computed
tomography
u 
Cameras: Their drivers are function of their use
and location.
u 
Storage devices, video adapters, network cards,
buses, etc…
Productivity Software
u 
Please visit CGS 2100 website/Helpful Links page to learn
about the newest MS Office suite
u 
MS Word Processing: Document production new features
include:
u 
u 
Edit PDF files like any other Word document by clicking
“Enable Editing”
u 
E-­‐fax and Merriam-­‐Webster dic3onary apps and huge number of featured apps wai3ng for you to choose your favorites u 
The “Review” tab use the Word apps and when you select the text you get the result displayed instantly. MS EXCEL spreadsheets software that was an important factor
in the digital revolution because of its automatic
recalculation feature that carries the “what if” scenarios.
Crucial requirements for healthy decision making
Database Software
u 
MS Access Database: For creating, managing and querying
databases. Most important new features include:
u 
Enhanced user interface enable you to make operational
and beautiful apps very fast
u 
You need Office 365 to host the database in the cloud but
you can chose to have SQL Server 2012 and SharePoint
2013 and host it yourself in your premises.
u 
The table templates library allows you to easily track
everything you care about in the database and apply
relationships and data integrity rules very easy.
u 
Other important database soCware include: FoxPro: now published by MicrosoC, IBM-­‐DB2, MySQL is popular database for use in web apps. Linter: Russian SQL DBMS that is supported by most opera3ng systems. It is mostly used by Russian government ministries and their agencies. u 
A database is not portable across all or many DBMS’s Presentation Software
u 
Used for creating and developing presentations and
supportive visual and multi-media aides that
accompany a presentation powerful features include:
u 
Direct link to YouTube, Facebook and other social
media engines.
u 
Merge shapes: Easy to merge many shapes into one
u 
Slide Zoom in and out of charts, diagrams and graphics is very important feature to direct the aRen3on of audience. u 
The Auto-­‐Extend feature insures the slide appears on the right screen when you move the projec3on to another screen.
Presentation Software
u 
Other important presentation software
include:
u Apple
Keynote: one of the best software that run on
MAC.
u Impress
from OpenOffice.org (open source software)
u Bruno
of Hewlett-Packard: First software designed to
create WISIWYG presentations
Kingsoft (KS office) Presentations is a Freeware that
was developed in China; the newest version is the
KSOffice 2012
u 
Management Software
u 
u 
u 
Financial management software: manage
business financial activities
u 
Investment portfolio
u 
Expenses and revenue
u 
Budget planning and financing avenues
u 
Taxes with tax preparation software.
Project management needed to:
u 
Complete the project according to schedule
u 
Plan, allocate and control project people and resources.
u 
An example is MS Project and MS SharePoint server.
Marketing software integration with the project
management software allows for a complete
approach to powerful project management.
Statistical Software
u 
Turn data into present and future action
u 
Deep impact on social and business environment
u 
IBM SPSS (Statistical Package for the Social Sciences).
1968
u 
SAS (Statistical Analysis System) pronounced “sass”
extensively around the globe to generate many powerful
statistical applications.
u 
Stata: 1985. It is complete integrated statistical software
with lot of applications used around the world.
u 
MATLAB: presents an interactive environment and a
language rich in built-in functions that in addition to the
language tools help you develop algorithms and create
models.
u 
Mathematics, S-PLUS, R, Minitab and JMP are also notable
statistics software that contributes to the enrichment and
diversification of statistical software market.
Entertainment and
Games Software
u 
Console Games: The software usually stored on a disk
and inserted into the console the game features are
displayed on the television. PlayStation 3 uses Blu-ray
disc
u 
PC games prospered after the 1983 video game crash.
The present smart phones era propelled the game and
entertainment market to unprecedented size using the
cloud gaming software.
u 
The global decline of the game market a is caused by
the abundance of games on the web that are offered
for free with other packages.
u 
The market that peaked to $103 billion in 2008 is
projected to decline to less than $75 billion by 2015.
Educational Software
Very important for business training and all
educational establishments
u 
Classroom aids (whiteboards: Compared with the blackboards)
designed for school classroom teaching that is why it is called
“classroom management software”.
u 
Courseware: comprises teaching tools and tutorials and all needed
material included in one package.
u 
Student assessment software (SAM - Student Assessment Manager –
is an example)
u 
Diverse training software: specific educational purposes
u 
Driving test software
u 
Language learning software
u 
Typing and spelling tutor software
u 
Training simulator software.
u 
Note taking software
Software Market
Horizontal market software:
u 
Apps operate in several commercial, industrial or
service market activities.
u 
Targets common needs of businesses regardless of
their activities, size, market and mission.
u 
Horizontal software is also known as productivity
software because of its use in all businesses
u 
Example of horizontal market software include:
Word processing, spreadsheet, presentation,
database and many other application software.
u  Payroll
software
u  Inventory
u  Tax
software
preparation and filing software.
u  Etc…
Software Market
Vertical market software:
u  Software
designed to operate and satisfy
the needs of a given business activity.
u  Customized
to a specific industry needs
u  Limited
usefulness to a specific activity
highlights the importance of application
competitiveness.
u  An
example of vertical market software
would be hotel or online reservation
software and travel software and point of
sale software
Programming Languages
u 
Computer language is code used to write
software.
u 
Machine language or object code or 1st
generation:
u  Strings
of 0s and 1s that represent
instructions, data and information.
u  Only
language that computers can
understand
u 
It is almost impossible for programmers to
write sophisticated codes using machine
language.
Programming Languages
u 
Assembly or 2nd generation language use machine language
strings to build command codes used in program instructions
u 
High level languages or 3rd generation and beyond are used
assembly language to develop more human friendly code: Basic,
FORTRAN, COBOL, C, Etc…
u 
These procedural languages convert specific algorithm into code.
u 
4th generation language was designed to meet the need of
creating and querying databases that overwhelmed our social
and business environment.
u 
u 
SQL is the standard
u 
PASCAL
u 
RPG of IBM etc…
5th generation is in the making using natural language paradigms
and extensive use of decision tables.
Programming Languages
u 
Considering that computer doesn’t understand any language
except machine language or object code, all languages are
programmer’s primary tools to author source code programs.
u 
Syntax is a set of rules dictating how to write the code.
u 
All source code programs must be converted into machine
language or object code before being submitted to computer
processing.
u 
Conversion is completed by a software utility program known
as compiler or interpreter
u 
Compiler translates the whole program together as one
translation unit.
u 
Interpreter translates one instruction at a time allowing for
live interactive translation over networks and internet and
WEB applications
Program Translators
All source code
programs must be
converted into
object code
(machine language
before being
submitted to
processing
Compiler: converts (source code) into
machine language or object code.
(the whole program together)
Interpreter: converts one instruction at a
time.
Object-Oriented Programming
u 
Object-oriented programming languages
are based on the creation and interaction of
reusable programming objects.
u 
An object is a class
u 
Subclasses are derived from class to represent
derived sub-objects.
u 
Subclasses inherit properties from higher
classes or subclasses
u 
Examples include:
u  C++
and C#
u  JAVA
Software Copyrights and Licenses
u 
u 
Copyright:
defines exclusive rights
legally granted to the
owner.
Software License:
Defines permissions,
rights, and restrictions
provided to the person
who purchases a copy
of the software.
u  Single User/Multiuser license
u  Network license
Most PC software will not allow the user to install the
software without first clicking “I accept
the terms in the License Agreement.”
Freeware
u 
Freeware is software that is made available to the
public for free. Reasons include:
u  build
customer interest and name recognition
u  wish
to make a valuable donation to society
Open Source
u  Open-source
software evolves
from the combined contribution of
its users.
The Free Software Directory (http://
directory.fsf.org) lists over 5000 software titles in
22 categories licensed under the GPL.
Creative Commons License
u 
Creative Commons license
is designed to allow the creators of
intellectual property to specify the terms of
the license in order to grant certain
freedoms to users, while still providing the
owner with some control of the property and
the ability to profit from the distribution of
the work.
(http://creativecommons.org)
Off-the-shelf Software
u  Off-the-shelf
Software
is mass-produced
software designed for
use by the general
public.
u  Shareware
u  Marketed
under a
"try before you buy"
philosophy
Subscription Model
u  With
a software
subscription you pay an
annual fee for as long as
you wish to use the
software.
u  This
model is ideal for
software such as virus
protection that requires
continuous updates.
Download