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

如何做“足够好”的软件

    阅读了《构建之法》第一张概论部分,我觉得做"足够好"的软件主要应该注重三个方面:

   1、用户满意度

       如果用户在使用中发现软件存在许多问题,那么会很大程度影响用户的使用效率,用户的满意度自然会下降。而为了提高用户满意度,首先就是要了解用户的需求,研发出符合用户需求的软件是首要目的。

       通过实际的工作收集、推导、提炼需求,并在软件发布后通过实际数据验证需求的确被满足了。需求来自与实际,而不是自己想象出来的“需求”或者人云亦云的需求。

   2、可靠性和软件流程的质量

       软件可以正常运行,而不是经常崩溃或者无法正常使用,这也会影响用户对软件的评价。

       软件团队和开发流程的问题太多,会导致团队内部无法正常相互协作,延长软件开发周期,会影响用户的时间,也不能称作好的软件。

      软件开发不是一个人的事情,也不是几天完成的。而应该是一个团队一段时间的精诚合作完成的,每个人都有不可取代的地位和作用,每个人都是软件的一部分,不能有个人英雄主义,一切必须以团队为主题,一切把团队价值放在第一位。团队必须全面协调一致,才能在预定时间内做出相对好的软件。

  3、可维护性

      如果一个软件完成后不可更改,那么就不是一个好的软件,应该可以根据实际中的问题随时进行更新和维护,不断解决存在的问题。

      应该根据用户需求建立需求分析的文档说明,包括对将来发展的分析和计划。主要动能的设计文档说明和软件的实际行为一致。源代码完整,能用软件管理软件看到源代码的每次修改记录,Bug的修改过程。关键模块设立修改权限,并且配套可以正常执行的单元测试、压力测试的脚本,以适应随时可能进行的维护。

 

转载于:https://www.cnblogs.com/Machainn/p/5243474.html

相关文章:

  • 如何理解设计模式的六大原则?
  • 设计模式的分类
  • 盲并遗忘着-利用应用交付透析大型网站日志
  • 请手写一下单例模式?
  • ArrayList
  • python 遗传算法精简版
  • B-树和B+树区别
  • 红黑树
  • 负载均衡之基于L3/4负载
  • 跳表
  • 关于CookieUtile的相关代码
  • iOS_15_通过代码自己定义cell_微博UI
  • 排序
  • 哈希冲突解决方法
  • Activiti的引擎与引擎配置对象
  • #Java异常处理
  • 【node学习】协程
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • AHK 中 = 和 == 等比较运算符的用法
  • mysql常用命令汇总
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 对象引论
  • 和 || 运算
  • 来,膜拜下android roadmap,强大的执行力
  • 如何合理的规划jvm性能调优
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 带你开发类似Pokemon Go的AR游戏
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 数据库巡检项
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​Linux·i2c驱动架构​
  • #include
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (javascript)再说document.body.scrollTop的使用问题
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (补)B+树一些思想
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net分布式压力测试工具(Beetle.DT)
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • @Autowired多个相同类型bean装配问题
  • []error LNK2001: unresolved external symbol _m
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [linux] C语言Linux系统编程进程基本概念
  • [node]Node.js 模块系统
  • [NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析