软件工程 软件设计 步骤

For good quality software to be produced, the software design must also be of good quality. Now, the matter of concern is how the quality of good software design is measured? This is done by observing certain factors in software design. These factors are:

为了生产高质量的软件,软件设计也必须具有高质量。 现在,值得关注的问题是如何衡量好的软件设计的质量? 这是通过观察软件设计中的某些因素来完成的。 这些因素是:

  1. Correctness

    正确性

  2. Understandability

    易懂

  3. Efficiency

    效率

  4. Maintainability

    可维护性

Now, let us define each of them in detail,

现在,让我们详细定义它们中的每一个,

1)正确性 (1) Correctness)

First of all, the design of any software is evaluated for its correctness. The evaluators check the software for every kind of input and action and observe the results that the software will produce according to the proposed design. If the results are correct for every input, the design is accepted and is considered that the software produced according to this design will function correctly.

首先,评估任何软件的设计的正确性。 评估人员检查软件的各种输入和动作,并观察软件根据拟议设计产生的结果。 如果每个输入的结果均正确,则接受该设计,并认为根据此设计生产的软件将正常运行。

2)可理解性 (2) Understandability)

The software design should be understandable so that the developers do not find any difficulty to understand it. Good software design should be self- explanatory. This is because there are hundreds and thousands of developers that develop different modules of the software, and it would be very time consuming to explain each design to each developer. So, if the design is easy and self- explanatory, it would be easy for the developers to implement it and build the same software that is represented in the design.

软件设计应该易于理解,以便开发人员在理解它时不会遇到任何困难。 好的软件设计应该可以自我解释。 这是因为有成千上万的开发人员在开发软件的不同模块,并且向每个开发人员解释每个设计非常耗时。 因此,如果设计简单易懂,开发人员很容易实现它并构建与设计中相同的软件。

3)效率 (3) Efficiency)

The software design must be efficient. The efficiency of the software can be estimated from the design phase itself, because if the design is describing software that is not efficient and useful, then the developed software would also stand on the same level of efficiency. Hence, for efficient and good quality software to be developed, care must be taken in the designing phase itself.

软件设计必须高效。 可以从设计阶段本身估算软件的效率,因为如果设计描述的软件效率不高且不实用,那么开发的软件也将处于相同的效率水平。 因此,要开发高效,高质量的软件,必须在设计阶段本身就应格外小心。

4)可维护性 (4) Maintainability)

The software design must be in such a way that modifications can be easily made in it. This is because every software needs time to time modifications and maintenance. So, the design of the software must also be able to bear such changes. It should not be the case that after making some modifications the other features of the software start misbehaving. Any change made in the software design must not affect the other available features, and if the features are getting affected, then they must be handled properly.

软件设计必须采用易于修改的方式。 这是因为每个软件都需要时间进行修改和维护。 因此,软件的设计还必须能够承受此类更改。 在进行了一些修改之后,软件的其他功能可能不会开始出现异常。 软件设计中进行的任何更改都不得影响其他可用功能,并且如果这些功能受到影响,则必须对其进行正确处理。

翻译自: https://www.includehelp.com/basics/characteristics-of-a-good-software-design-software-engineering.aspx

软件工程 软件设计 步骤

