巴士因子

科技工作者之家  |   2020-11-17 18:07

巴士因子是软件开发中关于软件项目成员之间信息集中及共享度的一个衡量指标。一个项目至少失去若干关键成员的参与(“被巴士撞了”,指代职业和生活方式变动、婚育、意外伤亡等任意导致缺席的缘由)即导致项目陷入混乱、瘫痪而无法存续时,这些成员的数量即为巴士因子。

简介在软件开发中,软件项目的巴士因子是指对某些信息集中于某一个人,或少数几个人的一个不那么尊重的度量指标。设“巴士因子”=N,如果有N个人被巴士撞到,无法工作,就会导致项目混乱以致于无法继续。即指为了使一个软件开发维护完全无法进行下去,需要有多少个团队成员被车压死。所谓“被巴士撞到”只是个比方。也可以是某个人换了工作、生了孩子、改变了生活方式或生活状况(中了彩票决定不再工作),其影响都是一样的。

对关键成员的诠释为“对项目不可或缺”,即其掌握的项目信息(例如设计、源码、知识)并不被众多其他成员所熟悉、共享。在一个巴士系数很高的项目中,就算某个人突然不参与工作,也会有很多其他个人掌握相关的项目信息而足以接替他的位置。

软件开发软件开发方法是软件工程理论的重要内容之一,在软件开发方法中,对于开发软件时“做什么”和“如何做”,给出了明确的、详细的回答。人们在不同时期为了解决各种不同的软件开发问题,推出了多种不同的软件开发方法,并且每种软件开发方法还有灵活多样的表现形式1。软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。

软件团队成员软件项目经理

软件项目经理作为软件企业最基层的管理人员,负责分配资源、确定优先级、协调与客户之间的沟通,尽量使项目团队一直集中于正确的目标。项目经理还要建立一套工作方法,以确保项目工作的完整性和质量。这就要求项目经理拥有领导、决策、组织、控制和创新等方面的能力。

系统分析员

在一个研发项目中,系统分析员主要从事需求获取和研究,他们是项目中业务与技术间的桥梁,其工作是通过与客户进行交流,了解客户的业务以及客户对系统的需求和期望,围绕新的系统,协助客户建立新的业务流程。然后,根据新的业务流程,设计系统的功能,编写软件需求说明书,详细描述系统的功能。最后,利用各种手段和方法,使客户理解即将建立的系统,并予以确认。担任系统分析员的人员应该善于简化工作、善于协调,并且具有良好的人际沟通和书面沟通技巧。担任系统分析员的人必须具备业务和技术领域知识,需要熟悉用于获取业务需求的工具,同时还要掌握引导客户描述出需求的方法。

系统设计员

系统设计员的工作是根据软件需求说明书进行构架设计、数据库设计和详细设计,负责在整个项目中对技术活动和工件进行领导和协调。构架设计要确立每个构架视图的整体结构,视图的详细组织结构、元素的分组以及这些主要分组之间的接口。数据库设计工作是定义表、索引、视图、约束条件、触发器、存储过程、表空间或存储参数,以及其他在存储、检索和删除永久性对象时所需的数据库专用结构。详细设计则是详细定义系统每一个功能的实现方式和方法。

开发人员

负责按照项目所采用的标准来进行单元开发与测试,开发人员依据数据库设计和详细设计进行单元模块的代码编写和测试,然后将各单元模块集成到更大的子系统中。项目研发团队的开发人员需要能够迅速并准确地理解系统设计员的设计文档,并能快速地进行代码开发和单元测试。

测试人员

测试系统设计员是测试中的主要角色,该角色负责对测试进行计划、设计、实施和评估。测试人员依据系统分析员编写的软件需求文档和系统设计员编写的软件设计文档编写测试计划和测试案例,然后测试人员根据测试计划和测试案例对开发人员提交的经过初步单元测试的系统进行各种更严格的测试,最后形成测试报告并反馈给开发人员进行修改。

本词条内容贡献者为:

方正 - 副教授 - 江南大学