ICT Revision Factsheets Module ICT2 Section 4 - Software ________________________ Describe the need for interfacing with peripherals storage devices, input and output devices and display devices; describe the need for printer and other peripheral drivers. Nature and types of software Describe the distinction between systems software and applications software; describe the purposes of operating systems. Describe the nature of package software, generic and specific, and of bespoke software. Describe the general characteristics of generic packages and the integration of objects and facilities for processing data protocols and standards. Describe the functionality offered by software which provides access to the Internet. Capabilities of Software Capabilities of software Describe the desirable features of packages that would be appropriate to particular users and activities such as: links to other packages; search facilities; macro capabilities; application generators; editing capabilities; ability to change or extend data and record structures; short access times; data portability and upgrade paths Upgradability Explain the technical and human implications of package change/upgrade. Reliability Explain the difficulties of thoroughly testing complex software. Software Definition: A computer program which is made up of a set of instructions (written originally in some language such as Visual Basic) which are loaded into the main memory of the computer and executed. Classification of software library programs bespoke software compiler assembler interpreter general purpose applications software system software application programs utility programs operating system special purpose applications software ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved The Operating System (System Software) Care needed, as some textbooks will use the term ‘system software’ to categorise both the operating system software and language translation software (as in the diagram above ...) Definition: The operating system is the software which ‘manages the resources of the computer’ the processor the main memory (immediate access store) the backing store/the filing system the peripheral devices What in particular will the op. system be concerned with? Processor switching processor time between different tasks e.g. a ‘background’ printing task, and ‘foreground’ word processing by the user interrupt handling e.g. error messages provided to the user Main Memory allocates storage space to programs or documents whilst being processed E.g. temporary storage for data transfer (say) between word processing package and printer, e.g. use of a print buffer E.g. allocates storage for data being copied from one document & pasted into another Peripheral devices deals with routing of data via appropriate paths deals with multiple requests for a printer , dealing with ‘conflicts’ communicates error messages E.g. paper out from printer Backing Store supervises the transfer of data between memory and backing store when work is saved or loaded deals with a request for storage space on disc ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved stores documents in a print queue whilst waiting to be scheduled for printing organises the physical storage of files on the available backing store Utility Program Definition: A system program which carries out some common task. E.g. Formatting a disc, or searching the disc for bad sectors Often these 'utility programs' are provided with the operating system Library Program Systems program available on the system which link the operating system software with various application programs. Windows calls these 'dynamic link library (.DLL) files. E.g. you will have seen this when you install a new piece of software where – because the new program is using a library file which already exists on the computer from a program already installed – Windows will report (say) that a newer version of the library file already exists on the system – overwrite? Language Translators A piece of software which translates a program written by the developer (in some high or low level programming language) into an 'executable file' (machine code file). The translator would provide error reports to help the developer identify the errors in the program code. Compiler Translator for a high level language written by the programmer into machine code. Translators all the code, finds the errors, and only produces the executable version when all the errors have been fixed. Compilation can therefore be a repetitive process, until all errors are eliminated and is a key part of the original testing of the program. Assembler Software which translates an assembly language program into machine code. Interpreter Translator for a high level language into machine code. Interpreters check the code one line at a time, checks for errors, and executes (if no errors), or stops the program executing. Execution does not require the program to be in machine code. Every time we attempt to run the program, the interpreter software must be available in memory. E.g. Javascript which is attached to some web page. The browser software must have its properties set to translate Javascript when the page is loaded. The has been no attempt by the write of the page to translate the Javascript code before it is viewed in the recipient’s browser. Applications packages Generic software E.g. Word processing, spreadsheet, database, presentation software. Typical applications for a word processing package Note, these all support the classification of ‘general purpose’ use of templates for standard documents e.g. invoices, customer quotations mail merge writing of large formal reports and technical documentation Typical applications for a spreadsheet package basic calculations presenting tabular type data (simple) database type features production of charts and graphs ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved Graphics Design high degree of accuracy can be obtained repeatability of common features/tasks speed and flexibility of production of drawings/documents use of templates use of graphics libraries use of specialist ‘drawing tools’ Presentation Software E.g. PowerPoint wide range of outputs available E.g. hard copy of slides, summarised onto a single page to allow hand written comments inclusion of video / animation to improve impact automation of presentation (i.e. do not have to physically put transparency on projector) provision of navigation tools ease of editing or replacing individual slides/re-ordering the slides use of templates E.g. useful for presentations which need a ‘corporate feel’ makes the presentation 'more impressive' to the audience allows import from other packages E.g. a spreadsheet figures or chart presentation file can be sent as attachment to staff remote from the office/venue Macros Are a feature of generic applications packages ... Definition: A stored sequence of instructions or program, to carry out a task. The macro is saved by name, and is then ‘run’ is response to some event , such as a command button click event. Testing Macros Unit Testing: test the macro works correctly, but in isolation Integration Testing: testing the macro but in its environment, and (if appropriate) as part of a macro sequence ‘Special purpose’ applications software Examples could include: 1. CAD for computer aided drawing 2 DTP for desktop publishing 3. Browser Software which connects to the Internet consideration of type of connection dedicated line e.g. ASDL dial-up connection connection requires service from an ISP Integrated Package Single software package which combines the features usually found in a number of distinct applications such as word processing, spreadsheet and a database. Advantages common interface allows for the sharing of data between the various software components Communication between Software and Peripherals At the machine level this is done with software called: ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved Drivers Definition: software which translates the codes sent by the software to the device (printer). Typical codes will represent the margin sizes, formatting effects (such as italics, etc), font size, etc Why are drivers required? The availability of different drivers, enables a wide range of hardware to act as the output device from that software installed printer driver is the bridge between the software, the operating system and the hardware, to ensure that the codes sent from the software are correctly understood by the hardware drivers get updated, so production date must be considered driver will be produced for the version of the software (i.e. op. system and the release e.g. Word 97) and the device Installing software software must follow the correct installation procedure – often now usually fully automated with user responses following prompts via Wizard installation process software must be compatible with systems software E.g. the applications software copy is (say) a Windows 98 copy Writing Software The first possible solution is to search for a software solution which already exists. E.g. Order processing is such a common business activity that there will be ‘software houses’ (i.e. firms which sell a software solution) which has available a package to match with the requirements of a potential client. Package software generic would be packages such as Access and Excel which are the software tool with which to build a customised application specific payroll package, or invoicing and accounts management package which is already available but will requires some tailoring to match with the new client’s precise requirements Bespoke software software which has been written specifically for a one-off client E.g. software to use with a newly produced digital camera Characteristics of generic packages allow the integration of objects from other packages Microsoft products have a common programming language for macro writing (VBA – Visual Basic for Applications) allow import/export facilities for files in all the popular file formats .doc, .jpg, .pdf, etc. use the same data protocols and standards Bespoke software Advantage: Should match with the user's requirements exactly Disadvantage: expensive, since the development costs cannot be shared amongst a large user base the system could be prone to bugs as there has not been widespread use of the software to find all possible errors Usually assumes no program already exists which addresses the problem specification. E.g. the software to use with a new scanner, or to download the pictures from a digital camera. ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved Software Design considerations use of colour use of font size and layout portability across different machines E.g. screen resolution application of company standards E.g. size and colouring of logos – is there a template available? avoid too much information on a single screen Software Upgrading Be clear the different between a new version/release of the software and a revision of the software. Testing software Is still a human activity and consequently requires large amounts of time and resources. E.g. Recent figure reported in the press that Microsoft has over 7000 staff dealing with problems reported with Windows XP – and that’s after it was released! ‘Alpha’ version Software which is tested ‘in house’ before it is made more widely available. ‘Beta’ version The version which is released to approved participants before is generally put on sale. the upgrade may be just a ‘fix’ for some bug which has only recently surfaced in the use of the software (in a business setting) upgrading to a new version the manager must balance the cost of the upgrade, against the likely perceived benefits upgrade must be installed and tested may be available as a download file from the supplier may involve (say on a network) downtime while the upgrade takes place upgrade may be ‘major’ i.e. a change of version allow time for training of users in the new features and other usage issues user wish to take advantage of new functionality/features timing at which upgrade is done should cause minimal disruption to the system – minimum ‘downtime’ support may not be available forever for old versions so upgrade encouraged, and software should be chosen so that the business in confident that the producer will still be around in (say) five year’s time! ___________________________________________ ICT Revision Factsheets © March 2000 e-Publishing Solutions All rights reserved