精华内容
下载资源
问答
  • 本文件规定了金融数据生命周期安全原则、防护要求、组织保障要求以及信息系统运维保障要求,建立覆盖数据采集、传输、存储、使用、删除及销毁过程的安全框架。 本文件适用于指导金融业机构开展电子数据安全防护工作...
  • 设备全生命周期管理是从设备需求开始,然后投入...包括设备前期管理,设备采购,设备运输动态信息,设备安装,设备档案建立,设备维检修保养,设备变动管理,设备报废等,以信息化的手段管理设备的整个全生命周期过程
  • 完整英文电子版ISO/IEC/IEEE 29148:2018 Systems and software engineering — Life cycle processes — Requirements engineering(系统和软件工程 - 生命周期过程 - 需求工程)。 本标准: —指定在工程活动中...
  • 除了卡制造过程之外,智能卡的生命周期还依赖于其中所存有的应用。例如,与信用卡的芯片相比,GSM卡的结构显然有所不同。然而,不同应用类型的卡仍有许多共同的地方。  150 10202-1标准试图对所有制造方法,以及...
  • 首先,构建了煤矿井下工程全生命周期过程体系;然后,根据全生命周期的各个过程以及子过程组成的逻辑关系,选用Visual Object Net++软件对煤矿井下工程的全生命周期、设计与计划阶段、施工与控制阶段、考核与结算阶段...
  • (1)项目生命周期  项目要交付特定的产品、成果和完成特定的服务,项目生命周期定义项目的开始与结束,也明确了在项目结束时所包括(或不包括)的移交行为。  项目的规模和复杂性各不相同,但不论其大小繁简,...
        (1)项目生命周期
    
        项目要交付特定的产品、成果和完成特定的服务,项目生命周期定义项目的开始与结束,也明确了在项目结束时所包括(或不包括)的移交行为。
        项目的规模和复杂性各不相同,但不论其大小繁简,所有项目都呈现下列通用的生命周期结构:启动项目;组织与准备;执行项目工作;结束项目。

        这个通用的生命周期结构常被用来与高级管理层或其他不太熟悉项目细节的人员进行沟通。不应把通用生命周期与项目管理过程组相混淆,因为过程组中的过程所包含的活动,可以在每个项目阶段执行和重复执行,也可以在整体项目层面执行和重复执行。项目生命周期独立于项目所生产(或改进)的产品的生命周期。但项目应该考虑该产品当前所处的产品生命周期阶段。通用的生命周期结构从宏观视角为项目间的比较提供了通用参照,即使项目的性质完全不同。


        (2)信息系统生命周期
        信息系统与项目不同,一般来说信息系统生命周期长于项目生命周期。信息系统生命周期是指信息系统在使用过程中随着其生存环境的变化,要不断维护、修改,具有产生、发展、成熟、消亡(更新)的过程周期循环。例如:信息系统的开发可以说是一个项目,信息系统开发完成后项目就结束了,但是信息系统并没有消亡,还需要运维以及后续才能消亡。一般信息系统的生命周期可以分为4个阶段:立项、开发、运维、消亡。 
        (3)产品生命周期
        项目有特定时间与特定任务,产品却没有,某些情况可以重叠,产品会有很多升级产品,每一阶段的生命周期都可以用建立一个项目来做,而产品的生命周期就是从开始到此产品彻底结束。产品生命周期长于项目生命周期,项目结束之后产品还可以一直延续。

        假如一个项目交付特定的产品,那么该产品的生命期比项目生命周期更长,从该产品的研发(此时是项目的任务),到该产品投入使用(或运营),直到该产品的消亡就构成了该产品的生命周期。在某些应用领域(例如新产品开发和软件开发)中,组织是将项目生命周期作为产品生命周期的一部分来考虑的。


    展开全文
  • 详解vue生命周期-一篇文章搞懂详细过程

    万次阅读 多人点赞 2019-04-17 02:03:39
    首先,每一个vue实例都有一个完整的生命周期,也就是从创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。...

    首先,每一个vue实例都有一个完整的生命周期,也就是从创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。

    这是官方文档上的图片很熟悉:

    可以看到在vue一整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作, 那么先列出所有的钩子函数,然后我们再一一详解:

    • beforeCreate
    • created
    • beforeMount
    • mounted
    • beforeUpdate
    • updated
    • beforeDestroy
    • destroyed

     先看下列代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>vue生命周期学习</title>
      <script src="https://cdn.bootcss.com/vue/2.4.2/vue.js"></script>
    </head>
    <body>
      <div id="app">
        <h1>{{message}}</h1>
      </div>
    </body>
    <script>
      var vm = new Vue({
        el: '#app',
        data: {
          message: 'Vue的生命周期'
        },
        beforeCreate: function() {
          console.group('------beforeCreate创建前状态------');
          console.log("%c%s", "color:red" , "el     : " + this.$el); //undefined
          console.log("%c%s", "color:red","data   : " + this.$data); //undefined 
          console.log("%c%s", "color:red","message: " + this.message) 
        },
        created: function() {
          console.group('------created创建完毕状态------');
          console.log("%c%s", "color:red","el     : " + this.$el); //undefined
          console.log("%c%s", "color:red","data   : " + this.$data); //已被初始化 
          console.log("%c%s", "color:red","message: " + this.message); //已被初始化
        },
        beforeMount: function() {
          console.group('------beforeMount挂载前状态------');
          console.log("%c%s", "color:red","el     : " + (this.$el)); //已被初始化
          console.log(this.$el);
          console.log("%c%s", "color:red","data   : " + this.$data); //已被初始化  
          console.log("%c%s", "color:red","message: " + this.message); //已被初始化  
        },
        mounted: function() {
          console.group('------mounted 挂载结束状态------');
          console.log("%c%s", "color:red","el     : " + this.$el); //已被初始化
          console.log(this.$el);    
          console.log("%c%s", "color:red","data   : " + this.$data); //已被初始化
          console.log("%c%s", "color:red","message: " + this.message); //已被初始化 
        },
        beforeUpdate: function () {
          console.group('beforeUpdate 更新前状态===============》');
          console.log("%c%s", "color:red","el     : " + this.$el);
          console.log(this.$el);   
          console.log("%c%s", "color:red","data   : " + this.$data); 
          console.log("%c%s", "color:red","message: " + this.message); 
        },
        updated: function () {
          console.group('updated 更新完成状态===============》');
          console.log("%c%s", "color:red","el     : " + this.$el);
          console.log(this.$el); 
          console.log("%c%s", "color:red","data   : " + this.$data); 
          console.log("%c%s", "color:red","message: " + this.message); 
        },
        beforeDestroy: function () {
          console.group('beforeDestroy 销毁前状态===============》');
          console.log("%c%s", "color:red","el     : " + this.$el);
          console.log(this.$el);    
          console.log("%c%s", "color:red","data   : " + this.$data); 
          console.log("%c%s", "color:red","message: " + this.message); 
        },
        destroyed: function () {
          console.group('destroyed 销毁完成状态===============》');
          console.log("%c%s", "color:red","el     : " + this.$el);
          console.log(this.$el);  
          console.log("%c%s", "color:red","data   : " + this.$data); 
          console.log("%c%s", "color:red","message: " + this.message)
        }
      })
    </script>
    </html>

    运行后f12打开console可以看到打印出来内容如下:

    可以看到一个vue实例在创建过程中调用的几个生命周期钩子。

    详细情况如下:

    1. 实例、组件通过new Vue() 创建出来之后会初始化事件和生命周期,然后才会执行beforeCreate钩子函数,这个时候,数据data还没有挂载到vm对象勒,只是一个空壳,无法访问到数据data和真实的dom挂载元素el

    2. 挂载数据data,绑定事件等等,然后才会执行created钩子函数,这个候已可使用到数据data,也可更改数据data,在这里更改数据不会触发updated钩子函数,在这里可是渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。注意:此时挂件元素el还不存在、

    3. 首先会判断对象是否有挂载元素el选项如果有的话就继续向下编译,如果没有el选项,则停止编译,也就意味着停止了生命周期,直到在该vue实例上手动挂载,即调用vm.$mount(el)。

            此时如果注释掉vm中的代码:

    el: '#app',

            然后运行可以看到到created的时候就停止了:

            如果我们在后面继续调用vm.$mount(el),可以发现代码继续向下执行了

    vm.$mount(el) //这个el参数就是挂在的dom节点

     

    然后,我们往下看,template参数选项的有无对vue生命周期的影响。
    (1).如果vue实例对象中有template参数选项,则将其作为模板template编译成虚拟dom放入到render函数中准备渲染。
    (2).如果没有template选项,则将挂载元素el的outerHTML作为模板template编译。
    (3).可以看到template中的模板优先级要高于outerHTML的优先级。
    修改代码如下, 在HTML结构中增加了一串html,在vue对象中增加了template选项: 

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>vue生命周期学习</title>
      <script src="https://cdn.bootcss.com/vue/2.4.2/vue.js"></script>
    </head>
    <body>
      <div id="app">
        <!--html中修改的-->
        <h1>{{message + '这是在outer HTML中的'}}</h1>
      </div>
    </body>
    <script>
      var vm = new Vue({
        el: '#app',
        template: "<h1>{{message +'这是在template中的'}}</h1>", //在vue配置项中修改的
        data: {
          message: 'Vue的生命周期'
        }
    </script>
    </html>

    执行后的结果可以看到在页面中显示的是:

    那么将vue对象中template的选项注释掉后打印如下信息:

    此时,就可以理解为啥挂载元素el的存在与否判断要在template模板属性存在与否之前了

    那是因为vue需要通过el找到对应的outer template。

    在vue对象中还有一个render函数,它是以createElement作为参数,然后做渲染操作,而且我们可以直接嵌入JSX.

    new Vue({
        el: '#app',
        render: function(createElement) {
            return createElement('h1', 'this is createElement')
        }
    })

    可以看到页面中渲染的是:

    所以综合优先级排名:
    render函数选项 > template选项 > (template不存在时)outer HTML.

     

    4.  找到实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染,然后执行beforeMount钩子函数,在这个函数中虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated,在这里可以说是渲染前最后一次更改数据的机会   而   不会触发其他钩子函数。

    可以看到此时是给vue实例对象添加$el成员,并且替换掉挂载的DOM元素el。

    因为在之前console中打印结果可以看到beforeMount之前el上还是undefined

    注意看下面截图:

    在mounted之前h1中还是通过{{message}}进行占位的,因为此时还没有挂在到页面上,还是以JavaScript中的虚拟DOM形式存在。在mounted之后可以看到h1中的内容发生了变化。

    5. 接下来render后,渲染出真实dom,然后执行mounted钩子函数,此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了,可以在这里操作真实dom等事情...

    6. 当组件或实例的数据data更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染

    当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdateupdated钩子函数。我们在console中输入:

    vm.message = '触发组件更新'

    发现触发了组件的更新:

     当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom

     

    7.  当经过某种途径调用$destroy方法后,在实例销毁之前 立即执行beforeDestroy,在实例销毁之前调用。在这一步,实例仍然完全可用。一般在这里做一些善后工作,例如清除计时器、清除非指令绑定的事件等等

    8. 组件的数据绑定、监听...去掉后只剩下dom空壳,这个时候,执行 destroyed钩子函数。调用后,Vue 实例指示的所有东西都会解除绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。  在Vue 实例销毁后调用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <div id="app">
            <aaa></aaa>
        </div>
    
        
        <template id="aaa">
            <div>
                <p class="myp">A组件</p>
                <button @click="destroy">destroy</button>
                <input type="text" v-model="msg">
                <p>msg:{{msg}}</p>
            </div>
        </template>
    
    
    
    </body>
    <script src="./vue.js"></script>
    
    <script>
        //生命周期:初始化阶段 运行中阶段 销毁阶段
        Vue.component("aaa",{
            template:"#aaa",
            data:function(){
                return {msg:'hello'}
            },
            timer:null,
            methods:{
                destroy:function(){
                    this.$destroy()//
                }
            },
            beforeCreate:function(){
                console.log('beforeCreate:刚刚new Vue()之后,这个时候,数据还没有挂载呢,只是一个空壳')           
                console.log(this.msg)//undefined
                console.log(document.getElementsByClassName("myp")[0])//undefined
            },
            created:function(){
                console.log('created:这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数')
                this.msg+='!!!'
                console.log('在这里可以在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取')
                console.log('接下来开始找实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染')
            },
            beforeMount:function(){
                console.log('beforeMount:虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated')
                this.msg+='@@@@'
                console.log('在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取')
                console.log(document.getElementsByClassName("myp")[0])//undefined
                console.log('接下来开始render,渲染出真实dom')
            },
            // render:function(createElement){
            //     console.log('render')
            //     return createElement('div','hahaha')
            // },
            mounted:function(){ 
                console.log('mounted:此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了')
                console.log(document.getElementsByClassName("myp")[0])
                console.log('可以在这里操作真实dom等事情...')
    
            //    this.$options.timer = setInterval(function () {
            //        console.log('setInterval')
            //         this.msg+='!'  
            //    }.bind(this),500)
            },
            beforeUpdate:function(){
                //这里不能更改数据,否则会陷入死循环
                console.log('beforeUpdate:重新渲染之前触发')
                console.log('然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染')         
            },
            updated:function(){
                //这里不能更改数据,否则会陷入死循环
                console.log('updated:数据已经更改完成,dom也重新render完成')
            },
            beforeDestroy:function(){
                console.log('beforeDestory:销毁前执行($destroy方法被调用的时候就会执行),一般在这里善后:清除计时器、清除非指令绑定的事件等等...')
                // clearInterval(this.$options.timer)
            },
            destroyed:function(){
                console.log('destroyed:组件的数据绑定、监听...都去掉了,只剩下dom空壳,这里也可以善后')
            }
        })
    
    
        
        new Vue({
        }).$mount('#app')
    
    
    </script>
    </html>

     

    浅析vue $mount()

    Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作、判断等),之后要手动挂载上。new Vue时,el和$mount并没有本质上的不同。

    具体见代码:

    new Vue({
    	router,   //路由
    	store,    //根实例状态存储,子组件通过this.$store访问
    	render:h=>h(App),  //App组件渲染,这里的h即是vm.$createElement,便是在vm._render这个阶段
    	data:{
    		//eventHub:new Vue()
    	}
    }).$mount('#app');

    顺便附上vue渲染机制流程图:

     

    参考:

    https://segmentfault.com/a/1190000011381906

    https://www.cnblogs.com/happ0/p/8075562.html

    展开全文
  • 建立了面向产品生命周期的质量信息模型,具体阐述了面向产品生命周期信息模型的概念、特点,分析了面向产品生命周期质量信息模型的组成及各子模块之间的演变过程。在此基础上提出了基于访问层、业务逻辑层和数据层的...
  • IT项目管理技术,对于项目全生命周期的管理包括,项目成本、项目关系人、团队
  • 项目生命周期 项目的生命周期是描述项目从开始到结束所经历...项目设阶段的目的是为了管控的需要,每一个阶段都可以当成是一个子项目,每一个阶段中都可以执行项目管理生命周期定义的五大过程组。阶段结束时要进行阶段

      接受项目管理培训至今已经有三年时间了,一直没有机会来整理一下自己在项目管理方面的学习历程和经验。好记性不如烂笔头,从今天开始就一步一步分享一下我在项目管理方面的学习历程以及一些在工作中累积的经验,希望可以帮助到从事项目管理的人!

      在前面的博文项目管理 之一 软件开发生命周期(软件开发过程、瀑布模型、敏捷开发等) 中我们说过 软件开发生命周期 ≠ 项目的开发周期。接下来就再进一步,站在整个项目的角度来了解一下软件项目管理。

    注意:

    1. 这部分仅仅是自己学习记录的一些总结,所以内容大多数都是来自互联网或者各种书籍。如果您发现对您构成了侵权,请随时联系我进行处理。
    2. 这部分内容都是一些理论,实际项目中往往与理论有所不同。例如,阶段划分更加详细,项目活动可裁剪等

    项目管理

      项目这个概念非常的广泛,项目管理同样是个范围很大的概念。项目管理是管理学的一个分支学科 ,对项目管理的定义是:指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。所谓管理包含领导、组织、用人、计划及控制等五项主要工作。

    项目(Project)是为完成某一独特的产品、服务或成果所做的临时性工作。临时性是指计划有确定的开始日期和结束日期。独特意味着项目的最终结果不重复。

      作为一门学科,项目管理从土木施工、工程、重型国防等多个应用领域发展而来。20 世纪 50 年代项目管理被公认为具有工程模式的管理学科所产生的一门独特的学科。1969 年,项目管理研究所(PMI)在美国成立。PMI 于 1996 年出版了第一版《项目知识管理机构指南》(PMBOK 指南)。这本书是必看的!本文的有些内容就是来自这本指南。

    • PMBOK 每 4 年会更新一次,目前中国使用的官方教材为第六版
    • 全球项目管理业界定义的最重要的价值观是责任、尊重、公正和诚实
    • PMBOK 指南为项目经理提供了指导方针和最佳实践,定义了从项目生命周期到项目管理策略和概念的一切内容。项目管理知识体系指南详细描述了在整个项目生命周期中相互作用和重叠的各种项目管理过程。

      项目管理方法可应用于任何类型的项目。它通常根据项目规模、性质、行业或部门为特定类型的项目量身定做。例如,以建筑、道路和桥梁等工程的交付为重点的建筑行业已经发展了自己的专业项目管理形式,称为建筑项目管理;我们软件行业则有我们的软件项目管理。

    接下来,我们来区分一下三个比较容易混淆的概念:项目生命周期、项目管理生命周期、产品生命周期
    在这里插入图片描述

    项目生命周期

      项目的生命周期是描述项目从开始到结束所经历的各个阶段。通常由 启动阶段、组织与准备阶段(规划阶段)、实施阶段、结束阶段 这四阶段个组成。每个阶段确定了开始和结束点,每个阶段都有质量保证 QA / 质量测试 QC 人员对阶段的里程碑点进行检查并进行相应的阶段评审。
    在这里插入图片描述
      项目阶段是一组具有逻辑关系的项目活动的集合,通常以一个或多个可交付成果的完成为结束。 阶段通常有先后的顺序(如瀑布型),也可以有阶段的交叠。不同行业,不同规模的项目,项目生命周期可以不同。

    项目活动 是确认和描述项目的特定活动,它把项目的组成要素加以细分为可管理的更小部分,以便更好地管理和控制。

      项目规划阶段的目的是为了管控的需要,每一个阶段都可以当成是一个子项目,每一个阶段中都可以执行项目管理生命周期定义的五大过程组。阶段结束时要进行阶段评审。由于项目有特定的目标,在产品生命周期中,一般产品完成后通过验收则项目生命周期即结束。

      项目阶段并没有严格的划分标准。这里所说的 4 个阶段仅仅是指的一般情况。一个具体的项目可以根据项目所属专业领域的特殊性和项目的工作内容等因素划分成不同的项目阶段。

    启动阶段

      启动阶段是整个项目生命周期的第一阶段。这一阶段的目标是确定项目,并获得批准。在此期间,通常有以下项目活动需要项目经理来处理:

    • 需求调研
    • 进行可行性研究
    • 创建项目章程
    • 确定关键利益相关者
    • 选择合适的项目管理方法
    • 选择项目管理工具

    通常,从项目启动会议开始,项目经理向所有相关利益相关者概述项目目标。在会议召开之前,项目经理必须执行以下工作:

    1. 建立目标和可交付成果
    2. 识别团队成员并分配任务
    3. 制定项目计划草案
    4. 定义用于衡量项目成功的指标
    5. 识别和准备潜在的路障
    6. 建立团队沟通的物流和时间表
    7. 选择首选的项目管理方法
    8. 确保您的团队能够访问相关工具并了解相关工具
    9. 安排会议
    10. 设置议程并准备幻灯片

    启动会议议程可能如下所示:

    • 简介:谁是谁?
    • 项目背景:您为什么要进行这个项目? 目标是什么?
    • 项目范围:涉及哪种工作?
    • 项目计划:路线图是什么样的?
    • 角色:谁负责项目的哪些元素?
    • 交流:将使用哪种交流渠道? 您的团队应该期望什么样的会议或状态报告?
    • 工具:将使用哪些工具来完成项目,以及如何使用它们?
    • 后续步骤:需要完成哪些立即行动项目?
    • 问答(Q&A):现场答疑

    到此阶段结束时,项目经理应对项目的目的、目标、要求和风险有更深入的了解。

    规划阶段

      规划阶段对于创建整个团队可以遵循的项目路线图至关重要。为了满足组织提出的要求,所有的细节和目标都在这里列出。在此阶段,通常有以下项目活动需要项目经理来处理:

    • 创建项目计划
    • 制定资源计划
    • 评估项目预算
    • 定义目标和绩效衡量指标
    • 向团队成员传达角色和责任
    • 构建工作流
    • 预测风险并制定应急计划
    • 制定沟通交流计划(可能是会议、交流工具)

    执行阶段

      这个阶段是项目投入时间最多的阶段。可交付品的构建是为了确保项目符合要求。这也是大多数时间、金钱和人被投入的阶段。

      在执行阶段必须时刻对项目进行控制和监测(严格来说,项目的每个阶段都可以控制和监测)。随着项目的推进,项目经理必须确保所有活动的部分都朝着正确的方向无缝地进行。如果由于不可预见的情况或方向的改变而需要对项目计划进行调整,则可能会在这里进行调整。在控制和监测中,项目经理(有可能是公司中专门的 QA 人员)可能需要做以下工作:

    • 管理资源
    • 监控项目性能
    • 风险管理
    • 质量管理
    • 成本管理
    • 变更管理(更新项目计划、修改项目计划)
    • 执行状态会议和报告
    • 协作、沟通

    项目关闭

      结束阶段是项目生命周期的关键一步。它标志着项目的正式结束,并为反思、总结和组织材料提供了一段时间。通常有以下项目活动需要项目经理来处理:

    • 盘点所有可交付成果
    • 处理好任何零碎的事情
    • 将项目移交给客户或负责项目日常运营的团队
    • 进行事后分析,讨论并记录从项目中学到的任何东西
    • 集中组织所有项目文件
    • 与利益相关者和主管沟通项目的成功
    • 庆祝项目完成并感谢团队成员

    阶段关口

    阶段关口在项目阶段结束时进行,将项目的绩效和进度与项目和业务文件比较,这些文件包括 (但不限于):

    • 项目商业论证
    • 项目章程
    • 项目管理计划
    • 效益管理计划

    根据比较结果做出决定(例如继续/终止的决定),以便:

    • 进入下个阶段;
    • 整改后进入下个阶段;
    • 结束项目;
    • 停留在当前阶段;
    • 重复阶段或某个要素。

    在不同的组织、行业或工作类型中,阶段关口可能被称为阶段审查、阶段门、关键决策点和阶段入口或阶段出口。

    项目管理生命周期

      项目管理生命周期是对项目目标的实现进行管理的过程。项目生命周期每个阶段都是通过一系列项目管理活动进行的。这些管理活动被称为项目管理过程。 每个项目管理过程通过合适的项目管理工具和技术将一个或多个输入转化成一个或多个输出。

    项目生命周期的每个阶段都要执行项目管理生命周期
    项目管理的输出一般都是些项目标准文档

      项目管理过程组指对项目管理过程进行逻辑分组,以达成项目的特定目标。过程组不同于项目阶段。项目管理过程可分为以下五个项目管理过程组:

    • 启动过程组: 定义一个新项目或现有项目的一个新阶段,授权开始该项目或阶段的一组过程。
    • 规划过程组: 明确项目范围,优化目标,为实现目标制定行动方案的一组过程。
    • 执行过程组: 完成项目管理计划中确定的工作,以满足项目要求的一组过程。
    • 监控过程组: 跟踪、审查和调整项目进展与绩效,识别必要的计划变更并启动相应变更的一 组过程。
    • 收尾过程组: 正式完成或结束项目、阶段或合同所执行的过程。

      但是,需要注意 阶段 ≠ 过程组。不同行业,不同规模项目的项目管理生命周期大致相同。项目管理生命周期的过程是 PMP(Project Management Professional​) 考试的主要考试范围。

    除了过程组,过程还可以按知识领域进行分类,分为 10 个知识领域(其中始终关注的是范围、进度、成本和质量):

    • 项目整合管理: 包括为识别、定义、组合、统一和协调各项目管理过程组的各个过程和活动而开展的过程与活动。
    • 项目范围管理: 包括确保项目做且只做所需的全部工作以成功完成项目的各个过程。
    • 项目进度管理: 包括为管理项目按时完成所需的各个过程。
    • 项目成本管理: 包括为使项目在批准的预算内完成而对成本进行规划、估算、预算、融资、筹资、管理和控制的各个过程
    • 项目质量管理: 包括把组织的质量政策应用于规划、管理、控制项目和产品质量要求,以满足相关方的期望的各个过程。
    • 项目资源管理: 包括识别、获取和管理所需资源以成功完成项目的各个过程。
    • 项目沟通管理: 包括为确保项目信息及时且恰当地规划、收集、生成、发布、存储、检索、管理、控制、监督和最终处置所需的各个过程。
    • 项目风险管理: 包括规划风险管理、识别风险、开展风险分析、规划风险应对、实施风险应对和监督风险的各个过程。
    • 项目采购管理: 包括从项目团队外部采购或获取所需产品、服务或成果的各个过程。
    • 项目相关方管理: 包括用于开展下列工作的各个过程:识别影响或受项目影响的人员、团队或组织,分析相关方对项目的期望和影响,制定合适的管理策略来有效调动相关方参与项目决策和执行。

    下图显示了管理过程朱与知识领域的对应关系以及在过程中需要的工作:
    在这里插入图片描述

    裁剪

      由于每个项目都是独特的,所以有必要对项目管理过程进行裁剪;并非每个项目都需要《PMBOK® 指南》所确定的每个过程、工具、技术、输入或输出。裁剪应处理关于范围、进度、成本、资源、质量和风险的相互竞争的制约因素。各个制约因素对不同项目的重要性不一样,项目经理应根据项目环境、组织文化、相关方需求和其他变量裁剪管理这些制约因素的方法。

    产品生命周期

      产品生命周期管理的是产品,包括一系列产品阶段:市场调研、产品研发、试产、量产、运营、维护和退市。产品生命周期通常包含顺序排列且不互相交叉的一系列产品阶段。

    产品生命周期指一个产品从概念、交付、成长、成熟到衰退的整个演变过程的一系列阶段。

      产品生命周期由一个或多个项目生命周期组成,也可能分为多个迭代周期来实现。 而项目生命周期也可开发一个或多个产品。一个项目生命周期通常只包含在一个产品生命周期中。在项目生命周期结束即项目完成后,而产品生命周期还需进行产品的运营、维护和退市等阶段。

      与产品生命周期相对应的成本概念是全生命周期成本,包括一次性的项目软硬件投入(一次性成本),以及 3 - 5 年运营或运维成本(持续成本)。

    三重关系

      三重约束,又称项目管理三角,是指适用于每个项目的时间、质量和成本界限。负责控制这些限制的项目管理流程包括进度管理、成本管理和质量管理。下图显示了软件项目的三个限制的关系。
    限制

    我在学习中发现,有部分文章中,质量 被替换为 范围,即:时间、范围和成本。

    软件项目管理

      到目前为止,仍然有很多人有疑问:软件开发项目到底能不能称为项目?这与对于软件工程能不能算是工程的疑问类似。在某些人的认识中,项目或者说工程更多的是指工业建筑中的专有名词。

      自 20 世纪 60 年代以来,软件制造商自行开发了几种专有的软件项目管理方法。今天,软件项目管理方法仍在不断发展,但是当前的趋势已从瀑布模型转移到了模仿软件开发过程的更具周期性的项目交付模型。

      软件项目管理(Software Project Management)就是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。通常,可以将软件开发项目可以分为两大类:

    • 软件项目: 运行于已有通用硬件上的软件系统。例如,PC 上运行的软件,服务器上运行的网站。
    • 系统项目: 运行于特定硬件上的软件系统,除了要开发软件,还要开发对应的硬件。例如各种嵌入式设备。

    如果没有特殊说明,后文我们所说的软件项目管理均指这两种类型的统称。

      软件工程项目管理不同于传统的项目管理,因为软件项目具有独特的生命周期过程,需要多轮测试、更新和客户反馈。目前,大多数 IT 相关项目都以敏捷的风格进行管理,以跟上业务增长的步伐,并根据客户和利益相关者的反馈进行重复。

    过程方法

    2017 年的一项研究显示,任何项目的成功取决于四个关键方面,这些方面被称为 4P :

    1. 计划(Plan):指所有涉及规划和预测的活动。在这个阶段,项目或项目的要素尚未实现;
    2. 过程(Processes):项目管理知识体(PMBOK, Project Management Body of Knowledge)指南中记述,项目主要由一系列预定和结构良好的过程所组成;
    3. 人员(People):人员是项目动态的重要组成部分,一些研究表明,人员是某些项目特有问题的核心。所谓“可怕的结合”,特别是指规划不善和不适当人员的构成;
    4. 权责(Power):描述当局所有的权力与责任、决策者、组织图,执行政策和喜好。

      组织与完成项目活动有许多方法,包括:分阶段、精益、迭代和增量等;也有一些对项目规划的几个扩展,例如,针对结果(基于产品)或活动(基于流程)。不论采行何种方法论,必须精心缜密地考虑项目总体的目标,时程和成本,以及所有参与者和利害关系人的作用和责任。

      对于软件开发项目,在博文 项目管理 之一 软件开发生命周期(软件开发过程、瀑布模型、敏捷开发等) 中介绍的各种过程模型,基本就是指导我们软件开发的方法。但是,由于项目具有独特性,因此标准的生命周期模型往往难以满足项目的特殊需要。通常项目在定义生命周期时,可首先选择一种标准的生命周期模型作为基础,然后指定出适合自己的方法。

    传统的顺序方法

    瀑布式管理方法

      规划项目的最常见方法是对导致最终交付的任务进行排序,并按顺序进行工作。这个过程也被称为瀑布方法——管理项目的传统方法,也是最容易理解的方法。

      这种方法的强大之处在于,每一步都是预先计划好的,并按照适当的顺序安排好。虽然这可能是最简单的最初实现方法,但涉众需求或优先级的任何更改都会破坏一系列任务,使其很难管理。这种方法在可预见性方面很出色,但缺乏灵活性。

    关键路径方法(CPM)

      关键路径方法(Critical Path Method)是在 20 世纪 50 年代开发的,其基础是,有些任务在完成上一个任务之前无法启动。当您从头到尾将这些依赖任务串在一起时,您会绘制出关键路径。

      确定并关注这一关键路径后,项目经理就可以确定优先级并分配资源,以完成最重要的工作,并重新安排可能会阻塞团队的所有低优先级任务。 这样,如果您需要更改项目进度表,则可以在不延迟结果的情况下优化团队的工作流程。

    关键链项目管理(CCPM)

      关键链项目管理(Critical Chain Project Management)将关键路径方法更进一步。CCPM 是一种方法,它侧重于通过在关键路径中增加资源可用性来完成项目任务所需的资源。它还在项目计划中围绕这些任务建立时间缓冲,确保项目满足其最后期限。

    敏捷家族

      由于竞争激烈的商业环境和不断创新,敏捷的项目管理方法越来越受欢迎。一般来说,敏捷方法优先考虑更短的迭期周期和灵活性。

    Scrum

      Scrum 是最受欢迎的敏捷发展框架,因为它的实现相对简单。它还解决了软件开发人员过去遇到的许多问题,例如复杂的开发周期、不灵活的项目计划以及更改生产计划。

    详细介绍见 项目管理 之二 敏捷开发方法 Scrum 最全指导 .

    看板

      看板是基于团队能力实施敏捷的另一个框架。它起源于 20 世纪 40 年代的丰田工厂。各部门使用可视化的卡片系统(“看板”)来表示他们的团队已经为更多的原材料做好准备,并拥有更多的生产能力。

    极限编程 (XP)

      极限编程 (Extreme Programming) 是敏捷的另一个分支。XP 是一种旨在提高软件质量(和简单性)和开发团队适应客户需求的能力的方法。与原始的敏捷开发非常类似,XP 具有工作冲刺短、迭代频繁以及与利益相关者不断协作的特点。变化可能发生在冲刺阶段。如果特定功能的工作尚未开始,则可以将其更换为类似任务。

    自适应项目框架(APF)

      自适应项目框架(Adaptive Project Framework)源于由于不确定和不断变化的需求而难以使用传统项目管理方法来管理大多数 IT 项目的情况。

      APF从需求分解结构(RBS)开始,以根据产品需求,功能,子功能和功能定义战略项目目标。 该项目分阶段进行,在每个步骤的最后,团队都会评估以前的结果以改善性能和实践。

    变更管理方法

    有些方法论用于管理项目,但更侧重于变更管理,尤其是风险规划和在变更发生时进行控制。

    事件链方法(ECM)

      事件链方法(Event Chain Methodology)背后的基本理念是,潜在风险往往不在项目范围之外。必须做好应对这些风险的准备,并计划您的应对措施,因为意外事件会影响您的项目的进度、交付成果以及潜在的成功。

    极限项目管理(XPM)

      极限项目管理 (Extreme Project Management) 与瀑布正好相反。它为您提供了一种管理大规模变革的方法,并且仍然朝着项目完成的方向前进。在 XPM 中,无论项目进展有多远,您都可以更改项目计划、预算,甚至最终交付,以满足不断变化的需求。

    基于过程的方法

    其中每种方法都侧重于将工作作为流程的集合。

    精 益

      精益(Lean)是一种专注于精简和减少浪费的方法(精益求精)。第一步是创建工作流程分解,以识别和消除瓶颈和延迟。目标是用更少的人力、更少的钱和更少的时间为客户提供价值。

    Six sigma

      Six Sigma 于20 世纪 80 年代中期由摩托罗拉的工程师介绍,通过识别项目中不起作用的内容来提高质量。

      Six Sigma 是一种基于统计的方法,旨在通过测量存在的缺陷并消除尽可能多的缺陷来提高过程质量。 如果 99.99966% 的最终产品(您的项目可交付成果)没有缺陷,则该过程可以达到 Six Sigma 等级。

    其他方法

    PRINCE2

      PRINCE2 代表受控环境中的项目。 这是一种用于管理英国政府使用的项目的方法,其特点是基于产品的计划方法。 在 PRINCE2 中,结构化的项目委员会负责高层活动,例如确定业务理由和资源分配。 项目经理负责日程安排等较低级别的日常活动。 这种方法使团队可以更好地控制资源并有效降低风险。

    PRiSM

      PRiSM 代表“集成可持续方法的项目”,旨在在将环境可持续性纳入其流程的同时管理变更。 PRiSM的目标是完成任务,同时减少公司对环境和社会的负面影响。 从字面上看,它是绿色项目管理。

    项目管理的角色

    项目经理

      项目经理密切监视开发过程,准备并执行各种计划,安排必要和充足的资源,保持所有团队成员之间的沟通,以解决成本,预算,资源,时间,质量和客户满意度方面的问题。

      正式的项目经理通常通过美国 PMI 或英国 PRINCE2 之类的机构进行认证。认证后,他们需要通过接受额外的培训来收集目标数量的 PDU(Professional Development Units)来维持其认证。

    1. PDU 代表专业发展单元,是 一种衡量正在进行的专业发展的方法。 为了保持作为项目管理专业人员(PMP)的认证,您将需要维护特定数量的 PDU,这些 PDU 可以通过参加活动或完成课程来获得。
    2. 美国项目管理协会(PMI)举办的项目管理专业人员(PMP)认证考试在全球180多个国家和地区推广,是目前项目管理领域含金量最高的认证。被全球项目管理界人士所认可!

      在实际的工作中,认证并不总是一个要求,它可以是在以后的职业生涯中获得的东西。大多数项目经理通常从工商管理学位开始,但实际中并非总是这样。经验往往比学位更响亮。

      通常,项目经理需要熟练使用 PERT 来对项目进行管理。

    Rrogram (or Project) Evaluation and Review Technique (PERT) 程序(或项目)评估和审查技术是用于项目管理的统计工具,旨在分析和表示完成给定项目所涉及的任务。它最初由美国海军于1958年开发,通常与1957年推出的临界路径方法(CPM)一起使用。

    软件项目经理

      软件项目经理是负责执行软件项目的人员,通常是 PMI 认证的项目管理专业人员 (PMP)。 软件项目经理完全了解软件将经历的 SDLC 的所有阶段。项目经理可能永远不会直接参与最终产品的生产,但他会控制和管理生产中涉及的活动。

    项目成员

    他们是负责完成项目一的人员。 团队成员是熟练的专业人员,他们致力于为项目目标做出贡献。

    客户

    项目产品的交付者。可能来自内部,也可能来自外部。

    利益相关者

    这是在项目中有既得利益的人或团体。它可能是一个组织的内部团体或机构,也可能是公共工程项目的公众。

    风险管理

      风险管理是对风险(在 ISO 31000 中定义为不确定性对目标的影响)的识别,评估和优先级划分,然后协调,经济地使用资源以最小化,监视和控制不幸事件的可能性或影响或最大化机会的实现。风险管理包括与识别、分析和为项目中的可预测和不可预测风险做准备相关的所有活动。

    风险评估

      软件项目风险是指在整个项目周期中所涉及的成本预算、开发进度、技术难度、经济可行性、安全管理等各方面的问题,以及由这些问题而对项目所产生的影响。

      项目的风险与其可行性成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需要风险、相关性风险、管理风险、安全风险等六个方面。

    成本预算

    自上而下的预算方法(经验估计技术)

      自上而下的预算方法主要是依据上层、中层项目管理人员的管理经验进行判断,对构成项目整体成本的子项目成本进行估计,并把这些判断估计的结果传递给低一层的管理人员,在此基础上由这一层的管理人员对组成项目的子任务和子项目的成本进行估计,然后继续向下一层传递他们的成本估计,直到传递到最低一层。

    该技术使用经验导出的公式进行估算。这些公式基于 LOC 或 FP。

    • Putnam 模型: 该模型由Lawrence H. Putnam制作,该模型基于Norden的频率分布(瑞利曲线)。 Putnam模型映射了软件大小所需的时间和精力。

      关于 Putnam 模型,详见 https://wiki.mbalib.com/zh-cn/Putnam%E6%A8%A1%E5%9E%8B

    • COCOMO: COCOMO 是由 Barry W. Boehm 开发的建设性成本模型(COnstructive COst MOdel)的缩写。它将软件产品分为三类:有机软件、半分离软件和嵌入式软件。

    自下而上的预算方法(分解技术)

      自下而上方法要求运用 WBS(Work Breakdown Structure,工作分解结构)对项目的所有工作任务的时间和预算进行仔细考察。最初,预算是针对资源(团队成员的工作时间、硬件的配置)进行的,项目经理在此之上再加上适当的间接费用(如培训费用、管理费用、不可预见费等)以及项目要达到的利润目标就形成了项目的总预算。

    主要有两种模式:

    • 代码行: 依据软件产品中的代码行数进行估计。
    • 功能点: 依据软件产品中功能点的数量进行估算。

      自下而上的预算方法要求全面考虑所有涉及到的工作任务,更适用于项目的初期与中期,它能准备地评估项目的成本,与真实费用相差在 5% ~ 10% 之间。

    质量管理

      质量管理确保组织、产品或服务是一致的。它包括四个主要组成部分:质量规划、质量保证、质量控制和质量改进。 质量管理不仅注重产品和服务质量,而且注重实现质量的手段。因此,质量管理利用对工艺和产品的质量保证和控制来实现更一致的质量。

    软件质量保证

      软件质量保证(SQA,Software Quality Insurance)是在软件过程中的每一步都进行的“保护性活动”。SQA 主要有基于非执行的测试(也称为评审)、基于执行的测试(即通常所说的测试)和程序正确性证明。

      软件评审是最为重要的 SQA 活动之一。它的作用是,在发现及改正错误的成本相对较小时就及时发现并排除错误。审查和走查是进行正式技术评审的两类具体方法。

    配置管理

      配置管理是根据产品的需求,设计,功能和开发来跟踪和控制软件更改的过程。IEEE 将其定义为:the process of identifying and defining the items in the system, controlling the change of these items throughout their life cycle, recording and reporting the status of items and change requests, and verifying the completeness and correctness of items。

      配置管理是组织管理的一门学科,它负责处理阶段性基础化后发生的任何变化(流程、要求、技术、战略等)。CM 会不断检查软件中所做的任何更改。

    软件配置管理

      软件配置管理(SCM,Software Configuration Management)是应用于整个软件过程中的保护性活动,它是在软件整个生命周期内管理变化的一组活动。是配置管理这个更大的跨学科领域的一部分。

      软件配置管理包括版本控制和基线的建立。如果出现问题,SCM 可以确定更改了什么以及是谁更改了它。如果配置工作良好,SCM 可以决定如何在许多主机上复现它。

      软件配置由一组相互关联的对象组成,这些对象也称为软件配置项,它们是作为某些软件工程活动的结果而产生的。除了文档、程序和数据这些软件配置项之外,用于开发软件的开发环境也可置于配置控制之下。一旦一个配置对象已被开发出来并且通过了评审,它就变成了基线。对基线对象的修改导致建立该对象的版本。版本控制是用于管理这些对象而使用的一组规程和工具。

    软件配置管理系统
      库是软件配置管理系统的根本。库是集中控制的文件库,并提供对库中所存储文件的版本控制。任何库中的文件都被视为在确定的软件配置管理之下。
      在项目实际工作中,可以用 SVN、Git 等工具来建立配置库。

    基线

      在配置管理中,基线是在某个时间点对产品属性达成的一致描述,可作为定义更改的基础。更改是从此基准状态到下一个状态的移动。 识别基线状态的重大变化是基线识别的主要目的。

      如果 SDLC 的一个阶段已经建立了基线,那么就假定它已经完成了,例如,基线是定义一个阶段完整性的度量。当与阶段有关的所有活动都已完成并得到良好的文档记录时,阶段就被确立为基线。如果它不是最后阶段,它的输出将用于下一个直接阶段。

    版本控制

      在软件工程中,版本控制(也称为修订控制,源代码控制或源代码管理)是一类负责管理对计算机程序,文档,大型网站或其他信息集合的更改的系统。 版本控制是软件配置管理的组成部分。

      在软件开发中,版本控制系统的使用是必不可少的。详细见博文 版本控制系统 之一 概念、分类、常见版本控制系统(CVS、SVN、BitKeeper、Git 等)

    变更管理

      变更管理(Change management)是对所有支持和帮助个人或团队进行组织变更的方法的集合术语。变更的驱动因素可能包括技术的不断演变、流程的内部审查、危机应对、客户需求变化、竞争压力、收购和兼并以及组织重组。 它包括重定向或重新定义资源使用、业务流程、预算分配或其他显著改变公司或组织运营模式的方法。

    变更控制

      变更控制(Change Control)是质量管理系统(QMS)和信息技术(IT)系统中的一个过程,用来确保以受控和协调的方式引入产品或系统的变更。它减少了在没有预先考虑的情况下对系统进行不必要的更改、在系统中引入错误或撤销其他软件用户所做的更改的可能性。变更控制过程的目标通常包括最小化对服务的干扰,减少回退活动,以及对实现变更所涉及的资源的低成本利用。

    不要与版本控制相混淆。

    项目管理工具

    见独立博文

    参考

    1. https://wiki.mbalib.com/wiki/%E8%BD%AF%E4%BB%B6%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86
    2. http://learnfuture.com/PMP/902
    3. https://www.cnblogs.com/leslies2/archive/2012/06/29/2569765.html
    4. https://www.tutorialspoint.com/software_engineering/software_project_management.htm
    5. https://www.wrike.com/project-management-guide/project-lifecycle/
    6. https://www.wrike.com/project-management-guide/methodologies/
    7. https://en.wikipedia.org/wiki/Software_project_management
    8. https://www.projectmanager.com/project-management
    展开全文
  • 案例分析 沈佳 什么是分析 对客户...侧面信息周边邻居竞争对 手供/销货商 分析的前提从申请表上简单了解客户家庭 状况生意类型规模位 置贷款目的及关键数据 分析过程应注意 准备有计划与客户交流 资产负债表损益表牢记
  • 章 组织和项目生命周期及管理过程 2.1 组织结构   常见考点: 1.PM的权利从左到右,越来越大。 权利大小:职能型 平衡矩阵(默认类型) < 强矩阵(最佳)  2.PM全职 ==> 平衡矩阵之后; 员工全职 ==> 强...

    2章 组织和项目生命周期及管理过程


    《PMP个人备考笔记(全篇)》下载


    2.1 组织结构

     

    常见考点:

    1.PM的权利从左到右,越来越大

    权利大小:职能型 < 弱矩阵 < 平衡矩阵(默认类型) <强矩阵(最佳) < 项目型矩阵 ;

    2.PM全职 ==>平衡矩阵之后; 员工全职 ==>强矩阵之后。

    3.各部门工作项目独立的组织结构,就是职能型组织

    4.PM在矩阵型最重要的作用是整合;在职能型沟通;在项目型领导

    2.2 组织过程资产和事业环境因素

    1.如何区分组织过程资产和事业环境因素

    ①是否为组织外部的? ===>事业环境因素

    ②PM是否可选? ===>事业环境因素

    ③是以“系统”结尾还是“程序”?系统 ===> 事业环境因素程序 ===> 组织过程资产

    ④千万不要钻牛角尖,因为很多时候两者是会有交叉的!

    2.组织过程资产和事业环境作用的区别

    ①组织过程资产为裁剪项目提供依据和指南

    ②事业环境因素是限制项目灵活度的主要因素;

    2.3 生命周期

    1.生命周期和五大过程组的对比:

    (1)生命周期4个阶段:①启动;②组织与准备;③执行;④结束;

    (2)5大过程组:①启动;②规划;③实施;④监控;⑤收尾;

    2.区别生命周期和五大过程组

    ①不是每一个阶段,都一定包含5大过程组;

    ②5大过程组,比4个生命阶段,多了一个类似“监控”的过程;

    3.生命周期的特征

     

    特点:

    变更的代价与时间成正比

    干系人影响力和风险的不确定性与时间成反比

    成本与投入水平随时间先增后减,执行阶段达到驼峰最大值

    4.三种类型的生命周期

    预测型(完全计划型)==>对项目完全理解,按部就班;

    迭代和增量型 ==> 结果清晰,目标和范围有变化;

    适应型(变更驱动或敏捷方法)==>都不清晰,应对变化环境;

    2.4 项目信息的区分

    ①工作绩效数据==>原始数据;

    ②工作绩效信息==>整合分析后,有计算或分析数据后的信息;

    ③工作绩效报告==>对比状态、汇总报告;

    展开全文
  • 项目生命周期与5大过程组的关系

    千次阅读 2019-03-28 14:10:20
    5大过程组(启动,规划,执行,监控,收尾):是 项目管理的生命周期,它可以应用到项目生命周期的各个阶段。比如软件开发的过程可以分为,需求,设计,开发,测试等阶段,那么在每个阶段,都可以应用项目管理的5大...
  • 信息系统的生命周期各阶段及说明

    千次阅读 2021-05-08 16:50:50
    信息系统的生命周期各阶段及说明 软件在信息系统中属于较复杂的部件,可以借用软件的生命周期来表示信息系统的生命周期,软件的生命周期通常包括:可行性分析与项目开发计划、需求分析、概要设计、详细设计...
  • Servlet的生命周期

    万次阅读 多人点赞 2019-06-02 17:36:53
    servlet的生命周期就是从servlet出现到销毁的全过程。主要分为以下几个阶段: 加载类—>实例化(为对象分配空间)—>初始化(为对象的属性赋值)—>请求处理(服务阶段)—>销毁 服务器启动时(web.xml中配置...
  • 信息系统生命周期

    千次阅读 2019-04-22 10:41:16
    根据企业目标和发展战略,确定信息系统的发展战略, 对建设新系统的需求做出分析和预测, 同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。 根据需要与可能,给出拟建系统的备选方案。 对这些...
  • 信息系统开发方法-生命周期

    千次阅读 2020-06-29 21:35:14
    生命周期按阶段划分,提出的是组织、管理和控制信息系统开发过程的一种基本框架,原则性地指导两部分工作: 1.管理:强调进程安排、资源分配、评估、控制、反馈 2.开发:强调任务和开发文档 一般将生命周期法划分...
  • vue生命周期和react生命周期对比。

    千次阅读 2019-07-06 18:04:03
    指的是组件从初始化开始到结束的过程 或者是生命周期是描述组件从开始到结束的过程,每个组件都具有生命周期,都对组件通过生命周期给予的钩子函数进行管理。 钩子函数 指的是系统某些状态和参数发生改变的时候,...
  • 生命周期:1. 创建阶段(Created) 分配内存,构造对象并初始化2. 应用阶段(In Use) 对象至少被一个强引用持有着3. 不可见阶段(Invisible) 程序本身不再持有该对象的任何强引用,虽然该这些引用仍然是存在着的,...
  • 由来: RUP(Rational Unified Process)统一过程模型 是由Rational公司(现被IBM公司收购)开发的一种软件工程过程框架 是一个面向对象的基于web的程序开发...RUP中的软件生命周期在时间上被分解为四个顺序的阶段:...
  • Spring中bean的生命周期(最详细)

    万次阅读 多人点赞 2020-02-24 14:09:35
    Spring Bean的生命周期指的是从一个普通的Java类变成Bean的过程,深知Spring源码的人都知道这个给面试官将的话大可将30分钟以上,如果你不知道源码,那么Aware接口和调用init方法这样的,所以这个问题即考察对Spring...
  • 信息系统的生命周期包括: 大体上可以为5个阶段: 1.系统规划 :可行性分析与项目开发计划 ...如果从项目管理的角度来看的话,信息系统项目的生命周期又可以划分为:启动、计划、执行、监督和控制、收尾五大过程组 ...
  • Vue 3 生命周期完整指南

    千次阅读 2021-03-31 08:28:34
    本文主要内容: Vue生命周期钩子有哪些 在选项API中使用 Vue 生命周期钩子 在组合API中使用Vue 3生命周期钩子 将 Vue2 的生命周期钩子代码更新到 Vue3 看看Vue 2和Vue 3中的每个生命周期钩子 创建 挂载 更新 卸载 ...
  • java的生命周期

    千次阅读 2019-08-20 17:57:49
    类的生命周期总览 类从被加载到虚拟机内存中开始, 到卸载出内存为止, 它的整个生命周期包括: 加载 (Loading) 、 验证(Verification) 、 准备(Preparation) 、 解析(Resolution) 、 初始化...
  • Android之Activity生命周期浅析(一)

    万次阅读 多人点赞 2016-07-17 15:31:23
    今天我们就来详细地聊聊Activity的生命周期,以便我们在以后的开发中能如鱼得水。一、初识Activity   在日常应用中Activity是与用户交互的接口,它提供了一个用户完成相关操作的窗口。当我们在开发中创建Activit
  • Application的生命周期贯穿整个App运行全过程,从App启动到App完全终止运行。如下图所示: onCreate():Application创建的时候调用 onConfigurationChanged(Configuration newConfig):当配置信息改变...
  • .NET ASP.NET 页生命周期概述

    千次阅读 2019-05-07 10:47:49
    ASP.NET 页生命周期概述 ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。 这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。 了解页生命周期...
  •  正常情况下Activity 的常用生命周期就只有上面 7 个,如下图所示,详细的展示了Activity 各种生命周期的切换过程   活动四种状态  每个活动在其生命周期中最多可能会有四种状态。 1. 运行状态 ...
  • 1.项目生命周期的阶段之间可能相互交叉,而产品生命周期的阶段通常不相互交叉; 项目生命周期:项目初始->项目计划->项目执行控制->项目结束; 产品生命周期:投入期->成长期->饱和期->衰退期; ....
  • 用户生命周期价值及产品运营策略

    千次阅读 2019-07-02 14:07:47
    在电商运营中,常常会听到用户生命周期价值。 为什么要了解用户生命周期价值?这要从推广渠道价值说起。 做SaaS的都知道除了CAC(客户获取成本)之外,LTV(用户生命周期价值)也是十分重要的——比如支出2000元营销...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 316,428
精华内容 126,571
关键字:

信息的生命周期过程