L1软件工程与软件过程

What is Software Engineering?

“Software engineering is an engineering discipline that is concerned with all aspects of software production from initial conception to operation and maintenance.”

“软件工程是一门工程学科,涉及从最初的构思到操作和维护的软件生产的各个方面。”

 

Engineering Discipline  工程规范

Select the most appropriate theories, methods, and tools

选择最合适的理论,方法和工具

Work within organizational and financial constraints

在组织和财务限制内工作

Look for solutions within these constraints

在这些限制内寻找解决方案

 

All Aspects of Software Production 软件生产的各个方面

Technical processes of software development

软件开发的技术流程

Activities such as software project management and development of tools, methods and theories to support software development

活动,例如软件项目管理以及支持软件开发的工具,方法和理论的开发

 

What is Software Process? 什么是软件过程?

“The systematic approach that is used in software engineering is sometimes called a software process. A software process is a sequence of activities that leads to the production of a software product.”

“软件工程中使用的系统方法有时称为软件过程。软件过程是导致生产软件产品的一系列活动。”

 

A simplified and abstracted representation of a software process is called a software process model.

软件过程的简化和抽象表示形式称为软件过程模型。

A software process model is often called a Software Development Life Cycle (SDLC) model

软件过程模型通常称为软件开发生命周期(SDLC)模型

Depending on the type of software application to be developed, different software process models may be used

根据要开发的软件应用程序的类型,可以使用不同的软件过程模型

E.g., V-model, Spiral model, RAD (Rapid Application Development) model, Agile model, Waterfall model, Increment model, etc

例如,V模型,螺旋模型,RAD(快速应用程序开发)模型,敏捷模型,瀑布模型,增量模型等

 

 

“These generic models are high-level, abstract descriptions of software processes that can be used to explain different approaches to software development.”

“这些通用模型是软件过程的高级抽象描述,可用于解释软件开发的不同方法。”

 

Fundamental Activities for Software Processes    软件过程的基本活动

Software Specification:Requirements,Constraints

软件规格:需求、约束

Software Development:Design,Development

软件开发:设计、开发

Software Evolution:Modification ,Coping with Changes

软件发展:修改,应对变化

Software Validation:Unit Test,Integration Test,System Test,Acceptance Test

软件验证:单元测试,集成测试,系统测试,验收测试

 

Quality of Software Product  软件产品质量

Software quality is not just concerned with what the software does, it also includes the software’s behavior while it is running and the structure and organization of the system programs and associated documentation.

软件质量不仅仅是关注软件做什么,它还包括软件运行时的行为,以及系统程序和相关文件的结构和组织。

 

Four essential attributes of good software   优质软件的四个基本属性

Acceptability

•Software must be acceptable to the type of uses for which it is designed.

•It must be understandable, usable, and compatible with other systems that they use

可接受性

•软件必须为其设计的用途类型所接受。

•它必须是可理解的,可用的,并与他们使用的其他系统兼容

 

Dependability & Security

•Software must be reliable, secure & safe to use.

•Dependable software shouldn’t cause physical or economic damage in the event of failure.

可靠性与安全性
•软件必须可靠,安全且可以安全使用。
•发生故障时,可靠的软件不会造成物理或经济损失。

 

Efficiency

•Software should not waste system resources.

•Efficiency includes responsiveness, processing time, and resource utilizations, etc

效率
•软件不应浪费系统资源。
•效率包括响应速度,处理时间和资源利用率等

 

Maintainability

•Software should be developed in such a way that it can evolve to meet the changing needs of customers.

可维护性
•软件的开发方式应能满足客户不断变化的需求。

 

Types of Software    软件类型

Stand-alone applications

•Applications that run on personal computers, mobile devices or mainframes

•For example, Adobe Photoshop, Windows Calculator, etc.

独立应用程序
•在个人计算机,移动设备或大型机上运行的应用程序
•例如,Adobe Photoshop,Windows计算器等。

 

Interactive transaction-based applications

•Applications that run on a remote computer, but accessed by users from their own computers

•For example, Web applications, Taobao Apps, cloud-based services, etc.

基于交互式交易的应用程序
•在远程计算机上运行但由用户从其自己的计算机访问的应用程序
•例如,Web应用程序,淘宝应用程序,基于云的服务等。

 

Embedded control systems

•Software that control and manage hardware devices such as refrigerator temperature control, microware cooking functions, oil pump control, etc.

嵌入式控制系统
•控制和管理硬件设备的软件,例如冰箱温度控制,微件烹饪功能,油泵控制等。

 

Batch processing systems

•Application systems that process data in large batches

•For example, cell phone billing systems, staff salary payment systems, bank transaction processing systems, etc.

批处理系统
•大批量处理数据的应用系统
•例如,手机计费系统,员工工资支付系统,银行交易处理系统等。

 

Entertainment systems

•Most of these systems are games that can run on personal computers or special console hardware, e.g., Xbox, PS4, Nintendo Switch, etc.

娱乐系统
-这些系统大多是可以在个人电脑或特殊控制台硬件上运行的游戏,如Xbox、PS4、任天堂Switch等。

 

System for modeling and simulation

•Application systems developed for scientists and engineers to model and simulate physical processes, chemical reactions, protein folding, visualization, etc.

建模与仿真系统
•为科学家和工程师开发的应用程序系统,用于建模和模拟物理过程,化学反应,蛋白质折叠,可视化等。

Data collection and analysis systems

•Software systems that collect data from their environment and send that data to other systems for processing•For example, data warehouse, data lake, big data analytics systems, sensor data processing systems, etc.

数据收集与分析系统
•从其环境中收集数据并将其发送到其他系统进行处理的软件系统•例如,数据仓库,数据湖,大数据分析系统,传感器数据处理系统等。

 

Systems of systems

•Systems or subsystems used in the large-scale enterprise or organizations.•For example, Enterprise Resource Planning (ERP) system, or systems that are composed from other discrete systems.

系统系统
•大型企业或组织中使用的系统或子系统。•例如,企业资源计划(ERP)系统或由其他离散系统组成的系统。

 

NOTE: there are on clear boundaries between these types of software. As the world is becoming more and more software controlled, other types of software may emerge, thus new software processes are likely to be developed.

注意:这些类型的软件之间有明确的界限。随着世界上越来越多的软件控制,其他类型的软件可能会出现,因此可能会开发新的软件流程

 

Software Engineering Fundamentals   软件工程基础

Process

Use managed and understood development process, this may depend on the type of software to be developed

•Organize and plan the development process

流程
使用管理和理解的开发过程,这可能取决于要开发的软件的类型
-组织和规划开发过程

Dependability

•The software system should behave as expected, without failures

•The software system should be available when it it is required

•It should be safe and secure

可靠性
•软件系统应按预期运行,无故障
•软件系统应在需要时可用
•应该安全

Requirements

•Understand the expectations from different stakeholders

•Balance conflict requirements

•Deliver the software system within the allocated budget and time

要求
-理解不同利益相关者的期望
-平衡冲突的需求
-在分配的预算和时间内交付软件系统

 

Management & Reuse

•Effective use of existing resources, this may include staffs, skills, available technologies and software

管理与再利用
-有效利用现有资源,这可能包括员工、技能、现有技术和软件。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值