1)快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。

Q1:“Scrum Master不是一个官,而是一个没有行政权力的沟通者,就像微软的PM那样。他/她同时还要在团队中做具体的工作。直接把原来的‘经理’变成Scrum Master,大多行不通。”当一个团队在进行敏捷开发的时候,Scrum Master是唯一与外界沟通的人,那么原来的Project Manager应该做些什么呢?
Q2:“微软产品团队三足鼎立的角色分配就是Promgram Manager、开发、测试。“那么,当一个团队的角色之间出现矛盾时,他们都是怎么交流以调和矛盾的呢,有没有什么经验性的方法?
Q3:“另外,软件团队可以分析技术趋势以及产业的变化、社会发展的大趋势,推测用户会产生哪些新的需求。”这些“推测出的新的需求”在用户真正提出来之前是怎么处理的呢,是直接包含在设计中,还是等需要的时候再进行扩展?
Q4:软件团队的“爵士乐模式”具有“不靠谱”的特点,“他们演奏时都没有谱子”。这里的“谱子”反映到软件团队上具体指什么,是指设计文档吗?如果是设计文档,为什么有些软件在没“谱子”的情况下还能做出一个优秀的软件?
Q5:《构建之法》的概论中论述了计算机科学与软件工程的关系。作为一个计算机科学专业的学生,我时常会有一种硬件开发不如电子信息的同学,软件开发又没有软件工程的同学来的专业的感觉,并且我了解到的大多数优秀的计算机科学专业的毕业生最后都从事了软件开发相关的工作。那就找工作方面我们相比软件工程的同学是否不存在任何优势?
Q6:伙伴测试(Buddy Test)能否用结对编程代替?因为我感觉结对编程也可以在签入代码前把重大问题解决。如果不能,是不是因为结对编程的成本比较高?
Q7:《构建之法》第17章强调了团队领导的重要性,团队领导的好坏会对整个团队造成较大的影响。作为一个学生,我也已经在一次次小组合作中体会到了这一点,一般大家都会更加倾向于听从团队里技术最好的同学,但有时候这样的效果并不是很好。因此我想问在一个团队中大家都不怎么熟悉的情况下,怎么样可以选出一个合适的团队领导?

2)请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?

“软件”
1.1953年8月;
2.在兰德公司的研究备忘录中;
3.Richard R. Carhart;
“软件工程”
1.1968年;
2.在“阿波罗”太空计划期间,在NASA;
3.Margaret Hamilton;

【附加题】:大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?(不定期更新)

1.女性在软件工程中扮演的角色:在1970年以前,男人们会在更有声望、更有报酬的硬件工程中扮演角色,他们常常把软件的写作授权给女性,而诸如格蕾丝·霍珀(Grace Hopper)或玛格丽特·汉密尔顿(Margaret Hamilton)这样的传奇人物也填补了许多计算机编程工作。
2.软件工程专业正式开始的标志:1968年和1969年,北约(NATO)科学委员会(NATO Science Committee)赞助了两场关于软件工程的会议(Garmisch,Germany - see conference report),这给了该领域最初的推动力。许多人认为这些会议标志着软件工程专业的正式开始。
3.在软件危机中,一些软件项目甚至造成了生命的损失(当然这个并不有趣):

It was involved in at least six accidents between 1985 and 1987, in which patients were given massive overdoses of radiation.[1]:425 Because of concurrent programming errors, it sometimes gave its patients radiation doses that were hundreds of times greater than normal, resulting in death or serious injury.[2] These accidents highlighted the dangers of software control of safety-critical systems, and they have become a standard case study in health informatics and software engineering. Additionally the overconfidence of the engineers[1]:428 and lack of proper due diligence to resolve reported software bugs, is highlighted as an extreme case where the engineer's overconfidence in their initial work and failure to believe the end users' claims caused drastic repercussions. --引用自《Therac-25 - Wikipedia

大意:在1985年到1987年间,至少有六起事故发生,其中有大量的辐射剂量。由于并发编程错误,有时它给病人的辐射剂量是正常的数百倍,导致死亡或严重伤害。这些事故凸显了安全关键系统软件控制的危险性,已成为卫生信息学和软件工程的标准案例研究。此外,工程师们的过分自信和缺乏适当的尽职调查来解决报告的软件缺陷,被强调为一个极端的例子,工程师对他们最初的工作过于自信,并没有相信最终用户的索赔引起了激烈的反响。

3)上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?

