信息系统开发方法,开发,运维,消亡

【系统剖析师之路】第九章硬件安装工程(上)
章节重点:信息系统开发方式,开发模型(溶洞,原型,演进,增量,螺旋,V模型,喷泉模型,RAD,钢梁装配,统一过程UP/RUP,敏捷,RAD,反向安装工程);需求的分类获取与剖析;人机界面设计与结构化设计。 #
1.硬件安装工程基础知识:硬件生命周期及其模型;硬件需求剖析与定义;硬件设计;设计检测与评审;硬件维护;文档编制标准。 #
信息系统开发方式:结构化,原型,面向对象,面向服务。 #
信息系统生命周期:系统规划,系统剖析,系统设计,系统施行,运行维护。(详细见上图)
信息系统生命周期分四个阶段:规划,开发,维保,灭亡(关键字:花开云散)。在开发阶段除了包括系统剖析,系统设计,系统施行,还包括系统初验。倘若从项目管理的视角来看,项目的生命周期又可以界定为启动,计划,执行和扫尾。
四个阶段
#
信息系统生命周期简化版的定义说明
立项阶段
#
包含概念产生过程和需求剖析过程。产生需求型号说明书,并确定立项。
开发阶段
#
在开发的视角来看,可简化为总体规划,系统剖析,系统设计,系统施行,系统初验。(界定即实验)。其中系统施行阶段工作量最大。
维保阶段 #
信息系统通过初验,即将移送用户。分为排错性,适应性,建立性,防治性。
#
灭亡阶段
系统不可以经常运行,应在早期就留意灭亡的条件,时间以及由此开销的费用。 #
信息系统项目的生命周期结构具备以下特点:
#
1)费用和人力投入在开始较低,在工作执行其间达到最高,并在项目快要结束时快速反弹。 #
2)风险与不确定性在项目开始时最大,并在项目的整个生命周期中随着决策的拟定与可交付成果物的初验而逐渐增加。 #
3)在不明显影响费用的基础上,改变项目最终特性的能力在项目开始时最大。并随着项目的进展而减缓。作出变更和纠正错误的费用,随着项目越来越接近完成而明显减少。
#
常用的硬件开发方式有:结构化方式,面向对象方式,面向服务的方式,原型化方式,反向安装工程方式,净室硬件方式。 #
1)结构化方式:
#
也称作生命周期法,其真谛是自顶向上,进一步求精,模块化设计。溶洞模型适宜适用的开发方式就是结构化方式。
结构化方式的优点:开发目标清晰化,开发工作阶段化,开发文档规范化,设计方式结构化。
#
结构化方式不足之处:开发周期长,无法适应需求变化,甚少考虑数据结构。 #
扇入:是指直接读取该模块的上级模块的个数。扇入大表示模块的复用程序高。 #
扇出:是指该模块直接读取的下级模块的个数。扇出大表示模块的复杂度高,还要控制和协调过多的下级模块;但扇出过小(比如总是1)也不好。 #
2)面向对象方式: #
OO方式也界定阶段,但其中的系统剖析系统设计和系统实现三个阶段早已没有显著的间隙,也就是说这三个阶段的界限早已显得不明晰。 #
一些小型信息系统的开发,一般是将结构化方式和OO方式结合上去,使用结构化方式进行自顶向上的整体界定,于是自底向下的选用OO方式进行开发。因而结构化方式和OO方式任然是两种在系统开发领域中互相依存的,不可取代的方式。 #
按照处理范围不同,设计方式可以分为类方式和对象机制。
#
面向对象的方式主要包括:OMT,Coad/方式,OOSE,Booch方式。 #
面向对象的方式
#
Booth
觉得硬件开发是一个螺旋上升的过程。每位周期包括四个方法:分别是标志类和对象,确定类和对象的含意,标志关系,说明每位类的插口和实现。它的基本模型包括类图和对象图。它除了确立了开发方式,还提出了设计人员的技术要求以及不同开发阶段的人力资源配置。 #
OMT
作为一种硬件安装工程方式学,支持整个硬件生存周期,覆盖了问题构成剖析,设计(对象设计,系统设计)和实现等阶段。
从三个不同的视角确立了三类模型:对象模型(对象图),动态模型(状态图),函数模型(DFD图)。
OOSE #
构建在OMT的基础上,对功能模型进行了补充,提出了用例的概念,替代数据流图来进行需求剖析和完善功能模型。 #
OOSE构建的五类模型:需求模型,剖析模型,设计模型,实现模型,检测模型。 #
Coad/
#
主要由面向对象的剖析,和面向对象的设计构成。OOA的任务主要是构建问题域的剖析模型。OOD由四部份组成:人机交互部件,问题域部件,任务管理部件和数据管理部件。
3)原型化方式
#
和结构化方式和OO方式不同的是,在系统开发早期没有明晰的系统要求和边界的前提下才使用的方式。它依据用户初步需求,运用系统开发工具,迅速地构建一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统迅速开发步骤。
#
原型按功能界定可以分为水平和平行原型两种。从原型的最终结果来说,可分为舍弃式原型和演进式模型。
#
原型的分类
#
原型别称
说明 #
按功能
#
水平原型 #
行为模型 #
拿来探求预期系统的特定行为,并达到明晰需求的目的。它也是导航功能不实现功能。主要用在UI界面上。 #
平行原型 #
结构化模型
它实现一部份功能,它主要用在复杂的算法实现上。
按结果
舍弃式模型
#
探求式模型 #
达到预期目的后,原型本来被舍弃。舍弃型模型主要用在解决需求不确定性,二义性,不完整性。
#
演变式模型
增量式模型
为开发增量式提供基础,逐渐将原型演变为最终系统。主要用在必需便于升级和优化的场合,非常适用于Web项目。 #
原型法的优劣点: #
原型法的特点 #
以顾客为中心,费用风险增加,开发速率加速。因为用户的参与,除了有促使系统移送,有促使系统的运行和维护。
#
原型法的劣势 #
剖析层面难度大,技术层面难度不大的系统。但对于技术层面难度大的系统,不适宜使用原型开发。 #
4)面向服务的方式 #
对于跨钢梁的功能读取,则选用插口的方式显露进去。逐步将插口的定义与实现进行降维,则催生了服务和面向服务(SA)的开发方式。 #
怎样使信息系统迅速响应需求和环境变化,增加系统的可复用性,信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而SO思维模式正好满足了这些需求。 #
5)净室方式
#
硬件开发的一种方式化的方式,可以生成高品质的硬件。它使用盒结构进行剖析和设计建模,但是指出将正确性验证(而不是检测)作为发觉和去除错误的主要模式,使用统计的检测来获取认证被交付的硬件的牢靠性所需的出错率信息。 #
它是一种指出正确性的物理验证和硬件靠谱性的认证的硬件安装工程模型,其目标和结果具备特别低的出错率。 #
净室中三种盒类别:黑盒,状态盒,清晰盒。
正确性验证:硬件钢梁的过程被界定为一系列子函数为每位函数定义出口条件并推行一组子证明。 #
统计的检测:一组使用场景,确定对每位场景的使用机率及定义符合机率的随机检测来进行硬件检测。将形成错误采样可以物理的估算硬件钢梁的牢靠性。 #
6)反向安装工程法
6.1)再安装工程:对现有硬件系统再次开发的过程。包括反向安装工程(逆向安装工程),新需求的考虑(解构),正向过程三个方法。它除了可以从已有的程序中荣获设计信息,并且能够使用这种信息新建或建构现有的系统。
#
再安装工程的基础是系统理解,包括对运行系统,源代码,设计剖析和文档等全面的理解。
6.2)硬件构建:对源代码,数据进行更改,使其便于维护以适用今后的变更。建构并不更改机制结构,而是关注模块的细节。它的意义在于增加硬件品质和生丰度,降低维护工作量,增加可维护性。 #
6.3)反向安装工程:
#
力求在比源代码更高的具象层次上构建程序表示的过程。反向安装工程是一个设计恢复的过程,其工具可以是从已有的程序中抽取数据结构,机制结构和程序设计信息。 #
在大多数状况下随着具象层次的增高,完整性就增加。
主要的硬件开发模型有:溶洞,增量,螺旋,喷泉,智能,V模型,迅速应用开发模型,钢梁装配模型,敏捷方式和统一模型。
No #
模型
#
说明
溶洞模型
#
亦称为生命周期法,是结构化步骤中最常用的开发模型。它把硬件开发过程分为六个阶段:硬件计划,需求剖析,硬件设计,程序编码,硬件检测,运行维护。它是硬件安装工程最早的模型,它有促使小型硬件开发过程中人员的组织与管理,它自上而下呈线性场域。它只适用于需求不如何变更的项目。它是一个精典的硬件开发生命周期模型。通常将硬件开发分为可行性剖析,需求剖析,硬件设计(概要设计和具体设计),编码(含单元检测),检测,运行维护等几个阶段。 #
V模型 #
以检测为中心的开发模型。它声称检测并不是一种事后的补救行为,而是一个同开发过程同样重要的过程。V模型描述了一些不同的检测级别,使得说明这种级别所对应的生命周期中不同的阶段。适宜与需求明晰,或则需求不是经常变动的场合。
迅速应用开发模型RAD #
是一个增量型的硬件开发过程模型,指出极短的开发周期。它是大瀑布模型的一种高速变种,通过大量使用复用的钢梁,博得迅速开发。其步骤是:业务建模(数据流图),数据建模(数据模型,ER图),过程建模(明晰数据流图),应用程序生成,检测与交付(只做总体检测,由于大量的复用) #
敏捷方式 #
不同的流派:极限编程XP,自适应硬件开发,水晶方式,特点驱动开发。XP是一种轻量高效,低风险,柔性,可预测,科学且富有乐趣的硬件开发模式。 #
统一过程RUP
它是一个通用过程框架。使用UML建模的基于钢梁的迭代的硬件开发过程。
演变模型
在迅速开发一个原型的基础上,荣获用户反馈后改进,重复这个过程直至演变出新的产品。 #
螺旋模型 #
以原型为基础,降低了风险剖析。顺着螺旋自外向外旋转。是一个演变的硬件过程模型。将原型实现的迭代和线性次序模型中控制的和系统化的方面结合上去,它有四个阶段构成分别是拟定计划,风险剖析,推行安装工程和顾客评估。它适用于庞大而复杂的,高风险的系统。
喷泉模型
#
主要支持面向对象的开发方式。展现了迭代和无缝隙的特点。无缝隙是指剖析设计和编码之间不存在显著的边界。 #
智能模型
#
基于知识的硬件开发模型。它综合了若干模型,并于学者系统结合在一起。 #
10 #
增量模型
溶洞的基本成份和迭代的基本特点。与原型不同的是他指出每位增量都公布一个可操作产品。每位序列形成一个可公布的增量,每位增量形成一个可操作的产品,第一个增量是核心产品。它适于于需求一直发生改变的硬件开发过程。 #
11 #
迭代模型
每一次迭代都可以形成一个公布产品,这个产品是最终产品的一个子集。它适用于不能事先完整定义产品需求的场合,计划多期开发的项目。它分四个阶段分别是初始,明晰,构造,移送。 #
12 #
钢梁装配模型 #
将整个系统模块化,并在一定钢梁模型的支持下复用硬件钢梁,通过组合方式,高效构造应用硬件系统的过程。
13
原型模型 #
特征有实际可行,具备最终系统的基本特性,构造便于快捷,造价低。而对于用户的需求是动态响应随时列入的。可以将原型开发分为舍弃型原型和演化型原型。 #
心得: #
结构化方式的劣势:固化不灵活就是他的劣势。讲求自底向上逐渐求精,假如模块独立性差的话,这么更改就比较麻烦。
溶洞模型:要么延后,要么失败,要么根本就做不下来了。改进的溶洞模型也有回溯的功能。溶洞通常适于结构化的模型,只适用于需求明晰或二次开发的系统。溶洞模型败就败在对需求的变化难以灵活的利用。 #
螺旋模型:有演变模型和溶洞模型的特征。 #
增量模型:指出先做一块找顾客确认,再做一块,再做一块。它最大的弊端就是风险比溶洞模型小这些,像搭拼插一样。每一个增量都是一个可操作的产品。它是原型+溶洞的思想。 #
螺旋模型:有原型模型的特性。还引进了风险剖析。
#
演变模型:演变原型成为最终版本。简易模型经过多轮演变后,就产生了演变模型。 #
V模型:和溶洞类似但把检测题到了重要的地位,指出检测要贯串开发的一直。 #
喷泉模型:特征上面有迭代无间隙。有面向对象的共性在上面。
RAD:首先进行业务建模,才能迅速建立应用系统。结合了大瀑布模型和建立化开发这两种模型的特性。用VB等可视化开发工具的时,就用到了RAD了。
#
CBSD建立装配模型:把硬件开发的模块都弄成相应的钢梁,于是将建立装配。增加了硬件开发的可复用性,减少硬件靠谱性,减少开发费用。像RAD就用到了这些思想。
#
统一模型:利用与比较小型的项目。特征:用例驱动,指出先设计构架,四个阶段不断的循环来完成增量迭代开发,这四个阶段是:初始,明晰,建立,交付。多次迭代后才有最终成果物。
#
反向安装工程:山塞产品就是反向安装工程的最主要的应用。由早已产生的产品反推设计,反推它的需求。构建是再安装工程的一种方式。通常不改模块键入输出,只改算法实现。
#
RAD的缺陷: #
RAD对模块化要求比较高,并非所有的应用都适宜。
开发者和顾客必需在很短的时间完成一系列的需求剖析,任何一方配合不当就会造成RAD项目失败。
#
只好适于信息系统开发,不适宜技术风险很高的项目。 #
敏捷方式的优点 #
·在更短的周期内尽快提供详细持续的反馈信息。
#
·迭代计划编制,最开始快速生成一个总体计划,于是在项目进行中不断发展它。
·依赖TDD提早的捕捉缺陷
·依赖口头交流,用检测和源程序勾通 #
·倡导持续演进式的设计 #
·依赖于开发团队内部的密切动作
#
·尽或许达到程序员短期利益和常年利益的平衡 #
统一过程RUP分为四个阶段:
初始阶段 #
确定业务模型并确定项目的边界。系统的论述项目的范围,选择可行的系统架构,计划和打算业务案例 #
明晰阶段 #
剖析问题领域,推行建立的机制结构基础。明晰构思,明晰过程和基础设施,明晰架构并选择钢梁 #
建立阶段
#
要开发所有剩余的钢梁和应用程序功能。资源管理,控制和过程最优化。完成钢梁的开发并根据评价标准进行检测 #
交付阶段 #
基线足够建立,可以安装到最终用户实际环境中是,则踏入交付阶段。同步并使并发的构造增量集成到一致的推行基线中,与推行有关的安装工程活动(商业包装,生产,人员轮训等),按照完整的设想和需求集的初验标准评估推行基线 #
初始阶段:做的主要是确定项目范围和边界。也就是需求剖析做的事情,在该阶段需要辨识系统的关键用例。 #
明晰阶段:又叫精化阶段,最主要任务是完善构架基础;
RUP的工作流分为两部份:核心工作步骤和核心支持步骤。 #
核心工作步骤:需求建模,设计剖析,推行,检测和布署。
#
核心支持建模:环境,项目管理,配置与变更管理。
硬件设计活动:包括4个既独立又相互联系的活动,即数据设计,硬件结构设计,人机界面设计和过程设计。
No
硬件设计活动
#
硬件设计活动说明
#
数据设计 #
数据结构对硬件品质的影响是深远的。好的数据设计将缓解程序结构和模块界定,增加过程复杂性。 #
硬件结构设计 #
开发一个模块化的程序结构。并表示出模块间关系。它将程序结构与数据结构结合。
#
人机界面设计
和协作系统间,硬件与用户间怎么通讯。
过程设计
每位逻辑元素有可预测的逻辑结构,从顶部踏入底端退出的过程流。
人机界面设计: #
人机交互“黄金凤翔则”包括:放在用户控制之下、减少用户的记忆负担、保持界面的一致性。
#
流氓硬件在一定程度下不受用户控制,没有放在用户控制之下;用扬声器字体表示功放网路游戏的菜鸟教程等就可以提高用户的记忆负担;硬件的升级要兼容之前的操作,可以让用户按自己习惯的方法操作就是保持界面的一致性。 #
在结构化设计中,模块化是一个很重要的概念,每位模块可以独立地开发和检测。这是一种复杂问题分而治之的原则。
#
它包括: #
1)具象化 #
它又包括过程具象,数据具象,控制具象。 #
2)自顶向上,进一步求精 #
3)信息隐蔽
通过隐蔽可增加硬件的可更改性,可检测性,可移植性。它是现代硬件设计的关键原则。
4)模块独立
#
每位模块完成一个相对独立子功能。高内聚低耦合。
硬件设计常用的工具:程序步骤图,盒图,PAD图,PDL图。
工作流设计: #
工作流管理系统:通过硬件定义,争创工作流并管理其执行。实际企业中运作的工作流管理系统,是一个人和笔记本结合的系统。 #
钢梁装配模型CBSD: #
2.需求剖析和设计方式:包括需求的分类,结构化剖析(数据流建模,控制流和控制尺寸说明)剖析设计图示(把握数据流图的涵义和用法,理解数据词典的涵义以及用法,熟练把握步骤图的涵义和用法),模块设计(内聚,耦合);人机界面设计。 #
硬件需求的基本特点是可验证性。 #
需求的目的:测试和解决需求之间的冲突,发觉硬件的边界,以及硬件怎样与外界交互,具体描述系统需求和硬件需求。
#
需求包括:用户需求,系统需求,业务需求。 #
No #
需求包括 #
说明 #
系统需求 #
从系统的视角来说明硬件的需求,包括功能需求,非功能需求和设计约束等。功能需求俗称为行为需求,他规定了开发人员应当在系统中实现的硬件功能。 #
1.1
功能需求
通过系统特性的描述表现下来,何谓特性,是指一组逻辑上相关的功能需求,表示系统为用户提供某项功能2023概念结构设计,使用户的业务目标得以满足。 #
1.2
#
非功能需求
系统应当具有的属性和质量,又可细分为硬件品质属性和其他非功能要求。 #
1.3
#
设计约束 #
俗称为制限条件或补充规约。一般是对系统的一些约束说明,比如必需选用国有知识产权的数据库系统。必需运行在UNIX操作系统下等。 #
业务需求
反映企业或顾客对系统高层次的目标要求。
#
用户需求 #
描述的是用户的详细目标,用户要求系统应当完成的任务。 #
需求剖析的工作:需求剖析人员把零乱无章的用户要求和期望转换为用户需求的过程。 #
需求剖析可以分为三个阶段:需求提出,需求描述,需求评审。
#
QFD将硬件需求分为三类:常规需求,意外需求,期望需求。
No #
分类需求 #
说明 #
常规需求 #
系统应当做到的功能或功耗,实现越多用户会越满意。
#
期望需求 #
用户轻率觉得系统应具有的功能或功耗。假如期望需求没实现,会让用户倍感不满意。
#
意外需求
激动需求,是用户要求范围外的功能或功耗(硬件开发人员愿意去做的),如能实现用户会更高兴,如不实现也不会影响订购决策。 #
需求开发需求剖析SA-STD:
需求安装工程包括:需求开发和需求管理。 #
1)需求开发包括:需求获取,需求剖析,需求定义(SRS),需求验证四个阶段。广义上需求剖析就是需求开发中四个阶段。而不严苛辨别的状况下,需求剖析就是指需求开发。 #
需求开发
对需求开发的说明
需求获取
#
主要解决需求调查的问题。需求获取的方式:用户采访,问卷调查,取样,情节串联板,联合需求计划。
需求剖析 #
包括结构化剖析,面向对象剖析,面向问题域剖析三种。面向问题域的剖析:更多的指出面向描述,而少指出建模。
需求定义
需求定义的过程也就是产生需求尺寸说明书的过程。有两种需求定义的方式,分别是严苛定义方式和原型技巧。
需求验证 #
一致性验证,现实性验证,完整性验证,有效性验证。
#
用户懂业务系统剖析师懂技术,因此互相之间引起了成见,这只是需求剖析最难的地方。需求搜集中基本需求和期望需求是必需要做的需求,尤其是期望需求是顾客没有讲并且要做的需求。激动需求我们不崇尚并且是要严苛控制的需求。
#
问卷调查:问卷调查,可以作为辅助类的需求搜集方式。调查问卷的作用一定要事情讲清楚,那样用户搜集问卷才有效。还可以设置奖品来讲你问卷调查。
#
联合需求计划:有初步需求后来用到的方式。通常就是开会。
#
用户专访:分为结构化和非结构化两种方式。采访对象通常控制在三个或三个一下。打算的问题,最好开放式和封闭式问题都有。
#
1.2)需求剖析 #
完整的需求剖析过程包括四项:获取用户需求,剖析用户需求,撰写需求说明书和需求评审。 #
业务步骤剖析:就是了解各个业务步骤的过程。明晰各个部委之间的业务关系和每位业务处理的意义。之后作成DFD图。 #
数据流图:从数据传递和加工的视角,借助图形符号通过逐层细分地描述系统内各个部件的功能和数据在他们之间的传递的状况,描述系统内部逻辑过程。数据流图可以分层次来画,顶楼数据流图重点表现与外部之间的关系。数据流图的父图和子图要有数据交换。 #
DFD中有四个符号:数据流(箭头),加工(圆圈),数据储存(直线段),外部实体(数据源或数据终点,用小方块表示)画分层DFD就是为了突出其自顶向上逐层分解的特性。
数据词典:是关于数据信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据词典共同构成系统逻辑模型。
#
数据词典的设计包括:数据流设计,数据元素词典设计,数据处理词典设计,数据结构词典设计和数据储存设计。
对加工的描述方式有三种:结构化语言(半方式语言),判断树(一个动作依赖多个条件),判断表(条件多,取值多) #
使用SA方式进行需求剖析:
#
需求剖析构建模型的核心是数据词典。紧扣这个核心有三个层次的模型,分别是数据模型,功能模型,行为模型(状态模型)。
需求模型 #
表示图 #
说明
数据模型
#
实体联系图 #
ER图主要描述实体属性,以及实体之间的关系。
#
功能模型 #
数据流图
用数据流图表示功能模型,DFD说明系统所完成功能,从数据传递和加工的视角,借助图形符号通过逐层细分描述系统的各个部件的功能和数据在它们之间传递的状况,来说明系统所完成的功能。 #
行为模型 #
状态转化图 #
用状态转化图表示行为模型,STD通过描述系统的状态和造成系统状态转化的丑闻,来表示系统的行为,强调做为特定丑闻的结果将执行这些动作。 #
需求评审:就是对SRS进行技术评审。在实际工作中,通常通过需求评审和需求检测工作来对需求进行验证。
#
1.3)需求定义
#
需求定义的三个步骤 #
严苛定义方式
#
在每一个工作阶段中,都用上一阶段所提供的完整,严苛的文档作为指导文件。
原型定义
#
开发人员与用户通力合作的反复过程。依据用户要求不断对系统进行构建,它实质是一种迭代的循环型开发模式。
SRS硬件需求说明书
#
需求开发活动的产物,是项目干系人和开发团队对系统的初始规定有一个共同的理解,是硬件项目后期开发和维护的基础 #
需求定义的目标:依照需求调查和剖析结果,逐步定义精确无误的产品需求,产生SRS,系统设计人员将根据SRS展开设计工作。 #
SRS还要把用户对硬件的功能需求和非功能需求进行详尽记录和精确描述2023概念结构设计,描述系统预期的外部行为和用户可视化行为。
SRS包括的内容有:范围,引用文件,需求,合格性规定,需求可追踪性,未能解决的问题,注解,附表。
SRS的三种撰写方式:用好的结构化和自然语言撰写文本型文档;构建图形化模型;撰写方式化尺寸说明。
1.4)需求验证
通常非常须要验证的方面有
#
一致性验证 #
主要是剖析需求描述中是否存在一些需求冲突问题
完整性验证 #
需求应当是完整的,尺寸说明书应当包括用户须要的每一个功能或则功耗
#
现实性验证
验证需求内容的可见习性
#
有效性验证 #
验证需求对于实际的问题解决确实是正确有效 #
2)需求管理: #
包括定义需求基线,处理需求变更,需求跟踪等工作。它起到了支持和保障的作用。 #
需求跟踪分为正向和反向跟踪。当发生变更时要推行与维护需求跟踪矩阵。
需求跟踪的主要目的: #
1)初审确保所有需求被应用
2)在降低,删掉,更改需求时可以确保不忽视每位深受影响的系统元素。
3)能正确完整推行变更 #
4)荣获计划功能当前实现的记录
5)再安装工程记录旧系统将会替换的功能在新系统中的位置。 #
6)可以减小关键成员离开项目风险
#
7)检测出错时强调最或许有问题的代码段 #