首页 > 代码库 > 8.快速阅读现代软件工程后所产生的疑问及思考

8.快速阅读现代软件工程后所产生的疑问及思考

1.什么是Scrum?(第六章-敏捷流程)

Scrum 是一个敏捷开发框架,它由一个开发过程,几种角色以及一套规范的实施方法组成。它可以被运用于软件开发,项目维护,也可以被用来作为一种管理敏捷项目的框架。

Scrum 定义了 4 种主要的角色:1.产品拥有者:该角色负责产品的远景规划,平衡所有利益相关者的利益,同时确定产品需求积压的优先级等。它是开发团队和客户或最终用户之间的联络点。2.利益相关者:该角色与产品之间有直接的利益关系,通常也是由客户或最终用户代表组成。他们负责收集编写产品需求,审查项目成果等。3.Scrum 专家( Scrum Master ): Scrum 专家负责指导开发团队进行 Scrum 开发与实践。它是开发团队与产品拥有者之间交流的联络点。4.团队成员:即为项目做实际开发工作的开发人员。

 Scrum 提供一个敏捷开发框架,其他许多敏捷方法都可以被集成到 Scrum 中。比如测试驱动开发( test-driven development )和结对编程( pair programming )等都可以被整合到 Scrum 中。

2.如何营造高效软件开发团队?(第五章-团队和流程)

高效软件开发团队的特征 :高效的软件开发团队是建立在合理的开发流程及团队成员密切的合作的基础之上的,成员共同的迎接挑战、有效的计划、协调和管理各自的工作以至完成明确的目标,高效的开发团队具有如下特征: 1、 具有明确且有挑战性的共同目标   一个具有明确的而且有挑战性目标的团队比目标不明确或不具有很大的挑战性目标的团队效率高得多,通常技术人员往往会因为完成了某个明确的任务,而且这个任务的完成具有挑战性的意义而感到自豪,反过来团队成员为了获取这种自豪的感觉而更加积极的工作从而带来团队开发的高效率。2、 团队具有很强的凝聚力   在一个高效的软件开发团队中,成员们凝聚为一个整体共同进行工作,他们是相互支持、互相交流、互相尊重的。3.具有融洽的交流环境   在一个开发团队中,每个人行使自己的职责,如需求分析人员制定需求规格说明、系统设计人员做系统概要设计和详细设计、项目经理配置项目开发环境并且制定项目计划等,但每个人的工作不可能做到完美的,如系统概要设计的文档可能有个别地方词不达意,做详细设计的时候就可能会造成误解,项目经理制定计划时可能忽略了某种风险的存在而造成执行者过于紧张的压力等等情况都需要大家通过交流、反馈的手段然后协商解决的,因此高效的软件开发团队是具有融洽的交流环境的,而不是那种简单的命令执行式的。

3.如何挖掘用户需求?(第10章-典型用户和场景)

用户需求是每个产品根本,不注重用户需求的产品,注定失败,明确用户需求是产品能否成功的基本。那么我们该通过什么方式挖掘用户需求呢?根据用户是否主动参与分为显式与隐式两种挖掘模式,显示挖掘主要通过问卷调查,客户访谈等方式,但因为显式的动静比较大,有很大局限性,所以为了保证结果准确性以及提高用户接受度,一般都采用隐式。用户的日常交互行为会产生四类关键数据:鼠标移动轨迹、链接点击分布、页面浏览流、页面停留时间。通过用户的行为能反映用户的观点,同时利用访问的网页次序可以找出网页之间的隐性关系。

4.如何更有效管理设计变更?(第十一章-软件设计与实现)

在亚洲建筑开发行业往往是由一组临时性组织构成,整体管理处于一个较低端的情况,因此在一些基础的问题上会出错。当然,不可否认有相当一部分管理者能够非常智慧地管理一些大型的项目。其实,在行业内“高大上”的项目是比较不会出现这些问题的,反而是一些中型的项目会有问题频繁地出现。当建筑师解决掉一个问题的时候,我们所看到却是解决问题背后所付出的代价。图纸每改一次就是变更,而频繁的更改最终给业主带来的是巨大的浪费,各个专业的各行其是、设计师的纸上谈兵等都是错误的诱因,但更重要的是整个项目缺乏预见性。业主需要一个很有全面性和预见性的管理方案来帮助解决问题,让所有人提前看到未来的结果如何。

5.什么是软件质量属性?

软件质量属性划分为运行期质量属性和开发期质量属性两大类。开发期质量属性其实包含了和软件开发,维护和移植这三类活动相关的所有质量属性,这些是开发人员,开发管理人员和维护人员都非常关心 的,对最终用户而言,这些质量属性只是间接地促进用户需求的满足;而运行期 质量属性是软件系统在运行期间,最终用户可以直接感受到的一类属性,这些质量 属性直接影响着用户对软件产品的满意度。

软件质量属性包括:运行期质量和开发期质量属性。运行期质量属性包括(性能,安全性,易用性,持续可用性,可伸缩性,互操作性,可靠性,鲁棒性)开发性质量属性包括(易理解性,可扩展性,可重用性,可测试性,可维护性,可移植性)

 

答题人:杨宇杰

8.快速阅读现代软件工程后所产生的疑问及思考