Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
software_engineering 5 курс.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
500.22 Кб
Скачать

75

Topic 1. Fundamentals of Software Engineering

Exercise 1. Memorize the following words and word combinations.

contentious – дискусійний, спірний

practitioner – виконавець; діяч; той, хто робить що-небудь постійно

provoke – викликати, спонукати

perceive – відчувати, почувати

muddied – заплутаний, незрозумілий

cue – знак, сигнал

dispute – диспут, дебати

complementary – додатковий, доповняльний

solely – тільки, виключно

come up with – порівнятись з, пропонувати (план, проект)

acquisition – придбання, надбання

impediment – перешкода, недолік

assessment – оцінка, оцінювання

reengineering – відновлення, реконструювання

pre-requisite – необхідна умова

master – опановувати

undergraduate – студент, новачок, початківець

internship – інтернатура

encounter – стикатися, зіткнутися

downright – явний, прямий

likewise – подібно, більше того

Exercise 2. Read and translate the text.

Text 1. Software Engineering as a contentious issue

Initially, when the first modern digital computers appeared in the early 1940s, the instructions to make them operate were wired into the machine. Practitioners quickly realized that this design was not flexible and came up with the "stored program architecture". Thus the first division between "hardware" and "software" began with an abstraction being used to deal with the complexity of computing.

The term "software engineering" first appeared in the 1968 NATO Software Engineering Conference and was meant to provoke thought regarding the perceived "software crisis" at the time. The Computer Society's Software Engineering Body of Knowledge defines "software engineering" as the application of a systematic, disciplined approach to the development, operation and maintenance of software, and the study of these approaches. It is the application of Engineering to software because it integrates significant mathematics, computer science and practices whose origins are in Engineering.

The relationship between computer science and software engineering is a contentious issue, which is further muddied by debates within software engineering disputes over what the term "software engineering" means, and how computer science is defined. David Parnas, taking a cue from the relationship between other engineering and science disciplines, has claimed that the principal focus of computer science is studying the properties of computation in general, while the principal focus of software engineering is the design of specific computations to achieve practical goals, making the two separate but complementary disciplines: "Rather than treat software engineering as a subfield of computer science, I treat it’s as an element of the set: Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering ...". Thus, different efforts to solve this complicated problem have not giving a necessary result.

Time has seen significant improvements in the using and effectiveness of computer technology. Modern society has seen a significant shift from computers being used solely by experts or professionals to a more widespread user base. You are absolutely mistaken if you think that a casual computer user can know nothing about it, but any good specialist gives you its immediate description, because the current definition of software engineering is still being debated by practitioners today as they struggle to come up with ways to produce software that is "cheaper, better and faster". Cost reduction has been a primary focus of the IT industry since the 1990s. Total cost of ownership represents the costs of more than just acquisition. It includes things like productivity impediments, upkeep efforts and resources needed to support infrastructure.

In Wikipedia, well-known free encyclopedia, we can find such a definition: Software Engineering (SE) is a profession dedicated to designing, implementing, and modifying software so that it is of high quality, maintainable and fast to build. It is a "systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software. It is the application of engineering to software."

Knowledge of programming is a pre-requisite to becoming a software engineer. In 2004 the IEEE Computer Society produced the SWEBOK, which has been published as ISO/ IEC Technical Report 19759:2004, describing the body of knowledge that they believe should be mastered by a graduate software engineer with four years of experience. Many software engineers enter the profession by obtaining a university degree or training at a vocational school. One standard international curriculum for undergraduate software engineering degrees was defined by the CCSE, and updated in 2004. A number of universities have Software Engineering degree programs; as of 2010[update], there were 244 Campus programs, 70 Online programs, 230 Masters-level programs, 41 Doctorate-level programs, and 69 Certificate-level programs in the United States. In addition to university education, many companies sponsor internships for students wishing to pursue careers in information technology. These internships can introduce the student to interesting real-world tasks that typical software engineers encounter every day. Similar experience can be gained through military service in software engineering.

Thus, downright statement is that SE is being created and complicated likewise every field that is connected with the modern computer world.

Exercise 3. Find in the text English equivalent for:

Спірне питання; звичайний користувач; продовжити кар’єру; може бути отриманий; зменшення вартості; значне зрушення (зміна); замість того, щоб трактувати; досягати практичних цілей; об’єднувати значну частину математики, комп’ютерних наук та практик; стандартна міжнародна навчальна програма; викликати роздуми (думку); робота по ремонту (обслуговуванню); архітектура збереженої програми; перешкоди продуктивності; команди кріпились до машини.

Exercise 4. Answer the following questions:

1. Why did computer practitioners come up with the "stored program architecture"?

2. When did the term "software engineering" first appear?

3. How do the Computer Society's Software Engineering Body of Knowledge and Wikipedia define "software engineering"?

4. Can you give your own definition to this field of knowledge?

5. How is Engineering applied to software?

6. What is the difference between computer science and software engineering according to David Parnas? How can you explain this difference?

7. What has been a primary focus of the IT industry since the 1990s? What things does the total cost of ownership represent?

8. What is a pre-requisite to becoming a software engineer?

9. What universities in Ukraine have Software Engineering degree programs?

10. What are the main courses (subjects) of Software Engineering curriculum? What new subjects will you study this year?

11. What makes a good software engineer? What skills, abilities and experience should he (she) acquire?

Exercise 5. Memorize the following words and word combinations.

origin – походження, початок

evolve – розвиватися, еволюціонувати

conciseness – стислість, чіткість, виразність

flaw – дефект, вада

controversial – дискусійний, спірний, суперечливий

render – приводити в якийсь стан, робити

obsolete - застарілий

punched card - перфокарта

card reader – пристрій для зчитування з перфокарт; картрідер

application-specific – пов’язаний з конкретним застосуванням, спеціалізований

high-order language – мова високого рівня

vendor – поставник, виробник, продавець, проф. вендор

custom software – ПЗ на замовлення, виготовлене для однієї фірми чи галузі

flourish – бути в розквіті, процвітати

modular programming – модульне програмування

data abstraction – абстракція даних; абстрагування даних, абстрактне представлення даних

boost – підтримка, рекламування, зростання (популярності)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]