软工读书笔记  week 9                 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些感悟. 首先就是第十章“典型用户和场景”.书中提到,我们作为设计或者开发者,往往会以自己使用产品的习惯和熟悉程度来出发设计,但我们永远不能代表用户.搞一个“典型用户”会让我们考虑问题从用户的角度出发.由于我们正式开始项目后的第一周就是继续对用户做需求分析,这一章对我们有很大帮助. 我们也要考虑我们的典型用户.…
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我对这门课存在一定的误解,我更多地把这门课归入“程序”部分.在我原来的理解中,像电设二一样,自己学新知识(当然很多在电设一已经学过),然好以团队的形式独立去完成一个项目,只不过电设属于硬件(也包含一部分软件),而软工则纯粹是软件了. 而上课之后却和我预想的不一样.首先每周读书笔记这个就让我非常不解,有些推荐书籍…
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中去.        团队模式 团队这一部分提到了软件团队的很多模式.我认为,就我们目前的团队项目而言,更合适的应该还是“交响乐团模式”和“功能团队模式”. 先说“交响乐团模式”(吐槽一下书上给交响乐团配的图真是错误百出,当然这不是重点,只是觉得应该还是要严谨一些),我自认对一个乐团还是非常了解,在一个乐团中,…
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下.      程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀.这看起来对程序员不太公平,我辛辛苦苦写的代码,评价都没有我的份.但是这就是个事实,一个软件开放给用户的只是它的功能.它的界面,用户不会管某一个功能实现起来背后的代码有多复杂,他只是从他用这个软件的感受出发.所以,还是那句话,用户体验是第一位的. 高分和技术矛盾吗 在周总审阅简历的时候,有这么一份简历…
因为时间有限,只对书中后半部分几个篇章进行了阅读.        一.另一条路       作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面软件,而是走了另一条路,也就是写在服务器上运行的软件.而事实证明,他们是正确的,他们不但取得了巨大成功,甚至可能引领了下一个潮流.       其实说到潮流,大多数人都在追随着潮流,当然这不是件什么坏事.但是我们不能总是在现有的潮流中迷失自己.也就是说,眼光要放长远一点.你永远不知道下一个潮流是什么…
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态度与责任. 这是在本书序言中就提到的,可见其重要性.处理问题的正确态度以及对自己的行为负责是无论什么职业的人都应该注意的,而对于程序员来说,又有其特定的指向.首先,作为程序员,不能害怕暴露弱点,要敢于先呈现出不完美的代码,然后再去寻求改进.其次,负责还要求不要把问题归咎于他人.对于可能遇到的问题,都要有预先的…
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实现目标 泛读.提问.实践 Part1:阅读提问 Q1:单元测试与自动测评机相比有何优劣,能否在一定条件下被替代,或者说互补? 软件的很多错误都来源于程序员对模块功能的误解.疏忽或不了解模块的变化.如何能让自己负责的板块定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能够得到稳定的.量化的…
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录.书中所描绘的绝影做出来一个自认为很好的exe文件后那种希望别人看到的心理,其实我也能体会.有时你通过自己所学,能做出一个像点样的东西来时,真的很希望得到别人的认可,甚至会脑补别人看到时的惊讶,当然现实常常并不是如此. “要么做第一个,要么做最好的一个,当你已经做不成第一个时,就努力里去做最好,要是…
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一个正面的词.黑客(hacker),就是完成hack的人.而hack的字典解释是砍木头,解决一个计算机问题,就像砍倒一颗大树.用理查德•斯托尔曼的话说:“出于兴趣而解决某个难题,不管他有没有用,这就是黑客.”这句话也表明了黑客的三个标准,即好玩.高智商.探索精神. 而根据另一本介绍黑客的书里的“黑客伦…
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: 1.工匠与工具    工匠在使用工具的过程中,二者互相磨合,工具甚至变成了工匠双手的延伸.这就好像我们学习与适应的过程.在学习初始阶段,我们先精心挑选我们的工具.然后在使用这些工具时,不断地熟悉,不断地适应,工具成为你的大脑的一部分,它能放大你的才干.但是我们不能总局限于单一的工具,虽然有些工具看起来通用,但…
上一章说道委托是创建线程安全类的一个最有效策略,只需让现有的线程安全的类管理所有的状态即可.那么这章便说的是怎么利用java平台类库的并发基础构建模块呢? 5.1 同步容器类 包括Vector和Hashtable,此外还包括在JDK1.2中添加的一些功能相似的类,这些同步的封装器类由Collections.synchronizedXxx等工厂方法创建的.这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法都进行同步,使得每次只能有一个线程能访问容器的状态. 关于java中的Vect…
P322 运行datanode和tasktracker的典型机器配置(2010年) 处理器:两个四核2-2.5GHz CPU 内存:16-46GN ECC RAM 磁盘存储器:4*1TB SATA 磁盘 网络:千兆以太网 Hadoop一般使用多核CPu和多磁盘提升硬件功能 P323 小集群VS大集群 对于几十个节点的小集群,在master上同时运行namenode和jobtracker通常没问题 但是随着集群节点增加,namenode的内存压力将逐步扩大,此时namenode和jobtracke…
作业链接 见个人阅读作业#2 优秀作业推荐 Shaun_Yao ✍️ 道法之间--软工第2次博客作业 Potassium ✍️ 构之有道,建之有法--软工个人阅读作业#2 MarkDay ✍️ <构建之法>& CI/CD调研 Ethanscript ✍️ 软工个人阅读作业2 -- 构建之法与CI/CD VOIDMalkuth ✍️软件工程-个人阅读作业 #2 上面的几篇优秀博客的作者都是在阅读<构建之法>的同时积极思考,结合身边的例子提出自己对问题的理解,或是在提问前给出初…
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我和组员们每周碰面.共同商讨团队项目细节并一起实现.因此,书中与团队项目开发有关的第五章.第六章的“团队和流程”“敏捷开发”两部分内容最令我印象深刻.受益匪浅,本次读书笔记主要记录阅读这两章的心得体会. 1.团队模式和开发流程: 团队项目的开发与团队工作模式(分工模式)和整体开发流程息息相关.我们的团队在决定开…
最近一直在学习MVC构建富应用的WEB程序,自己一直对MVC的设计模式理解的不是十分透彻,终于在研读了github上Spine的源码之后,对构建Model层有了一点自己的理解. 本文仅为个人理解,如有问题,欢迎指正. 对象关系映射(Ojbect-relational mapper,简称 ORM)是在除 JavaScript 以外的编程语言中常见的一种数据结构.然而在 JavaScript 应用中,对象关系映射也是一种非常有用的技术,它可以用来做数据管理及用作模型.比如使用 ORM 你可以将模型和…
[BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪个具体方面帮助我实现目标 督促我阅读<构建之法>,了解软件开发的具体含义及流程 快速看完整部教材,列出你仍然不懂的5到10个问题 如果一架民用飞机上有需求,用户使用它的概率是百万分之一,你还要做这个功能么? 书的第一章使用民航飞机的安全功能举例,虽然这个功能的使用率不足百万分之一(可以理解为飞机出…
 <构建之法>第四&十七章读书笔记 一.         前言 再次阅读<构建之法>,愈发被其中生动有趣的举例吸引.作为一本给予软件工程学生的书籍,其不以枯燥的理论知识为核心,而是基于对知识和方法的引导.本次研读的这两章内容主要涉及了代码规范,两人结对与多人合作的团队方面等相关知识,从其中逐渐明白与人相处作业等方面的技巧与艺术.以下是我对这两章节的思考与疑惑. 二.        第四章<两人合作>. 本章主要涉及代码规范,极限编程,结对编程,两人合作不同阶段,…
SQL 横转竖 .竖专横 (转载)   普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74 84 94 张三 74 83 93 ------------------- */ create table tb(姓名 varchar(10) , 课程 varchar(10)…
从chapter4至chapter6,围绕着构建过程的合作讨论构建之法,而合作与个人工作的区别却以一个微妙的问题为开端:阅读别人的代码有多难? 两人合作:(驾驶员与领航员) 合作要注意代码风格规范与设计规范,如语句分行便于单步执行.使用“匈牙利命名法”等等.这里有趣的一点是,书中认为goto为函数提供单一出口,有助于程序逻辑的清晰体现,但是一些从事教学的教授认为goto语句影响代码的可读性,尽量减少使用,二者均有一定道理.之所以如此注重代码规范,非常重要的一个因素就是错误处理往往需要项目80%的…
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发过程的心得掌握团队协作的技巧做出一个优秀的.持久的.具有实际意义的产品 这个作业在哪个具体方面帮助我实现目标 通过邹欣老师的<构建之法> 在开始团队项目前先了解清楚"团队"和"项目" 学会提出问题 第一次真正意义上的软件工程个人博客作业,要求是速读邹欣老师编著的<构…
项目 内容 这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健) 这个作业的要求在哪里 2021年软工-热身阅读作业#2 我在这个课程的目标是 了解和掌握现代软件开发和项目管理技术,锻炼在大规模开发中的团队协作能力 这个作业在哪个具体方面帮助我实现目标 阅读教材,在自学.发问.回答这个步骤中了解软件工程中基本概念:初步学习CI/CD相关概念和运用 阅读提问 问题一:个人在团队中应该只是一个流水线上的机器吗? 教材P47有如下段落: 软件开发有很多个人的.感情驱动的因素--我总觉得灵感是属…
最开始听见杨老师说邹欣老师这个名字总觉得很熟悉,后来看见博客上老师的头像恍然大悟,原来机缘巧合已经在微博上关注邹老师许久,一直觉得邹老师是个很有意思的人,兴趣一定十分广泛,看了老师的书确实能感觉到邹老师是个很独特的作者. 这本书与以往的软件工程书籍相比确实不同.<构建之法>首先让我明白了软件工程到底是什么,也让我第一次觉得要对自己做出来的东西负责,让我的想法突然从一个学生变成了一个知道对自己东西负责的人(此处不敢说自己是工程师).作者前面的篇幅一直在强调团队合作,我虽然一直觉得合作很重要,但是…
本周选读<构建之法>第8章——需求分析.由于有团队项目初期调研阶段做调查问卷的经历,这一章节中很多知识点我都比较有体会.对我而言,这一章节最有价值的内容就是厘清了关于需求分析的两个误解和近10个行之有效的调研方法. 第一个误解有关需求的内涵.需求不仅仅来源于用户(软件直接使用者)的需要,还可以是企业为维持生存.追逐利润的商业模式,或者开发者在考虑到代码迁移.架构演化.平台变化时提出的技术上的需求.另一个误解有关需求分析的实现.做需求分析是一个循序渐进.应时而变的过程,不只是简单地将用户所表达的…
本周选读邹欣老师的<构建之法>第16章——IT行业的创新. 邹欣老师将本章话题分成五个部分来阐述:创新的迷思.创新的时机.创新的招数.魔方的创新.创新和作坊,博主认为时机和招数这两个部分在编辑上不是很和合理,时机部分的内容不够切题,招数部分却出现了讲时机的内容,以下会具体说明. 创新的迷思尝试为“外行人”拨开迷雾,打破普遍存在的错误印象.未曾涉身IT工业界之前,我们常常认为对一个优秀产品.乃至一个新的商业生态的诞生,最关键的是灵感,是一个颠覆性的好想法,但现实世界不存在这种一蹴而就的好事.邹欣…
软工网络15个人作业4--alpha阶段个人总结 一.个人总结 用自我评价表:http://www.cnblogs.com/xinz/p/3852177.html 总结Alpha冲刺过程. 由于直接用markdown生成的表格优点不太好看,所以用了截图+拼接 二.回答问题 我们在课程开始之初,曾经要求大家针对软件工程提出问题:个人阅读作业2,那么在经过alpha阶段,大家是否对软件工程有了一定的了解?请结合自己提出的问题进行回答. 个人阅读作业2 Q1. 本题算是有点钻字眼了,在豆瓣中作者也做出…
[2019BUAA软工助教]结对编程 - 小结 一.评分规则 博客 博客共五十分 序号 要求 分值 1 在文章开头给出Github项目地址 1 2 在开始实现程序之前,在下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间 0.5 3 看教科书和其它资料中关于Information Hiding, Interface Design, Loose Coupling的章节,说明你们在结对编程中是如何利用这些方法对接口进行设计的 5 4 计算模块接口的设计与实现过程. 设计包括代码如何组织,…
目录 写在前面 NABCD 模型 N -- Need,需求 A -- Approach,方法 B -- Benefits,好处 C -- Compettors,竞争 优势 劣势 D -- Delivery, 推广 阅读<构建之法>及成果 结对过程 遇到的困难及解决方法 原型实现 PSP表格 学习进度条 总结 体会 写在前面 本次作业:https://edu.cnblogs.com/campus/fzu/Grade2016SE/homework/2107 队友作业地址 pdf 文件地址 结对成员…
Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案.它集成了ARM CORTEX-A8核心.实现了ARM架构V7且支持外围设备.他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2…
一.个人总结 1.在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 经过本次alpha阶段的冲刺,首先学到了很多,收获了很多,同时也蛮辛苦的.其实我觉得作为组员我有很认真地去对待这次项目.这次冲刺,但是我的PM还是特别辛苦,几乎在冲刺阶段每晚都处于熬夜阶段,没有她就没有我们现在的项目,在这里表示感恩,我们的羽晴大佬! 冲刺阶段,我们会约个固定的时间一起做,大家互相分享自己学到的新知识(哈哈,我们都是小白),我觉得这个做法很好,有效率:因为往往一个人对待一件陌生的事…
读书笔记:<人生效率手册>:如何卓有成效地过好每一天--By张萌姐姐... 整本书看完的感受: 这本书主要讲的是生活中我们需要给自己一个目标,然后通过自己的努力去实现这个目标,书中说的很多的道理很赞同,看完一遍感觉学到了很多东西 这本书虽然讲的是怎样实现目标 ,但并非是鸡汤式的说:什么只要努力就能成功之类的. 想看的小伙伴可以去百度搜一下购买纸质的也可以 电子版的下载地址:百度网盘下载地址戳这里: ---->>>    <人生效率手册>  <<<…