Microsoft TFS:
优点:1.任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用;2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM;3.能与 VS 无缝接合;
缺点:1.用浏览器访问相当慢;2.XP 系统无法访问。

Git
优点:1.版本库本地化,支持离线提交,相对独立不影响协同开发;2.更少的“仓库污染”;3.把内容按元数据方式存储,完整克隆版本库;4.支持快速切换分支方便合并,比较合并性能;5.分布式版本库,无单点故障,内容完整性好;
缺点:1.不支持中文;2.图形界面支持差;3.使用难度大。不易推广;

Mercurial
优点:1.跨平台;2.命令行简单易上手;3.可扩展性,易于根据用户需求自行定义、扩展;
缺点:1.分支管理不灵活;2.社区支持较差;

GitHub
优点:1.功能设计简洁,可用性好;2.Git存储库服务,基于web,允许使用Git的源代码管理功能,或者其特性;
缺点:1.国内访问速度太慢;2.不能很好的解决GB2312/GBK,对中文不够友好;3.github:fi贵;

BitBucket
优点:1.简单易学;2.支持中文;3.私人项目免费;
缺点:1.不开源;

Trac
优点:1.灵活性高;
缺点:1.功能一般;

Bugzilla
优点:1.支持中文;2.有强大的定制功能;3.免费;
缺点:1.安装繁琐;

Rational(查到的资料较少):
优点:1.跨平台;
缺点:1.软件体积大;

Apple XCode
优点:1.编译速度快;2.易于开发和维护;
缺点:1.插件不能随版本及时更新;

个人作业-Week 1的更多相关文章

  1. python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)

    类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...

  2. SQLServer2005创建定时作业任务

    SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...

  3. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  4. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

  5. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  6. 个人作业week3——代码复审

    1.     软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...

  7. 个人作业-week2:关于微软必应词典的案例分析

    第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...

  8. 软件工程第二次作业——git的使用

    1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...

  9. hadoop作业调度策略

    一个Mapreduce作业是通过JobClient向master的JobTasker提交的(JobTasker一直在等待JobClient通过RPC协议提交作业),JobTasker接到JobClie ...

  10. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

随机推荐

  1. 你的安全设置不允许网站使用安装在你的计算机上的ActiveX控件

    在IE中,工具--INTERNET选项--安全--自定义级别--"下载未签名的ActiveX控件"选项改成"提示"或"允许"就好了.

  2. 【Git】Git Bash

    版本控制工具Git Bash软件 安装 git.exe  即可

  3. IOS马甲包(诚招大量开发)

    马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...

  4. OO学习体会与阶段总结(多线程程序)

    前言 在最近一个月的面向对象编程学习中,我们进入了编写多线程程序的阶段.线程的创建.调度和信息传递,共享对象的处理,线程安全类的编写,各种有关于线程的操作在一定程度上增加了近三次作业的复杂度与难度,带 ...

  5. IntelliJ IDEA 历史版本下载地址

    地址:https://confluence.jetbrains.com/display/IntelliJIDEA/Previous+IntelliJ+IDEA+Releases scala插件:htt ...

  6. SAP查找用户的登录记录

    1.可以使用USR02中有个上次登陆日期和登陆时间. 2.用SE38跑下RSUSR200,输入用户名即可查询上次登陆日期 3.SU10可以查到

  7. 关于使用Tomcat搭建的Web项目,出现 URL 中文乱码的问题解析

    URL编码问题 问题描述 使用 Tomcat 开发一个 Java Web 项目的时候,相信大多数人都遇到过url出现中文乱码的情况,绝大多数人为了避免出现这种问题,所以设计 url 一般都会尽量设计成 ...

  8. 用matplotlib获取雅虎股票数据并作图

    matplotlib有一个finance子模块提供了一个获取雅虎股票数据的api接口:quotes_historical_yahoo_ochl 感觉非常好用! 示例一 获取数据并作折线图 import ...

  9. cifar数据集介绍及到图像转换的实现

    CIFAR是一个用于普通物体识别的数据集.CIFAR数据集分为两种:CIFAR-10和CIFAR-100.The CIFAR-10 and CIFAR-100 are labeled subsets ...

  10. SpringCloud-容错处理Hystrix熔断器(五)

    前言:微服务架构应用的特点就是多服务,而服务层之间通过网络进行通信,从而支撑起整个应用系统,所以,各个微服务之间不可避免的存在耦合依赖关系.但任何的服务应用实例都不可能永远的健康或网络不可能永远的都相 ...