Topic 6  Computer Professionals

This topic will not only be of interest to ICT students, but also computing students may find it helpful.  It will also help students as a background to their project work.

 Who are the Professionals?

Most people who work in commercial or scientific environments use computers to a greater or lesser degree to aid them in their jobs.  They are computer users.  Computer professionals have occupations that exist because computers exist.  The main divisions of computer professional jobs are:

  Question 1  What is meant by a computer professional? ANSWER 

 

  The Work of a Systems Analyst

 Systems analysts are the link between a company that wants a computer solution and the team of programmers who will provide the software solution to the problem.  Typically the process would go along the lines of:

(a)    Identification of the problem.  The systems development manager will be informed of the problem.

(b)   Feasibility Study to assess the desirability or otherwise of a computer based solution.

(c)    Systems investigations will follow, including discussions with departmental managers to obtain a clearer view of the requirements, and interviews with key members of staff whose views will help to determine the final outcome.

The situation may well be one of three common scenarios:

  Question 2

Describe how the following actions are done in a manual and a computerized information retrieval system                                               

Action

Manual

Computer

 

Data Entry

 

 

 

Data processing

 

 

 

Data Storage

 

 

 

Writing a report

 

 

  ANSWER

 The analyst must consider the following:

  Question 3.  Discuss the role of the senior analyst when a company employs him/her/it to introduce a new computer system. ANSWER

Let us look at a flow chart that summarises the the feasibility study:

 
 

 

The feasibility study looks at areas like:

The report will cover:

  The feasibility study is not an in-depth investigation, but the report gives the decision-makers something to base their decision on.

  Question 4 Write down three things that a feasibility study might be used to investigate, giving an example of each (To get full marks you must give the example.)  ANSWER

 Once the decision is made to go ahead, a team is assembled to analyse, design and implement the new system.  There are options that the team could go for, each with its advantages and disadvantages:

 Any or all of these options may provide the solution.

Option

Advantages

Disadvantages

In house development

Solution is tailor-made to the problem

Can be very expensive and time consuming

Purchasing a package

Cheap to purchase and immediately available

Package may not be entirely suitable for the purpose

Adaptation of existing systems

Little or no purchase of new equipment, solution will fit in with existing requirements

Existing systems may be well suited to existing functions and not easily adapted

In reality, many commercial packages have the flexibility to be adapted to a limited extent, although this may not go far enough.  However in-house solutions may well not be that adaptable for any future changes.  Whatever solution is decided on, an in-depth analysis is needed.

 Question 5  Your company is going to go ahead with a large ICT project to improve its database.  The company is considering the options in the table on above. Write a report that you will present to your boss that will set out the three options with their advantages and disadvantages.  Give an example of each oneANSWER

Let us suppose that the in-house solution is preferred.  Now the analysis is carried out.  The analyst carries out a detailed study of the current system to look at its workings, its data flows and volumes, and problem areas.  This can be gleaned from:

The analyst prepares a theoretical model and the users confirm that this is the way the system currently runs.  This model is refined to a logical specification and any new requirements are added at this stage.  The analyst now has a specification of requirements which:

  Question 6  In your project, you will be producing a requirements specification.  Explain what you understand by this term.  ANSWER

 
 


The design is still theoretical, not physical, and it concentrates on what is required, what the new system will do, and the logical order that it will do it in.  Data flow through a system is represented as a data flow diagram (DFD).  Here is a typical example:


 
There are many different kinds of DFD, but one standard uses:

These conventions allow the analyst to show the flow of data, the actions on it, and the outputs.  The analyst draws up a logical design of the system for his own use and for display to interested users.

Question 7 What features of a data flow diagram make it helpful?  ANSWER

So far, the analyst has drawn up a theoretical model on paper with no reference to a computer so far.  Now it’s time to see how the proposals will be implemented with a computer.  The analyst has at his disposal many planning tools to design and display the physical configuration. 

A systems flowchart has conventional symbols to represent various peripheral devices and processes.

 
 

This is a selection of a few of the symbols.  There are others for communication lines, off-line storage, magnetic tape, etc.  They are available on templates or in computer graphics packages.

The amount of design detail required from an analyst varies quite considerably.  In some cases the system has to be designed right down to individual processes, leaving programmers to translate the design into a programming language.  In other cases, the analysis is a high level overview leaving the programmers a lot of scope with the details of the design.  However, whatever methodology is used, the system design will always include:

  1. Specification as to the order and type of operations within individual programs within the system.

  2. Selection of an appropriate data organisation method, e.g. sequential, indexed, etc.

  3. Design of VDU screen layouts and printed reports

  4. Validation of data and error handling

  5. Security against unauthorised access and ensuring backing up procedures.

  6. Detailed decisions about the type and number of programs.

  7. Batch or on-line processing

  Question 8  For statements 3, 4,and 5 above, explain why they should be considered in the design of any system  ANSWER

