Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-2 Английский / Учебник для Сукнова М.П. (01.07.2015).rtf
Скачиваний:
222
Добавлен:
31.01.2021
Размер:
20.64 Mб
Скачать

Vocabulary Bank Unit 14

Task1. Read and learn the basic vocabulary terms.

  1. analyst (n)

  2. artificial

  3. artificial intelligence

  4. browse

  5. bundle (v)

  6. clarify (v)

  7. coding

  8. decision tables

  9. direct implementation

  10. diverse (adj)

  11. documentation

  12. encapsulation

  13. encapsulation (n)

  14. executable modules

  15. feasibility (n)

  16. fetch (v)

  17. flowchart (n)

  18. implementation (n)

  19. Information systems

  20. inheritance

  21. intelligence

  22. iteration (n)

  23. label

  24. loop (n)

  25. loop instruction

  26. maintain (v)

  27. markup (adj, n)

  28. markup language

  29. modify (v)

  30. network system

  31. pilot implementation

  32. polymorphism,

  33. polymorphys

  34. pseudocode (n)

  35. repeatedly (adv)

  36. sequence (n)

  37. software engineering

  38. specification (n)

  39. sticky (adv)

  40. systems analyst

  41. tag codes

  42. testing and adapting

Reading activity

TEXT 14A. 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:

  1. clarifying the problem by considering the requirements of the potential users

  2. designing the solution to the problem by first deciding on the overall structure of the solution

  3. coding the program by first choosing an appropriate programming language and inputting the program code

  4. testing and debugging the program (identifying and fixing any problems or faults in the program code)

  5. 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:

  1. the nature of the problem

  2. what systems already exist

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

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

  5. who will be using the system and what parts of the system they need to be able to use

  6. the computing experience of the staff and what training would be required

  7. 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. They show all the different inputs that might arise for each condition and the resulting outputs that would be produced by the conditional instruction.

- 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. 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 use in solving particular types of problem 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. When can they start writing a program? 7. What is used to show the sequence of instructions in a program? 8. What programme instructions are considered in the text? 9. What is a pseudocode? 10. Why are there a large number of computer languages available for use by programmers? 11. Can you compare strengths and weaknesses of different programming languages? 12. What are the ways of converting to new computer systems? 13. What are advantages and disadvantages of direct implementation and pilot implementation?

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.

  1. Clarify objectives and users.

  2. Debug the program.

  3. Write programmer documentation.

  4. Do a structured walk through.

  5. Select the appropriate programming language.

Task 4. Find the English equivalents for the following word combinations

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

Task 5. Match the terms with their definitions.

artificial intelligence, b) a program, c) a markup language, d) systems programs, e) a pseudocode, f) an output, g) a systems analyst, h) a network system

1. A person who designs or modifies information systems to meet user’s 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. Complete the gaps using the verbs from the box.

collected, put, generated, will flow, will help, be directed, be implemented, touch, will use, will be used, were uncovered, include

Based on the data … (1), the systems analyst must … together an implementation plan. This plan should … a logical model of the proposed new system, with a representation how information … , through the new system from input, through processing, to output. The plan should … on every potential use of data throughout the organization. As with the reports … during the previous study stages, the report should be written in terms of the system’s user’s – in this case, in terms, of how users … the new system and how it …, them to carry out their jobs. The solutions report should … to management, to help them understand the need for the new system, the way the new system … , how it will help the entire organization and how it can … as a cost effective solution to the problems that … .

Task 8. Translate the following sentences.

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. When users of a system access the data for some useful purpose, they are accessing the data in order to learn from it or to add it to other types of data for decision making. 7. A computer information system must be seen as a system that is used to transform data into useful information. 8. If the information system is to be successful, it must be designed to provide information in a way that is usable and useful to all management personnel. 9. Using centralised system, computer communications will undoubtedly be used to transmit data electronically between locations. 10. To update or modify an existing system the same procedures can be used. 11. As the process of systems analyses and design has been formalised, a new kind of professionals, known as systems analysts has emerged with the special skill and knowledge required to deal with all aspects of systems development. 12. The systems analysts’ function is to design and implement system that facilitates the storage and processing of data, and methods for accessing that data.

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

1. When creating a computer program, the _____ designs the structure of the program.

  1. end user

  2. systems analyst

  3. programmer

  4. all of the above

  5. none of the above

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

  1. bugging

  2. debugging

  3. correcting

  4. syntaxing

3. The computer itself uses _____ language.

  1. natural

  2. assembly

  3. machine

  4. high-level

  5. none of the above

4. The language which is best for mathematical models is _____.

  1. FORTRAN

  2. BASIC

  3. Java

  4. C

  5. COBOL

5. The term BASIC is an acronym for _____.

  1. Balanced Assembly System Integrated Code

  2. Basic All System Internal Code

  3. Beginner's Assembly Syntax Instruction Code

  4. Beginner's All-purpose Symbolic Instruction Codу

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

  1. normal

  2. high-level

  3. natural

  4. 4GL

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

  1. coding

  2. compiling

  3. debugging

  4. interpreting

8. The most widely used language for business programs is _____.

  1. FORTRAN

  2. BASIC

  3. Java

  4. C

  5. COBOL

