Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АНГЛ_УЧЕБНИК.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.38 Mб
Скачать

Writing

1. Describe the characteristics of the succeeding generations of computer programming languages.

2. Describe the differences between machine languages, assembly languages and high-level languages.

3. Name four common high-level programming languages.

4. Today programming methods are undergoing changes. New fourth-generation languages, fifth-generation languages and object-oriented programming methods are now in use. Describe the differences in these programming approaches.

Unit 14 software engineering

Vocabulary Bank Unit 14

Task 1. Read and learn the basic vocabulary terms.

1. appropriate

2. artificial intelligence

3. behaviour

4. circumstance

5. continual

6. decision tables

7. direct implementation

8. experience

9. extent

10. fault

11. feasibility

12. flowchart

13. gradually

14. iteration

15. loop

16. maintain

17. markup language

18. network system

19. parallel implementation

20. particular

21. pilot implementation

22. pseudocode

23. repeatedly

24. sequence (n,v)

25. staff

26. strengths and weaknesses

27. systems analyst

28. testing and adapting

29. therefore

30. to allocate

31. to arise

32. to avoid errors

33. to be responsible for

34. to consider

35. to exist

36. to get rid of

37. to investigate

38. to meet the requirements

39. to modify

40. to occur

41. to operate properly

42. to put into service

Text 14 a. Software engineering

Software engineering is the discipline of designing high quality software solutions. Software consists of programs (sets of instructions for controlling a computer) and data (the material that has to be processed). Programs are written in computer languages by people called programmers. A systems analyst is a person who designs or modifies information systems to meet users' requirements. This includes investigating feasibility and cost, producing documentation and testing prototypes of the system. Producing a program, therefore, involves a number of stages including:

a) clarifying the problem by considering the requirements of the potential users;

b) designing the solution to the problem by first deciding on the overall structure of the solution;

c) coding the program by first choosing an appropriate programming language and inputting the program code;

d) testing and debugging the program (identifying and fixing any problems or faults in the program code);

e) documenting and maintaining the program including writing instructions for using the program.

Systems analysts first need to talk to the people involved in the computing problem, including the people managing the system and the users or potential users of the system. They need to establish factors such as:

a) the nature of the problem;

b) what systems already exist;

c) to what extent any existing systems are computerised (changed so that they can be operated or controlled using a computer);

d) what output (the processed data or signals that come out of a computer system) will be required from the system;

e) who will be using the system and what parts of the system they need to be able to use;

f) the computing experience of the staff and what training would be required;

g) what hardware (the physical components of a computer system) already exists and what would need to be added, including the specification of the hardware and whether a network system is required (a system where a number of computers and peripheral devices are connected together).

They then have to plan the structure of the solution and check it through with the people involved to make sure it meets their requirements. Next, they have to choose a suitable programming language and write the program (a set of instructions, written in a computer language, that control the behaviour of a computer), continually testing and adapting it until it works to the satisfaction of the customer and users. The system then has to be put into service and the users have to be trained. This involves documenting the program specifications and writing instructions for using the system.

Programming languages commonly use different structures for sequencing program instructions, including:

- conditional instructions i.e. if a certain condition is true, then process this instruction (if X then Y). Decision tables are used to indicate how a conditional structure will process data.

- iterations or loop instructions i.e. process these instructions repeatedly until or while a particular condition is true, or false (do ... until... or do ... while ...).

Program flowcharts can be used to show the sequence of instructions in a program and are sometimes used for designing parts of programs such as iterations. A pseudocode is a method of writing a description of a computer program using a mixture of natural language and computer language code.

There are a large number of computer languages available for use by programmers. Each language is designed for solving particular types of problems and therefore has particular strengths and weaknesses. A systems analyst has to decide which language is most appropriate in each situation. Languages such as C++ are particularly suitable for writing systems programs (programs that are used to control the basic functions of a computer system e.g. operating system programs). Languages such as Visual Basic and Pascal are easy to use and are particularly suitable for learning how to program. FORTRAN is designed for solving engineering problems, COBOL for writing business programs, Ada for military purposes, Prolog and LISP for working in artificial intelligence (an area of computing concerned with developing computer programs that perform tasks that can normally only be done using human intelligence). Logo is particularly suited for use by young children. Some languages such as HTML and XML are markup languages rather than programming

