Читайте также:
|
|
UNIT 3
Computer Softwear
Part 2
Software topics. Architecture
Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.
· Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.
· Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.
· User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates, word processor. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.
Documentation
Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without a clear documentation, software can be hard to use – especially if it is a very specialized and relatively complex software like the Photoshop or AutoCAD.
Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.
Library
An executable is almost always not sufficiently complete for direct execution.
Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.
Standard
Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.
Execution
Computer software has to be "loaded" into the computer's storage (such as a [hard drive], memory, or RAM). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions.
Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead.
Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.
Quality and reliability
Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug". All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions.
Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together.
Glossary
alter the control flow of instructions | - менять последовательность управляющих команд |
associated equipment | - вспомогательное/сопутствующее оборудование |
carry out a computation | - производить расчет |
command software | - голосовое программное обеспечение |
computer's storage | - компьютерная память |
default application packages | - пакет прикладных программ, используемых по умолчанию |
direct execution | - непосредственное исполнение |
embedded systems | - встраиваемые системы |
executable | - выполняемый (файл /модуль) |
execute the software | - привести в исполнение/действие программное обеспечение |
faulty (buggy) | - дефектный |
incrementing the value of a variable data element | - увеличение значения переменных данных |
machine code | - машинный код |
NASA (National Aeronautics and Space Administration) | - Национальное управление США по аэронавтике и исследованию космического пространства |
office suite | - офисный пакет |
operating environments | - операционное окружение |
peripherals | - периферийные устройства |
platform software | - платформа программного обеспечения |
pointers | - указатели |
RAM (Random-access memory) | - запоминающее устройство с произвольным доступом |
regression testing | - регрессивное тестирование |
software libraries | - библиотеки программного обеспечения |
spreadsheet templates | - электронные шаблоны в виде таблиц |
tailor systems | - приспосабливать системы |
unit testing | - модульное тестирование |
user-written software | - программное обеспечение, написанное пользователем |
Exercises
1. What do you think the following terms from the article mean? Check in the article if you need to and explain their meaning in English:
1) platform software;
2) peripherals;
3) spreadsheet templates.
Match each of the words in the first column with the word from the
second column to make six word partnerships from the article:
1) software language;
2) platform environment;
3) machine software;
4) office testing;
5) programming code;
6) operating suite.
Дата добавления: 2015-10-29; просмотров: 139 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
А) Изучите Постановления Конституционного Суда РФ, касающиеся вопросов уголовного судопроизводства. | | | This is the epigraph to the novel “The Great Gatsby” by Francis Scott Fitzgerald. How would you interpret it? |