当前位置: 首页 > news >正文

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

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 - 测试用例

相关文章:

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

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 lea…...

2024-6-18(沉默Spring,Springboot)

1.Spring小结 我们最后再来体会一下用 Spring 创建对象的过程: 通过 ApplicationContext 这个 IoC 容器的入口,用它的两个具体的实现子类,从 class path 或者 file path 中读取数据,用 getBean() 获取具体的 bean instance。 那…...

Java热部署:让应用更新如丝般顺滑,告别繁琐重启!

目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署?简单说就是你程序改了,现在要重新启动服务器,嫌麻烦?不用重启,服务器会自己悄悄的把更新后的程序给重新加载一遍&…...

微信小程序毕业设计-小区疫情防控系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为: x:[batch, seq_len, input_size]h0:[batc…...

SpringBoot 快速入门(保姆级详细教程)

目录 一、Springboot简介 二、SpringBoot 优点: 三、快速入门 1、新建工程 方式2:使用Spring Initializr创建项目 写在前面: SpringBoot 是 Spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。SpringBoot化繁…...

【第18章】Vue实战篇之登录界面

文章目录 前言一、数据绑定1. 数据绑定2. 数据清空 二、表单校验1. 代码2. 展示 三、登录1.登录按钮2.user.js3. login 四、展示总结 前言 上一章完成用户注册&#xff0c;这一章主要做用户登录。 一、数据绑定 登录和注册使用相同的数据绑定 1. 数据绑定 <!-- 登录表单 -…...

[C++]使用C++部署yolov10目标检测的tensorrt模型支持图片视频推理windows测试通过

【测试通过环境】 vs2019 cmake3.24.3 cuda11.7.1cudnn8.8.0 tensorrt8.6.1.6 opencv4.8.0 【部署步骤】 获取pt模型&#xff1a;https://github.com/THU-MIG/yolov10训练自己的模型或者直接使用yolov10官方预训练模型 下载源码&#xff1a;https://github.com/laugh12321/yol…...

分享uniapp + Springboot3+vue3小程序项目实战

分享uniapp Springboot3vue3小程序项目实战 经过10天敲代码&#xff0c;终于从零到项目测试完成&#xff0c;一个前后端分离的小程序实战项目学习完毕 时间从6月12日 到6月22日&#xff0c;具有程序开发基础&#xff0c;第一次写uniapp,Springboot以前用过&#xff0c;VUE3也…...

Ubuntu 24.04安装zabbix7.0.0图形中文乱码

当zabbix安装完成后&#xff0c;设置中文界面时&#xff0c;打开图形&#xff0c;中文内容会显示方框乱码&#xff0c;是因为服务器字体中没有相关的中文字体&#xff0c;需要更换。 1、找到中文字体&#xff0c;可以在网络上下载《得意黑》开源字体&#xff0c;也可以在windo…...

MybatisPlus 调用 原生SQL

方式一 DemoMapper.java Mapper public interface DemoMapper extends BaseMapper<TableConfig> {Update("${sql}")int createTable(Param("sql") String sql); }测试代码 SpringBootTest class DemoMapperTest {Resourceprivate DemoMapper demo…...

1.SG90

目录 一.实物图 二.原理图 三.简介 四.工作原理 一.实物图 二.原理图 三.简介 舵机&#xff08;英文叫Servo&#xff09;&#xff0c;是伺服电机的一种&#xff0c;伺服电机就是带有反馈环节的电机&#xff0c;这种电机可以进行精确的位置控制或者输出较高的扭矩。舵机…...

【yolov8语义分割】跑通:下载yolov8+预测图片+预测视频

1、下载yolov8到autodl上 git clone https://github.com/ultralytics/ultralytics 下载到Yolov8文件夹下面 另外&#xff1a;现在yolov8支持像包一样导入&#xff0c;pip install就可以 2、yolov8 语义分割文档 看官方文档&#xff1a;主页 -Ultralytics YOLO 文档 还能切…...

基于STM8系列单片机驱动74HC595驱动两个3位一体的数码管

1&#xff09;单片机/ARM硬件设计小知识&#xff0c;分享给将要学习或者正在学习单片机/ARM开发的同学。 2&#xff09;内容属于原创&#xff0c;若转载&#xff0c;请说明出处。 3&#xff09;提供相关问题有偿答疑和支持。 为了节省单片机MCU的IO口资源驱动6个数码管&…...

Jlink下载固件到RAM区

Jlink下载固件到RAM区 准备批处理搜索exe批处理读取bin数据解析调用jlink批处理准备jlink脚本 调用执行 环境&#xff1a;J-Flash V7.96g 平台&#xff1a;arm cortex-m3 准备批处理 搜索exe批处理 find_file.bat echo off:: 自动识别脚本名和路径 set "SCRIPT_DIR%~dp…...

Kotlin基础——Typeclass

高阶类型 如在Iterable新增泛型方法时 interface Iterable<T> {fun filter(p: (T) -> Boolean): Iterable<T>fun remove(p: (T) -> Boolean): Iterable<T> filter { x -> !p(x) } }对应的List、Set实现上述方法时仍需要返回具体的类型 interfac…...

DC-DC 高压降压、非隔离AC-DC、提供强大的动力,选择优质电源芯片-(昱灿)

畅享长续航&#xff0c;尽在我们的充电芯片&#xff01; 无论是手机、平板还是智能设备&#xff0c;长时间使用后电量不足总是令人头疼。然而&#xff0c;我们的充电芯片将为您带来全新的充电体验&#xff01;采用先进的技术&#xff0c;我们的充电芯片能够提供快速而稳定的充电…...

GPT-4o的视觉识别能力,将绕过所有登陆的图形验证码

知识星球&#x1f517;除了包含技术干货&#xff1a;《Java代码审计》《Web安全》《应急响应》《护网资料库》《网安面试指南》还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 我们来看一下市面上常见的图形验证…...

【LinuxC语言】进程间的通信——管道

文章目录 前言不同进程间通信的方式管道匿名管道和命名管道半双工与全双工管道相关函数创建管道总结前言 在Linux操作系统中,进程是执行中的程序的实例。每个进程都有自己的地址空间,数据栈以及其他用于跟踪进程执行的辅助数据。操作系统管理这些进程,并通过调度算法来分享…...

CompletableFuture 基本用法

一、 CompletableFuture简介 CompletableFuture 是 Java 8 引入的一个功能强大的类&#xff0c;用于异步编程和并发处理。它提供了丰富的 API 来处理异步任务的结果&#xff0c;支持函数式编程风格&#xff0c;并允许通过链式调用组合多个异步操作。 二、CompletableFuture中…...

网页如何发布到服务器上

将网页发布到服务器上的过程涉及多个步骤&#xff0c;包括准备阶段、选择托管提供商、发布网站等。12 准备阶段&#xff1a; 确保在本地开发环境中对网站进行了充分的测试&#xff0c;包括功能测试、性能测试和安全测试。 检查Web.config文件&#xff0c;确保所有的配置设置…...

Jenkins简要说明

Jenkins 是一个开源的持续集成和持续部署&#xff08;CI/CD&#xff09;工具&#xff0c;广泛用于自动化软件开发过程中的构建、测试和部署等任务。它是基于Java开发的&#xff0c;因此可以在任何支持Java的平台上运行&#xff0c;并且能够与各种操作系统、开发工具和插件无缝集…...

C# 比较基础知识:最佳实践和技巧

以下是一些在 C# 中进行比较的技巧和窍门的概述。 1. 比较原始类型 对于原始类型&#xff08;int、double、char 等&#xff09;&#xff0c;可以使用标准比较运算符。 int a 5; int b 10; bool isEqual (a b); // false bool isGreater (a > b); // false bool is…...

Ansible 自动化运维实践

随着 IT 基础设施的复杂性不断增加&#xff0c;手动运维已无法满足现代企业对高效、可靠的 IT 运维需求。Ansible 作为一款开源的自动化运维工具&#xff0c;通过简洁易用的 YAML 语法和无代理&#xff08;agentless&#xff09;架构&#xff0c;极大简化了系统配置管理、应用部…...

红队攻防渗透技术实战流程:中间件安全:IISNGINXAPACHETOMCAT

红队攻防渗透实战 1. 中间件安全1.1 中间件-IIS-短文件&解析&蓝屏等1.2 中间件-Nginx-文件解析&命令执行等1.2.1 后缀解析 文件名解析1.2.2 cve_2021_23017 无EXP有POC1.2.3 cve_2017_7529 意义不大1.3 中间件-Apache-RCE&目录遍历&文件解析等1.3.1 cve_20…...

如何卸载宝塔面板?

宝塔官方有提供宝塔面板的卸载命令&#xff0c;使用这个卸载命令&#xff0c;我们就能将宝塔面板卸载掉。 这里有一点需要注意的&#xff0c;如果卸载宝塔面板的同时&#xff0c;也希望将 Nginx、MySQL、PHP 等组件卸载掉&#xff0c;那么我们应该先在宝塔面板里面卸载掉以上软…...

python入门基础知识(错误和异常)

本文部分内容来自菜鸟教程Python 基础教程 | 菜鸟教程 (runoob.com) 本人负责概括总结代码实现。 以此达到快速复习目的 目录 语法错误 异常 异常处理 try/except try/except...else try-finally 语句 抛出异常 用户自定义异常 内置异常类型 常见的标准异常类型 语法…...

迈巴赫S480升级增强现实AR抬头显示hud比普通抬头显示HUD更好用吗

增强AR实景抬头显示HUD&#xff08;Augmented Reality Head-Up Display&#xff09;是一种更高级的驾驶辅助技术&#xff0c;相比于普通抬头显示HUD&#xff0c;它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能&#xff1a; • 信息呈现方式&am…...

vivado、vitis2022安装及其注意事项(省时、省空间)

1、下载 AMD官网-资源与支持-vivado ML开发者工具&#xff0c;或者vitis平台&#xff0c; 下载的时候有个官网推荐web安装&#xff0c;亲测这个耗时非常久&#xff0c;不建议使用&#xff0c;还是直接下载89G的安装包快。 注意&#xff1a;安装vitis平台会默认安装vivado&…...

【自动驾驶】ROS小车系统

文章目录 小车组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍ROS的坐标系ROS的单位机器人电气连接变压模块运动底盘的电气连接ROS主控与传感器的电气连接ROS主控和STM32控制器两种控制器的功能运动底盘基本组成电池电机控制器与驱…...

怎么查询一个网站有没有做竞价/代做seo排名

redis集群采用P2P模式&#xff0c;是完全去中心化的&#xff0c;不存在中心节点或者代理节点&#xff1b;redis集群是没有统一的入口的&#xff0c;客户端&#xff08;client&#xff09;连接集群的时候连接集群中的任意节点&#xff08;node&#xff09;即可&#xff0c;集群内…...

个人免费网站平台/自己创建一个网站需要多少钱

美国产权局关于版权声明格式的说明 参考标准和格式是美国产权局的说明&#xff1a;http://www.copyright.gov/ Form of Notice for Visually Perceptible Copies 对于可视化的&#xff0c;或者图形的&#xff08;比如书籍&#xff0c;电影&#xff0c;网页&#xff0c;软件…...

大型网站开发 书籍/推广一次多少钱

/* author simon */例&#xff1a;数据库&#xff1a;NCDB2用户 &#xff1a;DB2ADMIN/DB2ADMIN备份库路径&#xff1a;D:/bank一.恢复数据库1.启动数据库运行-》db2cmd-》db2Db2>start db managerDb2>force application allDb2>drop database tjnsdb2 >2.创建数据…...

怎么制造网站/重庆公司seo

void ExitProcess( UINT uExitCode ); ExitProcess是一个API函数&#xff0c;它会结束当前应用程序的执行&#xff0c;并设置它的退出代码。uExitCode是此程序的退出代码。虽然可以在程序的任何地方去调用ExitProcess&#xff0c;强制当前程序的执行立即结束。对于操作系统来说…...

免费一卡二卡三/苏州seo免费咨询

继续写&#xff0c;我不困。 上图1.app选择商品进行下单&#xff0c;请求后台获取签名订单信息。2.app通过SDK调起支付宝支付接口。3. 支付宝客户端发送支付请求到支付宝服务端。4.支付成功返回支付宝客户端5.返回给app&#xff0c;同步后台数据&#xff0c;验证签名支付结果&a…...

电子商务网站建设作文/杯子软文营销300字

[转载]浅谈ASP.NET的Postback 分类: ASP.NET 发布: yaosansi 浏览: 4598日期: 2007年4月6日 说道ASP.NET的Postback&#xff0c;就得说Web Page的生命周期&#xff0c;但是Web Page的生命周期却不是三言两语就能够说得清楚的&#xff0c;所以在这里单纯站的编程的角度&#x…...