软工第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. 大数据入门第十一天——hive详解(一)入门与安装

    一.基本概念 1.什么是hive The Apache Hive ™ data warehouse software facilitates reading, writing, and managin ...

  2. Linux下查看Mysql数据库端口的方法

    mysql 默认的端口是 3306,但是如果在安装的时候,修改了mysql的默认端口的话,可以采用以下方式查看 第一种方法: 直接查看数据库的配置文件 在/etc/mysql/my.cnf(Linux ...

  3. 20145234黄斐《Java程序设计》实验三—敏捷开发与xp实践

    1在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能.提交截图,加上自己学号水印. public cla ...

  4. 一维码Code 93简介及其解码实现(zxing-cpp)

    一维码Code 93: Code 93码与Code 39码的字符集相同,但93码的密度要比39码高,因而在面积不足的情况下,可以用93码代替39码.它没有自校验功能,为了确保数据安全性,采用了双校验字 ...

  5. [HNOI2016]网络 树链剖分,堆

    [HNOI2016]网络 LG传送门 表示乱搞比正解难想. 整体二分很好想吧. 但是为了好写快乐,我们选择三个\(\log\)的乱搞. 先树剖,线段树套堆维护区间最大值.对于一次修改,如果是插入,就把 ...

  6. C++ STL 学习笔记__(7)Set和multiset容器

    10.2.8 Set和multiset容器 set/multiset的简介 ²  set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指 ...

  7. 洛咕 P3964 [TJOI2013]松鼠聚会

    有个结论就是把坐标\((x,y)\)变形成\(((x+y)/2,(x-y)/2)\),切比雪夫距离就变成了曼哈顿距离. 所以变换一下坐标直接统计答案即可. // luogu-judger-enable ...

  8. cogs1685 【NOI2014】魔法森林 Link-Cut Tree

    LCT练手好题啊. SPFA的做♂FA是把边按照a排序,然后加一条权值为b的边跑SPFA,不断更新答案.很好的做♂FA,但复杂度无♂FA保证. LCT的做♂FA类似,也是把边按照a排序,然后也是加一条 ...

  9. 给浏览器和各种软件配置 http https socks5 代理 proxy

    只需要像在 idea 里一样,配置好sr的本地代理ip:127.0.0.1   本地代理端口:1080 浏览器和软件的流量即可走 sr ,就能被 sr 代理了 用上代理之后,确实快了好多,这里是在打开 ...

  10. 自适应浏览器分辨率的javascript函数[转]

    function changeWidth(now,target) { //now是现在代码所适应的宽度,如800:target是想要达到的显示器分辨率宽度var widthStr; var flag ...