0

0

软件开发中不容忽视的10个因素

DDD

DDD

发布时间:2023-10-31 10:32:56

|

1316人浏览过

|

来源于dzone

转载

灵活性和可扩展性

灵活性是软件在不损坏当前系统的情况下添加/修改/删除功能的能力。可扩展性是软件在不损坏系统的情况下添加功能的能力,因此它可以被认为是灵活性的一个子集。这些功能更改可能会根据不断变化的需求而发生,或者如果开发过程是迭代方法之一,则可能会发生这些功能更改。软件开发中的变化是不可避免的,因此,这是高质量软件最重要的属性之一

可维护性和可读性

可维护性与灵活性有点相似,但它侧重于错误纠正和次要功能修改的修改,而不是主要功能的可扩展性。它可以得到有用的接口定义、文档和自文档代码和/或代码文档的支持。文档越正确、越有用,可维护性就越高。

性能和效率

性能主要与软件的响应时间有关。该响应时间应该在可接受的间隔内(例如,最多几秒),并且如果事务计数增加,则不应增加。而且,资源很昂贵。效率必须由资源利用来支持。举个夸张的例子,仅使用 32 个处理器的机器或 1 TB 磁盘空间来执行简单的功能是不可接受的。必须以最佳源/性能比为目标。 

可扩展性

即使负载增加,可扩展的系统也会在可接受的时间内响应用户操作。当然,可以添加更多硬件来处理不断增加的用户事务,但这样做时架构不应改变。这称为垂直可扩展性。在多台、数量不断增加的机器上运行的能力是多重处理。如果软件可以执行此类处理,则称为水平可扩展性。首选的可扩展系统应该适合这两种方法。

可用性、稳健性、容错性和可靠性:

即使在大多数故障状态下,强大的软件也不应该失去其可用性。即使某些组件发生故障,它也可能继续运行。此外,即使整个应用程序崩溃,它也可以使用备份硬件和数据以及容错方法自行恢复。应该总是有 B 甚至 C、D .. 计划。 可靠性还代表即使在高负载条件下软件的完整性和一致性。因此它与可用性和可扩展性相关。不可靠的系统也是不可扩展的。

可用性和可访问性

从用户的角度来看,用户界面是软件唯一可见的部分。因此,简单性、花更少的时间完成工作、快速学习等在这种情况下非常重要。该属性最著名的原则是 KISS(Keep It Simple Stupid)。简单永远是最好的。可用的软件还应该支持残疾人的不同辅助功能类型的控制。

平台兼容性和可移植性

高质量的软件应该在尽可能多的平台上运行。所以,更多的人可以利用它。在不同的上下文中,我们可能会提到不同的平台,这可能是操作系统平台、浏览器类型等。可移植性是指调整可以在不同平台上运行的软件,以获得更好的平台兼容性。从这个意义上讲,便携性也与灵活性有关

可测试性和可管理性

高质量的软件需要质量测试。源代码应该以最大的覆盖范围和最有效的测试方法进行测试。这可以通过正确使用封装、接口、模式、低耦合等技术来执行 。除了可测试性之外,合格的软件还应该在部署后易于管理。它可以监控例如性能或数据使用状态,或者可以使开发人员能够轻松地配置系统。创建成功的日志系统是关于可管理性的另一个非常重要的问题。

安全

安全性是软件开发中一个非常重要的问题,特别是对于基于网络或移动设备的软件开发来说,这些软件可能拥有数百万具有远程访问系统能力的用户。您应该构建安全策略并通过不留任何入口点来正确应用它。这可能包括授权和认证技术、网络攻击保护、数据加密等。应考虑所有可能类型的安全漏洞,否则有一天,仅一次攻击就可能使您的整个应用程序和整个公司崩溃。

功能性和正确性

功能性(或正确性)是指软件与实际需求和规范的一致性。事实上,这是应用程序的优先属性,也许不是质量因素,但我们想将其作为最后一个 质量因素,以引起注意:当我们谈论无法正常运行的软件时,质量因素没有意义。首先,执行所需的功能并生成正确的软件,然后对其应用质量因素。如果两者能够并行,那就最好了。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1018

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

62

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

400

2025.12.29

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

63

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

73

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

20

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 8.6万人学习

Rust 教程
Rust 教程

共28课时 | 4.4万人学习

Vue 教程
Vue 教程

共42课时 | 6.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号