(1)两人合作中,如果一个人编程能力很强,那么两人合作是否会降低两人的工作效率?或者说没有将两个人的能力应用到做大化?
首先,结对编程可以两人互相帮助,得到两人能力上的互补,同时可以提高代码的质量,减少BUG的产生,在编程中可以互相讨论,更加有效的解决问题。但是,有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾,有经验的人更喜欢单兵作战,两人一起可能会让他感到非常的不爽,最终导致编程时受到情绪影响,并且,两个人在一起工作可能会出现工作精力不能集中的情况,程序员可能会交谈一些与工作无关的事情,反而分散注意力,导致效率比单人更为低下。
(2)在软件需求方面,如何做到用尽量短的时间作出尽量全面的调查,既满足领导的要求,有符合用户的需求,并且适合程序员的开发习惯?
要从用户那里进行需求的获取,包括问题获取和分析等,可以使用访谈来了解用户领导层或者业务层方面的需求,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性,需求说明不可有二义性,更不能前后相矛盾。
(3)在第三章软件工程师成长的内容中,谈到了软件工程师与普通程序员的对比,如何才能成为一名合格的软件工程师?
首先,需要学习良好的编程能力,作为一个合格的软件工程师至少要精通一门编程语言,编程能力直接决定了项目的开发效率;具有较强的英文能力,在目前英文编程的大环境下,最近的技术和文章都离不开英文;要有良好的团队意识,只有团队才可以更好的解决大规模的项目。
(4)软件工程项目有大有小,还有不同的软件需求,不同的开发工具,对待不同的软件项目也要考虑不同的对待态度,如何把握这其中的“度‘?
比如在现在国内流行的app下载市场又很多个人开发的app,其中应该有不少部分是不完整,缺少后期维护和更新的软件。他们在开发app的时候,应该不会主动把软件工程的方法运用在实际 开发过程中。如何保证现在app市场软件质量,应该是个很大的问题吧。我认为在app上传至国内各大应用市场时,应该需要专门的人员去审核,然后在上架。
(5)这个课程在上课的过程中让学生感觉到很空,没有具体逻辑性的内容,怎么才可以把整本书串起来?