Software - Computing and ICT in a Nutshell

Download Report

Transcript Software - Computing and ICT in a Nutshell

Software
Coming up in today’s lesson…
• What is software?
• Different types of software
• The functions of common types of
software
• Choosing software
• Portability of data
What is software?
• Hardware is the physical
components that make up a
computer system.
• Software is the programs
and data that make the
hardware do something
useful.
• Software is NOT the CD or floppy disc that the program
comes on - usually you are just buying the licence to
use the software, and not the software itself.
Firmware
• You may also come across the term Firmware - this
is software that is stored in hardware (i.e. on a chip)
and is usually found in embedded systems.
• Not all computers are multi-purpose desktop or
laptop PCs, mainframe or mini-computers - some are
designed for a specific purpose and are built into
machinery - these are called embedded systems.
• Embedded systems
are mostly used for
control, e.g. in
washing machines.
Types of Software
There are three basic categories of software:
• Operating systems
• Applications
– Bespoke or off-the-shelf
– Suites, integrated packages and “hosted applications”
– General purpose / content-free
• Utilities
– Monitoring & communication software
– Security – e.g. anti-virus & firewalls
– Programming – e.g. compilers & interpreters
Operating Systems
• Control and manage the computer’s resources
– memory management
– resource allocation
– storage
– communication
– interrupt handling
• Examples include Windows, Unix, Linux, Mac-OS,
Android, iOS – plus many more!
• Some textbooks say that they are installed on the hard
disc, but this is not always the case, e.g. RISC-OS,
PDAs, embedded systems and early home computers
such as Spectrums and VIC-20s!
Functions of an Operating System
An operating system is installed locally and:
• Manages memory – including virtual
• Manages files and attributes
• Communicates – e.g. via a network
• Allocates resources (i.e. processing time,
memory and I/O) to different applications
• Controls peripherals
• Provides a user interface
Operating Systems
• The kernel is hardware
specific and controls
primary and secondary
storage, input and output.
Kernel
Shell
• The shell provides the
user interface - this could
be a command line or a
Graphical User Interface.
• It is possible that an operating system, e.g. Windows
or Linux, could run on several platforms (e.g. Intel,
AMD, Power PC, tablets, 32/64-bit versions, etc.) by
having the same shell with different kernels
Memory Management
• System resources and
hardware often require
memory which must be
allocated by the OS
• Most modern operating
systems are capable of multitasking (running several
programs at once) - each
program will require its own
area of memory to store data.
• Some types of OS can use multiple processors, so
they must also decide where a process takes
places, as well as which memory it will use!
User Interface
• Manages multi-tasking – e.g. each application in a separate
window
• Allocates events to the appropriate application:
–
–
–
–
Mouse movement
Mouse click/double-click
Key presses
Timers
Keystrokes
Shell
Mouse movements
or clicks
User Interface
• Provides the ability to transfer information between
applications – e.g. the clipboard in Windows
Application
A
Copy
Clipboard
• Provides a consistent
appearance to
applications, e.g.
menus, help, printing
and error messages
Paste
Application
B
Security Measures
The operating system would control:
• Access privileges - read, write, modify, delete, create,
etc.
• Access control – password, PINs, etc.
• Auditing - applications, files, times, printing, etc.
• Firewalls
• Performance management - availability, response time,
utilisation of hardware and software, traffic
• Protocols and Encryption
Utility Programs
• A utility is a small program, usually with a technical
function - they often come with an operating system.
• Examples of utilities are:
– Virus checkers
– Windows Explorer/File Manager/Xtree
– Printer Manager
– Scandisk & Defrag
– Winzip (or other compression software)
– Norton Utilities/PC Tools
– Compilers and interpreters
– Performance monitoring
– Backup and restore
Applications
• Written for a specific purpose – can be inflexible
• Such systems may be bespoke or off-the-shelf
• Bespoke systems are those written specifically
for a particular customer, e.g.
– Point of Sale (POS) systems
– Insurance quotation systems
– Management Information Systems (MIS)
• Off-the-shelf software - boxed products:
– Microsoft Office
– Adobe Suite – Dreamweaver, Photoshop, etc.
Open Source Software
• All types of software can be either:
– proprietary – usually produced by a company that
retains ownership of the software and might
protect it with patents, etc. Examples include
Windows, Microsoft Office, most games, etc.
– open-source – open source software is often
developed by a community of volunteers; it is free
to install and use, but you can also see the
“source” code to see how it works and change it
for yourself. Examples of open-source software
include Linux, Open Office, Android, Audacity,
Firefox and Chrome.
• Free software isn’t always open-source.
Hosted Applications
• Traditionally, the applications we use have been
installed locally – i.e. they run on the computer,
tablet or phone that we’re using.
• Improvements in communications and webtechnology have meant that we can now use
hosted applications – effectively applications that
run on web-pages.
• Examples of hosted applications include:
– Google Docs
– webmail applications such as Gmail
– programming environments such as Scratch
Hosted Applications
• Access from different
locations and devices
• Can collaborate on
documents
• Often free-of-charge
• No needs to install
• Requires no disc space
• Always using the latest
version and everyone is using
the same version
• Scalable – no extra licences
for new users
• Allows use of a less powerful
“client” – e.g. Chromebooks.
• Might not be as fully-featured,
e.g. no macros
• Security - documents are not
on your computer
• You are dependent on your
internet connection
• …and the service provider;
services quite often close
down (e.g. MSN, Vine, Wave)
• Can’t control which version
you use
• Performance – it might be less
responsive than locally
installed software
Software as a Service
• Traditionally, a licence to use proprietary
software (such as Microsoft Office) has been
purchased for a one-off fee, often per user or
per computer.
• Discounts have sometimes been available, e.g.
for education users or large orders.
• Software as a service is the name given to a
subscription model where a monthly fee is
paid, e.g. with Adobe products.
• Software is also often hosted centrally, e.g.
with Microsoft Office 365.
General Purpose/Generic Software
• Some software wasn’t designed for a specific
purpose - they are known as generic or
content-free applications
• Examples of generic software include:
– word processors and DTP applications
– database management systems
– Spreadsheets
• Generic software can come in integrated
packages or software suites.
Integrated Software and Suites
• Integrated packages
contain several of these
functions in one
application - e.g. Microsoft
Works or Lotus Symphony
• Software suites contain
these functions in separate
applications, e.g. Microsoft
Office, OpenOffice or
LibreOffice
Integrated Software
Software Suite
Examples of Generic Software
• Word processor – e.g. Word, Writer
• Spreadsheet – e.g. Excel, Lotus 1-2-3, Calc
• Database applications – e.g. Access,
Approach, Base
• Presentation – e.g. PowerPoint, Impress
• Electronic Mail & Diary – e.g. Outlook, Notes
• Web-browser – e.g. Firefox, Opera, Chrome
• Application generator – Access, Paradox
Functions of Generic Software
• Spelling and grammar checkers
• Ability to import files (filters)
• Mail-merge
• Automated processes – e.g. indexes
• Templates
• Formatting – fonts, justification, currency, dates, etc.
• Macros
• Ability to save in different (portable) formats
• Sorting and searching
• Animations and transitions
Portability
Why is there a need for portability of data?
• Users of different hardware, operating systems,
applications, or even different versions of the same
application may need to share data
• This is especially important in a networked
environment – e.g. in schools where there are a
mixture of PCs and Macs, or in Ill Health Team
lessons where we’ve had Windows, Mac, Android,
iOS and Chrome OS devices in lessons!
• For example, students in the first school at which I
taught used Windows PCs, Acorn RISC-PCs and
Network Computers (NCs) all on the same network
Portability
What are the barriers to the portability of data?
• Too many competing file formats – e.g. for an image
you have bmp, GIF, jpeg, PNG, etc.
• Manufacturers protecting their market share – Lotus
doesn’t want you to open 1-2-3 files in Excel
• Manufacturers deviating from (or “extending”)
standards, e.g. Microsoft with HTML and Java
• Differences between operating systems – e.g. fonts, UI
standards, peripheral support, etc.
Portability
What can we do to improve portability?
• Introduce standards – e.g. the new open document
standard for word processors like Open/Libre Office
• Use filters to convert between file formats – e.g. you
can use filters to open Works files in Word
• Use more portable formats such as .csv or RTF –
although you will sometimes lose formatting or features
• You can copy and paste data between applications (but
only on the same computer)
Features of a Word Processor
•
•
•
•
•
•
•
•
Spelling and grammar checker
Pre-defined styles and templates
Tables and columns
Creation of indexes and table of contents
Import other files / save in different formats
Graphics manipulation
Mail merge
WYSIWYG / print preview
Features of a Spreadsheet Application
•
•
•
•
•
•
Rows, columns, cells and ranges
Formatting - £, %, decimal places, etc.
Formulae for basic arithmetic
Functions – text, statistical, etc.
Macros & buttons
Simple database features – sorting and
filtering
• Charts / graphs
Features of a Database Application
•
•
•
•
•
•
•
Fields
Tables
Queries
Relationships
Forms
Reports
Macros
Features of Presentation Software
•
•
•
•
•
•
•
Styles and templates
Animations and transitions
ClipArt and sound
Automatic timings
Slide sorter
Macros
Bullet points and other formatting features
Features of E-Mail Software
•
•
•
•
•
•
•
•
Address, title and body
CC and BCC
Address Book
Forward and Reply
Different folders/boxes
Priority
Attachments
Filtering – e.g. for spam
Features of a Web-Browser
•
•
•
•
•
•
•
•
Space for address / URL
Home button
Back and Forward buttons
Favorites (sic) / Bookmarks
History
Cache
Scripting – JavaScript or VBScript
Security options – encryption, JavaScript,
Java, etc.
Choosing Software
What criteria would you use to choose software?
• Does it meet the specification?
• Compatibility with existing hardware (will current
hardware run it?) and software (will existing applications
read new data files?)
• Easy to use?
• Easy to learn?
• Is technical support reasonable?
• Cost
• Performance - use of ‘benchmarks’ i.e. time to do a
specific task
Software Development Life-cycle
Evaluation
Analysis
Testing
Design
Implementation