1、IT职场英语电子课件教参 页Unit 4 Working Process of IT IndustryI: 本单元教学目的:1. 了解IT行业工作流程的相关概念2. 掌握如何进行调查3. 能够撰写调查报告并进行口头展示4. 了解科技翻译中的被动语态部分II: 练习题答案Part One Concept Learning Task 1 Think before You Read1.1 对于比尔盖茨的这句 “There are no significant bugs in our released software that any significant number of users want
2、 fixed.”这句话的理解,教师可以提示学生结合自身学习背景,探讨一下bug的类型有哪些。(https:/en.wikipedia.org/wiki/Software_bug)1)Conceptual error (code is syntactically correct, but the programmer or designer intended it to do something else).Arithmetic bugsDivision by zero.Arithmetic overflow or underflow.Loss of arithmetic precision d
3、ue to rounding or numerically unstable algorithms.2)Logic bugsInfinite loops and infinite recursion.Off-by-one error, counting one too many or too few when looping.3)Syntax bugsUse of the wrong operator, such as performing assignment instead of equality test. For example, in some languages x=5 will
4、set the value of x to 5 while x=5 will check whether x is currently 5 or some other number. In simple cases often the compiler may generate a warning. In many languages, the language syntax is deliberately designed to guard against this error.4)Resource bugsNull pointer dereference.Using an uninitia
5、lized variable.Using an otherwise valid instruction on the wrong data type (see packed decimal/binary coded decimal).Access violations.Resource leaks, where a finite system resource (such as memory or file handles) become exhausted by repeated allocation without release.Buffer overflow, in which a p
6、rogram tries to store data past the end of allocated storage. This may or may not lead to an access violation or storage violation. These bugs may form a security vulnerability.Excessive recursion which though logically valid causes stack overflow.Use-after-free error, where a pointer is used after
7、the system has freed the memory it references.Double free error.5)Multi-threading programming bugsDeadlock, where task A cant continue until task B finishes, but at the same time, task B cant continue until task A finishes.Race condition, where the computer does not perform tasks in the order the pr
8、ogrammer intended.Concurrency errors in critical sections, mutual exclusions and other features of concurrent processing. Time-of-check-to-time-of-use (TOCTOU) is a form of unprotected critical section.6)Interfacing bugsIncorrect API usage.Incorrect protocol implementation.Incorrect hardware handlin
9、g.Incorrect assumptions of a particular platform.Incompatible systems. Often a proposed new API or new communications protocol may seem to work when both computers use the old version or both computers use the new version, but upgrading only the receiver exposes backward compatibility problems; in o
10、ther cases upgrading only the transmitter exposes forward compatibility problems. Often it is not feasible to upgrade every computer simultaneouslyin particular, in the telecommunication industry or the internet. Even when it is feasible to update every computer simultaneously, sometimes people acci
11、dentally forget to update every computerthe Knight Capital Group#2012 stock trading disruption involved one such incompatibility between the old API and a new API.7)Performance bugsToo high computational complexity of algorithm.Random disk or memory access.8)Teamworking bugsUnpropagated updates; e.g
12、. programmer changes my Add but forgets to change my Subtract, which uses the same algorithm. These errors are mitigated by the Dont Repeat Yourself philosophy.Comments out of date or incorrect: many programmers assume the comments accurately describe the code.1.2 PhaseDetailsRequirement AnalysisReq
13、uirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system require
14、ments.System DesignSystems design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. Systems design could be seen as the application of systems theory to product development.Program DesignThe activity of progressing
15、from a specification of some required program to a description of the program itself. During the phase the design decisions are made as to how the program will meet these requirements.CodingCoding is what makes it possible for us to create computer software, apps and websites. Your browser, your OS,
16、 the apps on your phone, Facebook, and this website theyre all made with code.TestingSoftware testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.1 Software testing can also provide an objective, independent view of th
17、e software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects).MaintenanceSoftware maintenance in software engineering is
18、the modification of a software product after delivery to correct faults, to improve performance or other attributes.In software engineering, a software development methodology (also known as a system development methodology, software development life cycle, software development process, software pro
19、cess) is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle. The methodology may include the pre-definition of specific deliverables a
20、nd artifacts that are created and completed by a project team to develop or maintain an application.Common methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, extreme programming and various types of agile methodolog
21、y. Some people consider a life-cycle model a more general term for a category of methodologies and a software development process a more specific term to refer to a specific process chosen by a specific organization. For example, there are many specific software development processes that fit the sp
22、iral life-cycle model.The waterfall model is a sequential development approach, in which development is seen as flowing steadily downwards (like a waterfall) through several phases, typically:Requirements analysis resulting in a software requirements specificationSoftware designImplementationTesting
23、Integration, if there are multiple subsystemsDeployment (or Installation)MaintenanceSpiral developmentIn 1988, Barry Boehm published a formal software system development spiral model, which combines some key aspect of the waterfall model and rapid prototyping methodologies, in an effort to combine a
24、dvantages of top-down and bottom-up concepts. It provided emphasis in a key area many felt had been neglected by other methodologies: deliberate iterative risk analysis, particularly suited to large-scale complex systems.The basic principles are:Focus is on risk assessment and on minimizing project
25、risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle.Each cycle involves a progression through the same seque
26、nce of steps, for each part of the product and for each of its levels of elaboration, from an overall concept-of-operation document down to the coding of each individual program.Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and constraints of the
27、 iteration; (2) evaluate alternatives; Identify and resolve risks; (3) develop and verify deliverables from the iteration; and (4) plan the next iteration.Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and commitment.Rapid Application
28、 Development (RAD) ModelRapid application development (RAD) is a software development methodology, which favors iterative development and the rapid construction of prototypes instead of large amounts of up-front planning. The planning of software developed using RAD is interleaved with writing the s
29、oftware itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.The rapid development process starts with the development of preliminary data models and business process models using structured techniques. In the next
30、 stage, requirements are verified using prototyping, eventually to refine the data and process models. These stages are repeated iteratively; further development results in a combined business requirements and technical design statement to be used for constructing new systems.The term was first used
31、 to describe a software development process introduced by James Martin in 1991. According to Whitten (2003), it is a merger of various structured techniques, especially data-driven Information Engineering, with prototyping techniques to accelerate software systems development.The basic principles of
32、 rapid application development are:Key objective is for fast development and delivery of a high quality system at a relatively low investment cost.Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.Aims to produce high quality systems quickly, primarily via iterative Prototyping (at any stage of development), active user involvement, and computerized development tools. These tools m
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1