软工第1次个人作业


一、快速看完整部教材,列出你不懂的5-10个问题,发布在你的个人博客上。

1、文中提到“积累问题领域的知识和经验(例如:对医疗或金融行业的了解)。”然而我们如何定位自己问题的领域呢?对于现在的我们是不是应该多看看其他行业的知识呢?

2、在文中作者说:“MSF提倡自下而上的计划,每个人有充分的权力估计并决定自己的任务需要多长时间,而不是上级交给的时间,这意味着让真正做这件事的人按照自己的估计去完成任务。”对于这一点,我有疑问,如果像MSF这样充分授权,又能怎样保证所有人能正确的估计时间,不会偷懒也不会使得自己任务过重呢?据我了解,对于平时作业来说都有一个ddl,如果像MFS所说的充分授权,就有可能有些人不会去完成这些作业,我认为还是得有一定的控制。

3、文中作者提到“投资要讲时机,比如说对于某项技术的培训,最好的做法是在即将需要的时候进行培训。太超前或滞后都不灵。”,如何恒定即将需要这个范围,对于我们的学习来说,这些知识我们不一定能够立马用到,所以说安排的课程是不好的时机么?

4、文中作者提到“问: 如果我要做一件事情,但是周围的人有不少不同意见,短时间又不能完全说服他们,怎么办? 答: 对此事负责任的角色要自己拿主意。”,确实对于一件事情,自己需要负责任,但是有的时候确实是大家都反对有可能是自己不对,这个时候如何能很好的权衡呢?同样,站在旁观者的角度,提出建议是出于帮助的想法,如果会扰乱到主事的人思考,那是不是不提会更好点?

5、文中提到了很多测试的方法,正如书中所说,软件开发有周期,而对于在每一个阶段,我们应该如何权衡测试的比重呢?

6、“但是在现实中,好的主意不一定赢。”作者还通过键盘的例子和衡量制度的例子加以佐证,但我不这样认为,对于键盘而言,人们只是按照习惯使用了QWERTY键盘,然而只是因为历史习惯,不意味着不能改变,倘若在很大范围内推广Dvorak键盘,从长远的角度来说,也不一定会不流行,何况基本所有创新的东西都要一个周期,在早期一般不太容易让人接受,因为人们已经习惯了以前的方式,但随着时间的推移,好的东西会显现出来。

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

  • “软件”是由1935年图灵在一篇题目为“omputable numbers with an application to the Entscheidungsproblem (decision problem)”的论文中提出的
  • “软件工程”是1968 年北大西洋公约组织在前联邦德国开会提出的

[附加题]大家知道了软件和软件工程的起源,请问软件工程发展的过程中有什么你觉得有趣的冷知识和故事?

1952年,适逢美国大选。为了对选举资料进行处理,哥伦比亚广播公司租用了UNIVAC,用来预测大选结果。选举结束后仅仅45分钟,UNIVAC就计算出艾森豪威尔将以438票的绝对优势赢得胜利。但在选举前,几乎所有的专家和媒体都预测竞选双方势均力敌。所以对于计算机的预测结果,广播公司拒绝报道。工程师们只好重新计算,但该计算机仍坚持艾森豪威尔将大获全胜。当选举结果正式揭晓后,所有的人都惊呆了:艾森豪威尔实际得票为442票,UNIVAC的预测只有不到1%的误差率!从此,整个世界开始对电子计算机的功能有了新的认识,电子计算机的发展进入了一个新时代。

三、上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、Git、Mercurial、GitHub、Bitbucket、Trac、Bugzilla、Rationale,Apple XCode)?

  • Microsoft TFS

    • 优点

      • 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
      • 能与 VS 无缝接合
      • 是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持
    • 缺点
      • 能应用起来的团队、公司的数量极少
      • 用浏览器访问慢,从 IE 上访问、填写各种开发、测试记录慢
  • Git
    • 优点

      • 分支能力特别强大
      • 支持离线提交,分布式推送拉取,使得代码层面的协作相当流畅
      • 免费、开源的
      • 对程序源代码进行差异化的版本管理,代码库占极少的空间
    • 缺点
      • 图形界面支持差
      • 不支持中文
      • 使用难度大
  • Mercurial
    • 优点

      • 命令行简单、容易上手
      • 有revset,扩展性,append only的存储结构
      • 服务器部署相对容易
      • 跨平台、封装好
    • 缺点
      • 分支管理不灵活
      • 支持社区略差
  • GitHub
    • 优点

      • 基于web
      • 提供Git存储库服务,允许你使用Git的源代码管理功能
      • 功能设计简洁实用上手很快
      • github Markdown支援很好
      • 开源项目多
      • 支持多人共同完成一个项目
      • 代码不需要保存在本地或者服务器
    • 缺点
      • 免费套餐不支持私有项目
      • GUI需要时间来适应
  • Bitbucket
    • 优点

      • 支持私有免费项目
      • 支持Hg,支持Git
      • 完全免费的闭源项目,支持5人以内的合作开发
    • 缺点
      • 网页端的git仓库不如github好用
      • 搜索界面简单
  • Trac
    • 优点

      • 非常灵活
      • 可以和SVN集成
      • 有良好的扩充性
      • 权限体系是比较完备
    • 缺点
      • 功能不是很强大
      • 不支持多项目
      • 需求和缺陷没有分离
      • 不显示中文名,本地化做得很差
      • 核心功能很少,不安装插件基本上没法用
  • Bugzilla
    • 优点

      • 免费
      • 有中文版支持
      • 强大的检索功能
      • 强大的后端数据库支持
      • 丰富多样的配置设定
    • 缺点
      • 快速搜索结果不准确
      • 只能管理缺陷
      • 界面不够友好
      • 汉化版容易出现乱码
  • Apple XCode
    • 优点

      • 编译速度极快
      • 自动提供撤消、重做和保存功能
      • 可以自动创建分类图表
      • 无需编写任何编码
      • 便捷的代码管理器
    • 缺点
      • 只为iOS和Mac开发而设计
      • 更新版本后,某个插件可能会失效

