• 《梦段代码》阅读笔记02


    要想成为一个合格的软件工程师,就要对自己的个人能力有一个准确的估算,能规划个人能力的衡量与发展。

    初级软件工程师的成长包括以下几种:积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对JAVA、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序、内核调试器的掌握,对于某一开发平台的掌握;积累问题领域的知识和经验(例如对医疗或金融行业的了解);对通用的软件设计思想和软件工程思想的理解;提升职业技能(区别于技术技能),包括:自我管理的能力、表达交流的能力、与人合作的能力、按质按量完成任务的执行力;实际成果——最重要的评价标准
    软件团队的模式:主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式
    开发流程:①写了再改模式;②瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。瀑布模型的适用范围:产品的定义非常稳定但正确性非常重要、产品模块之间的接口能很好地定性定义和验证、使用的技术很成熟、子团队不能做到频繁的交流;③瀑布模型的变形:生鱼片模型(各个相邻模块像生鱼片那样部分重叠)以及大瀑布带着小瀑布(各个子系统统一到最后进行系统测试)
    需求分析:软件需求;软件产品的利益相关者;获取用户需求——用户调查;竞争性需求分析的框架——NABCD模型(1. N(Need,需求)2. A(Approach,做法) 3. B(Benefit,好处) 4. C(Competitors,竞争)5. D(Delivery,推广) );功能的定位和优先级;分而治之。
    软件开发过程有时就是这样的一种体验,目标看是唾手可得,却又总是在你伸手摘取时,发现还有一段距离要走,问题随着开发的深入而不断涌现;这就像是坐在大象背上的训象师,用吊在大象鼻子前的香蕉,给大象耍的把戏。
    是什么原因,导致软件开发有时会进入这样一个令人惋叹的黑洞?书的作者没有,也不可能给我们一个答案,但通过作者忠实记录于书的、就发生在当下不久的、这一真实案例,以及对软件开发历史和方法的部分介绍,本书应当能带给我们很多有益的启示和思考。我一直认为,读书最大的功用之一,就是能激发我们的思考,是打开思维源泉的阀门;这本书很好的起到了这一作用,它让我们去思考软件开发的过程、方法、管理…,为我们思考这些提供了真实生动的案例,也对现实的工作有些指导和警示作用。
     
    个人感受:为什么好软件如此难做?计算机的语言逻辑与人类不同,他的精准度与人类的模糊思维之间也有一条鸿沟。要想做出来一个好的软件,首先要有明确的目标,确定自己要做什么;然后要讨论目标的可行性,要结合实际已经对自己能力的预估来进行判断,否则目标说的再好也只是浮云。二要做到这一切的基础是要与团队成员有着足够的了解与沟通,对自己这个团队的能力有一个清晰的认识,因为程序员之间的沟通比程序员与计算机之间的沟通要困难得多。
  • 相关阅读:
    mysql 索引
    redis持久化
    redis发布订阅
    django 信号
    paramiko模块
    23种设计模式python实现
    几种浏览器存储数据的方式
    关于传参
    对字符串里的四则运算进行计算2020/10/12
    动手动脑2020/10/9
  • 原文地址:https://www.cnblogs.com/vvxvv/p/13029955.html
Copyright © 2020-2023  润新知