项目 | 内容 |
---|---|
本次作业所属课程 | 2019北航软件工程 |
本次作业要求 | 第一次阅读作业 |
我在本课程的目标 | 找到在团队合作中自己的优点和不足 |
本次作业的帮助 | 阅读《构建之法》让我对软件工程有所了解 |
一、 快速看完整部教材,列出你仍然不懂的5到10个问题
-
第四章命名规则
在变量名中不要提到类型或其他语法方面的描述
不同于之前老师反复和我们强调的“好的编程习惯”,这里不仅不采用驼峰命名法,还要尽可
能避免描述变量的类型,这很大程度上要增加注释的长度,也给一个复杂的工程带来麻烦,
并不是个高效的命名方法。
-
第五章敏捷流程
只有能自我管理的团队才能创造优秀的架构、需求和设计
怎么定义自我管理呢,是故步自封还是积极的在不断更新中寻找更好的模式,归根结底敏捷
是以用户的需求进化为核心的。
-
第九章项目经理
PM的专业就是理解和表达
如果项目经理并没有过开发或者测试的经历,谈何理解呢?一个项目的领导者不能仅靠一个
人的感受就得出结论,要有自己的预期,而预期多来源于实际经验。所以我认为一个优秀的
项目经理是要具备各方面能力的,不单单是传话这一项任务。
-
第十三章软件测试
在一个庞大复杂的工程中,全覆盖性测试是否有意义?
-
第十六章创新
有成功的例子也有失败的,并不是每个失败的革新都不具有价值,问题可能出在了想法本身,也可能是在起初的质疑声中被打压下去了。创新的关键在于先说服自己,才能火力全开的去说服更多的人。
二、请问“软件”和“软件工程”这些词汇是如何出现的(何时、何地、何人)?
软件:由美国统计学家约翰·图克在1958年1月9日出版的《混合数学教学》中首次公开使
用。
软件工程:在1968年由NATO科技委员会在前联邦德国的会议中提出,当时定义为“研究和
应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以
及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方
法结合起来的学科”。
四、上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?
-
Git
优点
- 速度快
- 适合分布式开发,强调个体
- 离线工作
缺点
- 学习周期长
- 不符合常规思维
- 代码保密性差
-
Github
优点
- 有大量优秀的开源项目
- 方便社区协作、个人展示
缺点
-
学习曲线陡峭
-
企业应用费高
-
Microsoft TFS
优点
- 支持数据库版本管理,自带很多工具
- 支持代码审阅讨论、邮件通知、web访问与管理
缺点
- 用浏览器访问速度慢
- 团队邮件细节配置复杂
-
Mercurial
优点
- 命令封装性好、有双字母简称、兼容svn
- 服务器部署容易
缺点
- 分支管理不灵活
- 支持社区稍差
-
Bitbucket
优点
- 支持Git
- 支持私有免费项目
缺点
- 功能和使用度都不如Github
-
Trac
优点
- 扩充性好
- 权限体系设计完备
缺点
- 不支持多项目
- 需求和缺陷没有分离
-
Bugzilla
优点
- 具有强大的检索功能、定制功能、后端数据库支持功能
- 通过跟踪描述处理bug
缺点
- 界面设计不友好
- 本地化较复杂
-
Apple XCode
优点
- 自动创建分类图表、自动提供撤销保存功能
缺点
- 更新版本后,某个插件可能失效