[2017BUAA软工]第1次个人作业的更多相关文章

  1. [2017BUAA软工助教]第0次作业小结

    BUAA软工第0次作业小结 零.题目 作业链接: This is a hyperlink 一.评分规则 本次作业满分10分: 按时提交有分 一周内补交得0分 超过一周不交或抄袭倒扣全部分数 评分规则如 ...

  2. [2017BUAA软工]第3次个人作业

    软工第3次个人作业--案例分析 一. 调研,评测 1.软件的bug(至少两个,不少于40字) 测试软件: 必应词典移动端 测试平台:iPhone 6 bug1 对于翻译功能中的图片翻译功能,必应词典是 ...

  3. [2017BUAA软工]第2次个人作业

    软工第2次个人作业--代码复审 一.代码复审Check List 1.概要部分 代码能符合需求和规格说明么? 能正确处理题目要求,代码能符合需求和规格. 代码设计是否有周全的考虑? 能正确生成和解出数 ...

  4. [2017BUAA软工]第0次个人作业

    第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 我觉得我选择计算机系完全是误打误撞吧.当时我的分数上北航是没问题的,所以填专业时就是机械,电气,自动化,计算机等 ...

  5. [2017BUAA软工]第零次博客作业

    第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...

  6. [2017BUAA软工]第二次博客作业:代码复审

    〇.comment链接 https://github.com/hanayashiki/Sudoku/issues/1 一.代码复审 1.概要部分 (1)代码能符合需求和规格说明么? 经测试,对于合法输 ...

  7. [2017BUAA软工助教]收集个人信息

    如题 我们要收集三个东西 1.学号 2.Github地址 ① 3.博客园博客地址 ② 请各位同学自行创建,并按照如下的格式评论在这篇博客下 "14061195+https://github. ...

  8. 《软工实践》第零次作业 - 一些QA

    <软工实践>第零次作业 - 一些QA Q&A (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机 ...

  9. [福大软工] Z班 团队第一次作业—团队展示成绩公布

    [福大软工] Z班 团队第一次作业-团队展示成绩公布 作业地址 http://www.cnblogs.com/easteast/p/7511264.html 作业要求 队员姓名与学号(标记组长),其中 ...

随机推荐

  1. CF 700 E. Cool Slogans

    E. Cool Slogans 链接 题意: 给定一个字符串S,从中选出k个子串a[1],a[2]...a[k],满足a[i]在a[i+1]中出现了两次(可以重叠),求最大的k. 分析: 建出SAM, ...

  2. P2154 [SDOI2009]虔诚的墓主人

    略有一点点思维的题. 首先,如果一个点上,下,左,右分别有\(a,b,c,d\)棵树,那这个点的十字架方案为\(C_{a}^{k}C_{b}^{k}C_{c}^{k}C_{d}^{k}\). 按x坐标 ...

  3. P3592 [POI2015]MYJ

    P3592 [POI2015]MYJ 一道比较烦的区间dp.. 昨天上课讲到了这题,然后就在lg翻到了 然后调了很久很久..... 设\(f[l][r][k]\)为区间\([l,r]\)中,最小值\( ...

  4. 关于big-endian和little-endian

    详解大端模式和小端模式 一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个 ...

  5. 【日常训练】Help Victoria the Wise(Codeforces 99C)

    题意与分析 这题意思是这样的:在正方体的六面镶嵌给定颜色的宝石(相同颜色不区分),然后问最多有几种彼此不等价(即各种旋转过后看起来一致)的方案. 其实可以乱搞,因为范围只有720.求出全排列,然后每个 ...

  6. 树莓派3b无驱动打印

    Linux系统下很少有对打印机做驱动支持,自己做起来又有非常麻烦,还好大多数打印机都能够支持escpos协议,因此我们可以做到无驱动打印. 1.安装python-usb库 git clone http ...

  7. SpringBoot文件上传异常之提示The temporary upload location xxx is not valid

    原文: 一灰灰Blog之Spring系列教程文件上传异常原理分析 SpringBoot搭建的应用,一直工作得好好的,突然发现上传文件失败,提示org.springframework.web.multi ...

  8. python接口自动化2-发送post请求

    发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去 ...

  9. Unity中容易被忽略的小技巧

    今天在游戏蛮牛上看到慕容小匹夫的一篇文章,感觉对自己现在的水平很实用,就给转载了过来,以便日后好温习一下. 这里还是要支持原创作者,原文地址在这里 一.编辑器染色 一个常见的工作情景是我们在调整场景内 ...

  10. [持久更新] 剑指offer题目Python做题记录

    第一题 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路:先快速定位到 ...