软件工程 软件设计 步骤_好的软件设计特点 软件工程相关推荐

  1. autoflowchart软件使用步骤_编程怎么入门,7个步骤带你飞, 网友:上车!

    首先了解网络编程的含义.网络应用是指设计在网络结构顶层的软件部分.这就意味着这些应用是通过诸如火狐或IE之类的浏览器来处理的.架构于网络结构的顶层并不一定要连接到网络.这就是说网络应用建立在如下标准网 ...

  2. 软件著作权算法软件设计说明书_软件著作权说明书样本

    扬州大学风力机叶片设计软件 用户手册 目录 1引言........................................................................... ...

  3. 电脑投屏软件哪个好_电脑绘画软件哪个好?

    电脑绘画软件哪个好?初学漫画怎么选择绘画软件?_漫画培训_绘画培训 这应该是困扰很多漫画小白的问题了吗?初学漫画.绘画应该选择哪一种数字绘画软件?本期小编就给各位小伙伴介绍一下几款画漫画常用的数字绘画 ...

  4. 军用软件概算计价规范_关于军用软件开发,你必须了解这两个标准!

    军用软件是指挥自动化系统的核心和灵魂,在军事领域发挥着重大作用. 随着计算机技术的飞速发展,计算机在各种武器系统中的应用日益广泛,现代武器系统无处没有计算机的影子.由于软件的设计.实现和修改比起硬件相 ...

  5. 软件质量保证计划_如何做好软件项目的质量管理?

    保证软件质量,是一个贯穿整个软件生存周期的重要问题.在早期,由于忽视了质量管理,导致软件项目管理的严重问题,以至于在软件开发中出现软件危机.重视软件质量管理,规范软件质量管理体系,对整个软件项目管理起 ...

  6. deepnode软件下载地址_安卓苹果软件下载地址恢复

    福利站这两天下架了安卓区和苹果区的软件的下载入口,部分软件出现闪退不能用了,今晚全部恢复,划出软件后台重新打开即可正常使用! 福利站苹果软件进行部分调整,增加一个知网苹果软件合集,以后小于100兆的软 ...

  7. 【软件设计】如何了解一个软件的设计?

    如何了解一个软件的设计? 首先是模型,它是一个软件的核心部分,也有人称之为抽象.设计最关键的就是构建出模型. 而理解一个设计中的模型,可以帮助我们建立起对这个软件整体的认知. 比如: 你在编写分布式计 ...

  8. 超级终端软件哪个好_同城配送软件哪个好?如何选择配送软件?

    什么是同城配送?同城配送服务都有哪些? 说到同城配送,相信大家都不陌生,我们最常使用的外卖.跑腿都属于同城配送服务,其最大的特点就是速度快,保证效率最大化.而跑腿作为同城配送最核心的业务,让众多创业者 ...

  9. 语音识别软件_语音识别软件是什么_离线语音识别软件_企业服务汇

    编者按:随着人工智能技术的发展,客服领域的语音识别软件类型也越来越多,那么到底语音识别软件是什么,怎么对语音识别软件进行区分,语音识别软件主要包含什么功能?本文为大家详细介绍语音识别软件相关信息. 语 ...

最新文章

  1. Java NIO编程的技巧和陷阱
  2. Android Intent机制详解
  3. vmos切换安卓版本_安卓之中还能运行安卓!神奇的安卓虚拟机App
  4. linux系统服务器可能被攻击的几种攻击方式
  5. linux c之命名管道简单使用
  6. 基于keepalived实现haproxy高可用的双主模型配置
  7. 鼠标移至图片后抖动的JS代码
  8. uni - 使用npm
  9. Go语言栈定义及相关方法实现
  10. nginx 增加stream_realip_module模块
  11. 腾飞之势,搏击苍穹:网页设计
  12. wx.showToast() 在真机中一闪而过
  13. redo synch writes在什么情况下发生
  14. 取消唤醒计算机需要密码怎么设置密码,Win10唤醒睡眠时需要输入密码如何取消_win10系统取消唤醒密码的方法...
  15. Rockchip HDMI 软件开发指南
  16. R语言基于库克距离统计量识别(Cook’s distance)对于回归模型性能或者预测影响(Influential observation)很大的观测样本、可视化库克距离并添加阈值线识别影响力大的样本
  17. linux 视频电话,多人音视频通话-Linux开发集成-SDK开发集成-音视频通话-网易云信开发文档...
  18. 高博基于stereo-imu的VO运行尝鲜
  19. IBM MQ部署实施过程详解
  20. [COGS1487]麻球繁衍(概率dp)

热门文章

  1. linux mysql 安装启动失败,Linux服务器一键安装包的mysql启动失败
  2. 中音萨克斯指法表图_萨克斯的几个特殊指法记忆和几个概念
  3. java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二)
  4. php-cli下载,php-cli-color
  5. 解决maven项目Cannot change version of project facet Dynamic web module to 3.0
  6. 【移动端 Web】怎么循序渐进地开发一个移动端页面
  7. Collections.sort的使用
  8. 二叉树和哈希表的优缺点对比与选择
  9. BZOJ2809 dispatching 【可并堆】
  10. 启动tomcat时 一闪而过解决方法