《计算机英语》 Unit 3 Software Engineering 软件工程

news2024/11/29 6:31:57

Section A Software Engineering Methodologies 软件工程方法论

Software development is an engineering process.
软件开发是一个工程过程。

The goal of researchers in software engineering is to find principles that guide the software development process and lead to efficient, reliable software products.
软件工程研究人员的目标是找到指导软件开发过程并导致高效、可靠软件产品的原则。

1. Waterfall model 瀑布模型

词汇

methodologies        n方法论

prohibitively        adv过高的

symposium         n研讨会

The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards through the phases of requirements analysis, design, implementation, testing, and maintenance.
瀑布模型是一种顺序设计过程,用于软件开发过程中,在这一过程中,进展被视为通过需求分析、设计、实现、测试和维护阶段稳步向下流动。

2. Incremental model 增量模型

词汇

contradiction        n矛盾

dictate        v控制,命令

free-wheeling        单向转动

trial-and-error        试错法,不断摸索

incremental        adj.增加的;【数】增量的;增额的

evaluate        v评估

In recent years, software engineering techniques have changed to reflect the contradiction between the highly structured environment dictated by the waterfall model and the “free-wheeling”, trial-and-error process that is often vital to creative problem solving. This is illustrated by the emergence of the incremental model for software development.
近年来,软件工程技术已经发生变化,以反映由瀑布模型所决定的高度结构化环境与通常对创造性解决问题至关重要的“自由发挥”、试错过程之间的矛盾。增量模型的出现说明了软件开发的变化。

Following this model, the desired software system is constructed in increments—the first being a simplified version of the final product with limited functionality. Once this version has been tested and perhaps evaluated by the future user, more features are added and tested in an incremental manner until the system is complete.
遵循此模型,所需的软件系统以增量方式构建——首先是具有有限功能的最终产品的简化版本。一旦这个版本经过测试,也许已经被未来的用户评估,就会以增量方式增加更多功能并进行测试,直到系统完成。

3. Iterative model 迭代模型

词汇

interative        a迭代的

preliminary        a初步的

encompass        vt围绕

refine        vt精炼,提炼

rational unified process(RUP)        统一软件管理

prototyping        n原型设计制作

incarnation        n化身

open-source development        开源软件的开发

Another model that represents the shift away from strict adherence to the waterfall model is the iterative model, which is similar to, and in fact sometimes equated with, the incremental model, although the two are distinct.
另一种代表从严格遵循瀑布模型转变的模型是迭代模型,它与增量模型相似,实际上有时与增量模型等同,尽管两者是不同的。

Whereas the incremental model carries the notion of extending each preliminary version of a product into a larger version, the iterative model encompasses the concept of refining each version.
虽然增量模型带有将每个初步版本的产品扩展到更大版本的概念,但迭代模型包含了精炼每个版本的概念。

In reality, the incremental model involves an underlying iterative process, and the iterative model may incrementally add features.
实际上,增量模型涉及一个潜在的迭代过程,迭代模型可能会逐步增加功能。

4. Agile methods 敏捷方法

词汇

pronounced        a明显的

responsiveness        n敏感性

rigorous         a严厉的,严密的

extreme programming         极限编程(XP)

breadth        n宽度

Perhaps the most pronounced shift from the waterfall model is represented by the agile methods, each of which proposes early and quick implementation on an incremental basis, responsiveness to changing requirements, and a reduced emphasis on rigorous requirements analysis and design.
也许最明显的从瀑布模型转变是敏捷方法所代表的,每种方法都提倡在增量基础上早期和快速实施,对变化需求的响应能力,以及减少对严格需求分析和设计的强调。

One example of an agile method is extreme programming (XP).
敏捷方法的一个例子是极限编程(XP)。

In 1999 Beck defined XP as a lightweight methodology for the small-to-medium sized teams developing software in the face of vague or rapidly changing requirements.
1999年,Beck将XP定义为一种轻量级方法,适用于面临模糊或快速变化需求的中小规模团队开发软件。

In terms of this definition, XP could be described in four ways.
根据这个定义,XP可以用四种方式描述。

Firstly, it is lightweight. In XP you only do what you need to do to create value for the customer.
首先,它是轻量级的。在XP中,你只做你需要做的来为客户创造价值。

