2.2.1 Software Fundamentals

What You Need To Know

| Software (Includes Freeware, Public Domain, Shareware, Commercial Software) | Integrated Software | Things included with a Software (includes User Manual, Registration Card, Warranty, Copyright, License (Single, Multi, Site) | User Interface (Includes Human Computer Interface and GUI [Graphical User Interface]) | Software Bugs | Operating Systems | Utility Programs (Includes Back-Up) | Viruses (Part of 2.1.1 System Fundamentals) | Data Security | Compression and Decompression | Back Door (Trapdoor) | Upload and Download | Wizards | | Template | Voice Recognition | | Social and Ethical Issues | Key Terms

Software (Includes Freeware, Public Domain, Shareware, Commercial Software)

Software: “Computer programs. The programs may be stored in non-volatile circuits (e.g. ROM, Volatile Circuits) (e.g. RAM [Random Access Memory] or in files on the hard disk, USB [Thumb Drive], CD-ROM, Floppy Disks, or Tapes)”

Software programs are classified as Operating Systems, Applications (Productivity), Utilities or Games. Software is either the people-written source code or the executable machine code, produced by assemblers or compilers (from the source code).

Software is available for purchase in four main categories:
- Software which is copyrighted, produced for free distribution and use but with restrictions on its sale or modification - Linux is an example of freeware (if you make changes to the source code, you are expected to pass the benefits of the improvements on to others)
Public Domain
- Software that is free and available to the public without restrictions. (i.e. Moodle as it can be personalized by users by altering the source code)
- Software that is freely distributed but users voluntarily pays a fee. Shareware is created on the understanding that there is an evaluation period (30 days?), using the software for longer than this - the user is expected to pay the ‘registration’ fee. A good example of this would be Norton Anti-Virus Protection Software, as the software can be downloaded with a 90-Day Trial restriction, after the 90 days go by payment is required for further use of the anti-virus software.
• Proprietary / Commercial Software
- Software, copyrighted, produced for sale or licensed for use. (i.e. Microsoft Office [Word, Powerpoint, Excel, Publisher], Adobe Photoshop)

In a more simplistic manner:
Public Domain
Commercial Software

Requires Payment to Use

Free Distribution/Sharing

Source Code Available


Restrictions on Modification of Software

Contains a "Trial" Period before users pay a fee


Has Software License

/ = Yes

Integrated Software

Integrated software packages combine a number of separate applications within one single program - ClarisWorks is a typical integrated software package, combining a word processing application, spreadsheet application, database application and graphics application in one piece of software. Open Office is also a Integrated Software.

A advantage integrated software is that for separate applications (such as Microsoft Excel and Microsoft Word), it is common practice to cut and paste data between the applications. For example, cutting and pasting a graph of data created in Excel into a word processed report created in Microsoft Word. In an integrated package however, cutting and pasting data (“data linking”) is easy - there are no file compatibility issues as all the individual sections of the integrated package (ClarisWorks) share a common file format. This is because in applications made by the same company (Microsoft Excel, Microsoft Word), data linking is more complex than in an integrated package as you are working between different physical programs - but data linking should still be relatively straightforward. In applications made by different companies (Adobe Photoshop, QuarkXPress), getting a picture into the desk-top publishing document is relatively complex and involves ensuring the files are in the correct format. Sometimes it is helpful if the data pasted into the destination document can be edited ‘live’, or alternatively, if changes are made in the source document then it is extremely helpful if the changes in the source document are updated automatically in the destination document. This feature is called dynamic data linking.

Things included with a Software (includes User Manual, Registration Card, Warranty, Copyright, License (Single, Multi, Site)

Within most software packages which are purchased, a number of paper documents are included:
User Manual
- provides installation instructions for the software, reference on how to use the software.
Registration Card
- to be filled in with your details and returned to the company, verifies you as the licensed user of the software.
- guarantees that the software works on the disk which you bought, NOT (bizarrely enough) that the software works i.e. is bug free - see accompanying warranty agreement.
Copyright Agreement
- License for a specific number of computers on which you can install the software, single workstation, multiple workstations or network/site license.

User Interface (Includes Human Computer Interface and GUI [Graphical User Interface])

All software enables a human user / operator to achieve a specific result or carry out a specific task. The element of the software which the human interacts with is known as the user interface.

Interface: “a boundary between two systems. An interface may be as simple as a hardware connector, or as complex as communication protocols or programs and features by which humans enter commands into, and receive information from machines.”

The HCI (Human Computer Interface) acts as a ‘go-between’ between the human user /operator and the physical hardware of the computer in order to achieve a specific result or carry out a specific task.

HCI’s have evolved considerably over the past 10 years, from text/character/command-line based interfaces, to more complex GUI (“gooey”) Graphical User Interfaces. There are a number of features of GUI’s which make them user friendly:

• The use of visual metaphors for the real world (desktop, folders, files etc)
• The language independence (a graphical representation of a folder is the same in every language!)
• The literacy independence (a graphical representation allows people with language difficulties such as special needs adults or very young children to work effectively with a computer)

Command-Line Interface: A user interface that requires the user to type text commands on a command-line to communicate with the operating system. (e.g. [doSomething] [how] [toFiles]) (Tomorrow's Technology and You, Page 617)

GUI (Graphical User Interfaces): A user interface based on graphical display. (e.g. Your current computer screens, to make the use of a computer much simpler and appeasing for the general audience) (Tomorrow's Technology and You, Page 622)

HCI’s have evolved from text/character/command-line based interfaces to GUI’s for a number of reasons:

1. Other than hardware requirements, there are a number of other factors which need to be considered when installing software onto a personal computer:
• Interference from virus checkers/anti-virus programs
• Memory allocation/configuration
• Printer configuration

2. When installing software onto a network there are similar factors to be considered:
• Multi-user software
• Single-user software
• User restrictions/read-write-share access to files

3. As new software is installed, so users have to learn how to use it. There are a number of options available:
• Tutorials (A set of lessons for users to work through within the software)
• "Help" Tab (usually within the software)
• Software (multimedia presentation software)
• Web-based tutorials
• Videos
• CD-ROMs containing the information
• Paper documentation/manuals
• Training courses on-site (personal trainer/tutor/teacher)
• Training courses off-site (personal trainer/tutor /teacher)

Within most packages now (GUI based), there are common features - they all operate with a ‘drag-and-drop’ WIMP based system:
• Windows
• Icons
• Menus
• Pointer

[Note: Sometimes WIMP is defined as Windows, Icons, Mouse and Pull-down menus - either definition is acceptable AS LONG AS IT IS ALL CORRECT! Do NOT mix them up!] - :)

Software Bugs

As with all software packages, bugs will occur every now and then (bug: “an unwanted operation or function in a program or in computer hardware” - this comes from the earliest days of computing when a moth was found in a large mainframe computer which had caused it to crash).

With reference to earlier notes on warranty agreements, it is commonly accepted that ALL software contains at least one bug as it is impossible to cover every possible scenario in which the software will be used, and as the software is so complex now (millions of lines of computer code) then no company can check every possibility. [Microsoft Word has two full CD-ROMs of documented bugs in its code.]

Operating Systems

Operating system: “A program that manages the files in a computer, controls internal or connected devices (peripherals), and runs other selected programs.”

The functions of an operating system include:
• Communication with input and output devices
• Concurrent processing and multitasking
(Note: Each Operating System is limited in it's multi-tasking ability depending on how much RAM the Operating System requires to run properly)
• Program and data management

A number of different operating systems exist in current use on personal computers, including:
• Windows ‘95
• Windows ‘98
• Windows NT
• Windows XP
• Windows Vista
• Windows 7
• Linux
• BeOS
• Mac OS
• Mac OSX Series (Tiger, Leopard, Snow Leopard, Lion)

When a computer is switched on/started up, it ‘boots-up’ - loading a set of programs controlling basic I/O to and from the hard drive or floppy disk.

The ‘boot-up’ system is stored in the ROM (Read-Only Memory) of a computer. It has to be in the ROM as the computer does not know automatically how to control the hard disk where the OS is stored and so could not load the OS from the hard disk without the boot-up program ( in the ROM ).

• Warm boot
• Cold boot

Utility Programs (Includes Back-Up)

Utility programs/software: “Programs used to manage or repair damaged files or to otherwise enhance the operations of a computer system.”

Utility software is different from regular applications software - utility software ensures the smooth day-to-day running of the computer rather than an application such as Microsoft Word which is used to achieve a specific task in a work or recreation environment.

There is a number of utility software packages available including:
• Anti-Virus Software (i.e. Norton, ClamXav)
• Disk ‘Doctor’ Software (i.e.)
• File Management Utilities (Disk Compression, Defragmentation)
• Password Security Software
Back-Up Software (i.e. Time Machine, Back-Up and Restore Center)

Backing up your data is something which should be done frequently, and typically can be achieved through using a choice of devices:
• Hard Drives
• RAID (Redundant Array of Independent Disks) Server
• Magnetic Tape
• Floppy Disk (Only small files due to the memory capacity of floppy disks and on machines produced before 2005)

Backing data up regularly is often a sensible thing to do as viruses can and do infect files from time to time, despite the Operating System or technology.

Viruses (Part of 2.1.1 System Fundamentals)

*Note: This is a summary, not in-depth, please refer to this page for more about Viruses.

Virus: “A that infects other programs or files by embedding a copy of itself into the target files.”

Viruses are propagated in a number of ways:
• Executing the Program/Software that contains and releases the Virus, by which the Virus' function could be to replicate itself.
• When attached to a e-mail, will take all of the contacts in a e-mail address book and mail itself to all these contacts.
• Sending the infected program out of one computer to another either through a disc, flash rive, or a computer network.

Viruses can have a number of different effects (the so-called “payload”). Some viruses will erase files from disks; others will display annoying messages on the screen. Other viruses will simply cause your computer to freeze (commonly referred to as ‘hanging’) or crash. Some viruses will cause the computer to run slower than normal (Lagging your System).

In addition to viruses causing problems with computers, there are also:
• Trojan Horses - Beware the insides of a program!
• Worms - The reproducing menace on computers!
• Logic bombs - Typed "Elephant" in "Passcode" Field...Event Triggered....1..2..3...Tick...BOOM!

It is important to note that these are NOT defined as ‘viruses’ as they do not append themselves to existing software i.e. these computer programs do not infect other files.

Data Security

Data needs to be kept secure in a number of circumstances or situations, some examples being:
• Guarding a "Top Secret FBI Information - Eyes Only" File from the "wrong" people within a database
• Carrying Future Military Operations/Plans on a Personal Computer
• Protecting information on Citizens and Tourists on Government Databases

Alternative strategies or methods for keeping data secure include:
• Employing the use of a Anti-Virus Software or a Firewall to prevent virus attacks
• Keeping the data on a external memory device to prevent virus intrusions or hackers from accessing the information
• "Disconnect" the computer or machinery the data is stored on from any sort of technological connection, excluding electrical power. This will make the computer a "stand-alone machine".

‘Good’ passwords exhibit a number of features:
• They are long
• They contain a mixture of upper and lower case characters, numbers and symbols e.g. Pas$#Wo87rd
• They are never written down, seriously you "epic fail" if you do.
• They are changed frequently
• They are not common words or terms (common passwords which many people use because they are easy to remember include: god, love, mother, father, John Smith, Fred - the disadvantage of these - as they are easy to remember - is that they are also easy to guess! )

In addition to more ‘traditional’ methods of security such as passwords, newer methods currently on trial in secure facilities include:
• Voice-Print/Voice-Scans
• Retinal Scans
• Tongue Scanner
• Blood Scanner
• Finger/Hand-Print Scans

These are known as Biometrics Security, which is a process of authenticating one's own self by his or her body parts or a unique physical characteristic. Biometrics was created to prevent unwanted or unauthorized access of other humans with a greater effect as oppose to the traditional method of data security.

Compression and Decompression

Compression: The coding of files to save storage space or transmission time. Most commonly used files of text, images, sound, or video can be converted ("compressed") into files of fewer bits. Many types of compression algorithm exist. Some compressions are better suited on one type of file than for others. Commonly used image compression methods are JPEG (file extension .jpg) and GIF (.gif). There are special compression methods for sound and video (e.g. MPEG compression) files. Some general-purpose compression methods are used for files without regard to the kind of data represented (e.g. zip for DOS based systems, Stuffit for Apple Mac and compress (using gzip) for UNIX). Two or more compressed files may be combined into an archive file using such compression programs. (ITGS Terminology - Compression)

Decompression: Expanding the compressed file to its original form, the vice versa of compression. Decompression basically unpacks the file in the opposite manner of how the file was originally compressed. (ITGS Terminology - Compression)

Back Door (Trapdoor)

Back Door (Trapdoor): A remote administration tool, or a program that when executed will allow a producer of the program to gain control on what another user is capable of doing on another computer through the backdoor of a computer that was opened by the program. It is not a virus, but is in essence a remote administration tool.

A good example of a Back Door would be "Backdoor Orifice" produced by The Cult of the Dead Cow. Many back then were not aware of the consequences of having BackDoor Orifice and thought it was really cool that their computer was doing everything without them having to use the mouse or keyboard, until of course the other user started deleting essential system files that cause their computer to crash entirely beyond repair.

"Back Orifice" is a hacker's dream, and a Netizen's nightmare.

A better description of Backdoor Orifice: (taken directly from this website)

It gives "system admin" type privileges to a remote user by way of the computer's Internet link.

What does this mean? It means that if Back Orifice is running in your computer, a remote operator anywhere on the global Internet can gain access and do almost anything you can do on your computer -- and some things you can't do -- all without any outward indication of his presence.

Back Orifice can arrive disguised as a component of practically any software installation. It can be attached to other files or programs or run on its own. It must be run, by itself or by another application. It then installs itself in seconds, typically erases the original, then may run a specified program. To the user installing an "infected" application, it will appear that all went normally. But from that moment forward, your system offers easy and comprehensive access anytime it is connected to the Internet.

In itself, Back Orifice does not cause any malfunction. It runs quite invisibly to the user, consumes insignificant memory and resources, and does little besides simply open up access to standard Windows 95 functions.

Win95/98 is in essence a networking operating system. It's designed to give access and control to the system administrator on any network to which it is connected. Back Orifice simply implements standard system admin functions and includes a few handy tools for the remote operator's convenience. But it does so very quietly, almost undetectable.

Upload and Download

Upload: To post software or documents to an online source so they're available for others. (Tomorrow's Technology and You, Page 632)

Download: To copy software from an online source to a local computer. (Tomorrow's Technology and You, Page 619)


Wizards: A software help agent that walks the user through a complex process. (Tomorrow's Technology and You, Page 633) Usually used when installing the uninstalling software from a machine on Windows. Macs only provide a wizard for the installation process.

A Digital Image of a Wizard:



Templates: In desktop publishing, professional designed empty documents that can be adapted to a specific user needs. In spreadsheet software, worksheets that contain labels and formulas but no data values. The template produces instant answers when you fill in the blanks. (Tomorrow's Technology and You, Page 631)

Templates are used on a daily life basis for many companies. This is because a template will save one time from having to re-create the same format or instructions that were previously created the other day without saving a template of the file. Pre-installed templates created by other computer users can already be found packaged with software such as word processing software or spreadsheet software, so as to allow a individual to save time by using these pre-installed templates without the need to create one.

Voice Recognition

Voice Recognition: A specialized software that converts speech to text. Usually use by those who do not have the ability to either see a computer screen and keyboard or those who do not have the ability to directly input information via the use of standard computer input devices such as a keyboard or mouse.

Social and Ethical Issues

Bug-Free Software:
Reliability - How reliable can the software be if the creators are claiming it is are bug-free?
Integrity - How truthful are these softwares in claiming so, have they conducted numerical tests and experiment on million of ways the software can be used?
Authenticity - How can they authenticate that the software is indeed bug free?

Software Privacy:
Policies and Standards - If there is no privacy in the software, surely this would be a issue of policies and standards as these creators will not be complying with the standards or privacy a software should meet.
Privacy and Anonymity - If there is no privacy in the software, than private information can be easily stolen by the creators and thus there would be no privacy or anonymity to the user who has input the information into the software unknowingly.
Security - If the information being inputted is not private, then there is essentially no security as there is no software privacy since the information can be supposedly easily taken by the software creator.

Interfaces Adapted for the Disabled:
Equality of Access - Not all disabled people have the same disability or the same impact of a disability, so how can interfaces truly adapt for the disabled when having to deal with multiple disabilities and impacts of a disability?
People and Machines - Does adding interfaces truly forge a connection between the Disabled people and technology that is suppose to be used by non-disabled people?
Control - Is it right to simply allow a disabled person who has either some or no technological background or may lack the ability to even properly use a computer be allowed to have control of one?

Language Independence of GUIs, making computers accessible to a very wide range of users, including those with special needs, and very small children:
Globalization and Cultural Diversity - Is it right for everyone to simply adapt to the same system that is considered a system standard?
People and Machines - Does this truly bring any individual closer to technology or allow a individual to better associate with technology?
Policies and Standard - Can we truly consider GUI to be a standard for society?

Use of Password Protection to prevent unauthorized access:
Equality of Access - By putting a password, that would be limiting the equality of access for those users who do not know the password.
Control - By putting a password, is it right for that individual who knows the password to control the data that is protected?
Security - Does a password truly provide the best security against cyber intrusions?

Globalization of Software:
Globalization and Cultural Diversity - Will the software be discriminating or impose a bad view on other societies/countries around the world?
Equality of Access - Does globalizing a software allow those without access to technology gain the software?
Control - With a software being shared globally, who truly posses control of the software? The owner? The country?

Knowledge of Technology

Key Terms

Software (Application)
Public Domain
Commercial Software
Integrated Software
User Manual
Registration Card
Serial Number
License (Multi-User)
License (Single User)
License (Site License)
Back Door (Trapdoor)
GUI (Graphical User Interface)
Command-Line Interface
Voice Recognition