随笔分类 - 图书读后感
摘要:第十一章:未雨绸缪——为未来做好准备 在软件开发的世界里,变化是唯一不变的真理。第十一章以“未雨绸缪”为题,提醒我们在开发过程中要为未来的变化做好准备。这一章的核心观点是:为舍弃而计划,无论如何,你一定要这么做。 在实际开发中,我们常常会陷入一种困境:随着项目的推进,需求不断增加,功能不断扩展,代码
阅读全文
摘要:第九章:削足适履——内存优化的艺术 在第九章中,作者深入探讨了内存成本问题。这让我想起了一个古老的成语“削足适履”,它形象地描述了为了适应有限的资源而不得不做出妥协的情景。在软件开发中,内存资源的有限性也常常让我们面临类似的困境。 书中提到,内存优化的基本教训是:制定预算、确切定义模块的功能,并且需
阅读全文
摘要:《软件工程的启示:从巴别塔到高效开发》 第七章:巴别塔的启示——沟通的力量 巴别塔的故事,是人类历史上一个极具象征意义的事件。作者在第七章中提到,巴比伦塔是继诺亚方舟之后人类的第二大工程壮举,然而,它却成为第一个彻底失败的工程。这让我们不禁思考,为什么拥有清晰目标、充足人力、丰富材料、先进技术以及足
阅读全文
摘要:第五章:画蛇添足:本章着重阐述了结构师在开发第二个系统时,常常面临的一个关键问题——过度设计。由于在开发首个系统时,结构师往往因技术不够成熟而保持谨慎,对诸多装饰性和润色功能持保留态度,将它们留待后续项目再考虑。然而,在开发第二个系统时,凭借首个系统的经验积累和自信心的提升,结构师容易被诱惑,倾向于
阅读全文
摘要:在编程领域,SACKMAN、ERIKSON 与 GRANT 等人的研究揭示了一个显著现象:高效率与低效率的程序员之间存在着巨大的个体差异,其效率差距甚至可达数量级的水平。 第三章一开篇,便抛出了一个引人深思的问题:在程序员群体中,高效率者的生产力可能是低效率者的十倍之多,可他们的薪资报酬却并未呈现出
阅读全文
摘要:老师推荐给我们一本书 ——《人月神话》。在深入了解后,我发现《人月神话》中诸多观点对如今的软件工程仍具重要意义,例如 “没有银弹” 这一观点,深刻体现了作者对软件工程的独到见解。作为软件工程专业学生,我深知自己有责任认真研读专业相关书籍,并将书中的理念与思考融入实际操作中。 第一章:一幅画,C.R.
阅读全文
摘要:《构建之法》这本书的作者邹欣老师,凭借其在微软公司的丰富工作经验,将软件构建的各个环节剖析得清晰透彻。书中涵盖了需求分析、设计、开发、测试、项目管理等诸多方面,其内容之全面,甚至让许多国内公司都难以望其项背。作者的思路极为清晰,文字风格幽默风趣,让人读起来欲罢不能。全书的参考价值极高,尤其是对于像我
阅读全文
摘要:17.1 猪、鸡和鹦鹉的故事 对于创业,不同的人投入不同。 17.2 其实还是人的问题 P = {做事的,不做事的,不让别人做事的,P4=做假的事的,P5=假装做事的} 17.3 绩效管理 方法很多,但并不一定适用。 17.4 萝卜与白菜 17.5 团队合作的几个阶段 17.5.1 萌芽阶段 17.
阅读全文
摘要:创新才是关键,IT行业只有创新才有新的发展,新的方向带领人们走向IT的更高层次。IT行业往哪个方向创新? 对创新的问题,书上说到改良式创新和颠覆式创新,改良式创新是受前一行业的人欢迎,但是颠覆式的创新却会受到前一行业的反感,这样的情况虽然说一直存在,但是我认为现在创新面临的更大的问题是如何在山寨产品
阅读全文
摘要:软件=程序+软件工程 推导 软件质量=程序质量 +软件工程质量。软件的开发过程有三个主要的特性;“好”“快”“便宜”。通俗的理解就是”软件在功能丶成本丶时间三方面满足利益相关者的需求。把自己项目的架构和流程做好,让所有人都能比较容易地进行QA工作,这样,团队的“软件工程质量”才会有提高。培养“大家都
阅读全文
摘要:第十三章的内容是关于各种测试方法和测试的设计方法。 在软件项目中,有这样一个拐点存在——在这一点之前,新的Bug产生的数量大于Bug解决的数量;在这一点之后,Bug的解决数量大于新的Bug产生的数量。各种测试方法:单元测试;代码覆盖率测试;构建验证测试;验收测试;探索式测试;回归测试;场景/集成/系
阅读全文
摘要:第15章 稳定和发布阶段 根据事情的轻重缓急,安排大部分事情在下一个版本做。正因为我们对项目、团队、商业模式有信心,才会把很多事情安排在以后的版本中。一个团队经历了计划/设计/开发等阶段,达成代码完成这一目标,似乎后面的事情就水到渠成了。其实不然,软件生命周期的最后阶段往往是最考验团队的,不但考验团
阅读全文
摘要:第十二章:用户体验 5W1H方法是一种非常有效的工具,可以帮助我们判断一个设计是否足够优秀。 首先,明确“who”,即谁是我们的目标用户?了解目标用户群体的特征和需求是设计产品的基础。 其次,考虑“when”,目标用户会在什么时间使用我们的产品?这有助于我们根据用户的时间习惯来优化产品的功能和体验。
阅读全文
摘要:第十一章:软件设计与实现 从需求规格说明书(Spec)到最终实现,是一个系统而严谨的过程。 首先,需要对开发任务所需的时间进行合理估计,这有助于制定清晰的项目计划。 接下来,进入核心的编码阶段,编写高质量的代码是实现功能的基础。在完成初步编码后,要对开发效果评估进行,并撰写详细的设计文档,以便记录设
阅读全文
摘要:第十:章典型用户和场景 仅仅关注用户的表面语言和行为是远远不够的。我们必须深入挖掘用户背后的真实动机,否则开发出的功能往往无法真正满足用户的需求。 这不仅会导致产品需要多次“返工”,还会对软件开发团队和用户的耐心造成极大考验。用户在经历多次不满意的体验后,可能会对公司的软件产品失去信心,进而选择其他
阅读全文
摘要:在项目管理领域,不同公司对于项目管理角色的称呼有所不同。以下是几种常见的项目管理角色: Product Manager (PM):产品经理,负责确保产品正确地开发和实现。 Project Manager (PM):项目经理,负责确保项目流程正确地执行。 Program Manager:在微软,这个职
阅读全文
摘要:在软件开发过程中,准确捕捉和全面理解用户需求是至关重要的。以下是软件团队获取和处理需求的四个关键步骤: 获取和引导需求:也称为“需求捕捉”,软件团队需要站在用户的角度思考,引导用户明确他们的需求。 分析和定义需求:对收集到的需求进行整理和定义,从不同角度量化需求。 验证需求:与利益相关者沟通,通过分
阅读全文
摘要:微软解决方案框架(MSF)概述 本章将探讨微软公司推荐的软件开发方法——微软解决方案框架(MSF),它融合了多种软件开发方法论和原则,旨在指导微软的软件开发实践。 MSF的核心原则 开放沟通:确保所有信息透明共享,涉及所有相关角色,并公开决策过程。同时,对敏感信息如技术机密和安全性信息采取保护措施。
阅读全文
摘要:第六章详细介绍了敏捷开发流程,它主要包含三个核心步骤: ·Product Backlog:确定完成产品所需完成的工作。 ·Sprint Backlog:决定当前Sprint(冲刺)需要解决的任务。 ·Sprint:执行冲刺,完成既定任务。 敏捷开发以用户需求的演变为核心,采用迭代和逐步完善的方法进行
阅读全文
摘要:第五章深入探讨了团队合作的重要性及其运作流程。 第一节:团队与非团队的区别 本节阐述了团队与非团队之间的差异。团队成员围绕共同目标协作,即使他们不必同时工作,也能通过分工和相互依赖来完成任务。 第二节:软件团队的运作模式 本节介绍了多种软件团队的运作模式: 主治医师模式:首席程序员负责核心模块的设计
阅读全文

浙公网安备 33010602011771号