Finally the new system is installed and set up.  It is thoroughly tested and run alongside the old for a period of time.  Staff are trained in its use.  If it’s working properly, the old system is then replaced completely with the new, which is said to be live.  If the systems analyst has done his job properly, the computer will quietly do its job.  If not the computer will sit there, happy as Larry, churning out error after error, making the staff long for the good old days of the manual system.

 

The Database Administrator

Both systems analysts and database administrators (DBA) have much in common in the way that they have considerable business experience.  However their functions are completely different.  The analyst is not concerned with how a program processes data, rather what the data used for in different applications.  Like the systems analyst, the database administrator is not too concerned with the mundane processing of data; the database itself does that.  Instead he is looking at how applications view and use data in a way that is specific to a company’s requirements.

The DBA is responsible for the company database and its rules for data display, printing, validating, security, etc.  The rules are determined by the use and application of the data, not its physical storage.  So the DBA is responsible for:

In effect he is responsible for the database management system (DBMS) which is the complete collection of software that controls access to and updating of the data.  The DBA can use a data dictionary to help him to map out the application of the database, by defining size, type, and validation of data and its place within the application.

The entire database application is kept as a distinct entity, designed by the DBA in consultation with the systems analyst.  Data is regarded by the business not just as a load of unrelated items, but a whole that is used by the business.  It is vital that it is kept in a logical way.  This would be much more difficult without the expertise of the DBA.

 Question 9  What kind of qualities are needed for a database administrator.  ANSWER

 

The Work of the Programmer

The programmer is the one who turns the designs of the analyst into software to be used with the new system.  His job is to design and code the list of instructions that tell the computer what to do.  Sometimes a programmer may well take on the job of a systems analyst, in which case he is an analyst programmer.  Normally the programmer works as part of a project team under the supervision of a project leader, who will allocate parts of the project to the members of the team.  The project leader will be responsible for the whole suite of programs, with the individual programmers working on individual programs or sub-systems.

 Once the systems analysts have completed the design, it’s the programmers who create, code, and test the programs.  The detail of the design depends on the relationship between the analysts and the programmers, i.e. who does what.  Most companies set up a methodology, a formal set of procedures and aids used to develop systems, i.e. we do it this way.  Therefore the systems are developed under the same set of rules which avoid problems and sets the standard known and understood by all.

Sometimes methodologies dictate that the analysts produce a design so detailed that the programmers just do the coding in the appropriate language.  Other methodologies leave the detailed planning to the programmers who use program design methodologies to produce logical steps for each action in the program.  Whatever the methodology, there are some common factors:

  Question 10  Like all employees, a computer programmer has a job description, which tells him or her what the duties are and what is expected of them.  Write down five different things that you would expect to see in your job description as a computer programmer. 

ANSWER

When programs are designed bottom-up, the programmer identifies all the individual actions that need to be done, and places these into self-contained modules. The higher levels in the program are then designed, and these execute the modules in the correct order.  These higher levels are placed in the final structure at the appropriate place.

In the top-down approach, the problem is defined at the highest level, and worked on through successively lower levels, each stage being refined more and more until the detailed solution is arrived at.

Program designs are often represented as a tree like structure read in a top-down manner.  As we go down the tree, each level is an expansion of the box in the previous level.  An example of a structure chart (or structure diagram) is shown below.

 
 

 

The * in the corner of the main process loop box means a repetition, i.e. many records are to be processed.  The o shows a choice, one or the other, but not both, and indicates only one option path alone can be followed.

We should also note that at each branch at each level, the order of processing goes from left to right.  This means that in the initial process the open files command must come before the print report headings command is used.  We can see that each box is expanded at a lower level to give more detail.  We might consider that the box print record details needs further expansion.  Is it information of all the record, or just some fields? This process continues until the programmer decides that sufficient detail is provided.  This is called functional decomposition.

The structure chart shows how a program can be modularised.  The topmost level can be regarded as being the main control procedure in the finished program, and this can be broken down into three separate parts or procedures.  The programmer works on each as a separate unit that will be put together as a complete program, and he must know how it will be put together.  It’s like breaking down the power unit of a car to engine, gearbox, differential, and drive shafts.  It would be no good if the engine could not fit onto the gearbox.

 The use of stepwise refinements is another methodology.  This is like a structure chart without the boxes or connecting lines.  We can still achieve the modular solution by defining outline procedures, and these can be refined further.  The refining stops when sufficient detail is reached.

Refinement 1

Refinement 2.1 – Initial Process

 

Refinement 3.1 - Main Process Loop

And so on…

Each instruction is written in a form of structured English called pseudo-code, which does not relay on the syntax of any particular language; it is language independent.  Therefore the systems analyst who designed the specification does not necessarily need to know the language it’s going to be programmed in.  The analyst and the programmer can discuss the application using the pseudo-code and can iron out any problems at this stage.

This kind of planning allows problems to be identified at an early stage before everything is put onto computer and tested.  Sorting out problems (debugging) once they are in the computer is most very tedious.

 Question 11  What is the difference between pseudo-code and lines of a computer program such as Visual Basic? ANSWER

Now go on to Role of Computer Staff