Secondly, it is a methodology, which based on addressing obstacles in software development. It does not address some specific issues such as financial justification of projects or sales.
其次,它是一种方法论,基于解决软件开发中的障碍。它不解决一些特定问题,如项目的财务理由或销售。

Thirdly, it is implemented by a small or medium size, which makes the project team much more flexible. In this kind of team, everyone is elite and has his clear responsibility.
第三,它由小或中等规模的团队实施,这使得项目团队更加灵活。在这样的团队中,每个人都是精英,并且有他清晰的责任。

Last but not least, XP adapts to rapidly changing requirements.
最后但同样重要的是,XP适应快速变化的需求。

练习A1(知识点填空)

  1. The goal of researchers in software engineering is to find principles that guide the software development process and lead to efficient, reliable software products.
    软件工程 研究人员的目标是找到指导软件开发过程并导致高效、可靠软件产品的原则。

  2. Early approaches to software engineering insisted on performing requirements analysis, design, implementation,testing, and maintenance in a strictly sequential manner.
    早期的软件工程方法坚持以严格的顺序执行需求分析、设计、实现、测试和维护。

  3. Following the incremental model, the desired software system is constructed in increments – the first being a simplified version of the final product, with limited functionality.
    按照增量模型,所期望的软件系统是按增量构建的——首先是最终产品的简化版本,具有有限的功能。

  4. A significant example of iterative techniques is the rational unified process(RUP), which specifies the general process of developing a software product.
    迭代技术的一个显著例子是统一软件管理,它指定了开发软件产品的一般过程。

  5. The most prominent example is the Linux operating system whose open-source development was originally led by Linus Torvalds.
    最突出的例子是Linux操作系统,其开源开发最初由林纳斯·托瓦尔兹领导。

  6. Following the agile model, software is developed by a team of less than a dozen individuals working in a communal work space where they freely share ideas and assist each other in the development project.
    按照敏捷模型,软件是由不到十二人的团队在共同的工作空间开发的,他们在那里自由分享想法,并在开发项目中互相协助。

练习A2(词汇翻译)

  • Software Engineering: 软件工程,是应用工程原则来开发 and 维护软件的学科。
  • Requirements Analysis: 需求分析,是确定系统或软件必须完成什么功能的过程。
  • Testing: 测试,是评估软件系统或组件以确定它们是否满足规定要求的过程。
  • Maintenance: 维护,指在软件发布后,为了改正错误,提升性能或增加功能而进行的持续工作。
  • Software Engineer: 软件工程师,是应用软件工程原理和方法来设计、开发、测试和维护软件系统的人。
  • Requirements Specification: 需求规格说明,是详细描述软件需求的文档。
  • Waterfall Model: 瀑布模型,是一种经典的软件开发生命周期模型,它将软件开发过程划分为一系列阶段性的活动。
  • Incremental Model: 增量模型,是一种软件开发模型,其中软件是逐步构建和发布的。
  • Iterative Model: 迭代模型,是一种通过重复一系列开发活动来逐步改进软件产品的方法。
  • Rational Unified Process (RUP): 统一软件开发过程(RUP),是一种以迭代和增量的方式进行软件开发的流程。
  • Software Life Cycle: 软件生命周期,指软件从概念、设计、实现、测试、部署到维护的整个过程。
  • Agile Methods: 敏捷方法,是一组软件开发方法论,强调适应性和快速响应变化。
  • Extreme Programming (XP): 极限编程(XP),是一种敏捷软件开发方法,旨在提高软件质量并促进快速响应变化。

翻译

Software Ownership

软件所有权

Legal efforts to provide such ownership fall under the category of intellectual property law, much of which is based on the well-established principles of copyright and patent law.
提供此类所有权的法律效应属于知识产权法的范畴,其中很多都是基于已经确立的版权法和专利法原则。

Indeed, the purpose of a copyright or patent is to allow the developer of a “product” to release that product to intended parties while protecting his or her ownership rights.
的确,版权或专利的目的是允许“产品”的开发者在向预定的各方发布产品的同时,保护他或她的所有权。

