Module 3 - Computer Programming Development - Problem Solving
Module 3 - Computer Programming Development - Problem Solving
Module 3
Computer programming Development &
Problem Solving
Table of contents
Specific Outcome 1 : Explain the principles of computer input and output design.
The explanation identifies the various types of inputs and outputs.
The explanation distinguishes between appearance and the underlying structure and
processes.
The explanation identifies the purpose of user involvement in creating the designs.
The explanation compares online computer functions with manual forms and offline data
entry.
The explanation includes a discussion of input and output that compares graphical input and
output functions with text based input and output functions.
Specific Outcome 2 : Design computer input and output functions
The design meets the specification for the function.
The design can be implemented in the specified computer environment.
The design conforms to an industry recommended format for the function.
Specific Outcome 3 : Create computer input and output functions
The creation ensures that the function format corresponds to the design.
The creation ensures that the function behaviour corresponds to the design.
TIMEFRAME
10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 6hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =14 hrs.
At the end of this unit standard you will be able to Apply the principles of designing
computer system inputs and outputs
Purpose:
People credited with this unit standard are able to:
Specific outcome:
Explain the principles of computer input and output design
Design computer input and output functions
Create computer input and output functions
Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.
Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
Information for you to read
Exercises that require you to have a problem-solving approach to communication
Questions for you to answer
Case studies with questions that follow
The facilitator will tell you which exercise you need to complete each day.
You need to hand in your answers to the facilitator who will mark it for correctness.
If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
Ask the facilitator for help, if you do not understand any of the questions asked.
Always remember to give reasons for your answers
Input design facilitates the entry of data into the computer system. Input design involves the
selection of the best strategy for getting data into the computer system at the right time and as
accurately as possible. This is because the most difficult aspect of input design in accuracy .The use
of well-defined documents can encourage users to record data accurately without omission.
For example, if a customer's telephone number is a needed input data, the sales order form should
have a specific line that is clearly labelled "customer telephone number". Having several lines
labelled "customer information" would be less effective. This is because sometimes only the name
and address would be filled in leaving out the telephone number.
Input design must capture all the data that the system needs, without introducing any errors. Input
errors can be greatly reduced when inputting directly by using appropriate forms for data capture
and well-designed computer screen layout.
1.1.1 During design of input, the analyst should decide on the following details:
Methods for performing input validation and steps to follow when errors occur
The design decisions for handling input specify how data are accepted for computer processing. The
design of inputs also includes specifying the means by which end-users and system operators direct
the system in performing actions.
Output refers to the results and information that are generated by the system. In many cases,
output is the main reason for developing the system and the basis on which the usefulness of the
system is evaluated. Most end-users will not actually operate the information system or enter data
through workstations, but they will use the output from the system.
1.1.2 While designing the output of system, the following factors should be considered:
Decide on the mode of output, i.e. whether to display, print, or "speak" the information and
select the output medium
These activities require specific decisions, such as whether to use pre-printed forms when preparing
reports and documents, how many lines to plan on a printed page, or whether to use graphics and
colour. The output design is specified on layout forms, sheets that describe the location
characteristics (such as length and type), and format of the column heading, etc.
Outputs are data going out from the system to the users. The users may be an external entity, or
maybe internal (boundary between computer-system and manual system). You have to be careful
when determining the output data flow. Notice that dataflow – inquiry form – is a form that induces
the input from the user (Customer) that means although the dataflow goes out of the system
boundary, that form is an input form and not an output.
On-line input is the capture of data at its point of origin in the business and the direct
inputting of that data to the computer, preferably as soon as possible after the data
originates. The system user directly enters the data when or soon after that data originates.
No data entry clerks are needed! There is no need to record data onto a medium (paper and
such) that is later input to the computer; this input is direct! If data is entered incorrectly,
the computer's edit program detects the error and immediately requests that the operator
make a correction.
Biometric ADC technology is based on unique human characteristics or traits. For example, it is
known that every individual can be identified by their own unique fingerprint, voice pattern, or
pattern of certain veins (retina or wrist).
This technology is particularly popular for systems that require security access.
Point-of-sale terminals in retail and grocery stores frequently include bar-code and optical-character
readers. Bar codes eliminate the need for keying data, either by data entry clerks or end-users.
Smart card applications are particularly promising in the area of health records where a person’s
blood type, vaccinations, and other past medical history can be made readily available. Other uses
Because inputs originate with system users, human factors play a significant role in input design.
Inputs should be as simple as possible and designed to reduce the possibility of incorrect data being
entered.
The volume of data to be input should be minimized. The more data that is input, the greater the
potential number of input errors and the longer it takes to input that data. Thus, numerous
considerations should be given to the data that is captured for input.
Do not enter constant data. For instance, when deciding what elements to include in a SALES ORDER
input, we need PART NUMBERs for all parts ordered. However, do we need to input PART
DESCRIPTIONs for those parts? PART DESCRIPTION is probably stored in a database table. If we input
PART NUMBER, we can look up PART DESCRIPTION. Permanent (or semi-permanent) data should be
stored in the database. Of course, inputs for maintaining those database tables must be designed.
If you input QUANTITY ORDERED and UNIT PRICE, you don't need to input EXTENDED PRICE, which is
equal to QUANTITY ORDERED times PRICE. Another example is incorporating FEDERAL TAX
WITHHOLDING data in tables (arrays) instead of keying in that data every time.
Developing graphical user interfaces for new applications involves two stages for input design. In the
first stage, the designer focuses their efforts on correctly identifying the confirming content of the
input. And, consistent with the repository-based programming emphasis discussed earlier, to
identify properties or characteristics for that input data.
The second stage deals with the overall appearance or look and feel of the input. This stage is
typically deferred until the designer has given consideration to the overall appearance and working
of the entire application’s interface.
Given an input to be designed, we should review the required attributes. The basic content of these
inputs should have been recorded in the project repository during systems analysis. If the content
has not been recorded, we can define input requirements by studying the output and database
requirements or designs. An output attribute that can't be retrieved from database tables or
calculated from attributes that are retrieved from tables must be input! Additionally, inputs must be
designed to maintain the database tables in the system.
Now that we have an idea of the content for our input, we can address the proper screen-based
control to use for each attribute to appear on our screen. Using the repository-driven programming
approach, we would first check to see if such decisions and other attribute characteristics have
already been made and recorded as repository entries. If so, we would simply reuse those repository
entries that correspond to the attributes we will using on our input screen(s). In those cases where
there is no repository entry, we will have to simply create them.
The logo appearing in the upper right portion of the screen was included to adhere to a company
standard - that all screens must display the company logo. The buttons also appearing in the upper
center and right portion of the screen were added because of the decision to combine the three
inputs into a single screen. They were needed to allow the user the option of select the desired type
of input and record action. Draw your attention to the following:
The PRODUCT NUMBER, MONTHLY UNIT SALES, YEAR UNIT SALES, and TOTAL UNIT
SALES are screened in a special color as a visual clue to the user that these fields are
locked and they cannot enter data into them. These fields are automatically
generated by the system. Other fields appearing on the screen have white
background as a visual clue that they are editable.
Notice that edit masks were specified for these input fields. The UNIVERSAL
PRODUCT CODE field contains dashes in specified locations. The user does not
actually enter these dashes. Rather, the user simply types in the numbers and
Each field on a screen has been given a label that is meaningful to the users.
Feedback from the indicated that “CC” was a commonly recognized abbreviation for
“closed caption”. Also, the users indicated that a label was not necessary for
CATALOG DESCRIPTION.
Notice that related radio buttons have been arranged in a group box that contains a
descriptive label. Group boxes are frequently used to visually associate a variety of
controls that are related. For example, notice the group box labeled “Common
Information”. The fields located inside this group box were grouped together
because the user associates these attributes any type of SoundStage product. Also,
realize that each label that correspond to a radio button option is not what is
actually input and stored in the database. Rather, what you see is the meaning of
the value. The actual value that is stored is a code. For example, the code value “E”
would actually be stored instead of “English” if the user selects the radio button
labeled “English” for the attribute LANGUAGE.
Notice that the multiple-line text box has a vertical scroll bar feature. This is a visual
clue that there is additional text not appearing inside the CATALOG DESCRIPTION
field.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
_________________________________________________________________________________
Learner’s Guide
Table of contents
The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:
TIMEFRAME
10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 15 hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =35 hrs.
At the end of this unit standard you will be able to Manage software development source
files using appropriate tools
Purpose:
People credited with this unit standard are able to:
Specific outcome:
Locate software development source files
Retrieve software development source files for update purposes
Demonstrate an understanding of fundamental mathematics (at least NQF level 3).
Demonstrate PC competency skills (End-User Computing unit Standards, at least up
to NQF level 3.)
Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.
Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
Information for you to read
Exercises that require you to have a problem-solving approach to communication
Questions for you to answer
Case studies with questions that follow
The facilitator will tell you which exercise you need to complete each day.
You need to hand in your answers to the facilitator who will mark it for correctness.
If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
Ask the facilitator for help, if you do not understand any of the questions asked.
Always remember to give reasons for your answers
1. Locate Opener
Locate Opener installs itself into your right click context menu, and when you run the program
executable it simply has an install or remove button to add it into the menu. From there, you right
click on an unrecognized or incorrectly labelled file and select Locate Opener from your context
menu. Depending on whether the file has no extension at all or one it cannot identify, you will either
be asked to look for the extension online at file-extension.net or to scan the file with TrID.
3. Identify!
Identify! is a very old utility that dates back to 1999, but still actually works fine, even on Windows 7
x64, and it’s also only a tiny 200K portable executable. There may be newer file formats around since
then but the way they’re identified is still exactly the same. The list of around 150 supported types is
rather small compared to the 5,000+ in the TrID database, but it covers the most common types.
Also Identify! has an added feature built in which is you can easily add your own file formats to its
current list or edit what’s already there. Go to Edit -> Library to access the editor.
4. ExifTool
The ExifTool program works in a slightly different way to the other programs here because it’s a
command line tool that you can also use from the desktop. Simply extract the executable from the
zip file and to identify a file, drag and drop it onto the ExifTool icon. Any extensions the file has will
be ignored and its content will be scanned so it doesn’t matter if the file has no extension or simply a
wrong extension.
5. Analyze It!
Apart from the ability to determine a file type from its content, AnalyzeIt! also has a couple of other
functions which could be useful to some. One is getting detailed information about a file extension
such as Mime type and classification, the company that created it, its ID and also the characters in
Hex and ASCII that identifies it. There’s an even more advanced window of detail in the PE Info tab
which can give raw information about executable files. The Content Into tab is the most useful one
for identifying unknown files.
My notes
Backup specifics and procedures vary according to the needs of a company. Periodically reviewing
your backup-and-restore process is a key part of ensuring data security.
This section offers a series of checklists — suggestions and questions — to serve as flexible
guidelines when you develop a comprehensive backup-and-restore process for your company.
Delegation of Tasks
It is critical that reliable personnel perform your backup and restore operations. Consider the
following questions when deciding how to delegate these tasks:
Who makes the policy that determines what files and computers are backed up, and how is
the policy made known?
Who does the backup when the assigned backup operator is unavailable?
To whom is the success or failure of a backup reported? Who notifies the users if a backup
fails?
Do all backups, both full and partial, occur outside of regular business hours?
How long does it take to retrieve backups or copies from a local or remote storage area? Can
the remote copies be obtained at any time or only during business hours?
How long does it take to perform a full restore if the computer fails?
Make sure to take certain issues into consideration before a backup problem occurs:
Determine who is notified if a problem or backup failure occurs, and what process they
follow.
Does your technical support staff have configuration information about computers running
Windows 2000? If not, you need to determine how to make the information available in the
event of a problem.
How does support from hardware or software vendors affect how long fixes take?
If trained personnel monitor overnight backups, are they also scheduled to work the next
day? Who covers their other duties while they troubleshoot backup problems or restore
data?
Security Considerations
The security of your backup operations, as well as the security of the storage location, is of
paramount importance. Take the following questions into consideration when planning for the
security of company data:
What has been done to make the backup location secure in the event of fire, flood, theft, or
another disaster?
Are the tapes that are stored on-site always accessible to the people who need them?
Policy Considerations
Developing a backup-and-restore process and deciding what to back up requires that you either set
or comply with company policy. Keep the following issues in mind when determining your backup
plans:
What is the policy for backup, and how is your plan in compliance?
Are all modified files to be backed up, or does company policy specify only critical files or the
files of certain users, groups, departments, or divisions?
You also need to determine how your backups are performed. For instance, determine the following:
Does the system have to meet certain conditions before the backup starts?
How is the backup started — from the command line, from an icon, or by batch?
If the path is long, the file name odd, the file size very large, or the number of files large,
does the backup still work? Can you restore files that have these characteristics?
Is the backup done to a local tape drive, remotely over the LAN, or remotely over the wide
area network (WAN)
How are the connections between a data source and the storage device verified before the
backup begins?
Are computers equipped for power outages if operators are not present when backups take
place?
What is the process in place for dealing with unforeseen occurrences during a backup or
restore?
Try performing a trial restoration periodically to verify that your files are properly backed up. A trial
restoration can uncover hardware problems that do not show up with software verifications.
After a backup strategy has been designed, test it thoroughly with as many simulated failures as
possible. For example, if you use disk mirroring, simulate a disk failure by removing or powering
down one of the mirrors and ensure that remaining mirror continues to operate without
interruption. Again, while RAID is effective, it does not eliminate the need for backups. A data
recovery plan based on disk mirroring alone offers no protection if a computer is stolen.
The following questions can help you assess your verification strategy.
After you make changes to the operating system (such as installing a service pack), or the
backup program, does the backup-and-restore process work properly?
After you make hardware changes (such as installing a new controller or tape drive, or
changing the BIOS on the motherboard) does the backup-and-restore process work
properly?
When you change the hardware or software involved in a backup, how do you verify that
you can use the old tapes?
Keeping accurate backup records is essential to finding missing information quickly, particularly if
you have accumulated a large number of high-volume media. Thorough records include media
labels, catalogs, and online log files and log books.
Media labels Labels should contain a date, the type of backup (normal, incremental, or
differential), and a list of contents. If you are restoring from differential or incremental
backups, you need to locate the last normal backup and either the last differential backup
or all incremental backups created since the last normal backup. Alternately, you can label
media sequentially and keep a log book of media content.
Catalogs Most backup software includes a mechanism for cataloging backup files. Backup
stores backup catalogs on the backup media and temporarily loads them into memory.
Catalogs are created for each backup set, or collection of backed up files from one drive.
Log files Log files include the names of all backed up and restored files and directories. A
log file is useful when restoring data because you can print or read it from any text editor.
Keeping printed logs in a notebook makes it easier to locate specific files. For example, if
the tape containing the catalog of the backup set is corrupt, you can use the printed logs to
locate a file.
A verify operation compares the files on disk to the files on backup media. It occurs after all files are
backed up or restored, and it takes about as long as the backup procedure. It is recommended that
you perform a verify operation after every backup, especially if you back up to a set of media for
long-term storage. A verify operation is also recommended after file recovery.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__
The candidate undertaking this unit standard is best advised to at least spend one hundred hours of
study time on this learning programme. Below is a table which demonstrates how these one
hundred hours could be spread:
TIMEFRAME
7. Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work = 9
(Total hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =21 hrs.
At the end of this unit standard you will be able to Produce documentation for a computer
program to agreed standards
Purpose:
People credited with this unit standard are able to:
Specific outcome:
Plan documentation for a computer program to agreed standards
Create documentation for a computer program to agreed standards
Review documentation for a computer program for completeness
Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.
Resources (selective resources might be used, depending on the facilitator and venue
circumstances), one or all of the following can be used:
Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
Information for you to read
Exercises that require you to have a problem-solving approach to communication
Questions for you to answer
Case studies with questions that follow
1.0 Introduction
All large software development projects, irrespective of application, generate a large amount of
associated documentation. For moderately sized systems, the documentation will probably fill
several filing cabinets; for large systems, it may fill several rooms. A high proportion of software
process costs is incurred in producing this documentation. Furthermore, documentation errors and
omissions can lead to errors by end-users and consequent system failures with their associated costs
and disruption. Therefore, managers and software engineers should pay as much attention to
documentation and its associated costs as to the development of the software itself.
The documents associated with a software project and the system being developed have a number
of associated requirements:
1. They should act as a communication medium between members of the development team.
2. They should be a system information repository to be used by maintenance engineers.
3. They should provide information for management to help them plan, budget and schedule the
software development process.
4. Some of the documents should tell users how to use and administer the system.
Satisfying these requirements requires different types of document from informal working
documents through to professionally produced user manuals. Software engineers are usually
responsible for producing most of this documentation although professional technical writers may
assist with the final polishing of externally released information.
My goals here are to describe the documentation which may be produced during the software
process, to give some hints on ways of writing effective documents and to describe processes
1.1 Plan and design documentation for a computer program to agreed standards.
Computer program documentation is written text that accompanies computer program or software.
It either explains how it operates or how to use it, or may mean different things to people in
different roles.
For large software projects, it is usually the case that documentation starts being generated well
before the development process begins. A proposal to develop the system may be produced in
response to a request for tenders by an external client or in response to other business strategy
documents. For some types of system, a comprehensive requirements document may be produced
which defines the features required and expected behavior of the system. During the development
process itself, all sorts of different documents may be produced – project plans, design
specifications, test plans etc.
It is not possible to define a specific document set that is required – this depends on the contract
with the client for the system, the type of system being developed and its expected lifetime, the
culture and size of the company developing the system and the development schedule that it
expected. However, we can generally say that the documentation produced falls into two classes:
2. Product documentation. This documentation describes the product that is being developed.
System documentation describes the product from the point of view of the engineers developing
and maintaining the system; user documentation provides a product description that is oriented
towards system users.
Process documentation is produced so that the development of the system can be managed.
Product documentation is used after the system is operational but is also essential for management
of the system development. The creation of a document, such as a system specification, may
represent an important milestone in the software development process.
Effective management requires the process being managed to be visible. Because software is
intangible and the software process involves apparently similar cognitive tasks rather than obviously
different physical tasks, the only way this visibility can be achieved is through the use of process
documentation.
1. Plans, estimates and schedules. These are documents produced by managers which are used to
predict and to control the software process.
2. Reports. These are documents which report how resources were used during the process of
development.
3. Standards. These are documents which set out how the process is to be implemented. These
may be developed from organizational, national or international standards.
4. Working papers. These are often the principal technical communication documents in a
project. They record the ideas and thoughts of the engineers working on the project, are interim
versions of product documentation, describe implementation strategies and set out problems which
have been identified. They often, implicitly, record the rationale for design decisions.
5. Memos and electronic mail messages. These record the details of everyday communications
between managers and development engineers.
The major characteristic of process documentation is that most of it becomes outdated. Plans may
be drawn up on a weekly, fortnightly or monthly basis. Progress will normally be reported weekly.
Memos record thoughts, ideas and intentions which change.
Although of interest to software historians, much of this process information is of little real use after
it has gone out of date and there is not normally a need to preserve it after the system has been
delivered. However, there are some process documents that can be useful as the software evolves in
response to new requirements.
Product documentation
Product documentation is concerned with describing the delivered software product. Unlike most
process documentation, it has a relatively long life. It must evolve in step with the product which it
describes. Product documentation includes user documentation which tells users how to use the
software product and system documentation which is principally intended for maintenance
engineers.
User Documentation
Users of a system are not all the same. The producer of documentation must structure it to cater for
different user tasks and different levels of expertise and experience. It is particularly important to
distinguish between end-users and system administrators:
1. End-users use the software to assist with some task. This may be flying an aircraft, managing
insurance policies, writing a book, etc. They
want to know how the software can help them. They are not interested in computer or
administration details.
To cater for these different classes of user and different levels of user expertise, there are at least 5
documents (or perhaps chapters in a single document) which should be delivered with the software
system (Figure1).
The functional description of the system outlines the system requirements and briefly describes the
services provided. This document should provide an overview of the system. Users should be able to
read this document with an introductory manual and decide if the system is what they need.
The system installation document is intended for system administrators. It should provide details of
how to install the system in a particular environment. It should contain a description of the files
making up the system and the minimal hardware configuration required. The permanent files which
must be established, how to start the system and the configuration dependent files which must be
changed to tailor the system to a particular host system should also be described. The use of
automated installers for PC software has meant that some suppliers see this document as
unnecessary. In fact, it is still required to help system managers discover and fix problems with the
installation.
The introductory manual should present an informal introduction to the system, describing its
‘normal’ usage. It should describe how to get started and how end-users might make use of the
common system facilities. It should be liberally illustrated with examples. Inevitably beginners,
whatever their background and experience, will make mistakes. Easily discovered information on
how to recover from these mistakes and restart useful work should be an integral part of this
document.
The system reference manual should describe the system facilities and their usage, should provide a
complete listing of error messages and should describe how to recover from detected errors. It
should be complete. Formal descriptive techniques may be used. The style of the reference manual
A more general system administrator’s guide should be provided for some types of system such as
command and control systems. This should describe the messages generated when the system
interacts with other systems and how to react to these messages. If system hardware is involved, it
might also explain the operator’s task in maintaining that hardware. For example, it might describe
how to clear faults in the system console, how to connect new peripherals, etc.
As well as manuals, other, easy-to-use documentation might be provided. A quick reference card
listing available system facilities and how to use them is particularly convenient for experienced
system users. On-line help systems, which contain brief information about the system, can save the
user spending time in consultation of manuals although should not be seen as a replacement for
more comprehensive documentation.
System Documentation
System documentation includes all of the documents describing the system itself from the
requirements specification to the final acceptance test plan. Documents describing the design,
implementation and testing of a system are essential if the program is to be understood and
maintained. Like user documentation, it is important that system documentation is structured, with
overviews leading the reader into more formal and detailed descriptions of each aspect of the
system.
For large systems that are developed to a customer’s specification, the system documentation
should include:
3. For each program in the system, a description of the architecture of that program.
4. For each component in the system, a description of its functionality and interfaces.
5. Program source code listings. These should be commented where the comments should explain
complex sections of code and provide a rationale for the coding method used. If meaningful names
6. Validation documents describing how each program is validated and how the validation
information relates to the requirements. A system maintenance guide which describes known
problems with the system, describes which parts of the system are hardware and software
dependent and which describes how evolution of the system has been taken into account in its
design.
A common system maintenance problem is ensuring that all representations are kept in step when
the system is changed. To help with this, the relationships and dependencies between documents
and parts of documents should be recorded in a document management system as discussed in the
final part of this paper.
For smaller systems and systems that are developed as software products, system documentation is
usually less comprehensive. This is not necessarily a good thing but schedule pressures on
developers mean that documents are simply never written or, if written, are not kept up to date.
These pressures are sometimes inevitable but, in my view, at the very least you should always try to
maintain a specification of the system, an architectural design document and the program source
code.
Often, pressure of work means that this modification is continually set aside until finding what is to
be changed becomes very difficult indeed. The best solution to this problem is to support document
maintenance with software tools which record document relationships, remind software engineers
when changes to one document affect another and record possible inconsistencies in the
documentation. Such a system is described by Garg and Scacchi (1990).
Document Quality
Document quality is as important as program quality. Without information on how to use a system
or how to understand it, the utility of that system is degraded. Achieving document quality requires
management commitment to document design, standards, and quality assurance processes.
Producing good documents is neither easy nor cheap and many software engineers find it more
difficult that producing good quality programs.
Document structure
The document structure is the way in which the material in the document is organized into chapters
and, within these chapters, into sections and sub- sections. Document structure has a major impact
on readability and usability and it is important to design this carefully when creating documentation.
As with software systems, you should design document structures so that the different parts are as
independent as possible. This allows each part to be read as a single item and reduces problems of
cross-referencing when changes have to be made.
Documentation Standards
Documentation standards act as a basis for document quality assurance. Documents produced
according to appropriate standards have a consistent appearance, structure and quality. Other
standards that may be used in the documentation process are:
1. Process standards- These standards define the process which should be followed for high-
quality document production.
2. Product standards - These are standards which govern the documents themselves.
Standards are, by their nature, designed to cover all cases and, consequently, can sometimes seem
unnecessarily restrictive. It is therefore important that, for each project, the appropriate standards
are chosen and modified to suit that particular project. Small projects developing systems with a
relatively short expected lifetime need different standards from large software projects where the
software may have to be maintained for 10 or more years.
Process standards
Process standards define the approach to be taken in producing documents. This generally means
defining the software tools which should be used for document production and defining the quality
assurance procedures which ensure that high-quality documents are produced. Document process
quality assurance standards must be flexible and must be able to cope with all types of document. In
some cases, where documents are simply working papers or memos, no explicit quality checking is
required. However, where documents are formal documents, that is, when their evolution is to be
controlled by configuration management procedures, a formal quality process should be adopted.
Drafting, checking, revising and re-drafting is an iterative process which should be continued until a
document of acceptable quality is produced. The acceptable quality level will depend on the
document type and the potential readers of the document.
Product standards
Product standards apply to all documents produced in the course of the software development.
Documents should have a consistent appearance and, documents of the same class should have a
consistent structure. Document standards are project-specific but should be based on more general
organizational standards.
Document standards should apply to all project documents and to the initial drafts of user
documentation. In many cases, however, user documentation has to be presented in a form
appropriate to the user rather than the project and it should be recast into that form during the
production process.
Interchange standards
Document interchange standards are important as more and more documents are produced in
electronic format as well as or instead of on paper. For documentation that is delivered with a
software system, the Adobe Portable Document Format (PDF) is now very commonly used. However,
when documents are exchanged by the development team and drafts are circulated within an
organization these are often in the format of whatever word processor is used (often Microsoft
Word).
Assuming that the use of a standard word processor and graphical editing system is mandated in the
process standards, interchange standards define the conventions for using these tools. The use of
interchange standards, allows documents to be transferred electronically and re-created in their
original form.
Interchange standards are more than simply an agreement to use a common version of a system for
document production. Examples of interchange standards include the use of an agreed standard
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
________
Like other forms of technical documentation, good software documentation benefits from an
organized process of development. In the case of software documentation, the process as it
commonly occurs in industry consists of five steps:
Accurately documenting a new or revised computer application is critically important so that all
stakeholders agree on the application to be developed. The system design documentation process
provides a common framework for computer programmers to develop the system.
2.2 Instructions on how to create documentation for a computer program to agreed standards
My notes
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
After completing, your computer program documentation should include all of the documents
describing the computer program itself from the requirements specification to the final acceptance
test plan. Documents describing the design, implementation and testing of a system are essential if
the program is to be understood and maintained. Like user documentation, it is important that
system documentation is structured, with overviews leading the reader into more formal and
detailed descriptions of each aspect of the system.
For large computer program that are developed to a customer’s specification, the computer
program documentation should include:
3. For each program in the system, a description of the architecture of that program.
4. For each component in the system, a description of its functionality and interfaces.
5. Program source code listings. These should be commented where the comments should
explain complex sections of code and provide a rationale for the coding method used. If
meaningful names are used and a good, structured programming style is used, much of the
code should be self-documenting without the need for additional comments. This information
is now normally maintained electronically rather than on paper with selected information
printed on demand from readers.
6. Validation documents describing how each program is validated and how the validation
information relates to the requirements.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__
Learner’s Guide
Table of contents
Specific Outcome 1 : Explain different errors found in the computer programming environment.
The explanation covers the difference between an error and a mistake.
The explanation covers the errors found in data entry via computer input devices.
The explanation identifies sources of induced errors in calculations.
Specific Outcome 2 : Demonstrate how calculation errors are induced in the computer.
The demonstration explains overflow errors found in computers.
The demonstration explains underflow errors found in computers.
The demonstration explains conversion errors found in computers.
The demonstration explains errors found in computers because of advancement in processor
word-sizes.
Specific Outcome 3 : Demonstrate how mistakes and computer errors can be minimised
The demonstration explains how mistakes can be minimised.
The demonstration explains how errors can be minimised.
TIMEFRAME
10 Timeframe for Training: Theory content –Role play, Simulation, Group work, Pair work =
. (Total 6hrs.
Hours/Days/Weeks) Non contact session- self-study, assignment, practise guided by
coach or mentor, formative assessment and summative
assessment =14 hrs.
At the end of this unit standard you will be able to Demonstrate an understanding of the
handling of error in a computer programming environment
Purpose:
People credited with this unit standard are able to:
This unit standard is designed to provide credits towards the mathematical literacy
requirements of the NQF at level 4.
Specific outcome:
Explain different errors found in the computer programming environment , and
differentiate it from mistakes.
Demonstrate how calculation errors are induced in the computer.
Demonstrate how computer errors can be minimised.
Competent in Mathematical Literacy and Communications at NQF level 3.
Competent in demonstrating an understanding of the use of different number bases
and measurement units and an awareness of error in the context of relevant
calculations (SAQA ID = 9010).
Equipment needed:
Learning material, Learner workbook, Pen, Ruler.
PLEASE NOTE: THE USE OF PENCILS OR TIPPEX IS NOT ALLOWED.
IF YOU USE A PENCIL THE VALIDITY OF YOUR WORK COULD BE QUESTIONABLE, AND THIS
COULD LEAD TO FRAUD.
Assessments:
The only way to establish whether you are competent and have accomplished the specific
outcomes is through continuous assessments
The given exercises can contain one or more of the following:
Information for you to read
Exercises that require you to have a problem-solving approach to communication
Questions for you to answer
Case studies with questions that follow
The facilitator will tell you which exercise you need to complete each day.
You need to hand in your answers to the facilitator who will mark it for correctness.
If you do not know the answer, you will have to go back to that particular section in
you learner guide and go over it again.
Ask the facilitator for help, if you do not understand any of the questions asked.
Always remember to give reasons for your answers
1.1 Explain different errors found in the computer programming environment and differentiate
them from mistakes.
The first type of error is a syntax error. You already know that syntax errors are caused when you
don’t obey the syntax rules of C#. A common syntax rule you might take in the beginning is
forgetting to terminate each program statement with a semicolon. Intellisense does an excellent job
of catching syntax errors. While you may hate the squiggly line that Intellisense displays, it ’ s a lot
easier for Intellisense to detect and isolate syntax errors than it is for you to do it yourself.
Logic errors are those errors that remain after all the semantic and syntax errors have been
removed. Usually, logic errors manifest themselves when the result the program produces doesn’t
match the result your test data suggest it should produce. Most of the time, logic errors are found in
the process. Logic errors occur when you implement the algorithm for solving the problem
incorrectly.
The key to fixing logic errors is to be able to reproduce the error consistently. A repeatable logic
error is much easier to track down and fix than an error that appears to be occurring randomly. You
will learn the detail of using some of the tools Visual Studio provides to help you detect and isolate
A semantic error occurs when you obey the syntax rules of the language but are using the statement
out of context. For example, a sentence in English is expected to have a noun and a verb. Consider
the sentence “The dog meowed. ” This sentence does obey the rules of having a noun and a verb,
but the context of the sentence is out of whack. Dogs don’t meow, therefore the context of the
statement is incorrect. The error message I showed you earlier:
The name ‘i’ does not exist in the current context refers to a type of semantic error. There may well
be a variable named i defined somewhere in the program, but it is not currently in scope. That is,
you are trying to use i when it is out of scope. Intellisense does a good job of detecting semantic
errors.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
Computers do lots of calculations - millions or more per second. Unfortunately, they sometimes
make mistakes. We call these ERRORS. They are not actually caused by computer "mistakes",
because the computer is following programming that a human-being wrote. And computers do
follow that programming exactly. So if there is a mistake, it came from human beings. Computers are
perfectly RELIABLE (maybe 99.999%).
An error that occurs when the computer attempts to handle a number that is too large for it. Every
computer has a well-defined range of values that it can represent. If during execution of a program it
arrives at a number outside this range, it will experience an overflow error. Overflow errors are
sometimes referred to as overflow conditions.
A data-processing error arising when the absolute value of a computed quantity is smaller than the
limits of precision of the computing device, retaining at least one significant digit.
Inexactitude can also be a result of data conversion. This means that the result of the conversion can
be conceptually different from the source files. An example would be the extant in word processors,
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
Computers can have issues and errors. These many times happen because there are security flaws in
the system, malicious software, and some poor computer habits that the user is causing. Learn what
you can do to help prevent computer errors on your machine as much as possible.
One of the most common mistakes is filling up the hard drive. A Windows machine
needs at least a few gigabytes of space to correctly save settings when shutting
down the machine. The extra space will also help your computer run faster since
when you are using it, you need some space for your temporary files. There are
variety of issues that you can avoid by deleting a few files or moving them to an
external hard drive and leaving a few gigabytes of space. An external hard drive is a
worthwhile purchase, not only will you help keep your computer's hard drive clutter
free, but you will have a back up of all your important files.
Another step that needs to be taken is to always shut down the computer properly.
Many times people might just hold down the power button to make the machine
turn off. This is not good for the computer on the hardware side or even the
software side. It's important to properly go through the shut down procedures to
prevent possible complications.
One thing that should always be done regardless of what type of machine you are
using is to update the operating system. There are many security patches that are
The same goes for your applications that you are running on your machine especially
those that are connected to the internet. The browser is attacked all the time
regardless of which one you choose to use. You need to update the browser
whenever there is patch available because it will help keep your machine more
secure.
Following these steps will help prevent a variety of computer errors that you might
have otherwise had to face. It is not fun to have any type of computer failure and
many times failure happens because of something that could not be prevented.
However, for peace of mind it is important to do what you can to keep your
computer healthy and help to avoid any issues. You will be glad you did!
Irrespective of the operating system you use, make sure that you run a check disk
program regularly to ensure that there are no errors on your hard disk. This way it
will help you to keep a note of errors that make your hard drive slow and repair it
periodically. As a result, your hard disk will operate at an optimum level
When you browse the internet or work on any document, the system stores some of
the information in temporary folder, which reduces the speed of your system to a
great extent. Delete the temporary files through internet options, delete cookies
once a week.
As you work, run updates of software and documents, the data will be saved in
those spaces of hard drive that are far away from original part of files. Fragmenting
the disc once a week brings all the files together, which will help in opening the files
faster and increase the speed of the system
Antivirus, Malware, Spywares and adware reduce the performance of your system
and capture your private information. Use comprehensive antivirus, run regular
deep system scan to keep your system virus free. Keep the virus definition of your
antivirus updated regularly.
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________
__________________________________________________________________________________