精华内容
下载资源
问答
  • SpringIoc容器管理的Bean默认都是单例设计模式的,即每Bean只有一实例化的Bean对象存在于SpringIoc容器中,因此SpringIoc容器需要负责管理Bean的生命周期。 分类 Bean 的生命周期可以分为以下四类, (1)...

    引言

    SpringIoc容器管理的Bean默认都是单例设计模式的,即每个Bean只有一个实例化的Bean对象存在于SpringIoc容器中,因此SpringIoc容器需要负责管理Bean的生命周期。

    分类

    Bean 的生命周期可以分为以下四类,
    (1)Bean 的自身方法
    (2)Bean生命周期接口方法
    (3)容器级生命周期接口方法
    (4)工厂后处理器接口方法

    Spring生命周期各个阶段 相关接口及方法
    Bean 的自身方法 Bean本身业务的方法。 配置文件中init-method和destroy-method指定的方法
    Bean生命周期接口方法 InitializingBean接口,DiposiableBean接口,BeanNameAware接口 ,ApplicationContextAware接口,BeanFactoryAware接口等等
    容器级生命周期接口方法 InstantiationAwareBeanPostProcessor接口实现,BeanPostProcessor接口实现
    工厂后处理器接口方法 AspectJWWeavingEnabler ConfigurationClassPostProcessor,CustomAutowireConfigurer等

    Bean 的自身方法及Bean生命周期接口方法

    设计一个BeanLifeCycle类,继承相关接口

    package com.Bean生命周期;
    
    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.BeanNameAware;
    import org.springframework.beans.factory.DisposableBean;
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    
    /**
     * Author:haozhixin
     * Func: Bean的生命周期
     * Date: 2019-08-05
     */
    public class BeanLifeCycle implements BeanNameAware,ApplicationContextAware,InitializingBean,DisposableBean{
    	/*
    	* 构造器
    	*
    	*/
    	public BeanLifeCycle(){
    		System.out.println("1.[Bean级别]构造器执行了");
    	}
    	/*
    	* BeanNameAware接口方法实现
    	*
    	*/
    	@Override
    	public void setBeanName(String name){
    		System.out.println("2.[Bean级别]setBean方法执行了]");
    	}
    
    	/*
    	* ApplicationContextAware接口方法实现
    	*
    	*/
    	@Override
    	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException{
    		System.out.println("3.[Bean级别]setApplicationContext方法执行了]");
    	}
    	/*
    	* InitializingBean接口方法实现
    	*
    	*/
    	@Override
    	public  void afterPropertiesSet() throws  Exception{
    		System.out.println("4.[Bean级别]afterPropertiesSet方法执行了]");
    	}
    	/*
    	* init-method属性指定的方法
    	*
    	*/
    	public void lifeCycleInit(){
    		System.out.println("5.[Bean级别]lifeCycleInit方法执行了]");
    	}
    	/*
    	* bean中的业务方法
    	*
    	*/
    	public void sayHello(){
    		System.out.println("6.[Bean级别]syHello方法执行了]");
    	}
    	/*
    	* DisposableBean接口方法实现
    	*
    	*/
    	@Override
    	public void destroy() throws Exception {
    		System.out.println("7.[Bean级别]destroy方法执行了]");
    	}
    	/*
    	* destroy-method属性指定的方法
    	*
    	*/
    	public void lifeCycleInitDestroy(){
    		System.out.println("8.[Bean级别]lifeCycleInitDestroy方法执行了]");
    	}
    }
    
    

    bean_life_cycle.xml配置方法

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
        <bean id="BeanLifeCycle" class="com.Bean生命周期.BeanLifeCycle" scope="singleton" init-method="lifeCycleInit" destroy-method="lifeCycleInitDestroy">
    
        </bean>
    </beans>
    

    测试类的写法

    import com.Bean生命周期.BeanLifeCycle;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    /**
     * Author:haozhixin
     * Func: Bean的生命周期
     * Date: 2019-08-05
     */
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:bean_life_cycle.xml")
    public class BeanLifeCycleTest {
    	@Autowired
    	private BeanLifeCycle beanLifeCycle;
    	@Test
    	public void test(){
    		beanLifeCycle.sayHello();
    	}
    }
    
    

    测试结果:

    1.[Bean级别]构造器执行了
    2.[Bean级别]setBean方法执行了]
    3.[Bean级别]setApplicationContext方法执行了]
    4.[Bean级别]afterPropertiesSet方法执行了]
    5.[Bean级别]lifeCycleInit方法执行了]
    6.[Bean级别]syHello方法执行了]
    7.[Bean级别]destroy方法执行了]
    8.[Bean级别]lifeCycleInitDestroy方法执行了]
    

    我们可以看到执行顺序,即Bean自身方法和Bean声明周期接口方法生命周期为:
    Ioc容器–>Bean构造器->BeanNameAware->ApplicationContextAware–>InitializingBean->init-method->Bean中的业务方法->DisposableBean->destroy-method方法。

    容器级生命周期接口方法的执行次序

    容器级接口方法一般有InstantiationAwareBeanPostProcessor和BeanPostProcessor两个接口,一般也将其实现类称为后处理器。容器级生命周期接口的实现独立于SpringIoc容器中的Bean,其是以容器拓展的形式注册到Spring中的。无论SpringIoc管理任何的Bean,这些后处理器都会发生作用。因此后处理器的影响范围是全局的SpringIoc容器中的Bean。用户可以通过编写合理的后处理器来实现自己对Bean的加工逻辑。

    • BeanPostProcessor:可以对Bean的属性进行更改
    • InstantiationAwareBeanPostProcessor:此接口可以在bean的实例化之前,之后操作,也可以在实例化之后进行属性操作
    • InstantiationAwareBeanPostProcessorAdapter:适配器类

    代码实现:

    package com.Bean生命周期;
    
    import org.springframework.beans.BeansException;
    import org.springframework.beans.PropertyValues;
    import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
    
    import java.beans.PropertyDescriptor;
    
    /**
     * Author:haozhixin
     * Func:
     * Date:
     */
    public class ContainerLifeCycle extends InstantiationAwareBeanPostProcessorAdapter{
    	/***
    	 * 构造器
    	 */
    	public ContainerLifeCycle(){
    		System.out.println("a.[容器级别]ContainerLifeCycle构造器执行了");
    	}
    
    	/***
    	 *接口方法和实例化bean之前调用
    	 */
    	@Override
    	public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) throws BeansException {
    		System.out.println("b.[容器级别]postProcessBeforeInstantiation执行了,beanClass:"+beanClass);
    		return null;
    	}
    
        /***
         *设置某个属性时调用
         */
    	@Override
    	public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
    		System.out.println("c.[容器级别]postProcessPropertyValues执行了,beanName:"+beanName);
    		return pvs;
    	}
    
    
    	/***
    	 *接口方法和实例化Bean之后调用
    	 */
    	@Override
    	public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException {
    		System.out.println("d.[容器级别]postProcessAfterInstantiation执行了,beanClass:"+bean.getClass());
    		return true;
    	}
    
    
    }
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
        <bean id="ContainerLifeCycle" class="com.Bean生命周期.ContainerLifeCycle" scope="singleton" >
    
        </bean>
    </beans>
    
    
    import com.Bean生命周期.BeanLifeCycle;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    /**
     * Author:haozhixin
     * Func: Bean的生命周期
     * Date: 2019-08-05
     */
    public class ContainerLifeCycleTest {
    	public static void main(String [] args){
    		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:bean_life_cycle.xml","classpath:container_life_cycle.xml");
    		BeanLifeCycle beanLifeCycle = context.getBean("BeanLifeCycle",BeanLifeCycle.class);
    		beanLifeCycle.sayHello();
    		context.close();
    	}
    }
    
    

    运行结果:

    a.[容器级别]ContainerLifeCycle构造器执行了
    b.[容器级别]postProcessBeforeInstantiation执行了,beanClass:class com.Bean生命周期.BeanLifeCycle
    1.[Bean级别]构造器执行了
    d.[容器级别]postProcessAfterInstantiation执行了,beanClass:class com.Bean生命周期.BeanLifeCycle
    c.[容器级别]postProcessPropertyValues执行了,beanName:BeanLifeCycle
    2.[Bean级别]setBean方法执行了]
    3.[Bean级别]setApplicationContext方法执行了]
    4.[Bean级别]afterPropertiesSet方法执行了]
    5.[Bean级别]lifeCycleInit方法执行了]
    6.[Bean级别]syHello方法执行了]
    7.[Bean级别]destroy方法执行了]
    8.[Bean级别]lifeCycleInitDestroy方法执行了]
    

    工厂级生命周期接口代码实现

    话不多说,直接上代码

    package com.Bean生命周期;
    
    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.BeanNameAware;
    import org.springframework.beans.factory.DisposableBean;
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
    import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    
    /**
     * Author:haozhixin
     * Func: Bean的生命周期
     * Date: 2019-08-05
     */
    public class FactoryLifeCycle implements BeanFactoryPostProcessor{
    	/*
    	* 构造器
    	*
    	*/
    	public FactoryLifeCycle(){
    		System.out.println("一.[工厂级别]构造器执行了");
    	}
    
    	@Override
    	public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    		System.out.println("二.[工厂级别]postProcessBeanFactory方法执行了");
    	}
    }
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
        <bean id="FactoryLifeCycle" class="com.Bean生命周期.FactoryLifeCycle" scope="singleton" >
    
        </bean>
    </beans>
    
    import com.Bean生命周期.BeanLifeCycle;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    /**
     * Author:haozhixin
     * Func: Bean的生命周期(工厂级别,bean级别,容器级别)
     * Date: 2019-08-05
     */
    public class FactoryLifeCycleTest {
    	public static void main(String [] args){
    		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:bean_life_cycle.xml","classpath:container_life_cycle.xml","classpath:factory_life_cycle.xml");
    		BeanLifeCycle beanLifeCycle = context.getBean("BeanLifeCycle",BeanLifeCycle.class);
    		beanLifeCycle.sayHello();
    		context.close();
    	}
    }
    
    

    执行结果是:

    一.[工厂级别]构造器执行了
    二.[工厂级别]postProcessBeanFactory方法执行了
    a.[容器级别]ContainerLifeCycle构造器执行了
    b.[容器级别]postProcessBeforeInstantiation执行了,beanClass:class com.Bean生命周期.BeanLifeCycle
    1.[Bean级别]构造器执行了
    d.[容器级别]postProcessAfterInstantiation执行了,beanClass:class com.Bean生命周期.BeanLifeCycle
    c.[容器级别]postProcessPropertyValues执行了,beanName:BeanLifeCycle
    2.[Bean级别]setBean方法执行了]
    3.[Bean级别]setApplicationContext方法执行了]
    4.[Bean级别]afterPropertiesSet方法执行了]
    5.[Bean级别]lifeCycleInit方法执行了]
    6.[Bean级别]syHello方法执行了]
    7.[Bean级别]destroy方法执行了]
    8.[Bean级别]lifeCycleInitDestroy方法执行了]
    

    好了,就这么多,大家如果有疑问可以去Spring5企业级开发实战(五)下载以下源代码。


    作者:select you from me
    来源:CSDN
    转载请联系作者获得授权并注明出处。

    展开全文
  • 百分点数据科学实验室基于产品生命周期理论在多个行业的落地实践,总结了如何准确把握产品生命周期四个阶段及识别方法论。 众所周知,一种产品在市场上的销售情况和获利能力并非是一成不变的,因此,任何一家...

    编者按

    产品生命周期管理在数字经济发展过程中是必不可少的,在零售快消行业可用来指导产品的以销定采和精准投放,在IT行业可辅助软件应用等产品的开发进程管理,同时还也会对环境管理产生影响,对建筑业在节能减排、减轻环境污染层面起到辅助作用。

    因此,及时把控产品生命周期进程,用数据智能技术赋能管理至关重要。百分点数据科学实验室基于产品生命周期理论在多个行业的落地实践,总结了如何准确把握产品生命周期的四个阶段及识别方法论。

    众所周知,一种产品在市场上的销售情况和获利能力并非是一成不变的,因此,任何一家企业的产品不可能永远畅销,但企业可以尽量延长产品盈利的周期,并且在主流产品进入衰退期时,及时研发补充新的产品。

    在企业数字化转型过程中,产品生命周期管理是数据和产品开发管理的支柱,企业可以通过产品生命周期来判断一项新产品在该市场的销售状况,从而确定企业在该产品上的市场战略。

    一、把控产品生命周期四个阶段

    产品生命周期是产品在市场运动中的经济寿命,其反映了一个特定市场对某一特定产品的需求随时间变化的规律。

    产品生命周期体现了产品从进入市场到退出市场的全过程。从初入市场时薄弱的知名度,到逐渐积累用户快速增长,再到用户基本饱和,开始在高位稳中有降,最后逐渐衰退淡出市场的过程即为一个产品完整的生命周期。

    生命周期的转变由消费者需求、市场环境、营销决策和品牌知名度等影响因素所决定。生命周期的每个阶段会体现不同的特征。具体来看,生命周期可分为四个阶段:导入期、成长期、成熟期和衰退期,其特征如下:

    图1 传统“S型曲线”及其生命周期特征

    一般而言,产品生命周期管理的总体原则是缩短投入期、延长成长期、提升成熟期和争取在衰退期获利。具体策略如下图:

    图2 产品生命周期管理原则

    例如,TCL准确地把控液晶电视产品的生命周期,制定了相应的广告推广、渠道扩增策略。1996年,在导入期的TCL通过电视广告的形式大规模宣传其液晶电视的“高品质”特征;在产品成长期,为了抢占更多的市场份额,TCL于2002年开始实施向农村市场推广的策略,实现了渠道形式的扩增;随着产品进入成熟期,TCL于2005年在北京推出“我消费、我环保——回收你家中的电子垃圾”的环保促销活动,树立企业环保形象的同时,增加销售、促进废旧品的回收再造。

    二、突破三大难点,准确识别产品生命周期

    行业中常用的识别生命周期阶段的方法有曲线拟合法和模糊识别法。生命曲线又称“S型曲线”,其体现的是销量随时间变化的趋势:

    图3 传统“S型曲线”

    产品销量是体现产品发展最为直观、最具代表性的指标之一。基于曲线拟合的方式,可通过销量等指标来识别生命周期的变化节点及当前时点所处的生命周期阶段。

    曲线拟合法还可以结合销量预测模型,预测未来生命周期阶段是否可能出现变化。例如,巴斯模型(也称产品扩散模型)常用来分析市场对产品初期的推广效果、市场接受程度和最终的消费者使用过程。整个过程从产品销量及其相关系数入手,着重分析产品最初进入市场后的销售情况及扩散效果,即产品的导入期和成长期。对于处于这两个生命周期的产品,可以使用巴斯模型来预测未来销量,并结合曲线拟合的方法来预测产品在近期是否会发生生命周期的变化。

    值得注意的是,虽然曲线拟合和预测的过程是使用数学函数解读业务逻辑的过程,但数学函数严谨客观,而业务逻辑受主观认知影响,因此,如何合理地识别产品特征并利用数学逻辑解读业务,是识别生命周期的难点,具体体现在以下三个方面

    (1)曲线的选择

    • 困难描述:“S型曲线”是最标准的生命曲线,但并非所有产品都符合S型。一些品规在导入期销量有小幅度的下降,并且导入期较长,直至进入成长期开始才有销量的提升;而有些品规不存在明显的导入期,一入市销量便持续升高。不同类型的品规的生命周期体现了不同的形式,不能使用统一的曲线进行解释。

    • 应对策略:通过引入四种曲线对不同形状的产品生命曲线进行拟合,进而更好地适应多种特征的产品。本文参考的曲线有如下四种,除传统的三次函数以外,还可以引入修正的指数函数、逻辑函数及线性函数:

    图4 四种函数及其超参数解释范围

    选择拟合误差最小的曲线作为最优曲线,并以最优曲线的超参数定义生命周期阶段。不同曲线对应的超参数范围所对应的生命周期阶段如上图所示。

    (2)拟合的方式

    • 困难描述:由于生命周期曲线是一条经过抽象化了的典型曲线,各行业按照实际销售量绘制出来的曲线远不如这样光滑规则,用于拟合曲线的时间序列数据往往存在着周期性和趋势性,因此,使用季节性较强的数据拟合曲线会导致计算误差。

    • 应对策略:在拟合曲线之前,可以将时间序列进行拆分,拆分为趋势性、季节性和随机性,并使用提取出的趋势性拟合四种曲线。此时曲线的误差会降低,受特殊值的影响减弱,证明选择的曲线更为合理。

    图5 从上到下分别:原始序列、趋势序列、季节序列、随机序列

    (3)结果的调整

     问题描述:在使用最适合的曲线拟合数据后,需要根据超参数范围判断其所处生命周期阶段。但此时可能出现超参数解释和业务解释有偏差的问题,其主要原因是,使用超参数划分的生命周期阶段是运用严谨的“数学公式”解读的结果,而业务解释是带有一定主观性的,因此,如果仅采用超参数划分生命周期,就会影响模型结果的可解释性。

     应对策略:在对系列中全部产品进行拟合曲线求解超参数后,再分别对每个曲线每个周期所包含的产品数据做时间序列聚类,其目的是对“数学公式”研判的生命周期结果按数据形状进行主观调整。本文采取的时间序列聚类方法为DTW+KMeans聚类法。其中DTW(Dynamictime Warping)法是用于衡量不等长时间序列间距离的算法,对于长短不一或时间不对齐的时间序列,传统的欧氏距离无法有效计算两个时间序列间的距离,特别是在峰值的时候。因此,使用基于DTW法计算的距离对时间序列做KMeans聚类更为合理。

    图6 传统欧氏距离计算方法(左)与DTW距离计算方法(右)

    以卷烟月度工业销量数据为例,对于被三次函数判断为衰退期的卷烟,其聚类结果如下图所示,左图所体现的卷烟在销量达到最大值后有明显的下降趋势,业务解读上也属于已衰退的品规,而右图所体现的卷烟虽也过了销量的最大值点,但降幅不大,甚至还有回升的可能,业务上仍处于成熟期的品规,因此将这类卷烟的生命周期由衰退期调整为成熟期。

    图7 被三次函数判断为“衰退期”品规的聚类结果

    三、产品生命周期的创新应用场景

    生命周期理论被广泛应用于各行各业,产品生命周期分析可以从新产品定价、产品成本控制策略,到产品与广告投放策略与风格制定等环节辅助企业制定决策。一般来说,产品生命周期主要有两个应用目标:

    (1)现有品规的管理

    生命周期被视为产品的标签,可跟踪公司产品组合中各个生命周期阶段品规数量的变化情况。例如,某烟草公司的10个产品在半年时间里,衰退期品规由1个变为3个,此时公司便需要重点关注品规衰退的原因,是一上市销量就逐渐走低的“猝死”,还是在发展一段时间后才衰亡,进而采取以新品替代或对已衰退品规进行改良的应对措施。

    在烟草行业,每年一月的“元春市场”是卷烟销量的爆点,但除了明显的周期性以外,不同曲线拟合的销量形状各不相同。其中逻辑函数拟合较好的曲线在销量明显变化后有进入平台期的趋势,指数函数拟合较好的曲线销量呈现持续快速增长或下降的趋势,三次函数拟合较好的曲线销量趋势有方向的变化,线性函数拟合较好的曲线销量涨幅或降幅保持不变。以下是某烟草公司产品销量的拟合情况:

    图8 四种曲线拟合的销量示例

    (2)同类企业的的对比关注

    市场中同类公司或同类品牌的发展情况可作为竞品比对。关注其他公司推新速度与销量情况的同时,还应关注其产品生命周期情况,以此来判断同类公司所做的尝试是否成功,进而更新、调整自己的营销策略。

    生命周期理论在零售快消等行业可用来指导产品的汰换、以销定采、精准投放,辅助产品研发策略;在烟草行业辅助工商、商业卷烟投放策略以及定价策略,辅助工商协同与全品规流程化管理;在IT行业辅助软件应用等产品的开发进程管理。此外,产品生命周期的概念也可以应用于“需求生命周期”,即通过及时感知和识别个人或企业的某种特定需求(如娱乐、教育、运输、社交、交流信息等)来判断其需求的生命周期阶段。例如,通过追踪某视频网站的浏览量变化来判断此网站所处的生命周期阶段等。

    同时,产品生命周期也会对环境管理产生影响。“生命周期成本法”结合环境成本这一特殊元素,对环境成本进行确认、核算和披露,对每个生命周期阶段引起的环境成本进行计量,最终达到节约环境成本的目的。在建筑领域,由于建筑物是一种生命周期很长的产品,从原材料的开采、产品制造、使用到建筑拆除等维度对建筑物进行生命周期阶段划分,并纳入环境影响因素,可对建筑业在节能减排、减轻环境污染层面起到辅助作用。

    因此,产品生命周期理论在数字经济发展和企业数字化转型过程中都是必不可少的,应及时把控产品生命周期进程,用数据智能技术赋能企业管理。

    参考资料

    [1]吴杰民. 基于生命周期的产品价值研究[D].武汉理工大学,2007.

    [2]吴金海. 消费文化视野下的产品生命周期——一个消费社会学的探究[J]. 社会发展研究,2019,6(04):39-53+239.

    [3]李世辉,韩庆兰. 基于生命周期成本管理的知识库构建研究[J]. 会计研究,2013(07):35-41+96.

    [4]王玉. 工业化预制装配建筑的全生命周期碳排放研究[D].东南大学,2016.

    [5]王玉燕. 基于产品生命周期理论的直销型闭环供应链的广告策略与定价策略[J]. 系统管理学报,2014,23(03):388-396.

    百分点数据科学实验室成立于2015年,以“大数据科学+”为核心理念,致力于机器学习、深度学习及复杂统计理论方法的研究与创新,结合百分点科技集团业务优势,围绕应急风险预测、产业分析、区域经济分析、环境监测、消费者洞察、供应链优化、设备故障监测等业务场景,构建数据科学算法模型,落地智能决策应用、开展产学研合作、培养数据科学人才等。以AI和BI为重要支撑,数据科学实验室已服务数字城市、应急管理、生态环境、公共安全、零售、媒体出版、制造、汽车、金融等众多行业客户,帮助客户降本增效和科学决策。

     

    展开全文
  • 数据治理的四个阶段

    2021-03-02 09:53:03
    数据治理的定义是对数据资产管理行使权力和控制的活动集合。其最终目的是挖掘数据价值,推动业务发展,实现盈利。 我国最早意识到数据治理重要性的行业是金融行业,金融行业对数据的依赖...数据治理分为四个阶段 ...

    图片

     

    数据治理的定义是对数据资产管理行使权力和控制的活动集合。其最终目的是挖掘数据价值,推动业务发展,实现盈利。

     

    我国最早意识到数据治理重要性的行业是金融行业,金融行业对数据的依赖性很强,而数据治理是数据平台建设的主要限制因素。

     

    数据治理平台是以元数据为基础,实现数据的产生、存储、迁移、使用、归档、销毁等环节的数据生命周期管理。实现数据从源到数据中心再到应用端的全过程管理,为用户提供了准确便捷的企业资产信息。数据治理平台也包括数据标准,数据质量。

     

    图片

     

    数据治理分为四个阶段

     

    第一阶段,梳理企业信息,构建企业的数据资产库。首先要清楚企业的数据模型、数据关系,对企业资产形成业务视图、技术视图等针对不同用户视角的展示。

     

    第二阶段,建立管理流程,落地数据标准,提升数据质量。从企业角度梳理质量问题,紧抓标准落地。

     

    第三阶段,直接为用户提供价值。本阶段依赖于前两个阶段的建设,为用户提供方便的获取数据的途径。

     

    第四阶段,为企业提供数据价值。通过多种手段对多种来源的数据进行分析,形成企业知识图谱,体现数据的深层价值。

     

    通过这4个阶段的建设,建立起全企业的数据质量管控平台,以用户为中心,由用户使用数据并通过用户的使用优化数据质量,既达到了数据治理的目标,也最大限度的发挥了数据的价值。

     

    互联互通社区

     

    互联互通社区专注于IT互联网交流与学习,旨在打造最具价值的IT互联网智库中心,关注公众号:互联互通社区,每日获取最新报告并附带专题内容辅助学习。

    方案打造与宣讲、架构设计与落地、人员招聘与培训、数据中台建设等技术咨询与服务合作请+微信:hulianhutongshequ

     

    图片

    展开全文
  • 如何成为一名优秀的企业管理

    千次阅读 2019-03-02 21:42:49
    企业的生命发展周期(Enterprise Life Cycle)主要包括四个发展阶段:幼稚期,成长期,成熟期,衰退期(参考图一)。在企业发展的整个生命周期中,企业管理者对企业的存亡起着决定性的作用,因此如何成为一名优秀的...

    世界上任何事物的发展都存在着生命周期,企业也不例外。企业的生命发展周期(Enterprise Life
    Cycle)主要包括四个发展阶段:幼稚期,成长期,成熟期,衰退期(参考图一)。在企业发展的整个生命周期中,企业的管理者对企业的存亡起着决定性的作用,因此如何成为一名优秀的企业管理者是每个人企业家必论的话题。

    在这里插入图片描述
    对于企业的管理,企业管理者优先从企业的资源以及战略发展方向出发,对企业员工进行管理,企业流程以及规章制度的建立以及精益化运营。主要涉及到的关键词有质量(Quality),成本(Cost),交付(Delivery),服务(Service),技术(Technology),资产(Assent),人员(People),流程(Process)。
    中国联想公司用一句话总结企业管理者的道与术——“建班子,定战略,带团队”。下面抛砖引玉,介绍下常见的分析模型。如有错误和补充的地方,欢迎纠正。

    应用场景 模型 解析 关键词
    使命,愿景,战略 SWOT S即优势(strengths),W即劣势(weaknesses),O即机会点(opportunities),T即风险及威胁(threats)。根据企业自身的既定内在条件进行分析,找出企业的优势、劣势及核心竞争力之所在,从而将公司的战略与公司内部资源、外部环境有机结合 时势分析
    目标绩效管理 SMART 1) 绩效指标必须是具体的(Specific)2) 绩效指标必须是可以衡量的(Measurable)3) 绩效指标必须是可以达到的(Attainable)4) 绩效指标是要与其他目标具有一定的相关性(Relevant)5) .绩效指标必须具有明确的截止期限(Time-bound) 目标
    质量管理 PDCA 头脑风暴,提出想法。利用工具,选择方案。集体评估,确定措施。落实行动,坚持执行。1) P (plan) 计划,包括方针和目标的确定,以及活动规划的制定。2) D (Do) 执行,根据已知的信息,设计具体的方法、方案和计划布局;再根据设计和布局,进行具体运作,实现计划中的内容。3) C (check) 检查,总结执行计划的结果,分清哪些对了,哪些错了,明确效果,找出问题。4) A (Action)调整,对总结检查的结果进行处理,对成功的经验加以肯定,并予以标准化;对于失败的教训也要总结,引起重视。对于没有解决的问题,应提交给下一个PDCA循环中去解决。 PDCA
    质量管理 5Why 分析问题,多问一个为什么,找到问题的根源。 根因
    质量管理 DMAIC DMAIC是指定义(Define)、测量(Measure)、分析(Analyze)、改进(Improve)、控制(Control)五个阶段构成的过程改进方法,一般用于对现有流程的改进,包括制造过程、服务过程以及工作过程等等。 六西格玛
    质量管理 鱼骨图(因果图) 鱼骨图(又名因果图、石川图),指的是一种发现问题“根本原因”的分析方法,类型为:A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系);B、原因型鱼骨图(鱼头在右,特性值通常以“为什么……”来写);C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写)。 根因
    问题分析 5W2H 1)WHAT——是什么?目的是什么?做什么工作?2)WHY——为什么要做?可不可以不做?有没有替代方案?3)WHO——谁?由谁来做?4)WHEN——何时?什么时间做?什么时机最适宜?5)WHERE——何处?在哪里做?6)HOW ——怎么做?如何提高效率?如何实施?方法是什么?7)HOW MUCH——多少?做到什么程度?数量如何?质量水平如何?费用产出如何? 5W2H
    问题分析 现象,事实,结论 透过现象看本质,通过分析和洞察后确认事实后再下结论。不要被表象所迷惑,我们从不同的角度看到不同的事物,而事物本身存在着多样性,我们看到和听到的往往取决于你得注意力,我们的大脑经常认为自己是对的,而往往我们看到的90%都是假象。 洞察力
    展开全文
  • RPA开发教程丨RPA实施的四大阶段

    千次阅读 2019-12-03 16:32:45
    四阶段:RPA生命周期管理。 第一阶段:RPA机会评估 企业如何选择有影响力且易于RPA自动化的流程?通常可从下面5方面来详细考虑流程的筛选,确保在RPA自动化过程中产生最大投资回报率。 1、影响成本和收入的流程...
  • 企业管理向死而生

    2020-01-28 14:32:39
    一切活动,都逃不开这四个阶段。这是似乎是魔咒,人们已经习以为常。 许多死于萌芽阶段的企业就不谈了。这里主要研究,当企业走向成熟之后,必定会走向衰亡。它的本质原因,以及一些对策。 死亡线理论 一个企业,...
  • 高新技术不断涌现,产品在市场上的生命周期越来越短,一种产品从创意到退市的全过程具备了项目的一次性特征。 问题: 结合OPPO智能手机成功的案例以及相关知识,分析企业项目管理在OPPO企业中的实践。(建议从需求...
  • 所包括设计、执行、监控和优化四个阶段,是一种不断迭代循环的全生命周期管理方法,它既是管理准则又是技术平台。针对中国来讲,他不仅应该包含管理准则,更应该包含中华管理思想在里面,中华管理思想本已经包含BPM...
  • 1. 信息系统的生命周期可以分为四个阶段:立项、开发、运维、消亡。企业的信息系统经常不可避免地会遇到系统更新改造、功能扩展,甚至报废重建等情况。应该在信息系统建设的(1)考虑到系统消亡的条件和时机。 A. ...
  • IT管理 ITIL

    2012-03-20 12:48:09
    我们看到,我国经过十年的... 第四个阶段是主动维护管理和自动维护管理。IT系统能够自动报告,SLA与其对业务的影响紧密相关。 目前,中国的很多企业还处于第一、二阶段,刻不容缓的工作是要尽快提升到一个更高的水平。
  • 信息系统的生命周期可分为立项、开发、运维及消亡四个阶段。 立项阶段(概念阶段或需求阶段):根据用户业务发展和经营管理的需求,提出建设信息系统的初步构想;然后对企业信息系统的需求进行深入调研和分析,形成...
  • 项目管理论文

    2012-11-06 22:49:34
    项目管理要突出解决好四个问题 113 项目管理业绩为上 115 项目管理应树立的理念 117 项目管理中问题与对策探讨 118 应用P3E进行IT项目管理初探 120 影响项目的因素及经验总结 129 用项目总结来减少问题的重复...
  • 项目的生命周期 145 项目管理过程之进度控制 147 项目管理系列之进度和成本管理 148 IT业项目管理与人才环境 151 论项目管理中人的管理 154 如何组织软件开发团队 156 如何组织一高效的开发团队 158 软件项目团队...
  • 最近看了一篇文章,...这一周期可以分为下面四个部分:新科学或新技术的发展新经济基础结构的远景企业变革的起飞组织创新的时期第一个阶段主要是通过铁路和电报进行沟通。第二个阶段主要通过汽车、电话和广播进行...
  • 通过物联网连接产品生命周期的所有阶段,从原料采购到生产再到交付和进入客户家中,整个过程都能可视化管理。 这也是第次工业革命的场景,物联网为整个制造过程搭建了桥梁,创造了一具有凝聚力的制造环境。原料...
  • 项目的生命周期 145 项目管理过程之进度控制 147 项目管理系列之进度和成本管理 148 IT业项目管理与人才环境 151 论项目管理中人的管理 154 如何组织软件开发团队 156 如何组织一高效的开发团队 158 软件项目团队...
  • 四个阶段:产生,开发,运行和消亡阶段。 2.信息系统开发的方法有哪几种,各适用于什么情况的项目系统开发的方法有六种:结构化方法,快速原型法,企业系统规划方法,战略数据规划法,信息工程方法,面向对象方法...
  • 在上篇文章中,我们讲到了BPM的生命周期包括设计、建模、执行、监控和优化5个阶段,本篇我们以住建行业的预销售许可审批的主线流程对BPM的执行过程进行详细的解剖。BPM中的流程包括可执行流程和不可执行流程,不可...
  • l 信息系统的生命周期可以分为四个阶段:立项、开发、运维、消亡。企业的信息系统经常不可避免地会遇到系统更新改造,功能扩展,甚至报废重建等情况。应该在信息系统建设(1)考虑到系统消亡的条件和时机。 (1)A...
  • 客户知识应用于企业面向客户的决策所产生的效果或能力,可称为客户智能。客户智能体系具备了进行有利于客户知识产生、分发和利用的企业建模的能力,目的是建立一...从客户智能生命周期四个阶段可以归纳出客户智能系统
  • PLM基本概念收集

    2011-09-01 11:39:00
    1.PLM是什么? 2.PLM能干什么? 3.PLM如何使用? 4.PLM如何用编程语言实现?...ERP:企业资源规划系统 ...SCM:供应链管理系统 ...它包括:培育期、成长期、成熟期、衰退期、结束期四个阶段。PLM通...
  • BPM概述

    千次阅读 2008-02-27 17:35:00
    BPM包括设计、执行、监控和优化四个阶段,是一种不断迭代循环的全生命周期管理方法,它既是管理准则又是技术平台。作为管理准则,BPM关注于战略性业务目标,指导整个组织的资源部署,使业务流程能更有效地实现客户...
  • HRM- Fusion体验报告

    2020-03-18 23:42:05
    从人的生命周期角度,存在选、用、育、留四个阶段。从功能模块上,存在组织、招聘、人事、考勤、薪酬、绩效、培训。总觉得在企业级职能产品中,HRM是相对独立且简单的。ERP没个五六年做不了顾问,而H...
  • 4、 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段()。 A、 概要设计 B、详细设计 C、可行性分析 D、需求分析 我的答案:B 5、 下列关于栈的叙述中正确的是()。 A、 在栈中...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

企业管理生命周期四个阶段