(软件工程复习核心重点)第十二章软件项目管理-第三节:人员组织和质量保证
文章目录
- 一:人员组织
- (1)必要性
- (2)典型的组织方式
- A:民主制程序员组
- ①:定义
- ②:要求
- ③:优点
- ④:缺点
- B:主程序员组
- ①:定义
- ②:核心人员及其分工
- ③:特点(优点)
- ④:缺点
- ⑤:适用性
- C:现代程序员组
- ①:主程序员由两个人共同担任
- ②:制定针对公共职责范围内的事务的处理方案
- ③:实行分组策略
- ④:分散决定
- 二:质量保证
- (1)软件质量
- A:定义
- B:特点
- C:软件质量因素与产品活动
- ①:软件质量因素
- ②:产品活动
- ③:关系
- (2)软件质量保证措施
- A:措施
- B:参加软件指令保证的人员分类
- C:技术复查
- ①:走查
- ②:审查
- D:程序正确性证明
- ①:定义
- ②:方法
一:人员组织
(1)必要性
- 项目成功的关键合理的组织人员,使他们有效地分工协作共同完成开发工作
- 项目组组织得越好,其生产率越高,而且产品质量也越好
- 项目组具有了凝聚力,成功的可能性就大大增加了
(2)典型的组织方式
现有的软件项目组的组织方式很多,通常,组织软件开发人员的方法,取决于所承担的项目的特点、以往的组织经验以及管理者的看法和爱好,主要有3种典型的组织方式
A:民主制程序员组
①:定义
民主制程序员组中小组成员完全平等,享有充分民主,通过协商做出技术决策。即小组成员之间的通信是平行的,如果小组内有nnn个成员,则可能的通信信道有n(n−1)2\frac{n(n-1)}{2}2n(n−1)条
②:要求
- 小组人数不能太多(2-8名适宜):小组规模小,可以减少通信问题、容易确定小组的质量标准、用民主方式确定的标准更容易被大家遵守、组员间关系密切、能够互相学习
- 采用非正式的组织方式:名义上有一个组长,但是他和组内其他成员完成同样的任务。在这样的小组中,由全体讨论协商决定应该完成的工作,并且根据每个人的能力和经验分配适当的任务
③:优点
- 组员们对发现程序错误持积极的态度,有助于更快速地发现错误,提高代码质量。
- 组员们享有充分民主,小组凝聚力高、学术空气浓厚,有利于攻克技术难关。
④:缺点
- 没有明确的权威指导开发过程,组员间将缺乏必要的协调,最终可能导致工程失败
B:主程序员组
①:定义
主程序员组用经验多、技术好、能力强的程序员作为主程序员,同时,利用人和计算机在事务性工作方面给主程序员提供充分支持,而且所有通信都通过一两个人进行
②:核心人员及其分工
- 主程序员:既是成功的管理人员又是经验丰富、技术好、能力强的高级程序员,负责体系结构设计和关键部分的详细设计,并且负责指导其他程序员完成详细设计和编码工作
- 后备程序员:技术熟练而且富于经验,协助主程序员工作并且在必要时接替主程序员的工作。具体工作是设计测试方案、分析测试结果及独立于设计过程的其他工作。
- 编程秘书:负责完成与项目有关的全部事务性工作
③:特点(优点)
- 专业化:该组每名成员仅完成他们擅长的工作
- 层次性:主程序员指挥组员工作,并对项目全面负责
④:缺点
- 符合主程序员、后备程序员、编辑秘书标准的人才在现实社会中并不容易雇佣到
⑤:适用性
采用主程序员组这种组织方式的程序一般具有以下几方面的特点:
- 软件开发人员多数比较缺乏经验
- 程序设计过程中有许多事务性的工作
- 多渠道通信很费时间,将降低程序员的生产率
C:现代程序员组
①:主程序员由两个人共同担任
- 技术负责人:负责小组的技术活动,参与全部代码审查工作,并且对代码的各方面质量负责
- 行政负责人:负责非技术性事务的管理决策。不参与代码审查,其职责是对程序员的业绩进行评价
②:制定针对公共职责范围内的事务的处理方案
③:实行分组策略
产品开发作为一个整体是在项目经理的指导下进行的,程序员向他们的组长汇报工作,而组长则向项目经理汇报工作。当产品规模更大时,可以适当增加中间管理层次
④:分散决定
在合适的地方采用分散做决定的方法,如下图所示。这样做有利于形成畅通的通信渠道,以便充分发挥每个程序员的积极性和主动性,集思广益攻克技术难关
二:质量保证
(1)软件质量
A:定义
软件质量是软件与明确地和隐含地定义的需求相一致的程度,即软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度
B:特点
- 软件需求是度量软件质量的基础,与需求不一致就是质量不高
- 指定的开发标准定义了指导软件开发准则,没有遵守这些准则,会导致软件质量不高
- 软件满足明确描述的需求,但不满足隐含的需求,那么软件的质量是值得怀疑的
C:软件质量因素与产品活动
①:软件质量因素
②:产品活动
可以把产品活动(倾向)分为产品运行、产品修改和产品转移
③:关系
(2)软件质量保证措施
A:措施
- 基于非执行的测试(复审或评审):主要用来保证在编码前各阶段产生的文档的质量
- 基于执行的测试(软件测试):在程序编写完后进行, 保证软件质量的最后一道防线
- 程序正确性证明:使用数学方法严格验证程序是否与对它的说明完全一致
B:参加软件指令保证的人员分类
- 软件工程师:用先进的技术方法和度量,进行复审以及完成软件测试来保证软件质量
- SQA小组:辅助软件工程师以获得高质量的软件产品。其从事的软件质量保证活动的主要是:计划,监督,记录,分析和报告,它通过确保软件过程的质量来保证软件产品的质量
C:技术复查
正式技术复审的优点是能较早发现软件错误,防止错误被传播到软件过程的后续阶段。包括走查和审查等具体方法
①:走查
走查组: 由4~6名成员组成。成员包括负责起草文档的人、负责该文档说明的管理员、客户代表、下阶段开发组的代表、SQA小组的代表(作为组长)
要点:
- 为了能发现重大错误,走查组成员最好是经验丰富的高级技术人员
- 走查组成员应根据材料并列出不理解的术语和认为不正确的术语
- 走查组组长引导该组成员走查文档,力求发现尽可能多的错误
- 走查的时间最长不要超过2小时
方式:
- 参与者驱动法:参与者按照事先准备好的列表,提出他们不理解的术语和认为不正确的术语。文档编写组的代表必须回答每个质疑
- 文档驱动法(更有效):文档编写者向走查组成员仔细解释文档。走查组成员在此过程中针对事先准备好的问题或解释过程中发现的问题提出质疑
②:审查
审查组: 由4人组成,分别是组长( 既是管理人员又是技术负责人)、负责当前阶段开发工作的项目组代表、负责下一阶段开发工作的项目组代表和SQA小组的代表
步骤:
- 综述:由负责编写文档的成员向审查组综述该文档
- 准备:评审员仔细阅读文档
- 审查:评审组仔细走查整个文档
- 返工:文档的作者负责解决在审查报告中列出的所有错误及问题
- 跟踪:组长必须确保所提出的每个问题都得到了圆满的解决
与走查对比:
- 审查过程步数比走查多
- 审查过程每个步骤都是正规的仔细划分错误类型,并把这些信息运用在后续阶段的文档审查中以及未来产品的审杳中
重要性:
审查是检测软件错误的一种好方法,利用审查可以在软件过程的早期阶段(修改成本低的阶段)发现并改正错误,即审查是一种经济有效的错误检测方法
D:程序正确性证明
①:定义
正确性证明的基本思想是证明程序能完成预定的功能。应提供对程序功能的严格数学说明,然后根据程序代码证明程序确实能实现它的功能说明
②:方法
- 人工证明程序正确性:对于评价小程序可能有些价值,但在证明大型软件的正确性时,不仅工作量太大,而且在证明的过程中很容易包含错误
- 自动系统
总结
以上是生活随笔为你收集整理的(软件工程复习核心重点)第十二章软件项目管理-第三节:人员组织和质量保证的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: (数据库系统概论|王珊)第六章关系数据理
- 下一篇: (软件工程复习核心重点)第五章详细设计习