Wednesday, May 5, 2010

Application Software

Software applications work through the operating system to gain access to the hardware.

There are two types of application software

* User Application Programs ( Specially written softwares)

These are custom-written by the user, or a software house under contract, to perform specific job.

*Application Packages (Generic Packages)

These are prewritten programs purchased 'off the shelf' by the user.

Advantages of applications packages:

  • Save time, effort and expense of programming
  • Tried and tested - good quality and 'error free'
  • On-line help facilities for ease of use
Disadvantages of application packages:

  • May not meet the special needs
- Packages are designed to meet the needs of different users and they may not be exactly suitable. However many packages can be modified or customized to meet special needs.
  • Continuity of support and guarantee
- It is useful to have a programs maintenance agreement so that upgrades and later versions can be provided as well as help if things go wrong.

A software application carries out tasks that the user is interested in doing such as:

* Writing a letter
* Creating Graphs
* Sending an email
* Downloading a webpage

Application can be classified under three main categories:

* General purpose software
* Specialist software
* Tailor made/Bespoke Software

SOFTWARE

What is a software?

Software refers to the program that we run on our computer systems.

Software is made up of series of instructions which tell the hardware to do something useful e.g. to print a document, save a file or display a webpage.

Software Categories

There are two main categories of a computer software. They are:

1. System Software - controls the performance of the computer system or provides commonly used facilities. E.g. :

* The Operating System
* A compiler
* Utility programs
* Drivers

2. Application Software - programs that you use to do work on the computer like typing a letter, calculating budget and so on. E.g. :

* Word Processing
* Spreadsheet
* Database
* Graphics packages
* Presentation Software/Authoring Tool
* Web Browsers

More details on Application Software

Tuesday, April 13, 2010

User Interface

d) Describe different types of user interface: forms, menus, GUI, natural language and command line, suggesting the characteristics of user interfaces which make them appropriate for use by different types of user

Which type of user interface is the most suitable depends on many factor, consider :

- Does it need to be displayed on a tiny screen?
e.g mobile phone, if yes then its going to be difficult to use a GUI, probably a menu driven interface is the most suitable.

- Does it have very specific task to do?
e.g a software backup programme. This can run in the background without even a monitor - so no point designing a fancy menu or resource hogging GUI - a simple command line interface would do.

- Does it have to interact with many different types of user?
Can it be used with a colour monitor? In this case a GUI is probably the best choice.

Forms:

When a user is required to enter data such as sales invoices or customer names and addresses, it is common to have a 'form' displayed on the screen for the user to fill in.

Menus:

1) Full Screen Menu. This type of menu is often used as the 'front end' of an application. It stays on screen until the user makes a choice.

2) Pull-Down Menu. This type of menu is displayed along the top of the screen, and when the user clicks on an item, a sub-menu appears. The menu is always present whatever screen the user is looking at in the application.3) Pop-up Menu. The menu pops up in response to, say, a click of the right mouse button on a particular area of the screen

Command Line: With this type of interface very little help is given to the user who has to type a command such as, for example using MSDOS PROMPT: to delete a file. DIY! lCommands enable a user to quickly and concisely instruct the computer what to do but they do require the user to have a knowledge of the commands available and the syntax for using them. e) describe the purpose of a range of utility software e.g. disk formatting, file handling, hardware drivers, file compression and virus checkers

Disk formatting is the initial part of the process for preparing a hard disk or other storage medium for its first use. The disk formatting includes setting up an empty file system. A disk formatting may set up multiple file systems by formatting partitions for each file system. Disk formatting is also part of a process involving rebuilding an entire disk from scratch.

File Handling - In computer programming, a file descriptor is an abstract indicator for accessing a file. The term is generally used in POSIX operating systems. In Microsoft Windows terminology and in the context of the C standard I/O library, "file handle" is preferred, though the latter case is technically a different object (see below).Hardware Driver - A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface.

File Compression -
In computer science and information theory, data compression or source coding is the process of encoding information using fewer bits (or other information-bearing units) than an unencoded representation would use, through use of specific encoding schemes. As with any communication, compressed data communication only works when both the sender and receiver of the information understand the encoding scheme. For example, this text makes sense only if the receiver understands that it is intended to be interpreted as characters representing the English language. Similarly, compressed data can only be understood if the decoding method is known by the receiver.

