[2017BUAA软工]第1次个人作业
软工第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次个人作业的更多相关文章
- [2017BUAA软工助教]第0次作业小结
BUAA软工第0次作业小结 零.题目 作业链接: This is a hyperlink 一.评分规则 本次作业满分10分: 按时提交有分 一周内补交得0分 超过一周不交或抄袭倒扣全部分数 评分规则如 ...
- [2017BUAA软工]第3次个人作业
软工第3次个人作业--案例分析 一. 调研,评测 1.软件的bug(至少两个,不少于40字) 测试软件: 必应词典移动端 测试平台:iPhone 6 bug1 对于翻译功能中的图片翻译功能,必应词典是 ...
- [2017BUAA软工]第2次个人作业
软工第2次个人作业--代码复审 一.代码复审Check List 1.概要部分 代码能符合需求和规格说明么? 能正确处理题目要求,代码能符合需求和规格. 代码设计是否有周全的考虑? 能正确生成和解出数 ...
- [2017BUAA软工]第0次个人作业
第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 我觉得我选择计算机系完全是误打误撞吧.当时我的分数上北航是没问题的,所以填专业时就是机械,电气,自动化,计算机等 ...
- [2017BUAA软工]第零次博客作业
第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...
- [2017BUAA软工]第二次博客作业:代码复审
〇.comment链接 https://github.com/hanayashiki/Sudoku/issues/1 一.代码复审 1.概要部分 (1)代码能符合需求和规格说明么? 经测试,对于合法输 ...
- [2017BUAA软工助教]收集个人信息
如题 我们要收集三个东西 1.学号 2.Github地址 ① 3.博客园博客地址 ② 请各位同学自行创建,并按照如下的格式评论在这篇博客下 "14061195+https://github. ...
- 《软工实践》第零次作业 - 一些QA
<软工实践>第零次作业 - 一些QA Q&A (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机 ...
- [福大软工] Z班 团队第一次作业—团队展示成绩公布
[福大软工] Z班 团队第一次作业-团队展示成绩公布 作业地址 http://www.cnblogs.com/easteast/p/7511264.html 作业要求 队员姓名与学号(标记组长),其中 ...
随机推荐
- Gson转换复杂对象报错【类型强转错误】
一.问题: 项目里遇到一个需求,规则文件下载后,导入本地解析. 采用的方案是:获取复杂对象,使用谷歌Gson转换为字串保存为文件下载,客户端读取文件,解析字串,反解对象 遇到的问题:传输的对象是一个嵌 ...
- PostgreSQL处理xml数据初步
磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@g ...
- django学习笔记(1)
Django 特点 强大的数据库功能 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句 自带的强大的后台功能 几行简单的 ...
- C++ STL 学习笔记__(6)优先级队列priority_queue基本操作
10.2.7优先级队列priority_queue v 最大值优先级队列.最小值优先级队列 v 优先级队列适配器 STL priority_queue v 用来开发一些特殊的应用,请对stl的类 ...
- Execute Process Task
Execute Process Task 用于在Control Flow中执行应用程序,常用于对加密的数据进行解压. 1,RequireFullFileName 属性:是否需要完整的文件路径,如果在F ...
- window.location.hash 页面跳转,精确定位,实例展示:
window.location.hash 页面跳转,精确定位,实例展示: (1).index.phtml,页面用于传参 <script id="bb_list_template&quo ...
- Windows下Redis安装及使用
1.下载安装Redis(安装直接下一步就行,此步骤省略) Redis-x64-3.2.100.exe 2.Redis使用 安装目录如下: ①cmd启动redis: ②将redis安装为服务 此时如果安 ...
- [硬件配置]Ubuntu 16.04下使用NETGEAR Nighthawk AC1900 (A7000) WIFi USB适配器
为了增强无人机与地面站之间的传输信号,组里买了这款WiFi信号接收器,无奈只有Windows和Mac OS版本的驱动程序.后来不知道从哪里得来的一个偏方可以安装Ubuntu下的驱动,特此记录. 内核降 ...
- Activity启动过程中获取组件宽高的五种方式
第一种:(重写Activity的onWindowFocusChanged方法) /** * 重写Acitivty的onWindowFocusChanged方法 */ @Override public ...
- python包管理工具pip
你可以使用一个名为 pip 的程序来安装.升级和移除软件包.默认情况下 pip 将从 Python Package Index <https://pypi.org> 安装软件包.你可以在浏 ...