软件工程网络15我的阅读做业2(201521123082 黄华林)

软件工程网络15我的阅读做业2(201521123082 黄华林)

标签(空格分隔): 软件工程html


1.提出问题

快速通读教材《构建之法》,并参照提问模板,提出5个问题。
如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互联网时代如何提问题。 还有这些要点:程序员

在每一个问题后面,请说明哪一章节的什么内容引发了你的提问,提供一些上下文
列出一些事例或资料,支持你的提问。
说说你提问题的缘由,你说由于本身的假设和书中的不一样而提问,仍是不懂书中的术语,仍是对推理过程有疑问,仍是书中的描述和你的经验(直接经验或间接经验)矛盾?编程

Question1:

相关内容:PSP(我的软件开发流程)

相关知识点:
1.代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。(来自:百度百科)
2.单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,通常来讲,要根据实际状况去断定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中能够指一个窗口或一个菜单等。总的来讲,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程当中要进行的最低级别的测试活动,软件的独立单元将在与程序的其余部分相隔离的状况下进行测试。
文中与问题相关的内容:
100%的代码覆盖率不等于100%的正确性!代码覆盖率对于“应该写可是没有写的代码”无能为力。代码中有效能问题,虽然代码执行了,而且也正确返回了,可是代码效率很是低。多线程环境中的同步问题。其余与外部条件相关的问题网络

其余与外部条件相关的问题(例如与设备、网络的相关问题),这些问题具体指什么,以及如何用具体的方法来解决这些问题?多线程

Question2:

相关内容:软件工程师的成长

文章内容以下:框架

在中国,软件工程师的职业资格考试有:
计算机等级考试和全国计算机技术与软件专业技术资格考试
基于笔者有限的经验和观察,此类考级有这样的好处:
国家级认证,有必定的权威性和通用性
任何人均可以参与
也有这样一些局限性:
以答题、评分为主要考试形式,没有面对面的口试
考试中每一个人单独行动,不能考量团队的合做能力
要考虑到通用性和稳定性,考题和内容相对滞后于工业界的发展,部份内容至关滞后函数

由于我本人也将参加计算机等级考试和软考,可是在备考过程当中,发现知识点的确有不少滞后和死板,可是不少公司和部门都还认可这是证书的价值性,公司是看中了同窗的学习能力仍是其余缘由?还有国家的认证考试明明知道不少知识点滞后于工业界的发展,以及一些公司的认证考试都有题库,他们为何不尝试改革和改进,真正地作到考察相关职业从事人员的能力?单元测试

Question3:

相关内容:两人合做

相关知识点:学习

一、敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、按部就班的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分红多个子项目,各个子项目的成果都通过测试,具有可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程当中软件一直处于可以使用状态。
二、极限编程
极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的。KentBeck在九十年代初期与WardCunningham共事时,就一直共同探索着新的软件开发方法,但愿能使软件开发更加简单而有效。Kent仔细地观察和分析了各类简化软件开发的前提条件、可能性以及面临的困难。1996年三月,Kent终于在为DaimlerChrysler所作的一个项目中引入了新的软件开发观念——XP。适用于小团队开发。
三、结对编程
结对编程技术是指两位程序员坐在同一工做台前开发软件。与两位程序员各自独立工做相比,结对编程能编写出质量更高的代码。
实施结对编程技术将给软件项目的开发工做带来好处,只是这些好处必须通过缜密的思考和计划才能真正体现出来。而另外一方面,两个有经验的人可能会发现配对编程里没有什么技能的转移,可是让他们在不一样的抽象层次解决同一个问题会让他们更快地找到解决方案,并且错误更少。测试

文章内容以下:

既然代码复审能力能发现这么多问题,有这么好的效果,若是咱们每时每刻都处在代码复审的状态,那不是很好嘛?事实上,极限编程正是这一思想的体现——那为何不把一些卓有成就的开发方法用到极致,让咱们无时不刻地使用它们?

经过查阅资料找到了相关名称敏捷开发、极限编程和结对编程,那么这三者的关系是什么?

敏捷开发是十几种开发方法的统称,极限编程就是这十几种开发方法之一。
极限编程包括了十几种实践(就是一些具体作法),结对编程是极限编程的一种实践。(来自百度知道)

Question4:

相关内容:敏捷流程

在《构建之法》初版第6章中出现如下问答内容:

问:敏捷宣言是否是软件开发思想的顶峰?
答:敏捷宣言当然好,然而人的认识老是在发展,软件行业也不断地有新的思想出现,或者是旧的思想从新浮现。例如,2009年有人提出了软件匠艺宣言。

请问具体的软件匠艺宣言是什么?以及与敏捷宣言的异同点?

Question5:

相关内容:WIIFM(我能从中获得什么?)

在《构建之法》初版的16章,我看到了如下文章的内容:

那怎么样才能让别人喜欢(至少不痛恨)你的创新?在咱们提出一个创新的想法时,应该考虑这么几点:
对利益相关人要讲清楚“你能从中获得什么”。
创新的想法和目前流行的作法对比,有什么相对优点,能让别人清楚地看到这个区别,并可以尝试。
创新和目前大众习惯、已有系统是否兼容。
避免过分描述复杂的技术。

文章里做者提问读者,“你可否用简明的方式把你的创新描述出来?能够实践一下本书“需求分析”里讲过的NABCD方法?”

查阅第八章需求分析内容:

N(Need,需求)、A(Approach,方法)、B(Benefit,好处)、C(Competitors,竞争)、D(Delivery,推广)

看完以后,关于如何提出靠谱的项目仍是不太理解,后来百度之后搜到邹欣老师的博客文章:
https://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html

经过两章的学习,了解了创新的提出,知足用户的需求很重要。创新的东西不但要“新”,更重要的是利用本身的框架和判断,更好地推广它,使它的价值最大化。但是,我想问,在创新的路上,知足用户的需求的创新仍是坚持一些颠覆性的创新哪一个对于如今的社会发展帮助比较大?是否是有必定资本的我的或者团队,比较适合作后者这件事?可是通常有资本或者成功的我的或团队,在书中你也提到有许多因素影响着他们创新,那在中国这个大环境下,是否是通常由国家来主导这些项目?那么假如由国家来主导这些目前暂时看来收益不大的创新项目,有什么优点又有什么不足?虽然想得有点多,但愿做者可以解答一下。

2.【附加题】

请将问题提交至豆瓣:https://book.douban.com/subject/27069503/, 并在博客中给出连接在豆瓣页面的最下方 “读书笔记” 那里发言,《构建之法》的做者会亲自答复问题。
连接:https://book.douban.com/annotation/54360971/

相关文章
相关标签/搜索