Virus Checkers -
Antivirus (or anti-virus) software is used to prevent, detect, and remove malware, including computer viruses, worms, and trojan horses. Such programs may also prevent and remove adware, spyware, and other forms of malware. A variety of strategies are typically employed. Signature-based detection involves searching for known malicious patterns in executable code. However, it is possible for a user to be infected with new malware for which no signature exists yet. To counter such so-called zero-day threats, heuristics can be used. One type of heuristic approach, generic signatures, can identify new viruses or variants of existing viruses by looking for known malicious code (or slight variations of such code) in files. Some antivirus software can also predict what a file will do if opened/run by emulating it in a sandbox and analyzing what it does to see if it performs any malicious actions. If it does, this could mean the file is malicious.

User Interface - Natural Language User Interface

This kind of interface seeks to allow you to instruct the computer simply by talking to it. This is called "Natural Language Interface"

The ideal concept of a natural language interface is for you to say something like "Computer - Open the last document I used" and machine would carry out the task - no pointing, clicking or typing!

Voice-activated interfaces are now appearing in cars.

It needs a very specific, carefully spoken commands so, there are difficulties

Examples:

- People speak differently with accent, language etc
- Language is often ambiguous
- Understanding speech in a noisy environment is difficult.

User Interface - Graphical User Interface

A graphical user interface (GUI) (sometimes pronounced gooey) is a type of user interface item that allows people to interact with programs in more ways than typing such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment with images rather than text commands.

A GUI offers graphical icons, and visual indicators, as opposed to text-based interfaces, typed command labels or text navigation to fully represent the information and actions available to a user. The actions are usually performed through direct manipulation of the graphical elements.

Examples: videogames, windows etc.

Advantages of GUI

- The user does not have to learn specific commands or have exact typing skills.
- A pure Graphical User Interface may not even need language, thus can be used by anyone e.g a service kiosk at an airport.

Disadvantages

- Needs a lot of RAM to run properly
- Takes up a large amount of hard disk space


Wednesday, April 7, 2010

Topic 2 System software

(a) Describe the purpose of operating systems

- Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run.

Examples of operating systems are DOS, OS/2,Windows and Linux.


(b) Describe the characteristics of different types of operating systems and their uses: batch, real-time, single-user, multi-user, multi-tasking and network systems

Batch
Performing a particular operation automatically on a group of files all at once rather than manually opening, editing and saving one file at a time.

For example, graphics software that converts a selection of images from one format to another would be a batch processing utility.

Real Time
As fast as required. A real-time system must respond to a signal, event or request fast enough to satisfy some requirement. Real time often refers to process control and embedded systems.

For example,
1.space flight computers must respond to changing conditions in order to keep the rocket ship on course.
2.Industrial robots must respond quickly in order to keep the assembly line moving at full speed. 3.Anti-lock brakes and other driving assist systems must respond to changing road conditions immediately in order to benefit the driver and vehicle

Single-User
Single user mode is a mode in which a multiuser computer operating system boots into a single superuser. It is mainly used for maintenance of multi-user environments such as network servers.

Some tasks may require exclusive access to shared resources, for example running fsck on a network share.

Note: The system utility fsck (for "file system check") is a tool for checking the consistency of a file system in Unix and Unix-like operating systems such as Linux.

Multi-User
Multi-user is a term that defines an operating system or application software that allows concurrent access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving the CPU idle while it waits for I/O operations to complete.

Multitasking
Multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU.Multitasking allows many more tasks to be run than there are CPUs.

(c) Identify a range of applications requiring batch processing and a range of applications in which a real time response is required.

1.Batch
ProcessingData processing
A typical batch processing procedure is End of day-reporting (EOD), especially on mainframes. Historically systems were designed to have a batch window where online subsystems were turned off and system capacity was used to run jobs common to all data (accounts, users or customers) on a system. In a bank, for example, EOD jobs include interest calculation, generation of reports and data sets to other systems, print (statements) and payment processing.

2.Printing
This normally involves the operator selecting the documents they need printed and indicating to the batch printing software when, where they should be output and priority of the print job. Then the job is sent to the print queue from where printing daemon sends them to the printer.

3.Databases Batch processing is also used for efficient bulk database updates and automated transaction processing, as contrasted to interactive online transaction processing (OLTP) applications.

4.Images Batch processing is often used to perform various operations with digital images. There exist computer programs that let one resize, convert, watermark, or otherwise edit image files.

5.Converting Batch processing is also used for converting a number of computer files from one format to another. This is to make files portable and versatile especially for proprietary and legacy files where viewers are not easy to come by.Real-time Response