Languages i.e. they use tag codes (labels) for marking text for use in programs such as Web browsers. Languages such as Java and Perl have a number of specialised uses including adding features to Internet connections and webpages (hyperlinked documents).

Converting to new computer systems can be done in different ways. Each strategy has its advantages and disadvantages. These include:

a) direct implementation where the old system is simply removed and the new system installed. In this strategy only one system is used at any one time but there is no fall back (alternative system that can be used if problems occur in the main system) if the new system does not operate properly;

b) parallel implementation where the old and the new systems are both used at the same time until the users are satisfied that the new system is working properly. The advantage is that if the new system does not operate properly, the old system is available as a fallback. The disadvantage is that

two systems have to be maintained;

c) phased implementation where the old system is gradually replaced by the new system, one part at a time. The advantage is that people can gradually get used to the new system and certain problems can be dealt with as they arise. The disadvantage is that this method is more complex and time-consuming. In addition, there may be problems of incompatibility between the old and new systems;

d) pilot implementation where the new system is tried out in one section of the company to make sure that it works as required. The advantage is that problems can be identified and solved before the new system is implemented throughout the company. The disadvantage is that it takes longer to introduce the new system.

Task 2. Answer the following questions.

1. What does the term “software engineering” imply? 2. What does software consist of? 3. What do systems analysts do? 4. What are the stages of producing a program? 5. Why do systems analysts need to talk to different specialists? What factors do they need to establish? 6. What is used to show the sequence of instructions in a program? 7. What programme instructions are considered in the text? 8. What is a pseudocode? 9. Why are there a large number of computer languages available for use by programmers? 10. Can you compare strengths and weaknesses of different programming languages?

Task 3. Put these five stages of programming in the correct sequence.

I. a) Design a solution.

b) Code the program.

c) Document and maintain the program.

d) Clarify the problem.

e) Test the program.

II. To which stage do each of these steps belong.

a) Clarify objectives and users.

b) Debug the program.

c) Write programmer documentation.

d) Do a structured walk through.

e) Select the appropriate programming language.

Task 4. Find the English equivalents of the following word combinations in the text.

1. показати послідовність інструкцій; 2. постійна перевірка і налаштування; 3. знайти і виправити помилки; 4. загальна структура рішення; 5. відповідати вимогам користувача; 6. здійснимість і вартість; 7. встановити фактори; 8. досвід співробітників; 9. встановлювати послідовність інструкцій програми; 10. поступово звикнути до нової системи; 11.працювати як слід; 12. мати певні сильні та слабкі сторони; 13. найбільш прийнятний у кожній ситуації; 14. легкий у використанні; 15. призначенний для вирішення певних проблем.

Task 5. Match the terms with their definitions.

a) artificial intelligence, b) program, c) markup language, d) systems programs,

e) pseudocode, f) output, g) systems analyst, h) network system.

1. A person who designs or modifies information systems to meet users’ requirements. 2. A set of instructions written in a computer language that control the behaviour of a computer. 3. The processed data or signals that come out of a computer system. 4. A system where a number of computers and peripheral devices are connected together. 5. A method of writing a description of a computer program using a mixture of natural languages and a computer language code. 6. Programs that are used to control the basic functions of a computer system. 7. Developing computer programs that perform tasks that can normally be done using human intelligence. 8. A set of tags that can be inserted into a document to indicate its layout and appearance.

Task 6. Mark the following as True or False.

1. Pilot implementation means that both systems run at the same time for a period. 2. Phased implementation is when parts of the system are converted separately. 3. Parallel implementation is when the new system is piloted in part of the company before extending it to the whole company. 4. Pascal is extremely difficult to use and is not suitable for learning how to program. 5. Fortran is designed for writing business programs. 6. Java and Perl have a number of specialized uses including adding features to internet connections and webpages.

Task 7. Translate the following sentences into Ukrainian.

