【软工】第1次阅读作业
第一部分:快速看完整部教材,我仍然不懂的5个问题
1.对于结对编程4.5.2(P79)中引发的疑问如何解决?
对于“我习惯一个人写程序,不喜欢被别人盯着工作,这样我不自在,无法工作”等疑问,书中有提出,但并没有明确的解决方案。是否有着消除个人因素影响的办法,还是只能通过时间磨合?
2.对于典型用户和典型场景10.1(P203)中用户需求的疑问?
漫画中理发师百分百执行了用户的要求,但是用户好像并不满意。但是,工程师根据用户的动机做了改动,最后却又不符合用户的心意,责任该判给哪方?此点是否有驳面向对象编程“指导书至上”原则?
3.对于用户体验12.1.1用户的第一印象(P250)的疑问?
第一印象是否值得花时间去考虑?个人认为重要的还是要看实用性。在百度搜回答强推的广告,下载页面都很好看,也避免不了下载安装完后狂喷辣鸡。
4.关于goto语句的使用?
在大一,老师就强烈反对使用goto这种极不稳定的语句。goto造成的后果可能是很严重的,是否值得为了程序逻辑舍弃一部分稳定性?
5.关于3.3.1考级之路的疑问?
计算机等级考试真的能反映一个人的真实水平吗?一些其他学校的同系同学都在考各种这样的计算机等级证书,但我航同学却不怎么热衷于这些证书。在现在这样考过了四级却不一定会英语,考到了驾驶证却不一定会开车的环境下,证书是否还和以往一样让人信服?
6.关于2.1.2单元测试谁来写?
单元测试如果让程序的作者来写,如何解决程序作者对于需求理解不明确导致单元测试不完善的情况?
第二部分:请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时、何地、何人?
【软件】的概念最早由阿兰图灵在1935年提出,但也有人认为软件正式出现在1958年John Turkey的论文中。
【软件工程】一词最早是由 Margaret Hamilton 在阿波罗11号登月计划准备期间提出的。
第三部分:软件工程发展的过程中有什么你觉得有趣的冷知识和故事?
图灵。
图灵在“布雷契莱园”工作期间,骑一辆旧自行车上下班。那辆车经常掉链子,图灵却懒得修理。他发现只要骑到一定的圈数,链子就会掉下来,于是每次骑车时他都计算圈数,在链子将要掉下的瞬间刹车,倒一下脚蹬,然后上车再骑。后来他设计出一个计数器,装在脚蹬旁,提醒他下车倒脚蹬。
作者:匿名用户
链接:https://www.zhihu.com/question/29362910/answer/46397160
来源:知乎
第四部分:目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
1.软件使用量
1、github:约31,000,000用户量
2、SourceForge:约3,700,000用户量
3、Bitbucket:约5,000,000用户量
4、GitLab:约100,000用户量
统计于维基
2.各软件优缺点
git:
1.使用Git便于代码管理,方便代码复审等多人协作
2.提供了免费的私库
3.对初学者不友好
Trac:
1.有着良好的扩展性
2.Trac的权限体系是比较完备的设计
3.需要安装很多插件,繁琐
BUGZILLA:
1.检索功能强大
2.后端数据库支持功能强大
3.配置文件较复杂
Mercurial:
1.命令兼容SVN
2.扩展性强,append only的存储结构
3.很多命令有双字母的简称,使用起来方便
4.功能太过简陋