首页 > 其他分享 >6.17 学习心得

6.17 学习心得

时间:2024-06-17 17:58:18浏览次数:6  
标签:经验 6.17 学习心得 开发 系统 团队 OS 360

这本书讲述了几十年前软件专案管理问题与经验,作者将大型系统开发比作一个焦油坑,我原本以为软件开发还是比较容易的,有了新想法,就会有新的软件产品出现,但是却不知道项目不能满足目标、进度、预算的要求,就不能成为一个好项目。

程序,通过不同的途径转变成不同的产物,使之变得更有用,成本更高。但是只有变成系统产品才成为真正有用的产品。

编程不是人越多越好,人与时间不成正比。人越多,所需的时间不一定越少;人少,项目完成时间不一定越长。在外科手术这一章节中提到,在接受相同的训练、同样都是两年资历的情况下,优秀专业程序员的生产力要比差劲的程序员好上十倍。使用少数优秀的人员的团队是最棒的——尽可能用最少的人。两人团队,其中一人当领导者,这通常是最佳的用人方式。以少数优秀人员的团队开发真正大的系统就太慢了。绝大多数大型软件系统的经验显示,使用一堆人蛮干的方式最耗成本、最慢、最没有效率,做出来的系统在概念上也最不完整。 

作者主张概念完整性在系统设计中是最重要的考虑因素,他以OS/360系统的开发证明了自己的观点。完整的概念使得系统设计过程更加有条理,分工更加明确,对系统的各部分设计更加明确,再出现错误时更加容易的去改正。

书中讲到了开发第二个系统所带来的后果,在开发第一个系统时结构师倾向于精炼和简洁,他会仔细谨慎地工作。第二个系统是设计师们所设计最危险的系统。曾在第一次系统中被小心谨慎地放在次要位置的向系统中添加很多修饰功能和想法将会泛滥。OS/360的设计小组成员来自1410-7010磁盘操作系统、Stretch操作系统、Mercury实时系统项目和7090的IBSYS,几乎没有人有两次以上的操作系统经验,OS/360是典型的开发第二次所引起的后果。结构师无法跳过第二次系统,但他可以有意识的关注这个系统的特殊危险,运用自我约束规则避免功能上的过于修饰,根据系统基本理念及目的变更,舍弃一些功能。这些对于每一个软件学习者都是很受用的。

“经验是最好的老师”、”经验是最好的老师,但智者还能从其他的地方有所收获“,经验固然最好,但是除了经验,我们还要学还从其他方面获取知识。

在这本书中,虽然讲述了很多案例,但都离不开团队、人和沟通。无论任何事情,人的重要性,人之间的沟通都是不可缺少的。在软件开发中,对于大型的软件工程项目仍然强调了人的重要性。作者在开篇就在讲开发人员的职业乐趣(自己选择软件工程的原因也是喜欢编出程序的乐趣),后面又通过巴比伦塔讲沟通的重要性,又在外科手术队伍中讲团队的组建和分工。这些都涉及到了团队中的人和交互,只有一个有了积极心态和热情的沟通团队,才可能成就一个伟大的团队。最后的没有银弹再次肯定了开发工作是一种高智力的脑力工作。

我认为《人月神话》这本书十分适合软件程序设计者,虽然他简述了许多几十年前的事,但对于现在,仍具有教育意义,它使我们提前意识到软件开发过程中的一些弊端。

标签:经验,6.17,学习心得,开发,系统,团队,OS,360
From: https://www.cnblogs.com/tianpeisen/p/18252910

相关文章

  • 6.16 学习心得
    《梦断代码》一书记录的是作者罗森伯格对OSAF主持的Chandler项目进行田野调查,通过Chandler开发过程来揭示软件开发过程中一些根本性的大问题。对本书才刚刚阅读了三分之一,就已经忍不住对作者描述的开发过程所感叹,虽然刚进入软件领域不久,但是仍旧有感于这本书中的现实,对自己也很有......
  • dart最新2024.06.17
    import'package:flutter/material.dart';voidmain(){runApp(constMyApp());}classMyAppextendsStatelessWidget{constMyApp({super.key});@overrideWidgetbuild(BuildContextcontext){returnconstMaterialApp(title:&......
  • 云原生周刊:Harbor v2.11 版本发布 | 2024.6.17
    开源项目推荐DeschedulerDescheduler是一个工具,可用于优化Kubernetes集群中Pod的部署位置。它可以找到可以移动的Pod,并将其驱逐,让默认调度器将它们重新调度到更合适的节点上。ProwlerProwler是一款适用于AWS、Azure、GCP和Kubernetes的开源安全工具,用于进行安全评......
  • Java速成笔记 2024.6.17版
    变量:可以变化的容器不同变量可以存储不同类型的值变量声明方法:变量类型变量名=初始值;E.G.inta=1;变量类型:整型:intlong浮点数:floatdouble布尔:boolean字符串:String字符:char变量命名注意事项:不能重名不能以数字开头常量:关键字:final语法:finalfl......
  • 6.17
    实验二SQL语言的使用一、实验目的:掌握使用SQL语言进行各种查询的操作和视图的操纵方法。二、实验要求:在现有的数据库上进行各种查询操作,对视图的创建、使用等操作。三、实验步骤:1、开始→程序→MicrosoftSQLServer→SQLServerManagementStudio。2、在“连接到服......
  • 学习心得
    《构建之法》是一本深入探讨软件工程实践与项目管理精髓的书籍,它不仅仅局限于技术层面的讲解,而是从更广阔的视角出发,涵盖了团队协作、项目规划、质量控制、持续集成等多个方面,为读者提供了一套全面而实用的软件开发方法论。阅读此书后,我深受启发,以下是我几点深刻的体会。首先,书中......
  • 学习心得2
    接着昨天的继续学习每一次翻开《构建之法》,都仿佛是在与一位智慧而经验丰富的导师进行对话,它不仅提供了构建高质量软件的实践框架,更是一次对个人成长和团队协作哲学的深刻探讨。这次重读,我又有了一些新的收获和感悟。最令我触动的是书中对“持续学习”文化的强调。在软件行业,技......
  • 谈一点学习心得----驴拉磨式的学习
    在学习一些坚深的、很难理解的数学或物理课程时,我想我们应该具有驴拉磨式的学习方式,并且是那种蒙住双眼式的驴拉磨学习方式。本质地讲,那些很难理解的学问其实就是在开创一种新的思想(思考方式),用这种新的思想来描述超越我们直观认识的世界。正因为如此,如果我们仍然想通过我们已有......
  • 关于Android的学习心得
    一、AS中的主要组件1、Activity组件[1]-Activity的基本使用1.Activity是什么Activity是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个Activity。2.Activity中的onCreate()方法onCreate()方法:用于在活动(Activity)的生命周期中进行......
  • web安全 学习心得
    xss篇漏洞原理首先,XSS漏洞(跨站脚本攻击)是一种发生在Web前端的漏洞,它允许攻击者在页面中注入恶意的脚本代码。当受害者访问这个页面时,这些恶意代码就会在受害者的浏览器上执行呢。具体那XSS漏洞的原理可以分为以下几个步骤: 注入阶段:攻击者通过各种方式(比如表单、URL参数......