As such, the developer of a product (whether an individual or a corporation) will assert his or her ownership by including a copyright statement in all produced works; including requirement specifications, design documents, source code, test plans, and in some visible place within the final product.
因此,产品的开发者(无论是个人还是公司)将通过在所有产生的作品中包含版权声明来主张他或她的所有权;包括需求规格说明、设计文档、源代码、测试计划,以及最终产品中的一些可见位置。

A copyright notice clearly identifies ownership, the personnel authorized to use the work, and other restrictions.
版权声明清楚地识别了所有权、被授权使用作品的人员以及其他限制。

Furthermore, the rights of the developer are formally expressed in legal terms in a software license.
此外,开发者的权利在软件许可证中以法律术语正式表达。

Section B Exploratory Testing 探索性测试

词汇

bug         n错误,漏洞

Test case        测试用例

scripted testing         脚本测试

trail and error         反复试验

tactic        n战术

练习B1(知识点填空)

  1. Software testing is a process where a software tester/team runs a program or a system to find bugs or defects, to maintain the correctness and reliability of the program.
    软件测试是一个过程,软件测试人员/团队运行程序或系统以发现错误或缺陷,以保持程序的正确性和可靠性。

  2. Exploratory testing is a software testing method that implements learning, test design, and test execution at the same time simply because you explore while testing.
    探索性测试是一种软件测试方法,它可以同时实现学习、测试设计和测试执行,因为你可以在测试时进行探索

  3. Exploratory testing solely depends on the tester's skill to find bugs and create test cases.
    探索性测试完全取决于测试人员发现 bug 和创建测试用例的技能

  4. Exploratory testing has less preparation on formal documentation before the implementing the software testing.
    在实施软件测试前,探索性测试对正式文件的准备较少。

练习B2(词汇翻译)

  • software testing - 软件测试
  • exploratory testing - 探索性测试
  • scripted testing - 脚本化测试
  • trial and error - 试错法
  • bug - 缺陷/漏洞
  • test case - 测试用例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1851107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开启数字新纪元:全球首款开源AI女友,你的私人数字伴侣

在这个数字化飞速发展的时代,人工智能已经不再是科幻小说中的幻想,而是实实在在走进了我们的生活。今天,我们要介绍的,不仅仅是一项技术革新,更是一场关于陪伴的革命——全球首款开源AI女友,DUIX,已经横空出世! 🚀 革命性的开源平台 DUIX,由硅基智能精心打造,不…

GLM-4V模型学习

智谱AI引领技术前沿,推出了新一代预训练模型GLM-4系列,其中的GLM-4-9B作为开源版本,展现了其在人工智能领域的深厚实力。在语义理解、数学运算、逻辑推理、代码编写以及广泛知识领域的数据集测评中,GLM-4-9B及其人类偏好对齐的版本…

慎投!新增7本期刊被“On Hold“,14本影响因子下降!

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…

大学生须知~~毕业行李太多,怎么拿回家

一年一度的暑假来临了,大学生们又该放假了,可是回家行李这么多,怎么邮寄才便宜呢?? 记得找惠发快递呀!因为我们平台是跟快递总部合作的,不管你寄大件还是快递都很便宜,而且没有单量…

转--Hadoop集群部署案例

模块简介 本模块主要练习Hadoop集群部署。 模块知识 ● 使用Linux基础命令 ● Hadoop集群搭建部署知识 环境准备 三台CentOS7操作系统的虚拟机 可以是3个Docker容器,也可以是三个VMWare/VirtualBox的虚拟机。三台虚拟机的最低配置为1核1G 20G。如果是虚拟机中…

20分钟攻破DISCUZ论坛并盗取数据库(web安全白帽子)

20分钟攻破DISCUZ论坛并盗取数据库(web安全白帽子) 1 快速搭建discuz论坛1.1 攻击思路1.2 快速搭建实验环境1.2.1,漏洞概述1.2.2,在centos7虚拟机上搭建LAMP环境1.2.3,上传到discuz_X2_SC_UTF8.zip 到Linux系统/root下…

Android 添加自己的时钟小部件

小部件,也叫微件, 它的介绍参考官网 应用 widget 概览 https://developer.android.google.cn/develop/ui/views/appwidgets/overview?hlzh-cn 直接上图,原生系统上,时钟应用的小部件效果。 我也整一个。 1.创建小部件布局文…

