• 第三篇——软件之殇,WE ARE THOUSANDS APART!


          软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。这其中包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 面临的主要问题是:软件费用 、软件可靠性、软件维护 、软件生产率、软件重用。

          做程序员的,一般是苦逼的乙方。对甲方任性的需求我们要用技术予以满足,从专业的角度去帮助客户解决问题。

          软件需求是整个软件项目的最关键的一个输入,和传统的生产企业相比较,软件的需求具有模糊性、不确定性、变化性和主观性的特点,它不像生产汽车、电脑等硬件的需求,是有形的、客观的、可描述的、可检测的。软件需求是软件项目最难把握的问题,同时又是关系项目成败的关键因素,因此对于需求分析和需求变更的处理十分重要。

          一个简单的需求变更可能会给项目带来巨大的风险,会导致项目的成本费用增加、开发周期延长、产品质量下降及团队工作效率下降等不良后果,因而软件开发项目中应该尽量减少需求变更的出现频率。然而由于政府对特定软件的相关要求、用户部门市场战略的调整、工业界的发展等因素都可能带来需求的变更,而这些因素往往不可避免。在软件开发过程中如果只有一条真理的话,那一定是:需求的变化是永恒的,需求不可能是完备的。因而,对于需求变更应该正确的对待,尽量将其负面影响降低到最低。

         今天读到咪蒙的一篇文章,讲的是作为乙方在独特软件需求下的无奈和悲伤。没有人知道一个大型程序软件的完成,可能背负着一整个团队多少日夜的加班加点的辛苦努力,在专业的角度,有时候你可能要花一万个小时,去满足对方一个简单的需求。

         但是目前解决这样一个问题的方法没有人能够完全说出,毕竟代码是一种与计算机沟通的语言,只有真正学会了与计算机沟通、与客户沟通,才能make it.

         But it's still a long way to go.

  • 相关阅读:
    Leetcode: Total Hamming Distance
    Leetcode: Hamming Distance
    Leetcode: Valid Word Square
    Leetcode: Sentence Screen Fitting
    Leetcode: Minimum Unique Word Abbreviation
    Leetcode: Design Phone Directory
    Leetcode: Valid Word Abbreviation
    Leetcode: Range Addition
    Leetcode: Find Leaves of Binary Tree
    Leetcode: Design Hit Counter
  • 原文地址:https://www.cnblogs.com/fesoon/p/5320109.html
Copyright © 2020-2023  润新知