项目 | 内容 |
---|---|
这个做业属于那个课程 | 班级博客 |
这个做业的要求在哪里 | 做业要求 |
我在这个课程的目标是 | 学习软件工程相关知识,锻炼软件开发能力。 |
这个做业在哪一个具体方面帮我实现目标 | 阅读教材,大致理解软件工程 |
做业正文 | 做业正文 |
做者在书中只以一个简单类的单元测试为例,但实际的软件工程中每每涉及到GUI/数据库等状况,每种类型的单元测试具体如何分析?是否每一个项目的每一个part都要作到代码路径全覆盖?html
我查了资料,如下的回答比较有启发性:java
回答1针对单元测试具体内容作出了一些解答。git
回答2则给出了单元测试的5个级别,以及经常使用场景的级别划分。程序员
在目前的网络授课环境下,结对编程的沟通成本更高了,会不会致使效率降低?在初学入门与空间隔离的条件下,如何保证结对编程的效率呢?github
6.2节中对敏捷流程各部分会碰到的问题作了总结。但彷佛并无给出部分问题的解法。若团队成员基本都是初见软件工程,一个最直观的问题是:在以后的团队流程中,如何获得各个流程的量化评价?web
注意到书中连接10提供了Scrum视频培训,但限于时间因素,还没来得及所有观看。数据库
(注:阅读后续章节发现有部分解释,但仍偏理论,而且也并未给出具体量化)编程
PM作开发和测试以外的全部事情。后端
书中对PM的职责进行了详细的描述,并对如何作好PM给出了必定的建议。但实际状况下,初入门的PM是否真的能完成这么多的职责?这个职位在课设中是否真的有意义,而不是沦为一个挂名职位呢?另外,做为组内程序员,在出现问题甚至矛盾时,如何配合PM完成各项工做?网络
迷思之六,技术是创新的关键。
书中以铱星计划为例,说明科研技术不等于创新。我在查看铱星计划的相关资料后,发现其失败是创建在跨国家,组织,技术和多个管理层面的,巨型的,复杂的技术创新管理体系的失败,一系列复杂的缘由致使了铱星计划的破产,不能仅仅将其归咎于创新。做者在后续内容中以用户体验一节的茶壶案例说明了相似的观点。但我认为科技的发展很大程度标志着创新,好比目前的手机行业,摄像头设计均为挖孔与升降式结构,此时在摄像头隐藏上取得突破,让用户取得更高的屏占比,就能够引导行业进一步发展。
软件一词,由John Tukey在于1958年发表的论文“The Teaching of Concrete Mathematics”中提出。
软件工程,则由Margaret Hamilton于阿波罗11号软件开发周期内提出。
地点则均为美国。
分享一则关于菜单的冷知识,世上第一个游戏彩蛋由Warren Robinett(沃伦·宾耐特)在开发第一个动做冒险游戏《adventure》时完成。因雅达利公司时任管理者不容许将制做人名字印在游戏卡带上,沃伦设计并制做了下图的隐藏关卡。
管理软件名 | 用户数 | 项目数 |
---|---|---|
GitHub | 31,000,000 | 100,000,000 |
Bitbucket | 5,000,000 | Unknown |
Launchpad | 3,965,288 | 40,881 |
SourceForge | 3,700,000 | 500,000 |
GitLab | 100,000 | 546,000 |
GNU Savannah | 93,346 | 3,848 |
OSDN | 54,826 | 6,294 |
管理软件名 | 优势 | 缺点 |
---|---|---|
Microsoft TFS | 是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。任务版上能将需求、项目进度尽收眼底,对于小团队而言,比甘特图更有用。 | 能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能。 |
GitHub | GitHub提供Git存储库服务,基于web,容许你使用Git的源代码管理功能,或者其特性。 | 若是有不公开的专案的话,须要付费,没有一个很清楚的图表能够看清楚全部专案的milestone due day顺序,没有甘特图能够看,只有英文界面 |
Trac | 很是灵活,能够为所欲为控制能够和SVN集成,权限设置比较完善,且是一个SCM配置管理平台,意味着它有良好的扩充,权限体系完善 | 不支持多项目,需求和缺陷没有分,用 Wiki 来替代 Word 等工具编写文档提升了学习成本,中文支持很差,核心功能不多,须要配合插件使用。 |
Bugzilla | 检索功能强大,后端数据库支持好,中文化支持完整。 | 快速搜索结果不许确,只能管理缺陷 |
Mercurial | 有revset,扩展性,append only的存储结构,易于掌握,对新手友好 | 只容许两个分支进行合并。 |
Apple XCode | 编译速度极快,每次操做都很快速和轻松。自动提供撤消、重作和保存功能,无需编写任何编码。 | 更新版本后,某个插件可能会失效。 |
查找后发现上述管理软件大部分都使用Git,所以下面用了Github和Gitee举例,
此前利用gitee搭建了一个静态的我的博客(本来仓库在github上,但访问速度过慢,所以搬运到了gitee),仓库以下
相相似的Bitbucket、Gitlab等都是采用Git管理,整体用户体验较为一致。