Читайте также:
|
|
At first there is no difference between software engineer and a programmer. Both of them write software but the way how they do their job differs. So, is really the difference between these specialists and in what specifically is it?
We should remember some information about the software engineering for searching the necessary answers.
Software Engineering is an approach to developing software. That attempts to treat it as a formal process more like traditional engineering than the craft that many programmers believe it is. We talk about an application, refining and polishing it, as if it were a wooden sculpture, not a series of logic instructions. The problem here is that you cannot engineer art. Programming locates somewhere between an art and a science.
There has always been considerable debate about the nature of programming. If bridges were designed like software then there would be a lot of ferries operating. You can't have a second go if a bridge fails. That’s the argument that the software engineering proponents put forward.
You may not accept this argument e.g. it's comparing chalk and cheese. Computer programs are very complex pieces of logic. In a bridge, the main load bearing members are well defined and the design takes into account the strength and thickness of the materials used. Any reasonable sized application may have ten thousand branch points, so the number of execution paths through this application is a very large number. Testing all those paths is a difficult task.
The whole design process has to be formally managed long before the first line of code is written. Enormous design documents – hundreds or thousands of pages long are produced using C.A.S.E. (Computer Aided Software Engineering) tools then converted into Design Specification documents which are used to design code.
There are no systems that can take a set of design constraints and requirements then generate code that satisfies all the requirements and constraints. It is a far too complex process. So the available C.A.S.E. systems manage parts of the lifecycle process but not all of it.
One distinguishing feature of software engineering is the paper trail that it produces. Designs have to be signed off by Managers and Technical Authorities all the way from top to bottom and the role of Quality Assurance is to check the paper trail. Many Software Engineers would admit that their job is around 70% paperwork and 30% code. It's a costly way to write software and this is why avionics in modern aircraft are so expensive.
In some parts of the world (and some U.S. States) you cannot call yourself a software engineer without a formal qualification.
If you want to become a software engineer, the first step is to learn a programming language and you are in the right place!
But who is a software engineer? We know, that a software engineer is an engineer who applies the principles of software engineering to the design, development, testing, and evaluation of the software and systems that make computers or anything containing software, such as computer chips, work (from Wikipedia, the free encyclopedia).
A computer software engineer may specialize in a particular field such as applications software or systems configuration. Courses in software engineering allow students to gain experience with both hands-on training and theoretical studies. A software engineer is responsible for a variety of tasks and applications in programming, and the scope of their work will depend on their specialization. The most common responsibilities of a software engineer include:
1. Programming and coding.
2. Compiling code and implementing it in various programs for testing.
3. Working with and developing text editors.
4. Building new systems and applications.
5. Programming networks.
6. Maintaining a network.
7. Determining efficient coding processes and procedures.
8. Diagnosing bugs and software problems.
9. Configuring software to meet a client or company`s needs.
A programmer is a person who designs, writes and tests the programs for computers.
So, what are another his duties? First of all, there are a number of specific duties which go along with the job position of a programmer. The primary duty of a programmer is to develop computer programs. Computer programs can relate to business concepts, games or personal use by individual computer users. There are a vast array of computer programs which can be developed and different computer programmers will create various types of programs.
The second point is that a computer programmer performs monitoring tasks to ensure that the programs which they develop work as they are supposed to. This is done by reviewing programs on a frequent basis and making adjustments as are necessary to ensure the proper working of a computer program. The computer programmer may perform this specific duty on their own or in conjunction with others. Some computer programmers may also be in a supervisory position. This means that the computer programmer may oversee the work of coworkers and subordinates on a daily basis. We should mention that, those who fill a supervisory role may have to hire new computer programmers and others who work in the computer department as well as fire those who do not work out. Computer programmers who are supervisors may also perform scheduling and payroll tasks.
We see that both specialeties are related branches, and they are part and parcel of those, who really want to connect their lives with computer.
Exercise 3. Answer the following questions.
1. What is the main difference between a programmer and a software engineer?
2. What is software engineering?
3. Where does programming fall?
4. What is the main debate that has always been considerable?
5. What is the argument that the Software Engineering proponents put forward?
6. What is very complex piece of logic?
7. Enormous design documents - hundreds or thousands of pages long are produced using C.A.S.E., are not they?
8. What can take a set of design constraints and requirements then generate code that satisfies all the requirements and constraints?
9. What kind of process is it?
10. What is one distinguishing feature of Software Engineering? 11. What has to be signed off by Managers and Technical Authorities?
12. What would many software engineers admit?
13. In some parts of the world you cannot call yourself a software engineer without a formal qualification, can you?
14. What is the first step if you want to become a software engineer?
Exercise 4. Find in the text English equivalent for:
На справді, невелика різниця; виконувати свою роботу; пробувати трактувати; більше подібний; вірити цьому; поліпшувати та робити довершенішим; між мистецтвом та наукою; великі суперечки щодо; це є доказом; дуже складні частини; довжина та щільність; кількість виконаних доріжок; сотні чи тисячі сторінок; для того щоб розробити код; обмеження та вимоги; надзвичайно складний; одна характерна особливість; шлях з верху до низу; дуже дорогий; бути в правильному руслі.
Exercise 5. Match the definitions and the terms:
1. _________is a method of study in which a subject is divided into very small parts and the student must be successful in one part before he or she can go on to the next.
2. ________is usually done with Computer-Aided Software Engineering (CASE) tools and use standards for the format, such as the Unified Modeling Language (UML).
3. ________is a systematic and disciplined approach to developing software that applies both computer science and engineering principles and practices to the creation, operation and maintenance of software systems.
4. _________ is a person whose job is writing computer programs.
5.__________ is the process of writing and testing programs for computer.
6. ________has to be managed in a standardized and structured method.
7. __________borrows heavily from project management, but there are nuances encountered in software not seen in other management disciplines.
8. _________is the application of a systematic, disciplined, approach to the development, operation, and maintenance of software.
( Programming, software engineering, software engineering, programmed learning, software design, software engineering management, programmer, software configuration management)
Exercise 6. Rewrite the sentences in Reported Speech
a) 1.“We are working on our website tomorrow,” Janet said. 2. He said: “I have known him for a long time.” 3. He asked me: “Do you have to work tonight?” 4. He asked: “What does the word mean?” 5. I asked him: “Be more careful.” 6. The teacher said to us: “Don’t write your lessons in pencil”. 7. He asked me: “Try to come in time”. 8. Mary asked: “Where does John live?” 9. Mr. Smith asked us: “Do you understand this exercise?” 10. Mary said: “I will be later.” 11. John asked: “Is it raining?” 12. He warned the child: “Don’t cross the street”. 13. He begged me: “Please send the money immediately”. 14. He asked me: “How are you today?” 15. John said: “I have to work tonight”. 16. She asked: “Did you see that movie?” 17. “Our teacher is giving us a test!” - said Michelle. 18. “Shall I study math or English?” - Sally asked her best friend.
b) 1.“Do you really want to learn this topic?” asked a teacher. 2. “We really want to become software engineers,” student answered. 3. “Software engineering can be divided into ten sub-disciplines,” Serhij said to me. 4. Dima says to Kate “Software Engineering is an approach to developing software that attempts to treat it as a formal process”. 5. I asked you: “What is the main difference between a programmer and a software engineer?” 6. Gosha asked Lesha: “Where does programming fall?” 7. “I don’t know,” Lesha answered. 8. “What is the main debate that has always been considerable?” asked the student. 9. “What can take a set of design constraints and requirements then generate code that satisfies all the requirements and constraints?” asked Olya. 10. “What kind of process is it?” asked Vita. 11. “What has to be signed off by Managers and Technical Authorities?” asked Nastya. 12. “What would many software engineers admit?” asked Ira. 13. “It applies both computer science and engineering principles and practices to the creation, operation and maintenance of software systems,” told Olya. 14. “One distinguishing feature of Software Engineering is the paper trail that it produces,” answered Lesha.
Exercise 7. Memorize the following words and word combinations.
Exercise 8. Read and translate the text.
Дата добавления: 2015-08-27; просмотров: 55 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Text 4. Current trends in software engineering | | | Text 2. Degrees in Software Engineering and Computer Science |