软件工程老师给我们留了阅读作业,刚开始觉得老师留的作业阅读量太大,而且时间太短,对此感到不是很理解,但是当我开始阅读《移山之道》这本书的时候,感觉这本书真的写的很通俗易懂,利用移山软件公司人员开发经营石头销售的软件的故事贯穿整本书,使我们很清楚的理解每个环节的顺序和重要性,同时也给我们实例展示了怎么开发项目。通过这本书的阅读,我意识到以下几个问题,这都是以前我的误区和不曾想到的事情。

1,软件开发的工具和方法十分重要。想要做出高质量高水平的软件并不是团队中只要有高超的编程能力和熟练地技巧就能完成的。一个软件开发团队需要一系列的管理工具,协作工具,软件构建工具,以及能保证软件质量的测试工具。软件开发的方法很多,每种方法都有着各自的使用原则,虽然说瀑布模型和螺旋模型已经过时的,但是依然有着各自的优势,不能被忽略。

2,软件开发过程不同角色的成员有着不同的作用。刚开始接触的时候,总觉得会编程的就是牛人,个人技术好的就能够独当一面,通过这次阅读,扭转了我的这种想法。PM虽然听起来好像级别高,其实和团队中的每个人都是一样的,只是工作不同;DEV看似是软件工程的核心,没有好的DEV就无法完成代码编程,无法实现高超的功能,也就没法完成软件开发,但是DEV并不是万能的,如果没有PM的需求规划,项目管理,没有好的测试人员寻找小强,就无法完善自己的程序,无法开发出满足顾客需求的软件;开始时觉得测试人员无关紧要,但是通过老师的讲解,我懂得了软件测试是必不可少的也是至关重要的环节,对于一个功能完整的软件,遇到的典型用户和情景非常之多,而且还有很多情况会违规操作,还有很多特殊的情况我们容易忽略,这些都需要好的测试人员来挖掘。每每个角色的成员都要各司其职,共同对项目负责。

3,软件开发流程必需每步都做好。上学期学面向对象的时候,我们是这样写项目的,首先我们编写代码,如果中途觉得想要添加什么功能就继续补充,写完之后开始根据我们写好的代码编写需求文档等等,结果发现我们有很多功能我们想要补充但是很麻烦,而且和我们刚开始想的有很大的出处。现在懂得了我们的失误之处。在考虑软件开发的时候要考虑NABC,哪一个环节没有想清楚都会给以后的工作带来麻烦,并不能一味的要求写代码。需求文档,设计文档都必须考虑清楚,并用这些指导我们编程。

4,充分利用TFS,规划好每天的工作。开发软件并不像我们参加竞赛编写一道程序题目一蹴而就,每天定期的规划好团队中每个人要做什么是十分必要的。根据整体的规划来决定自己的进度,并且告知同伴自己的成果,以便他人使用。虽然说这样有些麻烦,但是这是保证每个人按照进度步步前行的必要手段。

虽然说这次阅读作业收获很多,但是还是有很多的知识没有太理解,有很多概念也不是很清楚,需要自己重新阅读和查找。大致列出自己疑惑的问题:

1,VSTS功能好复杂,每天查看TFS也很麻烦,很多时候难以做到更新,有些人可能完成了也懒得修改,这样势必给团队协作造成影响,如果遇到这种情况又该采取怎样的办法。

2,如果一个人同时参与了不同的项目,那么能用一台机器同时管理这两个项目吗?

3,在敏捷开发时,提及程序可修改性和迭代性,可是我们在做软件开发的过程中,难道不应该时考虑清楚,规划清楚,不能出现提及到的汽车安装失误的事情吗?

4,在软件开发的过程中,我们应该面对大多数用户的需求,那么还需要考虑添加特殊的功能吗?这样会不会增加软件开发的时间和成本,但是也没有特别显著的效果?

5,我们可以利用VSTS学习所有的经验,俗话说的好“纸上得来终觉浅”,我们可以借鉴阅读别人的经验教训,可是能有多大的作用?我们都很清楚,在高中的时候经常听到别人说这个地方容易出错,可是还是得等到我们自己正在在这个地方出错之后才能明白为什么才能记住。

6,MSF团队模型中讲究角色平等,重要的决定又大家共同提出,可是如果大家各执己见,协调需要花费时间,而且可能出现多数人的建议并不太理想。有一个好的leader是十分重要的,可以很好地把握软件开发的方向,那么究竟是有一个领头人还是MSF团队模型好?

7,MSF过程模型和传统的瀑布开发模型有什么区别,不都是规划好每个阶段吗?不都是完成一个阶段就进入另一个阶段吗?

8,如果一个团队的项目取得成功,那么怎么评论谁的功劳最大?对于MSF团队是不是很难确定?而且纠纷不断?

9,在团队开始期间和在团队进行到后期测试阶段,那么DEV是不是就空闲下来,那么这么长的一段时间都没有什么重要的事情要做?

10,如果在项目开始时进行代码规范,那么如果有人不习惯这样的修改怎么办?如果不同的项目要求不同的规范,那么岂不是很麻烦?如果代码规范大家都不自觉的不使用,那岂不是没有任何价值?

11,代码复审的效果会不会很低?个人觉得如果查看别人的代码会比较无聊也很浪费时间,而且查看一般无法发现问题,而且两人意见不一致容易出现分歧。

12,一次次的迭代过程会不会很浪费时间,能不能把主体功能一次实现,如果遇到问题再修改?

13,使用VSTS,对于我们软件开发究竟在哪方面起到很大的作用,如果我们不使用这个,但是基本上都会按照软件开发的流程开发,两者有多大的差别?

