登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

家庭教育文章

http://youyan7224480.blog.163.com/

 
 
 

日志

 
 

计算机专业英语教案第3章  

2009-06-18 22:58:34|  分类: 博主目录 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

第3章  Software Knowledge

3.1  Data Structures

3.2  Operating System

3.3  Programming Languages

3.4  Software Engineering

3.5  Software Testing and Maintenance

 

3.2  Operating System

?         The purpose of an operating system is to provide an environment in which a user may execute programs.

?         Operating systems exist because they are a reasonable way to solve the problem of creating a usable computing system.

?         The primary goal of an operating system is convenience for the user.

?         A secondary goal is efficient operation of the computer system.

Resource Management

?         The operating system provides the means for the proper use of these resources in the operation of the computer system.

?         We can view an operating system as a resource allocates.

?         The operating system sets up the order in which programs are processed, and defines the sequence in which particular jobs are executed

?         I/O Management

?         To facilitate execution of I/O operations, most operating systems have a standard set of control instructions to handle the processing of all input and output instructions.

?         These standard instructions, referred to as the input/output control system (IOCS), are an integral part of most operating systems.

?         The controlling software calls on the IOCS software to actually complete the I/O operation.

Classification of Operating Systems

?         A single-user operating system expects to deal with one set of input devices—those that can be controlled by one user at a time.

?         A multi-user operating system is designed to deal with input, output, and processing requests from many users-all at the same time.

?         A network operating system provides communications and routing services that allow computers to share data, programs and peripheral devices.

?         A multitasking operating system provides process and memory management services that allow two or more programs to run simultaneously.

?         All modern operating systems are multitasking and can run several processes simultaneously.

?         A desktop operating system is one that is designed for a personal computer—either a desktop or notebook computer.

?          

3.3  Programming Languages

?         A programming language or computer language is a standardized communication technique for expressing instructions to a computer.

?         A language enables a programmer to precisely specify what data a computer will act upon, how these data will be stored/transmitted, and what actions to take under various circumstances of cases.

?         Programming languages are important tools for helping software engineers write better programs faster.

Procedural programming and Object-oriented programming

?         Procedural programming involves using your knowledge of a programming language to create computer memory locations that can hold values and writing a series of steps or operations that manipulate those values.

?         A single procedural program often contains hundreds of variable and thousands of procedure calls.

?         Object-oriented programming is an extension of procedural programming in which you take a slightly different approach to writing computer programs.

?         Writing object-oriented programs involves both creating objects and creating applications that use those objects.

Machine Language

?         An executable program is a sequence of extremely simple instructions known as machine code.

?         Machine code instructions are binary—that is, sequences of bits (0s and 1s).

?         Because these numbers are not understood easily by humans, computer instructions usually are not written in machine code.

Assembly Language

?         Assembly language uses commands that are easier for programmers to understand than are machine-language commands.

?         Each machine language instruction has an equivalent command in assembly language.

?         Assembly language is sometimes inserted into a high-level language program to carry out specific hardware tasks or to speed up a high-level program.

High-Level Languages

?         If the computer could translate convenient symbols into basic operations, why couldn’t it also perform other clerical coding functions?

?         A high-level programming language is a means of writing down, in formal terms, the steps that must be performed to process a given set of data in a uniquely defined way.

?         The high-level languages are often oriented toward a particular class of processing problems.

Compiler and Interpreter

?         A complier is a program that translates source code into object code.

?         Every high-level programming language comes with a compiler.

?         Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language.

?         An interpreter translates high-level instructions into an intermediate form, which it then executes.

?         The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated.

?          

3.4  Software Engineering

?         Software engineering is the application of tools, methods, and disciplines to produce and maintain an automated solution to a real-world problem.

?         Software engineering first emerged as a popular term in the title of a 1968 NATO conference held in Garmisch, Germany.

?         A large-scale software projects spans a considerable period of time. A number of distinct phases can be identified over this period of time. Together, these make up what is known as the “software life cycle”.

The software life cycle

?         Requirements definition: The requirements of the software are established and specified.

?         Design: A design is developed from an analysis of the requirements.

?         Implementation: The design is coded in a particular programming language on a particular machine.

?         Testing: The implemented system is tested to see that it meets the specified requirements.

?         Operation and maintenance: The system is installed and used. Errors found must be repaired.

Requirements definition

?         The first phase, requirements definition, refers to the period during which the requirements of the system desired, that is, it’s functional characteristics and operational details, are specified.

?         The input to this phase is the stated (often rather loosely stated) needs for the software.

?         Typically, a “requirements document” is the output of this phase, a set of precisely stated properties or constraints that the final product must satisfy.

?         As with any of the phases, it is important that errors not be allowed to move into subsequent phases.

Design

?         The second phase, design, is predominantly creative, while some would argue that creativity is inherent and cannot be trained or improved, it can certainly be enhanced by the use of good procedures and tools.

?         The input to this phase is a (debugged and validated) requirements document: the output is a design expressed in some appropriate form (for example, pseudo-code).

?         Each requirement in the requirements document must have a corresponding design fragment to meet it.

Implementation

?         The third phase, implementation, is the actual coding of the design developed in the second phase.

?         The lure of this phase is strong, and many a foolhardy programmer has been drawn to it before adequately laying the groundwork in the first two phases.

?         As a result, requirements are incompletely understood and the design is flawed.

?         The implementation proceeds blindly, and many problems arise as a result.

Testing

?         The fourth phase, testing, is concerned with demonstrating the correctness of the implemented program. Inevitably some testing is performed as part of the previous two phases as well.

?         Any experienced programmer mentally tests each line as it is produced and mentally simulates the execution of any module prior to any formal testing stage.

?         A “successful” test run means only that no errors were uncovered with the particular circumstances tested; it says nothing about other circumstances.

?         In theory, the only way that testing can show that a program is correct is if all possible cases are tried (known as an exhaustive test), a situation technically impossible for even the simplest programs.

Program maintenance

?         The fifth phase is program maintenance phase. Student programmers, unfortunately, rarely become involved in this phase.

?         Its importance in the real world, however, cannot be overemphasized, since the cost of maintaining a widely used program can match or exceed the cost of developing it.

?         Unlike hardware maintenance, software maintenance deals not with repair of deteriorated components, but with repair of design defects, which may include the provision of added functions to meet new needs.

 

  评论这张
 
阅读(728)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018