1. Computer information systems may be designed to take care of just one operational area, but today’s more complex systems are more likely to be designed to integrate a variety of operational procedures. 2. New methods are developed to deal with the complex process of designing and maintaining computer systems. 3. A website designer wants to enable the data or his website to be easily processed by a number of different programs. 4. Each element of the system has a particular function and each unit must be designed to interact with the other elements of the system. 5. Although the complexity of the tasks to be performed and the number of the users to be served will help to determine the type of computer to be used, there may be a number of different hardware configurations that will meet the need. 6. A computer information system must be seen as a system that is used to transform data into useful information. 7. For the information system to be successful, it must be designed to provide information in a way that is usable and useful to all management personnel. 8. Computer communication will undoubtedly be used to transmit data electronically between locations. 8. To update or modify an existing system the same procedures can be used. 10. As the process of systems analyses and design has been formalised, a new kind of professionals, known as systems analysts has emerged. They possess special skills and knowledge required to deal with all aspects of systems development.

11. The systems analysts’ task is to design and implement a system that facilitates the storage, processing, and accessing the data.

Task 8. What do you know about programming? Answer the Internet Quiz.

1. Checking a computer program for errors is called _____.

a) bugging

b) debugging

c) correcting

d) syntaxing

2. The computer itself uses _____ language.

a) natural

b) assembly

c) machine

d) high-level

3. The term BASIC is an acronym for _____.

a) Balanced Assembly System Integrated Code

b) Basic All System Internal Code

c) Beginner's Assembly Syntax Instruction Code

d) Beginner's All-purpose Symbolic Instruction Codу

4. A programming language which looks like normal English is a(n) _____ language.

a) normal

b) high-level

c) natural

d) 4GL

5. The process of writing the computer instructions is called _____.

a) coding

b) compiling

c) debugging

d) interpreting

6. The _____ must decide what a new program is to accomplish.

a) user

b) systems analyst

c) programmer

d) supervisor

Task 9. Read the text on the page below and complete the table.

Text A

Text B

Text C

Type of error

Definition

Example

Ways to avoid or deal with this kind of error

A) System errors affect the computer or its peripherals. For example, you might have written a program which needs access to a printer. If there is no printer present when you run the program the computer will produce a system error message. Sometimes a system error makes the computer stop working altogether and you will have to restart the computer. A sensible way of avoiding system errors is to write a code to check that the peripheral is present before any data is sent to it. Then the computer would warn you by a simple message on the screen, like ‘printer is not ready or available’.

B) Syntax errors are mistakes in the programming language (like typing PRNIT instead of PRINT). Syntax errors cause the program to fail. Some translator programs won’t accept any line that has syntax errors. Some languages also contain special commands such as debug, which will report structural errors in a program. The programming manual for the particular language you’re using will give details of what each error message means.

C) Logic errors are much more difficult to detect than syntax errors. This is because a program containing logic errors will run, but it won’t work properly. For example, you might write a program to clear the screen and then print ‘hello’. Here is a code for this:

10 Message

20 PRINT ‘Hello’

30 CLS

40 END

The code has a logic error in it, but the syntax is right so it will run. You can get rid of logic errors from simple programs by ‘hand-testing’ them or doing a ‘dry run’ which means working through each line of the program on paper to make sure it does what you want it to do. You should do this long before you type in the code.

Task 10. Read the quotations about ‘programming’ below. Discuss with other students what point you think each quotation is trying to make and whether you agree with it.

  1. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. (Rich Cook)

  2. To understand a program you must become both the machine and the program. (Alan J. Perlis)

  3. Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. (Alan J. Perlis)

  4. It is easier to change the specification to fit the program than vice versa. (Unknown)

  5. One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man. (Elbert Hubbard)

  6. Those parts of the system that you can hit with a hammer are called hardware; those program instructions that you can only curse at are called software. (Anonymous)

  7. The most harmful error of any program will not be discovered until the program has been in production for at least six months. (Troutman's programming postulates)

  8. Real programmers never work from 9 to 5. If any real programmer is around at 9 a.m., it’s because they were up all night. (Some computer geek)

Task 11. Read the text and do the exercises below.