• 构建之法阅读笔记04


      软件是以人为本的,我们软件工程专业除了编程之外,更多的就是与人打交道。在我们反复锤炼自身的编程素养的同时,我们也应当注意与人的沟通交流。老师常说,一个软件的好坏,并不完全取决于功能的多少,很大程度上也取决于能否解决客户的需求,能让客户满意的软件才是好的软件。
      为了做好一个软件,为了更好的解决客户的麻烦,更好的帮助客户,我们便需要很好的去了解客户的需求,需要我们做好软件的需求分析。人们的需求五花八门,那么在我们做软件的同时,又该如何去准确而全面地做好软件的需求分析呢?在通过软件的发展当中,前人也总结出了以下几点建议:
    1、获取和引导需求。

    2、分析和定义需求。

    3、验证需求。

    4、在软件产品的生命周期中管理需求。
      而在各种各样的软件需求当中,也可以从不同的角度做一些不同的划分:
    1、对产品功能性的需求。

    2、对产品开发过程的需求。

    3、非功能性需求。

    4、综合需求。
      只有经过长时间的锤炼,我们才能更好的完成对于软件需求的分析。在软件需求分析的过程当中,我们的前辈也为我们总结出了相应的需求分析模型,比如说最为广泛使用的NABCD模型。
    1、N (Need 需求)

    2、A (Approach 做法)

    3、B (Benefit 好处)

    4、C (Competitors 竞争)

    5、D(Delivery 推广)
      在以往的软件开发过程中,我们更多地只是参与编程,并没有很好地参与到软件需求分析的过程当中。说白了就是只知道编程,完全没有理会任何的需求分析,或许在学校当中,在我们完成老师布置的做业当中不会出现什么太大的问题,但在我们跨入社会工作的时候,肯定会因此而尝到苦头。我们必须在学校期间作出改变,对于各种知识予以借鉴,加强自我的各方面素养,努力提升自己各方面的能力。
      在我们进行软件需求分析的时候,我们都知道要为用户考虑,但是用户又在哪里呢?所以我们还要注意对于典型用户的分析和用户场景的分析。典型用户和场景也是我们在学习过程当中必须要注意的一方面。在书本中也有相关的信息与模板,我们应当以此来学习和锻炼相应的能力。
      我们时常提到,软件行业不仅注重个人的编程素养,更加注重团队。当我们处于一个团队当中,只有充分发挥团队的巨大作用和优势,才能更好的作出优秀的成绩。在团队当中,我们必须明确分工,精诚合作,了解团队角色的作用,才能更好的发挥出团队的优势。

  • 相关阅读:
    深入理解flex布局的flexgrow、flexshrink、flexbasis
    443端口
    C# 元组和弃元的用法
    腾讯三面:进程写文件过程中,进程崩溃了,文件数据会丢吗?
    60 个神级 VS Code 插件!!
    面试官:HashSet 的实现原理是怎样的?底层是什么数据结构?被问到了。。
    微信为什么使用 SQLite 保存聊天记录?(来长长见识了!)
    Nacos 2.1.1 正式发布,真心强!
    为何 JetBrains 公司做 IDE 就可以养活自己,而国内公司却很难做到?
    阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?
  • 原文地址:https://www.cnblogs.com/crazy-soul/p/5566150.html
Copyright © 2020-2023  润新知