What is Software Engineering/h2>
“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 Processnbsp;什么是软件过程/h2>
“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
oftware must be acceptable to the type of uses for which it is designed.
t must be understandable, usable, and compatible with other systems that they use
可接受性
件必须为其设计的用途类型所接受。
必须是可理解的,可用的,并与他们使用的其他系统兼容
Dependability & Security
oftware must be reliable, secure & safe to use.
ependable software shouldn’t cause physical or economic damage in the event of failure.
可靠性与安全性
件必须可靠,安全且可以安全使用。
生故障时,可靠的软件不会造成物理或经济损失。
Efficiency
oftware should not waste system resources.
fficiency includes responsiveness, processing time, and resource utilizations, etc
效率
件不应浪费系统资源。
率包括响应速度,处理时间和资源利用率等
Maintainability
oftware should be developed in such a way that it can evolve to meet the changing needs of customers.
可维护性
件的开发方式应能满足客户不断变化的需求。
Types of Software 软件类型
Stand-alone applications
pplications that run on personal computers, mobile devices or mainframes
or example, Adobe Photoshop, Windows Calculator, etc.
独立应用程序
个人计算机,移动设备或大型机上运行的应用程序
如,Adobe Photoshop,Windows计算器等。
Interactive transaction-based applications
pplications that run on a remote computer, but accessed by users from their own computers
or example, Web applications, Taobao Apps, cloud-based services, etc.
基于交互式交易的应用程序
远程计算机上运行但由用户从其自己的计算机访问的应用程序
如,Web应用程序,淘宝应用程序,基于云的服务等。
Embedded control systems
oftware that control and manage hardware devices such as refrigerator temperature control, microware cooking functions, oil pump control, etc.
嵌入式控制系统
制和管理硬件设备的软件,例如冰箱温度控制,微件烹饪功能,油泵控制等。
Batch processing systems
pplication systems that process data in large batches
or example, cell phone billing systems, staff salary payment systems, bank transaction processing systems, etc.
批处理系统
批量处理数据的应用系统
如,手机计费系统,员工工资支付系统,银行交易处理系统等。
Entertainment systems
ost 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
pplication systems developed for scientists and engineers to model and simulate physical processes, chemical reactions, protein folding, visualization, etc.
建模与仿真系统
科学家和工程师开发的应用程序系统,用于建模和模拟物理过程,化学反应,蛋白质折叠,可视化等。
Data collection and analysis systems
oftware systems that collect data from their environment and send that data to other systems for processingor example, data warehouse, data lake, big data analytics systems, sensor data processing systems, etc.
数据收集与分析系统
其环境中收集数据并将其发送到其他系统进行处理的软件系统如,数据仓库,数据湖,大数据分析系统,传感器数据处理系统等。
Systems of systems
ystems or subsystems used in the large-scale enterprise or organizations.or 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
rganize and plan the development process
流程
使用管理和理解的开发过程,这可能取决于要开发的软件的类型
-组织和规划开发过程
Dependability
he software system should behave as expected, without failures
he software system should be available when it it is required
t should be safe and secure
可靠性
件系统应按预期运行,无故障
件系统应在需要时可用
该安全
Requirements
nderstand the expectations from different stakeholders
alance conflict requirements
eliver the software system within the allocated budget and time
要求
-理解不同利益相关者的期望
-平衡冲突的需求
-在分配的预算和时间内交付软件系统
Management & Reuse
ffective use of existing resources, this may include staffs, skills, available technologies and software
管理与再利用
-有效利用现有资源,这可能包括员工、技能、现有技术和软件。
来源:m0_56442217
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!