1、回顾上课之初的五个问题:c#
问题1:第二章我的技术和流程提到效能分析,我发现提升速度的方法都是经过用软件自己的代码来实现或者减小调用函数的次数,我想当一个程序过度的追求它的效能的时候,他的稳定性有保证吗?函数
答:这个问题如今没有困惑了,当在作我的项目做业的时候有过效能分析,提升效能的前提固然是程序可以按照要求正常的运行,因此稳定性是确定的。能够理解为先确保程序是可运行的,在此基础上再进行效能的测试和提升。学习
问题2:第一章和第三章都提到一个职业的软件工程师的职业程度须要用一些数据来测量的,就像nba用一些数据来测量一些球员的水平同样,但是以我目前对nba的了解,有些能力是在数据上体现不出来的,好比策应能力和间接助攻能力,因此我想这些数据能够扩充一些,更全面一些或者按照不一样人的侧重于性格来评价各类方向侧重的软件工程师。测试
答:这个问题如今没有困惑了,软件工程是一个工程类的技术,既然是工程类的技术就要有一个量化的衡量标准,如咱们所作的psp,咱们全部的工做都会摆在台面上来评价与价值衡量,而为止付出的鲜为人知的努力并非客户所须要的。而关于性格来评价一个软件工程师原本就是错误的,软件工程师原本就是不掺杂着任何感情因素的,评价一个软件工程师只能凭借逻辑和理性的分析来评价,不能该带有情感的倾向。优化
问题3:第三章初级软件工程师的几种成长中一共列出了5种成长方向,一个是技术技能的掌握的提升,一个是积累问题领域的知识和经验,一个是对通用的软件设计思想和软件工程思想的理解,一个是提高职业技能,最后一个是实际成果。按照我目前我的浅显的理解,我认为这5个方面是成梯度呈现的,由于一个初级的软件工程师也是一个精力有限的人,当他把本身认为最难的部分处理好,才会发现一些以前以为更简单的问题每每最难处理,就像考试同样,最后的难题每每是一些定理的证实。spa
答:根据这个学期的学习,我想这5种成长方向是同时展开的,只是在实际的运用过程当中你的任务会更侧重于哪一个方向的发展,像技术技能掌握的提升和积累问题领域的知识和经验以及对通用的软件设计思想和软件工程思想的理解是相辅相成的,进而在不知不觉中咱们的职业技能天然而然的就提高了,也有了一些实际成果。设计
问题4:第六章提到了敏捷流程,看了不少的方法有点蒙,粗略的觉得有一些明确的任务目标分块的用敏捷开发比较适合,而一些只有大体方向的用传统的瀑布式的比较好,但我我想知道当一个项目的开发从开始用传统的瀑布式的开发后有了明确的目标分块,这时还能够转换为敏捷开发吗?对象
答:我我的理解瀑布式开发和敏捷开发从根本上就是两个事情,瀑布式开发的核心是文档,只有在开发的后期才能见到软件的模样,并且并不能进行迭代和用户的反馈。而敏捷开发是一个与之大相径庭的过程,首先他要快,快才能跟上时代的步伐,其次是以人为本,要客户参与进来,实时的进行反馈和更改需求,还有就是要实现小版本,快速的功能展示。因此这两个东西是不能转换的,能够重新开始。资源
问题5:读了第8章的需求分析,我终于了解了nabcd的含义,分别表明需求,作法,好处,竞争和推广。又了解了功能的定位了优先级,一个正常的需求功能包括了杀手功能和外围功能,我想这个杀手功能是以一个纵向的发展更好仍是以横向的发展更好。开发
答:我我的认为是纵向的发展更好由于杀手功能是一个项目的王牌功能,是你吸引客户的功能,便是一个痛点也是一个亮点,而从实际的问题出发,解决一个或者优化一个问题,把它作到的足够好,须要花费大量的人力资源和时间的,因此杀手功能不多甚至不多是一个横向的发展,就像汽车行业,奥迪的灯作得很突出,宝马的操控和奔驰的温馨以及马自达前卫的外观这都是有目共睹和有倾向性的,他们都在外围功能过得去的状况下,尽一切努力来纵向发展杀手功能。
2、新提出的五个问题:
问题1:我有一个很笼统的疑问,一个项目咱们在作工程控制,好比事先制定好计划,绘制燃尽图,要对工程有个预期的时间的把控,还要绘制一些uml图之类的等等,但在这个信息发展飞速的时代抢占市场的先机不主要吗?当咱们作完这些的时候,假如市场已经被别人占领,岂不是徒劳了吗?
问题2:在我看书的过程当中,了解MSF这一套大型的开发指南。其中介绍了MSF的9个基本原则,最重要的也是最基本的就是推进信息共享与沟通,当中提到会把项目过程当中的每人的错误记录下来,咱们彷佛尚未实行这个提议吧?
问题3:在384页以后是给任课老师和助教的建议,我想这里应该加一个(选读)的字眼,毕竟这本书并非仅仅针对教师来编写的,加上选读以后能够在主观上看上去这本书是写给广大的对软件工程感兴趣的人们,或者改一个标题,具体是什么没想好。还有这本书只有大概每章的页码,并无每一小节的具体页码啊,我仍是但愿可以加上的,这样找的时候方便一些
问题4:在114页和115页敏捷流程的经验教训中,第6点Scrum估计不是一个“合同”,领导们不要把它当成一个合同,而第七点钟又说不要和管理层谈“流程”,他们只关心结果。那咱们在Scrum谈论的不就是流程吗,既然领导是不关心的彻底不用出席啊,但我想这也失去了意义,还有这个估计可能不够准确,当你把本身天天订的都太高的时候,但实际没有完成,领导是否会以为你对本身估计不够准确、不够专业。而天天都订的太低的时候,领导又以为你是在消极的态度或者能力不够。4
问题5:在122页练习与讨论中,瀑布式开发和敏捷开发这两种模式该选择哪个,我也很困惑,下面也列出了几个选项供人们参考,从这些选项中我能够理解当咱们环境相对比较恶劣的时候就用瀑布式开发吗,但我认为软件开发的初期都是环境比较恶劣的啊。
3、对学弟学妹说的话:
刚上软件工程这个课的时候,你可能会对杨老师会有一个比较深的印象,他会颠覆你在大学中对课程的概念(上过《构建之法》这门课的除外),你可能会想杨老师又是一个形式主义者,他说的什么分数啊、测评啊都是扯淡的。当你这样想的时候,你就会以为接下来很痛苦、很惊讶,由于他的做业彻底是按照他对大家的计划执行的。这个时候大家不要去抵抗(由于抵抗并无用),选择接受,并且尽你最大的努力去完成,记得是按时完成(之后就明白了),你就这样在一每天的抱怨中上着杨老师的课,也在一每天的成长,当你一个学期以后下来你会发现你懂的收获挺大的,无论是语言的表述仍是对工程的控制,不能作得那么准确,但最起码你用过,下次会作的更好。不要以为杨老师不近人情(确实不近人情),由于在他的字典里工程是没有人情可言的,他也是对事不对人的。最后,祝愿大家可以在一学期的风雨中能挺过来,当乌云散去的时候,你翻翻你的博客记录写着你对下一届的寄语,发现这是一件挺有趣的事情。
4、若是从新来过
一、我会在一开始就在交做业的前几天就开始准备,不能该等到快交做业的前两天开始着急,弄到半夜。
二、我会在一开始就学一门面向对象的语言,而不是在学期中才开始学习c#。
三、我会在团队项目开始以前对准备好的项目进行大量的学习,这样就不会在项目开发中显得手忙脚乱。
四、我会在过后诸葛亮会议中更加踊跃的提出本身的看法,虽然有时候以为很蠢。
5、对老师说的话:
感谢的话就不说了,感受老师你也不太兴这套。
一、老师应该先交咱们一些实际的东西,由于有些东西你第一次提出来咱们真的很难理解,而后上网去查也是以为云里雾里,因此有些人就选择放弃了,我以为能够你讲一点而后让咱们自学一点,这样效果会更好。
二、老师能够将开始做业留的再少一点,由于都是一些生疏的知识,咱们也很难消化,有些底子的同窗可能就勉强完成,没有底子的同窗真的很难完成,这样就会增长抵触情绪。
三、虽然感谢的话打算不说的,可是仍是以为您是一位受人尊重的老师,仍是要感谢您一下,老师注意一点身体,虽然你和咱们在课上老是用金钱来衡量一些东西,但我感受的出来你也是一个不光只谈钱有梦想的人,咱们可能拖累你的梦想了,这里感到抱歉了。。。