个人作业-week1

阅读《构建之法》的疑问:

1.关于“敏捷开发”,项目开发中,是该先规划好整体的架构,把细节想清楚再开始着手进行代码实现,还是有个大概的思路就开始进行实现,在实现的过程中解决面临的问题?

2.软件测试的重点在哪里,是该对重要的函数进行多次测试,还是对整个程序进行全面的测试?

3.书中对于软件开发的流程介绍的十分完备,但是对于一些较小的项目,严格遵守这些流程会不会在一定程度上拖慢项目的进度,把简单的事情复杂化?

4.覆盖性测试如果做不到100%的覆盖率怎么办?有的时候程序为了处理一些不可预知的错误而写的部分也一定要进行覆盖吗?

5.关于团队合作,如何把工作进行拆分,针对不同的工作,如何衡量团队中每个人做出的贡献?

概念理解:

软件:这个单词最早出现的出版物是由Richard R. Carhart 于1953年8月出版的书籍,后来被图灵使用。

软件工程:最早由Margaret Hamilton提出,MIT 软件工程测试实验室主任,她是在为阿波罗 11 号开发软件时提出“软件工程”这个词的。

目前流行的源程序版本管理软件和项目管理软件的优缺点:

(一)Microsoft TFS:

优点:

       1.任务版上能将需求、项目进度一览无余

       2.集成了项目管理、版本控制、BUG 跟踪等功能,能有效实现 SCRUM,是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持

       3.能与 VS 无缝接合

缺点:

        1.整个系统是用 asp 实现的,用浏览器访问比较慢

        2.从 IE *问、填写各种开发、测试记录效率比较低

           3. 能应用起来的团队、公司的数量极少

(二)Github

优点:1.GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。

           2. 可以作为一个版本控制系统和协作工具,用它来发布工作。利用GitHub,你可以将项目存档,与其他人分享交流支持多人共同完成一个项目

           3. 能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误

缺点:1.强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。

(三)Trac的优缺点:

优点:  1、Trac做一个SCM配置管理平台,意味着它有良好的扩充性

    2、Trac的权限体系是比较完备的设计

    3、非常灵活,可以随心所欲控制可以和SVN集成

缺点:  1、不支持多项目,

    2、需求和缺陷没有分离

    3、不显示中文名,本地化做得很差,

    4、核心功能很少、功能不够强大。

(四)Bugzilla

优点:不收费,有中文版支持

缺点:快速搜索结果不准确。只能管理缺陷。

(五)Apple XCode

优点:  1、可以自动创建分类图表。

    2、自动提供撤消、重做和保存功能,无需编写任何编码。

    3、编译速度极快,每次操作都很快速和轻松

缺点:更新版本后,某个插件可能会失效。