C#使用轻量级深度学习模型进行车牌颜色识别和车牌号识别

看到这个文章时候请注意这个不涉及到车牌检测,这个仅仅是车牌颜色和车牌号识别,如果想涉及到车牌检测可以参考这个博客:[C#]winform部署yolov7CRNN实现车牌颜色识别车牌号检测识别_c# yolo 车牌识别-CSDN博客 【训练源码】 https://github.…

已解决java.rmi.activation.ActivationException异常的正确解决方法,亲测有效!!!

已解决java.rmi.activation.ActivationException异常的正确解决方法,亲测有效!!! 问题分析 java.rmi.activation.ActivationException 是与Java RMI(远程方法调用)的激活机制相关的一种已检查异常。这个异…

【面试干货】Hashtable 与 HashMap 的区别

【面试干货】Hashtable 与 HashMap 的区别 1、线程安全性2、对null值的处理3、遍历方式4、遍历示例5、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,Hashtable和HashMap都是基于哈希表实现的Map接口。然而&#…

代码随想录算法训练营第31天| 134. 加油站、135. 分发糖果、860.柠檬水找零、 406.根据身高重建队列

134. 加油站 题目链接:134. 加油站 文档讲解:代码随想录 状态:so easy 思路:每次遍历时,如果当前的油量差(currTank)小于0,说明从当前起点无法到达下一个加油站。此时,将…

Python --- 如何修改Jupyter Notebook保存文件的路径?

如何修改Jupyter Notebook在本地保存文件的默认路径? 一直以来都比较喜欢jupter notebook,自从用了以后就爱上了。平时用的时候,因为大多都是临时调用,每次在界面里直接new一个新的file就开干。 曾经也想过我创建的这些python文件…

代码随想录第31天|贪心算法

134. 加油站 参考 思路: 以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0,起始位置至少要是i1,因为从i…

初识 SpringMVC,运行配置第一个Spring MVC 程序

1. 初识 SpringMVC,运行配置第一个Spring MVC 程序 文章目录 1. 初识 SpringMVC,运行配置第一个Spring MVC 程序1.1 什么是 MVC 2. Spring MVC 概述2.1 Spring MVC 的作用: 3. 运行配置第一个 Spring MVC 程序3.1 第一步:创建Mave…

免费开源的地图解析工具【快速上手】

视频学习地址 这篇文章和【Nominatim】是相呼应的,在尝试了OSM数据一直有问题之后,通过别人的指点是不是可以换个思路,我的数据只需要精确到市级别,也可以不用OSM这样全的数据(主要原因还是OSM太过庞大了) …

Mybatis(根据id查找这一行的数据)

首先在查询之前,我们先要做些基础的工作先创建一个以你的数据库命名的model类 我的数据库的名字叫admin 我就创建了一个Admin的类 用来方便数据的访问 然后我们就要创建一个接口来声明我们要写的方法 我创建的接口命名为AdminDao 在创建一个xml的类用来实现声明的…

NSSCTF中的[WUSTCTF 2020]朴实无华、[FSCTF 2023]源码!启动! 、[LitCTF 2023]Flag点击就送! 以及相关知识点

目录 [WUSTCTF 2020]朴实无华 [FSCTF 2023]源码!启动! [LitCTF 2023]Flag点击就送! 相关知识点 1.intval 绕过 绕过的方式: 2.session伪造攻击 [WUSTCTF 2020]朴实无华 1.进入页面几乎没什么可用的信息,所以想到使用dis…

408数据结构-图的应用1-最小生成树 自学知识点整理

前置知识:图的遍历 图的应用是408初试历年考查的重点。不过一般而言,这部分内容直接以算法设计题形式考查的可能性极小,更多的是结合图的实例来考查算法的具体操作过程,要求掌握的是手推模拟给定图的各个算法执行过程。此外&#…

利口 202. 快乐数

力扣 202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结…

信号基本分析方法——频域分析

二、频域分析 随机信号的时域分析只能提供有限的时域故障特征信息,故障发生时往往会引起信号频率结构的变化,而故障频率可以计算和预知,通过检测频率的幅值变换规律,就可以监控故障的发展过程。 频谱分析的理论基础是傅里叶变换…