首页 > 其他分享 >软件工程日报十四——《人月神话》有感二

软件工程日报十四——《人月神话》有感二

时间:2023-03-10 18:13:00浏览次数:38  
标签:有感 日报 时间 系统 概念 软件工程 完整性 开发 设计

今天接着阅读了《人月神话》这本书的第三四章

第三章-外科手术队伍。

面对软件项目的“焦油坑”以及“人月神话”,作者给出的一个解决办法是——“外科手术队伍”。

分别是外科医生、管理员及其文秘、编辑及其文秘、副手、程序职员、工具维护人员、测试人员和语言专家。

有研究表明,同样有两年经验而且受到同样培训的情况下,优秀的专业程序员的生产率是较差程序员的10倍。

在软件项目中,一个小型的、精干的队伍是最好的,这样既减少了沟通成本,又提高了生产率。但是对于真正意义上的大型系统来说,小型精干的队伍往往意味着太慢。这就是矛盾的所在,对于效率和概念的完整性来说,最好由少数精干的人员来设计和开发,而对于大型系统来说,则需要大量的人手,以使产品能在时间是满足市场的需求。

第四章—贵族专职、民主政治和系统设计

概念一致性、获得概念的完整性、贵族专治统治和民主政治、在等待时实现人员应该做什么。

     绝大多数欧洲的大教堂中,由不同时代、不同建筑师所建造的各个部分之间,在设计或结构风格上都存在着许多差异。后来的建筑师总是试图在原有建筑师的基础上有所“提高”,以反映他们在设计风格和个人品味上的改变。对于计算机系统而言,尽管它们通常没有花费几个世纪的时间来构建,但绝大多数系统体现出的概念差异和不一致性远远超过欧洲的大教堂。这通常并不是因为它由不同的设计师们开发,而是由于设计被分成了由若干人完成的若干任务。

     编程系统(软件)的目的是使计算机更加容易使用。为了做到这一点,计算机装备了语言和各种工具,这些工具实际上也是被调用的程序,受到编程语言的控制。使用这些工具是有代价的:软件外部描述的规模大小是计算机系统本身说明的十倍。用户会发现寻找一个特定功能是很容易的,但相应却有太多的选择,要记住太多的选项和格式。只有当这些功能说明节约下来的时间,比用在学习、记忆和搜索手册上的时间要少时,易用性才会得到提高。现代编程系统节省的时间的确超过了花费的时间,但是近年来,随着越来越多的功能添加,收益和成本的比率正逐渐地减少。

     概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。而进度压力却要求很多人员来开发系统。有两种方法可以解决这种矛盾。第一种是仔细地区分设计方法和具体实现。第二种是前一章节中所讨论的、一种崭新的组建编程开发团队的方法。

     概念的完整性的确要求系统只反映唯一的设计理念,用户所见的技术说明来自少数人的思想。实际工作被划分成体系结构、设计实现和物理实现,但这并不意味着该开发模式下的系统需要更长的时间来创建。经验显示恰恰相反,整个系统将会开发得更快,所需要的测试时间将更少。同工作的水平分割相比,垂直划分从根本上大大减少了劳动量,结果是使交流彻底地简化,概念完整性得到大幅提高。

标签:有感,日报,时间,系统,概念,软件工程,完整性,开发,设计
From: https://www.cnblogs.com/jiacheng-712/p/17204331.html

相关文章

  • 2023年3月9日软工日报
    今天晚上学习了python,主要学习了python的列表、元组。然后弄下stl的deque容器deque构造函数:deque<T>deqT;//默认构造形式deque(beg,end);//构造函数将[beg,end)区......
  • 软件工程学习第十五天
    今天我花了半小时学习css的内容,今天学的是Overflow属性和Float属性。CSSoverflow属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条。要注意的是,overflow属性......
  • 2023.3.9——软件工程日报
    所花时间(包括上课):4h代码量(行):0行博客量(篇):1篇今天,上午学习工程数学,下午体育锻炼。我了解到的知识点:1.如何反手发球;2.校园网太卡,迫使我学习一些网络知识;......
  • 今日报告
    今日总结代码时间(包括上课):1h代码量(行):20行博客数量(篇):1篇了解到的相关知识点:1、英语四级的紧急复习2、有关新的视频的剪辑方式的学习3、作业也写完啦!......
  • 2023.3.9软件工程日报
    所花时间:1小时 代码量:50行 博客量:1今天进行修改的是自己的闹钟功能,试图加入更多的内容,例如让用户自己设定文字,通过findview的形式获取到一个全局变量中,再在提示的Re......
  • 软件工程对个人工作流程的的认识
    之前对于编程的学习及联系主要分为两种:学习某种编程语言的特性;联系某些算法或按某种模式处理数据。前者例如学习C语言,这是学习编程语言的基础,不是软件工程。 后者例如学......
  • 2023年3月8日(软件工程日报)
    在Android体系中,CompoundButton类是抽象的,复合按钮,因为是抽象类,所以它不能直接使用。实际开发中用的是CompoundButton的几个派生类,主要有复选框CheckBox、单选按钮RadioBut......
  • 今日报告
    总结--今天是比较充实的一天代码时间(包括上课):4h代码量(行):20行博客数量(篇):2篇了解到的相关知识点:1、今天主要是写了一些线下的作业,然后练习了Python的相关内容2、还复习......
  • 软件工程日报十二——安卓studio数据的删除与修改
    本篇博客来介绍安卓studio的数据删除与修改源码如下:Mainactivitypackagecom.example.sqlitetest;importandroidx.annotation.Nullable;importandroidx.appcompat......
  • 2023.3.8——软件工程日报
    所花时间(包括上课):8h代码量(行):0行博客量(篇):1篇今天,上午学习英语和数据库,下午学习python和数学建模。我了解到的知识点:1.数学建模的一些知识;2.连接sqlite的数据库的插件,......