给本书的建议:

1,最好再把具体的概念讲解清楚些,建立各种概念之间的联系

2,举例详细的分析不同开发流程和方法的区别,这样可以使读者阅读更加清楚

3,文章中的故事很清晰地表达软件开发过程中需要做的事情和遇到的问题,最好能最后总结整理一下

4,软件开发工具介绍的多余其他方面,希望其他方面再完备些,写的在具体详细些。

5,本书的条理清晰,实例讲解印象深刻,如果在每章讲解故事的同时旁边标注具体的知识点,会使读者更容易学习

转载于:https://www.cnblogs.com/mingji/archive/2012/10/30/2747084.html

软件工程阅读作业感想相关推荐

  1. 第二次阅读作业感想——在混沌的英文中爬取软件工程的哲学 刘宇翔

    第二次阅读作业,第一次一口气读完好几篇英文技术论文.在不断的翻译中匍匐前进,在各种生涩的单词中爬取软件工程的哲学.在这里简单谈一下我对这几篇文章的看理解和看法. <No Silver Bulle ...

  2. [2019BUAA软件工程]第1次阅读作业

    [2019BUAA软件工程]第1次阅读作业 Tips Link 作业连接 [2019BUAA软件工程]第1次阅读作业 读<构建之法>的疑惑 个人开发流程(Personal Software ...

  3. 软件工程网络15个人阅读作业1 201521123038 游舒婷

    软件工程网络15个人阅读作业1 201521123038 游舒婷 1.博客园地址 sakurai3104 2.码云地址 sakurai3104 3.阅读与思考 (1)回想一下你初入大学时对网络工程专业 ...

  4. 软件工程网络15个人阅读作业1(201521123029 郑佳明)

    软件工程网络15个人阅读作业1 Task1:博客园地址 茗想 Task2:码云地址 ming Task3:完成博客-阅读与思考 阅读参考材料,并回答下面几个问题: (1)回想一下你初入大学时对网络工程 ...

  5. 软件工程网络15个人阅读作业1 (201521123107)

    #软件工程网络15个人阅读作业1 Task1:注册个人博客账号 我的博客:Bonnenult Task2:注册码云账号 我的码云:Bonnenult Task3:完成博客-阅读与思考 阅读参考材料,并 ...

  6. 【软件工程】第一次阅读作业

    项目 内容 这个作业属于哪个课程 软件工程(罗杰) 这个作业的要求在哪里 第一次阅读作业 本次作业要完成的目标 阅读<构建之法>,快速了解软件工程的相关知识和过程并提出疑问 读完<构 ...

  7. 软件工程个人阅读作业——阅读和调研

    目录 软件工程个人阅读作业--阅读和调研 1 阅读提问 1.1 单元测试问题 1.2 效能分析问题 1.3 杀手功能问题 1.4 典型用户问题 1.5 创业团队问题 2 调研源代码版本管理软件 2.1 ...

  8. 软件工程网络15个人阅读作业2(201521123044 吴敏烽)

    软件工程网络15个人阅读作业2(201521123044 吴敏烽) Q1: 在第2章P23和P25中提到: "运行单元测试,查看代码覆盖为百分之百" 经过对未考虑情况,如:&quo ...

  9. 软件工程 - 第一次阅读作业

    软件工程 - 第一次阅读作业 项目 内容 这个作业属于哪个课程? 北航软工2019班级博客 这个作业的要求在哪里? 第一次阅读作业 我在这个课程的目标是? 按时完成老师给的任务 这个作业在哪个具体方面 ...

最新文章

  1. gpu云服务器运行游戏_在滴滴云 GPU 服务器上使用NVIDIA NGX环境搭建
  2. Android: Custom View和include标签的区别
  3. BZOJ 1176([Balkan2007]Mokia-CDQ分治-分治询问)
  4. 移植uboot第七步:支持DM9000
  5. JavaSE基础知识(5)—面向对象(Object类)
  6. 计算机模拟定点突变,分子模拟对接和定点突变提高10β–去乙酰巴卡亭-华南农业大学学报.PDF...
  7. 工作192:vue项目如何刷新当前页面
  8. 微型计算机原理设计存储系统,微机原理存储器设计讨论报告
  9. getBoundingClientRect使用指南
  10. 什么叫做数字功放?它的电路原理是什么?
  11. 没有servlet接口_Java——Servlet
  12. 继承基础概念与公有继承
  13. python 中gcd用法_Python中while语句的基本用法不了解一下嘛?
  14. vue对于ntko的应用经验
  15. 2018春招-今日头条笔试题-第四题(python)
  16. 高数篇:02费马定理
  17. NFT 作品集推荐|Lululand《爱是永恒》
  18. win10开机慢怎么解决_win10开机速度变慢的解决方法教程
  19. led屏背后线路安装图解_科普:网格屏是什么意思?LED网格屏怎么安装
  20. 安装SqlServer 2008 R2时出现程序兼容性问题

热门文章

  1. mysql 添加int列_在MySQL中现有的int列的值中添加字符?
  2. 惠普打印机怎么无线连接电脑_惠普打印机打印中突然停止怎么办?
  3. python方法调用名字不一样_python中调用父类同名方法
  4. linux字符设备驱动架构,linux驱动开发--字符设备:cdd_cdev结构中private_data使用
  5. androidx和android的区别,【译】使用AndroidX代替Android支持库
  6. linux uwsgi 非root,ubuntu-除非root用户,否则uWSGI Emperor权限被拒绝
  7. 14.Python抠图脚本
  8. Python进阶6——序列操作
  9. C++ 之new和delete释放内存
  10. python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...