一、从MvcHandler开始
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Threading;
using System.Web.Mvc.Async;
using System.Web.Mvc.Properties;
using System.Web.Routing;
using System.Web.SessionState;
namespace System.Web.Mvc
{
/// <summary>Selects the controller that will handle an HTTP request.</summary>
public class MvcHandler : IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
{
private static readonly object _processRequestTag = new object();
internal static readonly string MvcVersion = MvcHandler.GetMvcVersionString();
/// <summary>Contains the header name of the ASP.NET MVC version.</summary>
public static readonly string MvcVersionHeaderName = "X-AspNetMvc-Version";
private ControllerBuilder _controllerBuilder;
internal ControllerBuilder ControllerBuilder
{
get
{
if (this._controllerBuilder == null)
{
this._controllerBuilder = ControllerBuilder.Current;
}
return this._controllerBuilder;
}
set
{
this._controllerBuilder = value;
}
}
/// <summary>Gets or sets a value that indicates whether the MVC response header is disabled.</summary>
/// <returns>true if the MVC response header is disabled; otherwise, false.</returns>
public static bool DisableMvcResponseHeader
{
get;
set;
}
/// <summary>Gets a value that indicates whether another request can use the <see cref="T:System.Web.IHttpHandler" /> instance.</summary>
/// <returns>true if the <see cref="T:System.Web.IHttpHandler" /> instance is reusable; otherwise, false.</returns>
protected virtual bool IsReusable
{
get
{
return false;
}
}
/// <summary>Gets the request context.</summary>
/// <returns>The request context.</returns>
public RequestContext RequestContext
{
get;
private set;
}
/// <summary>Gets a value that indicates whether another request can use the <see cref="T:System.Web.IHttpHandler" /> instance.</summary>
/// <returns>true if the <see cref="T:System.Web.IHttpHandler" /> instance is reusable; otherwise, false.</returns>
bool IHttpHandler.IsReusable
{
get
{
return this.IsReusable;
}
}
/// <summary>Initializes a new instance of the <see cref="T:System.Web.Mvc.MvcHandler" /> class.</summary>
/// <param name="requestContext">The request context.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="requestContext" /> parameter is null.</exception>
public MvcHandler(RequestContext requestContext)
{
if (requestContext == null因果矩阵的介绍和使用方法 - 产品经理西蒙 阅读原文»
早上去处理另外的事情,没有机会碰电脑,抱歉。
————————————
介绍:因果矩阵与帕图是好搭档,帕图是二八原理的数学方式应用,选择出频率最高的一个原因或几个原因。因果矩阵是根据原因对结果影响的重要程度筛选出影响最大的一个或几个。
这对好基友都是需要在鱼骨图的基础上收集数据后进行分析哦。
因果矩阵图的应用场景:
当需要解决的问题比较复杂,存在多种缺陷形式,且它们的影响互相关联,无法将其分开来考察和解决时,可以帮助项目团队选择重点的过程关注或影响因素,以便于针对性收集数据和解决问题。
因果矩阵的作用:
确定不同原因对结果影响程度的大小,通过矩阵方式展现,一目了然。
通过因果矩阵,将各种可能的影响因素按重要程度排序,识别潜在的主要原因,为进一步分析做准备。
因果矩阵的使用方法:
以上文查找的问题“投递时间长”是客户满意度下降的主要原因举例分析:
画出框架图:
其中:
·投递是一种流程,从公司到客户,在这个过程中有诸多影响因素,我们把这个因素找出来,叫关键质量特性,这里我们使用速度快慢、安全性高低、投递准确与否来确定。
·做成用户调查表(或有专家组评审讨论决议),对用户进行调查,把0、1、3、9对应成“零、有一点、还可以、很棒”四种选项,对收集数据进行处理。
·把流程步骤分解为A、B、C、D等,填入表内左列,此处我们填入订单分配、配货、运输、上门投递
·将收集到的数据做统计分析处理,去掉无效信息后,用平均数找出集聚数值,把集聚数值填入表格内。
计算公式:速度 x 安全 x 准确 = 合计
·关键质量特性的确定是因果矩阵分析的关键环节,它是后期分析的基础。确定关键质量特性可以通过调查内部用户以及外部用户,但是要以“以客户为中心”来设置关键质量特性。
·在为流程步骤或影响因素对结果的相关程度打分的时候,如果团队成员间意见不一致,不要采取平均数或投票表决的方法,应该深入了解每个人的想法,可能会得到其他人都忽略掉的影响原因。
当我们找到问题产生的根本原因的时候,我们还需要对根本原因进行定向解构,下一节讲述5个为什么分析。
_________________________________________________________________
写字不易,且读且珍惜,转载请注明出处:SimonK @http://www.cnblogs.com/simonk/
更博时间:
周一到周五每天一更,时间8:30-9:40之间
周六/周日/法定节假日 不定期
欢迎订阅!
下节预报:5个为什么及查找问题根本原因小结
_________________________________________________________________
本文链接:因果矩阵的介绍和使用方法,转载请注明。
没有评论:
发表评论