9. The _____ must decide what a new program is to accomplish.end user

  1. systems analyst

  2. programmer

  3. supervisor

Task. 10. Work in groups and discuss the following questions.

1. Have you ever had any problems with the computer?

2. What kind of errors do you make with computers?

3. How do you behave when things go wrong with a computer?

Task 11. 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

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 code to check that peripherals are 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’.

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 only report a syntax error when they run the program. 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.

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 12. 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.

  • 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)

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

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

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

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

  • 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)

  • 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)

  • 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 13. Read the text and do the exercises below.

Text 14 B. STEPS IN COMPUTER PROGRAM DEVELOPMENT

The steps in the development of each of the computer programs that make up the computer program component of a system are:

  • define the function of the program;

  • plan the logic of the program;

  • code the program;

  • test and debug the program;

  • complete the documentation.

Although the programmer is responsible for writing the computer program, the system analyst must communicate the computer program requirements to the programmer. The function of each program was defined for the programmer when functions were allocated during system design. Detailed data flow diagrams (DFD) are prepared for each program from the decomposed DFDs created during the design phase. These DFDs define the function of each program.

In program planning, the logic to be used to solve the problem is developed. Algorithms, computer program logic flowcharts, and structure charts are useful tools for program planning. Algorithms are sets of rules or instructions used to accomplish tasks. They may be stated as formulas, decision tables, or narratives.

The next step, writing, or coding, a program, is the actual writing of computer instructions. These instructions will be translated to machine code and followed by the computer; they should follow the steps of the program logic plan.

Several programming languages, particularly COBOL, PL/I, and RPG, are commonly used to solve business problems. In addition to these traditional languages, organizations using database management systems may choose to generate programs using the query language of the DBMS.

These query languages are part of a package of programming tools known as fourth-generation languages. Each language has its advantages and disadvantages. Most computer installations have a standard language used by their programmers. Programmers usually are not given a choice of language unless some special circumstances exist.

Testing and debugging a program involve:

  • translating the coded program into machine language, a process called compilation;

  • testing the translated program with sample data and checking the result.

If the results of testing are not correct, the program is said to have "bugs". Debugging is the process of correcting computer programs to obtain correct results.

The last step is to complete the documentation for the program. The documentation must include a statement of the purpose of the program, a description of the solution logic, a listing of the program instructions, and sample outputs from the completed programs. Information provided to the programmer by the analyst, such as descriptions of program inputs, outputs, and files, should be included. Instructions to operators explaining how the program is to be used must be written before the program documentation is completed.

Task 14. There are answers to questions about the text. Write the questions.

  1. There are five main steps in the computer program development.

  2. For writing the computer program.

  3. It is developed in program planning.

  4. As formulas, decision tables, or narratives.

  5. Yes, it is the actual writing of computer instructions.

  6. No, programmers usually are not given a choice of languages.

  7. It is called compilation.

  8. When the results of testing are not correct.

  9. To obtain correct results.

  10. They must be written before the program documentation is complete.

Task 15. Choose the correct word to complete each sentence. You may have to change some words slightly.

compilation, compiler, compile, compiled

  1. It took weeks __________ the new customer database.

  2. A source program cannot be directly processed by the computer until it has been __________.

  3. If the errors are removed and the program re-run, the process of __________ starts all over again, but this time the __________ program will be executed.

  4. A computer needs its own __________ for the various high-level languages if it is expected to accept programs written in those languages.

program, programmer, programming, programmable

  1. The __________ CD-player allows the user to change the order tracks are played in.

  2. She __________ the VCR to come on at eight.

  3. Most computer __________ make a plan of the program before they write it. This plan is called a flowchart.

  4. It is unusual for a __________ to work correctly the first time it is tested.

bug, debug, debugger debugging

  1. The best compilers usually include an integrated __________ which detects syntax errors.

  2. New programs need __________ to make them work properly.

  3. Once you have written your program you have to test it with sample data to see if there are any __________ or errors.

instruction, instruct, instructed, instructor

  1. The next step is to design an algorithm, which is a step-by-step plan of __________ used to solve the problem.

  2. We have been __________ that a decision will not be made before the end of the week.

  3. Our maths __________ explained to us the principles of binary arithmetic.

Task 16. Work in pairs and translate the following poem by Gene Ziegler into Ukrainian.

Programmers

10 young programmers began to work online,

One didn’t pay for Internet, and then there were 9.

9 young programmers used copies that they made,

But one was caught by FBI, and then there were 8.

8 young programmers discussed about heaven,

One said, “It’s Windows 95”, and then there were 7.

7 young programmers found bugs they want to fix,

But one was fixed by the bug, and then there were 6.

6 young programmers were testing the hard drive,

One got the string “Format complete”, and then there were 5.

5 young programmers were running the Front Door,

The BBS of one was hacked, and then there were 4.

4 young programmers worked using only C,

One said some good about Pascal, and then there were 3.

3 young programmers didn’t know what to do,

One tried to call the on-line help, and then there were 2.

2 young programmers were testing what they done,

One got a virus in his brain, and then there were 1.

1 young programmer was as mighty as a hero,

But tried to speak with users, and then there were 0.

Boss cried: “Oh, where is the program we must have?!”

And fired one programmer, and then there were 10.

WORD FORMATION

Suffixes