• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 89  文章 - 118  trackbacks - 0
            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            留言簿(16)

            隨筆分類(56)

            隨筆檔案(89)

            文章分類

            推薦博客

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            財(cái)務(wù)應(yīng)該及早進(jìn)入產(chǎn)品開發(fā)流程,貫穿到企業(yè)愿景,使命,產(chǎn)品規(guī)劃,產(chǎn)品開發(fā)及產(chǎn)品生命周期管理全過程

             

            IPD成本控制主要針對兩個(gè)目標(biāo):

            1、  降低開發(fā)成本

            2、  降低產(chǎn)品本身的結(jié)構(gòu)成本

             

            研發(fā)人員常犯的成本錯(cuò)誤:

            1、  只關(guān)注物料成本,不關(guān)注設(shè)計(jì)成本和維護(hù)成本,出現(xiàn)物料成本雖然降低,但是帶來的設(shè)計(jì)難度、設(shè)計(jì)成本增加

            2、  不采購?fù)鈦沓墒旖M件,自行開發(fā),導(dǎo)致產(chǎn)品不穩(wěn)定帶來的維護(hù)成本增加

            3、  對公司內(nèi)部成本高的優(yōu)選器件不采用,忽略量產(chǎn)后帶來的采購成本下降

             

            控制綜合成本的手段:

            1、  通過需求與規(guī)劃,區(qū)分基本需求、競爭需求、可有可無的需求,避免過度開發(fā)

            2、  通過產(chǎn)品化共享,減少低水平重復(fù)開發(fā)

            3、  通過技術(shù)分類,識(shí)別核心技術(shù)、關(guān)鍵技術(shù)、通用技術(shù)和一般技術(shù),核心技術(shù)和關(guān)鍵技術(shù)自主開發(fā),通用技術(shù)和一般技術(shù)外包,以降低開發(fā)成本

            4、  在設(shè)計(jì)中控制成本:確定目標(biāo)成本,設(shè)計(jì)中采用多方案選擇,減少新模塊,控制質(zhì)量成本,加強(qiáng)可靠性設(shè)計(jì),由高手負(fù)責(zé)設(shè)計(jì)

            5、  在開發(fā)與制造中進(jìn)行成本過程控制:保證資源

             

            產(chǎn)品經(jīng)理必須掌握的財(cái)務(wù)成本知識(shí):

            1、  了解財(cái)務(wù)基本專業(yè)知識(shí),定期看部門財(cái)務(wù)報(bào)表,分析部門的內(nèi)部核算表

            2、  理解核算原則,學(xué)會(huì)用比例定崗

            3、  了解公司和部門的固定成本變動(dòng),學(xué)會(huì)控制成本

            4、  知識(shí)計(jì)算部門內(nèi)部的盈虧平衡點(diǎn)

            5、  知道怎么做預(yù)算,并親自做預(yù)算和審核下級(jí)預(yù)算及費(fèi)用

            6、  關(guān)注項(xiàng)目回款,明白影響現(xiàn)金流的原因

            7、  熟悉公司財(cái)務(wù)制度,并提出改進(jìn)措施,使其簡潔有效

            posted @ 2012-12-14 10:57 胡滿超 閱讀(435) | 評論 (0)編輯 收藏

            新產(chǎn)品開發(fā)的前三單客戶也是產(chǎn)品開發(fā)的一部分,必須由公司高級(jí)別的人員完成,而不是一味地交給客戶經(jīng)理去銷售

             

            產(chǎn)品命名及商標(biāo)管理:

            1、  產(chǎn)品命令應(yīng)將技術(shù)語言轉(zhuǎn)換為了市場語言

            2、  命名突出賣點(diǎn)

            3、  命名保持統(tǒng)一品牌形象

            4、  命名不要使用方言,俚語

             

            產(chǎn)品宴會(huì)的FFAB策略:

            Feature:技術(shù)賣點(diǎn)

            Function:功能賣點(diǎn)

            Advantage:產(chǎn)品的優(yōu)點(diǎn)

            Benefits:對客戶的好處

            1、  如果客戶熟悉技術(shù),突出介紹FunctionFeature;不熟悉技術(shù),突出介紹AdvantageBenefits

            2、  客戶經(jīng)理(銷售)應(yīng)該掌握,BenefitsAdvantageFunction

            3、  市場經(jīng)理應(yīng)該掌握,BenefitsAdvantageFunctionFeature

            4、  技術(shù)經(jīng)理應(yīng)熟悉技術(shù)實(shí)現(xiàn)路徑

            5、  嚴(yán)格區(qū)別AdvantageBenefits

             

            產(chǎn)品定價(jià):

            1、  要利潤,定高價(jià)

            2、  要規(guī)模,定低價(jià)

            3、  阻攔對手,定更低價(jià)

            4、  把價(jià)格隱藏在服務(wù)中

             

            產(chǎn)品定價(jià)步驟:

            1、  明確競爭對手產(chǎn)品

            2、  分析競爭對手產(chǎn)品定價(jià)

            3、  進(jìn)行比較定價(jià)分析$APPEALS

            4、  對產(chǎn)品進(jìn)行成本分析,根據(jù)配置不同進(jìn)行成本分析

            5、  根據(jù)戰(zhàn)略價(jià)值及KPI定價(jià)

            6、  細(xì)化并驗(yàn)證定價(jià)策略

             

            按價(jià)格承受力把客戶分類:

            1、  戰(zhàn)略客戶:樣板用戶,帶動(dòng)其他客戶消費(fèi)

            2、  利潤客戶:接受的價(jià)格給公司帶來的利潤大于機(jī)會(huì)利潤

            3、  非利潤客戶:接受的價(jià)格給公司帶來的利潤小于機(jī)會(huì)利潤

            4、  大客戶:訂單較多

            5、  價(jià)值客戶:戰(zhàn)略+利潤+大客戶

             

            定價(jià)避免以下情況:

            1、  避免大客戶是非利潤客戶

            2、  避免非利潤的戰(zhàn)略客戶太多

            3、  避免將戰(zhàn)略客戶等同于價(jià)值客戶

             

            客戶滿意度聚焦利潤客戶,價(jià)值客戶的滿意度必須達(dá)到100%,非戰(zhàn)略非利潤客戶的滿意度不要超過50%

             

            新產(chǎn)品推廣:

            一個(gè)資料庫六個(gè)子庫:案例庫,問題庫,產(chǎn)品資料庫,市場資料庫,需求庫,競爭對手資料庫

            銷售工具包:內(nèi)部銷售工具包,給客戶資料包

            五種手段:公司展廳,展覽會(huì),樣板點(diǎn),研討交流會(huì),廣告/網(wǎng)站/軟性文章

             

            公司高層,產(chǎn)品經(jīng)理,市場經(jīng)理,客戶經(jīng)理都要進(jìn)行客戶關(guān)系的維護(hù)和開拓

            產(chǎn)品經(jīng)理和系統(tǒng)級(jí)工程師更要對技術(shù)型的客戶進(jìn)行維護(hù)和開拓

             

            產(chǎn)品銷售工具:產(chǎn)品一紙禪、售前膠片、案例分析、銷售指導(dǎo)書

            通過規(guī)范的資料培訓(xùn)銷售人員,營造產(chǎn)品大量進(jìn)入市場的條件

            posted @ 2012-12-11 09:10 胡滿超 閱讀(399) | 評論 (0)編輯 收藏

            常見的質(zhì)量管理問題原因:

            1、  QA沒有在設(shè)計(jì)時(shí)介入

            2、  QA工作不獨(dú)立,影響測試結(jié)果

            3、  做評審沒有評審要素,評審人沒有績效考核,走過場

            4、  新手做設(shè)計(jì),高手救火

            5、  未建立公共模塊共享開發(fā)的研發(fā)模式

            6、  引入不成熟的技術(shù)

            7、  在設(shè)計(jì)時(shí),未進(jìn)行多方案預(yù)備

             

            構(gòu)建質(zhì)量體系六個(gè)要素:

            1、  一套流程:將質(zhì)量管理體系融入研發(fā)流程

            2、  兩個(gè)原則:業(yè)務(wù)決策評審與技術(shù)質(zhì)量評審分離、建立產(chǎn)品貨架

            3、  三個(gè)職位:系統(tǒng)級(jí)工程師,主審人,PQA

            4、  四個(gè)分離:規(guī)劃與系統(tǒng)設(shè)計(jì)分離,設(shè)計(jì)與實(shí)現(xiàn)分離,實(shí)現(xiàn)與測試分離,測試與驗(yàn)證分離

            5、  五種手段:規(guī)劃與CBB共享、評審、測試和驗(yàn)證、任職資格與活動(dòng)匹配、缺陷歸零管理

            6、  六個(gè)評審點(diǎn)

             

            技術(shù)評審:關(guān)注技術(shù)評估

            決策評審:關(guān)注財(cái)務(wù)、資源投入、計(jì)劃

            posted @ 2012-12-06 16:19 胡滿超 閱讀(343) | 評論 (0)編輯 收藏

            技術(shù)分類:核心技術(shù),關(guān)鍵技術(shù),一般技術(shù),通用技術(shù)

             

            核心技術(shù):需要進(jìn)行發(fā)展規(guī)劃,進(jìn)行立體開發(fā),知識(shí)產(chǎn)權(quán)保護(hù)

            技術(shù)外包進(jìn)行嚴(yán)格評審,避免核心技術(shù),關(guān)鍵技術(shù)外包

            核心技術(shù),關(guān)鍵技術(shù):縱向發(fā)展人員

            一般技術(shù),通用技術(shù):橫向發(fā)展人員,可以外包

             

            核心技術(shù)特點(diǎn):獨(dú)有性,競爭性,可攔截性,不可替代性,可管理可保護(hù),產(chǎn)生價(jià)值

             

            技術(shù)并不是越多越好,而是核心技術(shù)和關(guān)鍵技術(shù)越多越好

             

            技術(shù)開發(fā)五個(gè)階段:立項(xiàng),開發(fā),驗(yàn)證,發(fā)布,成果貨架化管理

             

            對技術(shù)管理考核:結(jié)果要寬松,過程要嚴(yán)格

             

            共用基礎(chǔ)模塊CBB:在不同產(chǎn)品、系統(tǒng)之間共用的零部件,模塊,技術(shù),設(shè)計(jì)成果

            貨架:將不同層次的產(chǎn)品統(tǒng)一管理

            貨架產(chǎn)品:成熟度達(dá)到一定程度的CBB

            平臺(tái):一系列貨架產(chǎn)品在層級(jí)上的集合

             

            平臺(tái)形成的兩條路:

            1、  根據(jù)需求形成平臺(tái)規(guī)劃:平臺(tái)很難規(guī)劃

            2、  總結(jié)與沉淀:做3個(gè)定制項(xiàng)目進(jìn)行一次CBB分析

             

            技術(shù)預(yù)研和平臺(tái)開發(fā)人員級(jí)別要高,需要高手開發(fā)

            預(yù)研團(tuán)隊(duì)和技術(shù)開發(fā),產(chǎn)品開發(fā)團(tuán)隊(duì)?wèi)?yīng)該合理流動(dòng),以實(shí)現(xiàn)技術(shù)成果的產(chǎn)品化

             

            鼓勵(lì)和激勵(lì)平臺(tái)開發(fā)措施:

            1、  通過任職資格牽引

            2、  平臺(tái)進(jìn)行內(nèi)部定價(jià)

            3、  可以對非競爭的客戶進(jìn)行外部銷售

            4、  對平臺(tái)開發(fā)給予戰(zhàn)略補(bǔ)貼和特別激勵(lì)

            posted @ 2012-12-04 09:38 胡滿超 閱讀(484) | 評論 (0)編輯 收藏

            項(xiàng)目分級(jí):

            A級(jí)項(xiàng)目:公司級(jí)重點(diǎn)關(guān)注和管理項(xiàng)目

            B級(jí)項(xiàng)目:產(chǎn)品線重點(diǎn)關(guān)注和管理的項(xiàng)目

            C級(jí)項(xiàng)目:產(chǎn)品經(jīng)理或項(xiàng)目經(jīng)理自己管理的項(xiàng)目

             

            項(xiàng)目排序要素:市場吸引力、競爭地位、財(cái)務(wù)評估

             

            單項(xiàng)目主體:項(xiàng)目經(jīng)理

            多項(xiàng)目主體:項(xiàng)目管理部

             

            項(xiàng)目開發(fā)四個(gè)階段:階段,步驟,任務(wù),活動(dòng)

            三個(gè)計(jì)劃:

            1、  一級(jí)計(jì)劃:解決全流程、全要素協(xié)同

            2、  二級(jí)計(jì)劃:全流程協(xié)同下的各部門協(xié)同

            3、  三級(jí)計(jì)劃:指導(dǎo)更小模塊或個(gè)人具體執(zhí)行任務(wù)計(jì)劃

             

            提高計(jì)劃準(zhǔn)備度和完成率三要素:需求管理,關(guān)鍵資源及時(shí)到位,項(xiàng)目經(jīng)理的能力

             

            計(jì)劃制訂需要分階段,分級(jí)進(jìn)行,避免追求一次成型

            posted @ 2012-11-26 10:44 胡滿超 閱讀(402) | 評論 (0)編輯 收藏

            研發(fā)工作四類流程:

             

            1、  技術(shù)開發(fā)流程:預(yù)研、應(yīng)用技術(shù)開發(fā)V版本

            2、  平臺(tái)開發(fā)流程:共享模塊開發(fā)V版本

            3、  產(chǎn)品開發(fā)流程:每向細(xì)分市場R版本

            4、  定制項(xiàng)目開發(fā)流程:在產(chǎn)品和平臺(tái)基礎(chǔ)上針對某一客戶的定制M版本

             

            產(chǎn)品開發(fā)活動(dòng)四個(gè)步驟:階段,步驟,任務(wù),活動(dòng)

             

            概念階段:驗(yàn)證市場需求,確立產(chǎn)品是否可以立項(xiàng)

            計(jì)劃階段:確立總體方案,資源投入,確保工藝、結(jié)構(gòu)方案、設(shè)計(jì)方案同步,避免重復(fù)開發(fā)

            發(fā)布階段:尋找樣板客戶,準(zhǔn)備商標(biāo)、命令、市場指導(dǎo)書、產(chǎn)品實(shí)驗(yàn)局、初步定價(jià)策略;銷售工具包、售前膠片、銷售指導(dǎo)書、產(chǎn)品的配置、商業(yè)械設(shè)計(jì)、產(chǎn)品的成功安全分析,銷售培訓(xùn),發(fā)布計(jì)劃

             

            產(chǎn)品開發(fā)流程六個(gè)階段:概念、計(jì)劃、產(chǎn)品開發(fā)、驗(yàn)證、生命周期管理

            四個(gè)決策評審點(diǎn):概念決策、計(jì)劃決策、發(fā)布決策、生命周期決策

            六個(gè)技術(shù)評審點(diǎn):產(chǎn)品包需求評審、系統(tǒng)規(guī)格評審、概要設(shè)計(jì)評審、詳細(xì)設(shè)計(jì)評審、樣機(jī)評審、小批量評審

             

            財(cái)務(wù)角色:

            概念階段:產(chǎn)品的定價(jià)分析和成本分析

            計(jì)劃階段:核算綜合成本

            開發(fā)階段:監(jiān)控成本

            發(fā)布階段:明確價(jià)格策略

            生命周期階段:進(jìn)行價(jià)格的核準(zhǔn)和調(diào)整價(jià)格

             

            生產(chǎn)、維護(hù)、服務(wù)人員:在方案設(shè)計(jì)階段參與進(jìn)來,提出可維護(hù)、可安裝、可測試、可生產(chǎn)需求,使方案設(shè)計(jì)一步到位。

             

            采購角色:

            概念階段:參與供應(yīng)商認(rèn)證

            計(jì)劃階段:完成元器件認(rèn)證,明確提前采購的風(fēng)險(xiǎn)

            產(chǎn)品生命周期階段:關(guān)注器件的產(chǎn)能情況,提前預(yù)警

             

            企業(yè)執(zhí)行產(chǎn)品開發(fā)流程失敗原因分析:

            1、  為流程而流程,只有研發(fā)參與

            2、  沒有建立市場管理流程,沒有好的市場經(jīng)理,產(chǎn)品開發(fā)沒有良好的輸入,推行產(chǎn)品開發(fā)流程困難

            3、  沒有培養(yǎng)起來系統(tǒng)級(jí)工程師或團(tuán)隊(duì)進(jìn)行總體方案設(shè)計(jì),沒有打通設(shè)計(jì)時(shí)的所有環(huán)節(jié),流程流于形式

            4、  評審過于關(guān)注技術(shù),在市場和財(cái)務(wù)成功方面考慮較少

            5、  過多關(guān)注流程執(zhí)行的完整性,沒有結(jié)合自身情況,分步推進(jìn)

            6、  配套支撐流程和體系建設(shè)跟不上,如項(xiàng)目管理流程、績效管理流程、任職資格體系建設(shè),落地的支撐人員配套跟不上

            7、  沒有固化或形成時(shí),過早進(jìn)行IT化,僵化了流程

            posted @ 2012-11-19 15:32 胡滿超 閱讀(308) | 評論 (0)編輯 收藏

            研發(fā)與銷售矛盾重重:需要建立市場體系,銷售與市場分離

            市場體系:分析客戶需求,進(jìn)行產(chǎn)品規(guī)劃,培訓(xùn)渠道及客戶經(jīng)理,立足核心產(chǎn)品設(shè)計(jì)

             

            市場體系:讓產(chǎn)品好賣,營

            銷售體系:將產(chǎn)品賣好,銷

             

            需求管理四個(gè)步驟:需求收集,需求分析與分類,需求分發(fā),需求實(shí)現(xiàn)及驗(yàn)證

            需求管理體系目的:讓每個(gè)人在日常活動(dòng)中,將需求進(jìn)行收集并通過分析和分發(fā),以確保非金屬人員面向市場進(jìn)行開發(fā)

            需求管理體系原則:落后了,找對手;平行了,建市場;領(lǐng)先了,做標(biāo)準(zhǔn)。

            要建立好的市場體系,必須建立鼓勵(lì)研發(fā)人員進(jìn)入營銷體系的機(jī)制。

            為了保證快速地反映市場,規(guī)劃必須每三個(gè)月更新一次。

             

            需求分類:

            A類:新產(chǎn)品開發(fā)需求

            B類:產(chǎn)品設(shè)計(jì)規(guī)格更改需求

            C類:詳細(xì)設(shè)計(jì)路徑更改需求

            D類:生產(chǎn)訂單需求

            E類:CBB和平臺(tái)開發(fā)需求

            F類:技術(shù)開發(fā)需求

            G類:市場調(diào)研,需要繼續(xù)求證

             

            進(jìn)入一個(gè)客戶群三要素:

            1、  市場吸引力:市場規(guī)模,市場成長性,戰(zhàn)略價(jià)值

            2、  競爭地位:是否有能力進(jìn)入,市場份額、產(chǎn)品優(yōu)勢、成本優(yōu)勢、渠道能力

            3、  財(cái)務(wù)回報(bào):收入增長率,現(xiàn)金流貢獻(xiàn)、研發(fā)投入產(chǎn)出比

             

            確定新產(chǎn)品的需求的方法:

            1、  重新進(jìn)行新產(chǎn)品開發(fā)

            2、  對老產(chǎn)品進(jìn)行改進(jìn)

             

            外部需求:客戶的要求、功能需求、規(guī)格需求、可靠性需求

            內(nèi)部需求:產(chǎn)品化需求(可生產(chǎn)、可安裝、可維護(hù)、可測試、可驗(yàn)證),技術(shù)需求

             

            需求完成包括四類人員:客戶經(jīng)理、市場經(jīng)理、產(chǎn)品經(jīng)理、技術(shù)經(jīng)理

            需求產(chǎn)出的四份文檔:

            1、  客戶需求規(guī)格說明書

            2、  產(chǎn)品包需求說明書

            3、  需求的分解分配

            4、  技術(shù)規(guī)格說明書

             

            將產(chǎn)品規(guī)格轉(zhuǎn)變?yōu)榧夹g(shù)需求:FFAB

            Benefits:對客戶的好處

            Advantage:產(chǎn)品的優(yōu)點(diǎn)

            Function:功能模塊的賣點(diǎn)

            Feature:實(shí)現(xiàn)功能模塊的技術(shù)特性

             

            業(yè)界常用的$APPEALS模型:$價(jià)格、A可獲得性、P包裝、P功能性能、E易用、A保證、L生命周期成本、S社會(huì)接受程度

             

             

             

             

            posted @ 2012-11-16 13:37 胡滿超 閱讀(358) | 評論 (0)編輯 收藏

            企業(yè)戰(zhàn)略規(guī)劃制定:一個(gè)從公司愿景,到經(jīng)營計(jì)劃,到各產(chǎn)品線的愿景,及業(yè)務(wù)計(jì)劃,再到產(chǎn)品平臺(tái)以及核心技術(shù)需求,并落實(shí)到資源規(guī)劃以及各種激勵(lì)機(jī)制的配套保證的總體流程

             

            戰(zhàn)略規(guī)劃分三個(gè)層次:

            1、  頂層設(shè)計(jì),戰(zhàn)略研究層

            2、  業(yè)務(wù)層,產(chǎn)品線戰(zhàn)略規(guī)劃層

            3、  支撐層,資源配置管理改進(jìn)層

             

            產(chǎn)品戰(zhàn)略的W型八個(gè)步驟

             

            技術(shù)型企業(yè)組織績效指標(biāo):

            1、  生存類能力指標(biāo):財(cái)務(wù)指標(biāo),交付指標(biāo),

            2、  可持續(xù)發(fā)展能力指標(biāo):新業(yè)務(wù)占收入的比重,核心技術(shù)和平臺(tái)帶來的收入占比

            3、  核心競爭能力指標(biāo):公共模塊共享率,人員結(jié)構(gòu)合理性及任職資料提升率,引導(dǎo)客戶需求與規(guī)劃能力

             

            產(chǎn)品線的核心考核指標(biāo)是組織績效:對市場成功和財(cái)務(wù)成功負(fù)責(zé)

            個(gè)人績效:只能產(chǎn)品線有利潤,組織績效成功,才有意義

             

            企業(yè)增加利潤的路徑:

            1、  進(jìn)入新市場

            2、  開發(fā)新業(yè)務(wù)

            3、  改變商業(yè)模式

            4、  降低成本:研發(fā)的首要目的是提高老產(chǎn)品的利潤,其次是開發(fā)新產(chǎn)品,新技術(shù)

            5、  提高價(jià)格

             

            企業(yè)新業(yè)務(wù)分類:

            1、  聚焦發(fā)展,70%

            2、  必須突破的業(yè)務(wù),20%

            3、  布局式業(yè)務(wù),10%

             

            筆記原書:

            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3

             

            posted @ 2012-11-13 09:54 胡滿超 閱讀(347) | 評論 (0)編輯 收藏

            IPD介紹

             

            研發(fā)的六種產(chǎn)出模式:

            1、  基礎(chǔ)研究,發(fā)明和標(biāo)準(zhǔn)

            2、  應(yīng)用開發(fā),將非成熟的應(yīng)用技術(shù)變成成熟的技術(shù)

            3、  項(xiàng)目開發(fā),一次性的定制

            4、  產(chǎn)品開發(fā),內(nèi)部共享模塊與產(chǎn)品,外部銷售的產(chǎn)品,可批量,可重復(fù),可復(fù)制生產(chǎn)

            5、  解決方案,以產(chǎn)品為核心,為客戶做的跨產(chǎn)品或跨領(lǐng)域集成方案

            6、  服務(wù)和運(yùn)營,服務(wù)、運(yùn)營、維護(hù)獲取收益

             

            產(chǎn)品開發(fā)貨架層次:器件、組件、部件、單機(jī)、整機(jī)、子系統(tǒng)、系統(tǒng)

            產(chǎn)品分類:

            1、  內(nèi)部共享產(chǎn)品:器件、組件、部件

            2、  面向細(xì)分客戶群的產(chǎn)品:部件、單機(jī)、整機(jī)、子系統(tǒng)(能力強(qiáng)的公司)

            3、  解決方案級(jí)產(chǎn)品:子系統(tǒng)、系統(tǒng)

             

            技術(shù)型企業(yè)的商業(yè)模式:經(jīng)營技術(shù)、經(jīng)營產(chǎn)品、經(jīng)營解決方案、經(jīng)營客戶和服務(wù)

             

            技術(shù)型企業(yè)的商業(yè)模式發(fā)展和演變五個(gè)階段:

            1、  勞動(dòng)密集型加工

            2、  項(xiàng)目生存型

            3、  產(chǎn)品擴(kuò)展型

            4、  運(yùn)營客戶型

            5、  集成產(chǎn)業(yè)鏈型

             

            產(chǎn)品開發(fā)方式:

            1、  先開發(fā)技術(shù),然后做通用產(chǎn)品,再銷售

            技術(shù)開發(fā)->產(chǎn)品開發(fā)->形成產(chǎn)品->銷售渠道->通用客戶需求

            缺點(diǎn):容易被細(xì)分市場產(chǎn)品替代,技術(shù)一旦落后沒有后續(xù)產(chǎn)出

            2、  客戶需求,尋找技術(shù),完成定制

            客戶需求->營銷渠道->確定交付->投入開發(fā)->技術(shù)突破

            缺點(diǎn):技術(shù)開發(fā)有風(fēng)險(xiǎn);一個(gè)個(gè)項(xiàng)目做,企業(yè)很難做大;質(zhì)量不易保證;人員沒有專業(yè)發(fā)展通道,容易流失;項(xiàng)目越多,管理越難

             

            集成產(chǎn)品開發(fā):

            1、  產(chǎn)品開發(fā)與技術(shù)開發(fā)、平臺(tái)開發(fā)分離;

            2、  技術(shù)和平臺(tái)開發(fā)先行,解決技術(shù)突破;

            3、  產(chǎn)品開發(fā)按細(xì)分客戶群需求

             

            集成產(chǎn)品開發(fā)和技術(shù)開發(fā)特點(diǎn):

            1、  產(chǎn)品開發(fā):強(qiáng)調(diào)基于市場需求和共享平臺(tái),對市場和財(cái)務(wù)的成功負(fù)責(zé)

            2、  技術(shù)開發(fā):自己掌握業(yè)界成熟的技術(shù),做成貨架,供產(chǎn)品開發(fā)時(shí)共享,以縮短產(chǎn)品開發(fā)周期

             

            集成產(chǎn)品開發(fā)三種產(chǎn)品形態(tài):

            1、  產(chǎn)品大版本V:平臺(tái)版本

            2、  細(xì)分客戶群版本R:交付給用客戶產(chǎn)品,四要素:客戶及競爭需求、功能與技術(shù)需求、時(shí)間、成本

            3、  客戶定制版本M:在R版本的基礎(chǔ)上針對具體客戶的個(gè)性化版本

             

            產(chǎn)品開發(fā)四個(gè)范疇:技術(shù)開發(fā)、市場開發(fā)、生產(chǎn)和服務(wù)開發(fā)、資料包開發(fā)

            產(chǎn)品開發(fā)的步驟:

            1、  先進(jìn)行市場開發(fā),細(xì)分客戶群,尋找賣點(diǎn)和商業(yè)模式,尋找市場和財(cái)務(wù)成功的要素;

            2、  根據(jù)產(chǎn)品需求進(jìn)行分解與分配,進(jìn)行技術(shù)開發(fā)

            3、  根據(jù)技術(shù)要求進(jìn)行產(chǎn)品的可生產(chǎn)性,可安裝性,可測試性,可驗(yàn)證性,可服務(wù)性開發(fā)

            4、  根據(jù)產(chǎn)品大量進(jìn)入市場,進(jìn)行技術(shù)資料包,服務(wù)資料包和銷售工具的開發(fā)

             

            企業(yè)研發(fā)管理發(fā)展的五個(gè)階段:

            1、  單項(xiàng)目單產(chǎn)品階段:以項(xiàng)目為核心

            2、  多產(chǎn)品、共享產(chǎn)品和貨架平臺(tái)階段:以產(chǎn)品為核心

            3、  以共享為核心面向客戶需求階段:以客戶為核心

            4、  以產(chǎn)業(yè)鏈為核心的關(guān)注利潤階段:以利潤為核心

            5、  持續(xù)改進(jìn)階段

             

            集成產(chǎn)品開發(fā)管理思想:

            1、  產(chǎn)品開發(fā)是一項(xiàng)投資

            2、  必須強(qiáng)調(diào)基于市場的創(chuàng)新

            3、  執(zhí)行技術(shù)開發(fā)與產(chǎn)品開發(fā)分離

            4、  對技術(shù)進(jìn)行分類管理,強(qiáng)調(diào)核心技術(shù),關(guān)鍵技術(shù)的自主開發(fā)

            5、  跨部分的協(xié)同開發(fā),實(shí)現(xiàn)全流程全要素(市場、研發(fā)、生產(chǎn)、采購、財(cái)務(wù)協(xié)同)的管理

            6、  強(qiáng)調(diào)CBB和平臺(tái)建設(shè),強(qiáng)調(diào)技術(shù)共享

            7、  執(zhí)行異步開發(fā)

            8、  根據(jù)產(chǎn)品的不同層次和技術(shù)開發(fā)執(zhí)行不同的結(jié)構(gòu)化開發(fā)流程

            9、  強(qiáng)調(diào)市場和財(cái)務(wù)成功、核心競爭力的提升是研發(fā)績效考核的重要因素

             

            要實(shí)現(xiàn)IPD要以產(chǎn)品線(產(chǎn)品)為核心進(jìn)行四大重組:財(cái)務(wù)重組、市場重組、產(chǎn)品重組、組織與流程重組

            筆記原書:

            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3

             

            posted @ 2012-11-11 21:42 胡滿超 閱讀(724) | 評論 (0)編輯 收藏
            2011年我開始接觸一些IPD的培訓(xùn)課程,今年10.1長假期間我又參加了兩次有關(guān)IPD的外訓(xùn)課程,對IPD有了一些大概的了解,10.1過后我買了一些有關(guān)IPD的書籍開始閱讀,了解了更多的IPD的知識(shí)后使我感到十分震驚,原來產(chǎn)品的開發(fā)是應(yīng)該這樣搞的,困惑了很久的一些產(chǎn)品管理問題一下子找到了答案(雖然還不是全部)。

            在中國涉及到產(chǎn)品開發(fā)的公司有很多,各行各業(yè)的都有,做的好做的一般都存在,從我的工作經(jīng)歷看,先在小型軟件公司工作,后到中小型軟件公司工作,之后又在一家世界有名的超大公司做軟件開發(fā),大中小型的公司我都干過了,但依然找不到軟件開發(fā)在管理方面的門徑。傳統(tǒng)管理,營銷管理,人力資源管理都很少涉及產(chǎn)品開發(fā)管理,這說明這是一門很“偏”學(xué)問。產(chǎn)品管理既涉及到開發(fā)人員的管理,又涉及到技術(shù)管理,還有流程建立行者等等,在我的工作經(jīng)歷中經(jīng)常遇到最多的問題包含:

            1、中小公司無法吸引開發(fā)高手,長期發(fā)展甚至?xí)杏X整個(gè)小行業(yè)人才凋零,沒有前景
            2、開發(fā)過程混亂,開發(fā)團(tuán)隊(duì)的工作效率主要取決于leader的個(gè)人水平及工作積極性
            3、質(zhì)量管理較差,需求來源模糊,設(shè)計(jì)稀里糊涂,到了測試階段基本上已經(jīng)無法控制、測試人員對項(xiàng)目影響力較小
            4、文檔管理幾乎空白,屬于自覺自發(fā)的行為結(jié)果
            5、人員培養(yǎng)困難
            6、新手做設(shè)計(jì),高手救火
            。。。很多很多

            這些問題,或大或小,或輕或重,在我閱讀完從華為走出來做IPD咨詢這些高手寫的書之后,慢慢找到了答案。

            IPD集成產(chǎn)品開發(fā)管理思想強(qiáng)調(diào):

            1、  產(chǎn)品開發(fā)是一項(xiàng)投資

            2、  必須強(qiáng)調(diào)基于市場的創(chuàng)新

            3、  執(zhí)行技術(shù)開發(fā)與產(chǎn)品開發(fā)分離

            4、  對技術(shù)進(jìn)行分類管理,強(qiáng)調(diào)核心技術(shù),關(guān)鍵技術(shù)的自主開發(fā)

            5、  跨部分的協(xié)同開發(fā),實(shí)現(xiàn)全流程全要素(市場、研發(fā)、生產(chǎn)、采購、財(cái)務(wù)協(xié)同)的管理

            6、  強(qiáng)調(diào)CBB和平臺(tái)建設(shè),強(qiáng)調(diào)技術(shù)共享

            7、  執(zhí)行異步開發(fā)

            8、  根據(jù)產(chǎn)品的不同層次和技術(shù)開發(fā)執(zhí)行不同的結(jié)構(gòu)化開發(fā)流程

            9、  強(qiáng)調(diào)市場和財(cái)務(wù)成功、核心競爭力的提升是研發(fā)績效考核的重要因素

            除了IPD的流程之外,華為人結(jié)合了華為實(shí)踐IPD過程的經(jīng)驗(yàn)與教訓(xùn),及一些成功的管理實(shí)踐,做了完整的總結(jié)與升華,閱讀之后感覺茅塞頓開。
            介紹兩本書:

            http://www.amazon.cn/gp/product/B001ULBY6W



            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3


            我將陸續(xù)把自己寫的一些筆記與大家分享。

             

            posted @ 2012-11-10 14:20 胡滿超 閱讀(1830) | 評論 (1)編輯 收藏

            總結(jié)網(wǎng)上訂票系統(tǒng)常見的問題如下:

             

            1、 高峰時(shí)段無法登陸,提示在線用戶過多

            2、 訂單提交成功之后,支付環(huán)節(jié)出了問題,瀏覽器意外退出,后再登陸,發(fā)現(xiàn)登陸不上,無法在規(guī)定時(shí)間內(nèi)完成支付,購票失敗

            3、 訂單提交反饋時(shí)間過長,熱門線路需要等待20分鐘甚至更長時(shí)間,才能得到反饋

            4、 驗(yàn)證碼輸入總是錯(cuò)誤,無法完成驗(yàn)證碼驗(yàn)證環(huán)節(jié),無法登陸

            5、 逢用戶高峰,網(wǎng)站反應(yīng)速度較慢

            6、 對多瀏覽器支持不好,沒有IOSAndroid應(yīng)用入口

             

            以上問題多數(shù)都是用戶體驗(yàn)的問題,用戶體驗(yàn)的問題即有票源稀少的原因,更多的是對訂票系統(tǒng)使用過程中系統(tǒng)登陸困難,反應(yīng)遲鈍,訂單結(jié)果反饋太慢,意外退出等問題難以忍受。

             

            本人并非訂票系統(tǒng)設(shè)計(jì)人員,但是通用對訂票系統(tǒng)外在的表現(xiàn)大膽猜測一下訂票系統(tǒng)的設(shè)計(jì)。

             

            常見問題原因分析:

             

            問題1,高峰時(shí)段無法登陸,提示在線用戶過多;

            問題4,驗(yàn)證碼輸入總是錯(cuò)誤,無法完成驗(yàn)證碼驗(yàn)證環(huán)節(jié),無法登陸

             

            無法登陸的問題,其原因顯然是前端用于處理WEB連接服務(wù)器太少或網(wǎng)絡(luò)帶寬不足所至,為了不讓更多的用戶一起連接服務(wù)器導(dǎo)致服務(wù)器較慢,只好拒絕一些用戶的登陸請求。使同時(shí)在線人數(shù)保持在一個(gè)上限以內(nèi)。

            驗(yàn)證碼輸入總是錯(cuò)誤的問題,原因也是用于處理WEB連接服務(wù)器太少所至,為了防止一些客戶端使用“惡意”軟件,不斷自動(dòng)登陸的情況,驗(yàn)證碼需求由客戶端向服務(wù)器提交一個(gè)驗(yàn)證請求,可以由于服務(wù)器響應(yīng)實(shí)在太慢,以至于整個(gè)響應(yīng)速度居然超過了驗(yàn)證碼的有效時(shí)間。

             

            常見問題:

            問題2:訂單提交成功之后,支付環(huán)節(jié)出了問題,瀏覽器意外退出,后再登陸,發(fā)現(xiàn)登陸不上,無法在規(guī)定時(shí)間內(nèi)完成支付,購票失敗

            問題3:訂單提交反饋時(shí)間過長,熱門線路需要等待20分鐘甚至更長時(shí)間,才能得到反饋

            問題5:逢用戶高峰,網(wǎng)站反應(yīng)速度較慢

             

            問題2是一個(gè)系統(tǒng)的BUG,但是可以通過一些設(shè)計(jì)來解決這個(gè)問題。

             

            問題3,問題5,可能是由于WEB服務(wù)器與邏輯處理服務(wù)器在同一臺(tái)機(jī)器上,而導(dǎo)致服務(wù)器CPU分配了過多的時(shí)間與資源在處理用戶請求,在執(zhí)行邏輯時(shí)執(zhí)行緩慢。

             

            如果數(shù)據(jù)庫也在同一臺(tái)服務(wù)器上,那問題可能更加嚴(yán)重。當(dāng)然我相信,不在一臺(tái)服務(wù)器上的可能性比較大。

             

            總結(jié)以上問題,其解決方案建議如下:

             

            1、 準(zhǔn)備更多前端WEB服務(wù)器,解決WEB前端的問題沒有別的辦法,只能加服務(wù)器,或者每個(gè)省市放一群單獨(dú)的服務(wù)器,根據(jù)用戶量進(jìn)行增加,直到響應(yīng)流暢為止。

            2、 可以考慮把邏輯服務(wù)器單獨(dú)分離出來,與WEB服務(wù)器分開,WEB服務(wù)器只處理WEB請求,邏輯服務(wù)器單獨(dú)運(yùn)行

            3、 把數(shù)據(jù)庫服務(wù)器單獨(dú)分離,并且把火車票票量數(shù)據(jù)庫與用戶訂票信息數(shù)據(jù)庫放到不同的機(jī)器上,由于大量的訂票請求會(huì)訪問火車票票量數(shù)據(jù)庫,并且會(huì)有大量訂票數(shù)據(jù)添加到用戶訂票信息數(shù)據(jù)庫中,在處理添加的邏輯占用了大量的數(shù)據(jù)庫資源,會(huì)導(dǎo)致整個(gè)系統(tǒng)變慢。如果放到同一臺(tái)機(jī)器上,必然導(dǎo)致響應(yīng)變慢。把不同性質(zhì)的數(shù)據(jù),放到不同機(jī)器、不同的數(shù)據(jù)系統(tǒng)中,可以合理的分流系統(tǒng)訪問量,使系統(tǒng)響應(yīng)加快,橫向擴(kuò)展更具有彈性。

            4、 把支付訂票費(fèi)用放到一個(gè)單獨(dú)的網(wǎng)站進(jìn)行,訂單提交成功后鎖票,之后根據(jù)訂單號(hào)可以在另外一個(gè)單獨(dú)的網(wǎng)站上進(jìn)行單獨(dú)支付,支付時(shí)只要提供訂票號(hào)就可以,這樣做有很多好處:1. 避免了由于支付失敗而導(dǎo)致退出瀏覽器,卻由于在線人數(shù)過多無法登陸導(dǎo)致訂票失敗的情況,2. 電話訂票也可以在此支付,在火車站機(jī)自動(dòng)售票機(jī)器上取票,這樣支付方便,也解決了異地付款取票的問題 3. 單獨(dú)支付會(huì)在一定程度上給訂票網(wǎng)站減輕訪問與處理壓力

            5、 提供快遞火車票服務(wù)進(jìn)行創(chuàng)收,支付成功的火車票可以進(jìn)行快遞,這樣即方便訂票人也可以給鐵道部創(chuàng)收

            6、 網(wǎng)站可以根據(jù)用戶訂票信息做一些有針對性網(wǎng)站廣告,如旅游、酒店廣告等進(jìn)行創(chuàng)收

            7、 開發(fā)出更多的手機(jī)終端軟件,擴(kuò)大訂票系統(tǒng)使用的覆蓋面

            8、 支持更多的瀏覽器,而不僅僅是IE


            由于本人水平有限,歡迎各個(gè)高手批評指正,希望這篇文章能夠拋磚引玉,大家一起討論。
            網(wǎng)上的其他類似文章:

            http://cloud.it168.com/a2012/0130/1304/000001304533.shtml 

            posted @ 2012-10-15 17:09 胡滿超 閱讀(2783) | 評論 (7)編輯 收藏
            posted @ 2012-09-18 15:04 胡滿超 閱讀(460) | 評論 (0)編輯 收藏
            http://ipseeker.cn/tools/pywb.php 
            posted @ 2012-09-07 13:15 胡滿超 閱讀(357) | 評論 (0)編輯 收藏

            Windows平臺(tái)做開發(fā)肯定會(huì)接觸到UI程序的編寫,以MFCUI開發(fā)為例,可以開發(fā)單文檔,多文檔,對話框等形式的應(yīng)用。寫一個(gè)UI程序容易,寫好卻不是一件簡單的事情。在整個(gè)代碼結(jié)構(gòu)的清晰性與可維護(hù)性方面需要多加注意。寫好UI程序需求注意以下幾點(diǎn):

             

            1、圍繞數(shù)據(jù)編程與不是圍繞UI編程

             

            當(dāng)我們拿到需求最先接觸到的就是UI的設(shè)計(jì),也許是美工畫的,也許是設(shè)計(jì)草圖。工程師在具體設(shè)計(jì)的時(shí)候容易受UI的影響,或者干脆從UI開始編程。

             

            這是一個(gè)錯(cuò)誤的編程習(xí)慣,無論UI如何展現(xiàn)與交互,最終都應(yīng)該圍繞數(shù)據(jù)編程。拿到需求后,應(yīng)該先思考和推敲數(shù)據(jù)的設(shè)計(jì)與流轉(zhuǎn),UI不過就是數(shù)據(jù)的一種展現(xiàn)形式而已。

             

            2、做好UI與邏輯的解耦

             

            UI的編程會(huì)涉及到許多控件的操作,消息的處理,不知不覺,一個(gè)UI類的代碼會(huì)越寫越大,以至于一段時(shí)間以后,瀏覽和梳理都會(huì)變得不太方便。

             

            UI類里,除了與UI本身的操作有關(guān)的代碼以外,任何邏輯代碼都應(yīng)該與此解耦,并根據(jù)具體情況進(jìn)行封裝調(diào)用。如果一個(gè)控件關(guān)聯(lián)了太多數(shù)據(jù)操作,應(yīng)該把這些操作封裝到控件的繼承類中,把一類代碼進(jìn)行集中管理和維護(hù)。

             

            上述問題,在程序?qū)懽鞯某跗谶€不太明顯,隨著代碼逐漸膨脹,會(huì)越會(huì)越讓人難以忍受。

             

            3、數(shù)據(jù)單向依賴,單向更新

             

            UI圍繞的數(shù)據(jù)進(jìn)行展現(xiàn)與更新,在這個(gè)過程中,所以對數(shù)據(jù)的操作應(yīng)該進(jìn)行封裝,而不是散落在UI程序在各個(gè)角落,數(shù)據(jù)的更新、獲取和UI傳遞消息時(shí),應(yīng)該單向操作,如果出現(xiàn)循環(huán)處理的情況,在以后維護(hù)調(diào)試的BUG的過程中會(huì)變得比較困難,導(dǎo)致維護(hù)效率下降。

             

             

            posted @ 2012-08-31 17:00 胡滿超 閱讀(1051) | 評論 (0)編輯 收藏
            http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso
            posted @ 2012-03-23 17:16 胡滿超 閱讀(6091) | 評論 (1)編輯 收藏
            在 Windows x64 上共有2種查看方式。一種用于 32-bit 應(yīng)用程序,另一種用于 x64 應(yīng)用程序。默認(rèn)情況下,32-bit 應(yīng)用程序運(yùn)行在 x64 系統(tǒng)的 WOW64 模式下時(shí),只允許使用 32-bit 查看方式。使用 SetRegView 64 將允許安裝程序在 x64 中訪問注冊表鍵值。恢復(fù)訪問32位注冊表使用SetRegView 32

            它將影響
            DeleteRegKey,
            DeleteRegValue,
            EnumRegKey,
            EnumRegValue,
            ReadRegDWORD,
            ReadRegStr,
            WriteRegBin,
            WriteRegDWORD,
            WriteRegStr 和
            WriteRegExpandStr。
            posted @ 2012-03-09 10:29 胡滿超 閱讀(1594) | 評論 (0)編輯 收藏

            轉(zhuǎn)自:

            http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/

            Valgrind 概述

            體系結(jié)構(gòu)

            Valgrind是一套Linux下,開放源代碼(GPL V2)的仿真調(diào)試工具的集合。Valgrind由內(nèi)核(core)以及基于內(nèi)核的其他調(diào)試工具組成。內(nèi)核類似于一個(gè)框架(framework),它模擬了 一個(gè)CPU環(huán)境,并提供服務(wù)給其他工具;而其他工具則類似于插件 (plug-in),利用內(nèi)核提供的服務(wù)完成各種特定的內(nèi)存調(diào)試任務(wù)。Valgrind的體系結(jié)構(gòu)如下圖所示:


            圖 1 Valgrind 體系結(jié)構(gòu)
            Valgrind 體系結(jié)構(gòu)

            Valgrind包括如下一些工具:

            1. Memcheck。這是valgrind應(yīng)用最廣泛的工具,一個(gè)重量級(jí)的內(nèi)存檢查器,能夠發(fā)現(xiàn)開發(fā)中絕大多數(shù)內(nèi)存錯(cuò)誤使用情況,比如:使用未初始化的內(nèi)存,使用已經(jīng)釋放了的內(nèi)存,內(nèi)存訪問越界等。這也是本文將重點(diǎn)介紹的部分。
            2. Callgrind。它主要用來檢查程序中函數(shù)調(diào)用過程中出現(xiàn)的問題。
            3. Cachegrind。它主要用來檢查程序中緩存使用出現(xiàn)的問題。
            4. Helgrind。它主要用來檢查多線程程序中出現(xiàn)的競爭問題。
            5. Massif。它主要用來檢查程序中堆棧使用中出現(xiàn)的問題。
            6. Extension。可以利用core提供的功能,自己編寫特定的內(nèi)存調(diào)試工具。

            Linux 程序內(nèi)存空間布局

            要發(fā)現(xiàn)Linux下的內(nèi)存問題,首先一定要知道在Linux下,內(nèi)存是如何被分配的?下圖展示了一個(gè)典型的Linux C程序內(nèi)存空間布局:


            圖 2: 典型內(nèi)存空間布局
            典型內(nèi)存空間布局

            一個(gè)典型的Linux C程序內(nèi)存空間由如下幾部分組成:

            • 代碼段(.text)。這里存放的是CPU要執(zhí)行的指令。代碼段是可共享的,相同的代碼在內(nèi)存中只會(huì)有一個(gè)拷貝,同時(shí)這個(gè)段是只讀的,防止程序由于錯(cuò)誤而修改自身的指令。
            • 初始化數(shù)據(jù)段(.data)。這里存放的是程序中需要明確賦初始值的變量,例如位于所有函數(shù)之外的全局變量:int val=100。需要強(qiáng)調(diào)的是,以上兩段都是位于程序的可執(zhí)行文件中,內(nèi)核在調(diào)用exec函數(shù)啟動(dòng)該程序時(shí)從源程序文件中讀入。
            • 未初始化數(shù)據(jù)段(.bss)。位于這一段中的數(shù)據(jù),內(nèi)核在執(zhí)行該程序前,將其初始化為0或者null。例如出現(xiàn)在任何函數(shù)之外的全局變量:int sum;
            • 堆(Heap)。這個(gè)段用于在程序中進(jìn)行動(dòng)態(tài)內(nèi)存申請,例如經(jīng)常用到的malloc,new系列函數(shù)就是從這個(gè)段中申請內(nèi)存。
            • 棧(Stack)。函數(shù)中的局部變量以及在函數(shù)調(diào)用過程中產(chǎn)生的臨時(shí)變量都保存在此段中。

            內(nèi)存檢查原理

            Memcheck檢測內(nèi)存問題的原理如下圖所示:


            圖 3 內(nèi)存檢查原理
            內(nèi)存檢查原理

            Memcheck 能夠檢測出內(nèi)存問題,關(guān)鍵在于其建立了兩個(gè)全局表。

            1. Valid-Value 表:

            對于進(jìn)程的整個(gè)地址空間中的每一個(gè)字節(jié)(byte),都有與之對應(yīng)的 8 個(gè) bits;對于 CPU 的每個(gè)寄存器,也有一個(gè)與之對應(yīng)的 bit 向量。這些 bits 負(fù)責(zé)記錄該字節(jié)或者寄存器值是否具有有效的、已初始化的值。

            1. Valid-Address

            對于進(jìn)程整個(gè)地址空間中的每一個(gè)字節(jié)(byte),還有與之對應(yīng)的 1 個(gè) bit,負(fù)責(zé)記錄該地址是否能夠被讀寫。

            檢測原理:

            • 當(dāng)要讀寫內(nèi)存中某個(gè)字節(jié)時(shí),首先檢查這個(gè)字節(jié)對應(yīng)的 A bit。如果該A bit顯示該位置是無效位置,memcheck 則報(bào)告讀寫錯(cuò)誤。
            • 內(nèi)核(core)類似于一個(gè)虛擬的 CPU 環(huán)境,這樣當(dāng)內(nèi)存中的某個(gè)字節(jié)被加載到真實(shí)的 CPU 中時(shí),該字節(jié)對應(yīng)的 V bit 也被加載到虛擬的 CPU 環(huán)境中。一旦寄存器中的值,被用來產(chǎn)生內(nèi)存地址,或者該值能夠影響程序輸出,則 memcheck 會(huì)檢查對應(yīng)的V bits,如果該值尚未初始化,則會(huì)報(bào)告使用未初始化內(nèi)存錯(cuò)誤。

            回頁首

            Valgrind 使用

            第一步:準(zhǔn)備好程序

            為了使valgrind發(fā)現(xiàn)的錯(cuò)誤更精確,如能夠定位到源代碼行,建議在編譯時(shí)加上-g參數(shù),編譯優(yōu)化選項(xiàng)請選擇O0,雖然這會(huì)降低程序的執(zhí)行效率。

            這里用到的示例程序文件名為:sample.c(如下所示),選用的編譯器為gcc。

            生成可執(zhí)行程序 gcc –g –O0 sample.c –o sample


            清單 1
            清單 1

            第二步:在valgrind下,運(yùn)行可執(zhí)行程序。

            利用valgrind調(diào)試內(nèi)存問題,不需要重新編譯源程序,它的輸入就是二進(jìn)制的可執(zhí)行程序。調(diào)用Valgrind的通用格式是:valgrind [valgrind-options] your-prog [your-prog-options]

            Valgrind 的參數(shù)分為兩類,一類是 core 的參數(shù),它對所有的工具都適用;另外一類就是具體某個(gè)工具如 memcheck 的參數(shù)。Valgrind 默認(rèn)的工具就是 memcheck,也可以通過“--tool=tool name”指定其他的工具。Valgrind 提供了大量的參數(shù)滿足你特定的調(diào)試需求,具體可參考其用戶手冊。

            這個(gè)例子將使用 memcheck,于是可以輸入命令入下:valgrind <Path>/sample.

            第三步:分析 valgrind 的輸出信息。

            以下是運(yùn)行上述命令后的輸出。


            清單 2
            清單 2
            • 左邊顯示類似行號(hào)的數(shù)字(32372)表示的是 Process ID。
            • 最上面的紅色方框表示的是 valgrind 的版本信息。
            • 中間的紅色方框表示 valgrind 通過運(yùn)行被測試程序,發(fā)現(xiàn)的內(nèi)存問題。通過閱讀這些信息,可以發(fā)現(xiàn):
              1. 這是一個(gè)對內(nèi)存的非法寫操作,非法寫操作的內(nèi)存是4 bytes。
              2. 發(fā)生錯(cuò)誤時(shí)的函數(shù)堆棧,以及具體的源代碼行號(hào)。
              3. 非法寫操作的具體地址空間。
            • 最下面的紅色方框是對發(fā)現(xiàn)的內(nèi)存問題和內(nèi)存泄露問題的總結(jié)。內(nèi)存泄露的大小(40 bytes)也能夠被檢測出來。

            示例程序顯然有兩個(gè)問題,一是fun函數(shù)中動(dòng)態(tài)申請的堆內(nèi)存沒有釋放;二是對堆內(nèi)存的訪問越界。這兩個(gè)問題均被valgrind發(fā)現(xiàn)。

            回頁首

            利用Memcheck發(fā)現(xiàn)常見的內(nèi)存問題

            在Linux平臺(tái)開發(fā)應(yīng)用程序時(shí),最常遇見的問題就是錯(cuò)誤的使用內(nèi)存,我們總結(jié)了常見了內(nèi)存錯(cuò)誤使用情況,并說明了如何用valgrind將其檢測出來。

            使用未初始化的內(nèi)存

            問題分析:

            對于位于程序中不同段的變量,其初始值是不同的,全局變量和靜態(tài)變量初始值為0,而局部變量和動(dòng)態(tài)申請的變量,其初始值為隨機(jī)值。如果程序使用了為隨機(jī)值的變量,那么程序的行為就變得不可預(yù)期。

            下面的程序就是一種常見的,使用了未初始化的變量的情況。數(shù)組a是局部變量,其初始值為隨機(jī)值,而在初始化時(shí)并沒有給其所有數(shù)組成員初始化,如此在接下來使用這個(gè)數(shù)組時(shí)就潛在有內(nèi)存問題。


            清單 3
            清單 3

            結(jié)果分析:

            假設(shè)這個(gè)文件名為:badloop.c,生成的可執(zhí)行程序?yàn)?strong>badloop。用memcheck對其進(jìn)行測試,輸出如下。


            清單 4
            清單 4

            輸出結(jié)果顯示,在該程序第11行中,程序的跳轉(zhuǎn)依賴于一個(gè)未初始化的變量。準(zhǔn)確的發(fā)現(xiàn)了上述程序中存在的問題。

            內(nèi)存讀寫越界

            問題分析:

            這種情況是指:訪問了你不應(yīng)該/沒有權(quán)限訪問的內(nèi)存地址空間,比如訪問數(shù)組時(shí)越界;對動(dòng)態(tài)內(nèi)存訪問時(shí)超出了申請的內(nèi)存大小范圍。下面的程序就是一個(gè) 典型的數(shù)組越界問題。pt是一個(gè)局部數(shù)組變量,其大小為4,p初始指向pt數(shù)組的起始地址,但在對p循環(huán)疊加后,p超出了pt數(shù)組的范圍,如果此時(shí)再對p 進(jìn)行寫操作,那么后果將不可預(yù)期。


            清單 5
            清單 5

            結(jié)果分析:

            假設(shè)這個(gè)文件名為badacc.cpp,生成的可執(zhí)行程序?yàn)閎adacc,用memcheck對其進(jìn)行測試,輸出如下。


            清單 6
            清單 6

            輸出結(jié)果顯示,在該程序的第15行,進(jìn)行了非法的寫操作;在第16行,進(jìn)行了非法讀操作。準(zhǔn)確地發(fā)現(xiàn)了上述問題。

            內(nèi)存覆蓋

            問題分析:

            C 語言的強(qiáng)大和可怕之處在于其可以直接操作內(nèi)存,C 標(biāo)準(zhǔn)庫中提供了大量這樣的函數(shù),比如 strcpy, strncpy, memcpy, strcat 等,這些函數(shù)有一個(gè)共同的特點(diǎn)就是需要設(shè)置源地址 (src),和目標(biāo)地址(dst),src 和 dst 指向的地址不能發(fā)生重疊,否則結(jié)果將不可預(yù)期。

            下面就是一個(gè) src 和 dst 發(fā)生重疊的例子。在 15 與 17 行中,src 和 dst 所指向的地址相差 20,但指定的拷貝長度卻是 21,這樣就會(huì)把之前的拷貝值覆蓋。第 24 行程序類似,src(x+20) 與 dst(x) 所指向的地址相差 20,但 dst 的長度卻為 21,這樣也會(huì)發(fā)生內(nèi)存覆蓋。


            清單 7
            清單 7

            結(jié)果分析:

            假設(shè)這個(gè)文件名為 badlap.cpp,生成的可執(zhí)行程序?yàn)?badlap,用 memcheck 對其進(jìn)行測試,輸出如下。


            清單 8
            清單 8

            輸出結(jié)果顯示上述程序中第15,17,24行,源地址和目標(biāo)地址設(shè)置出現(xiàn)重疊。準(zhǔn)確的發(fā)現(xiàn)了上述問題。

            動(dòng)態(tài)內(nèi)存管理錯(cuò)誤

            問題分析:

            常見的內(nèi)存分配方式分三種:靜態(tài)存儲(chǔ),棧上分配,堆上分配。全局變量屬于靜態(tài)存儲(chǔ),它們是在編譯時(shí)就被分配了存儲(chǔ)空間,函數(shù)內(nèi)的局部變量屬于棧上分 配,而最靈活的內(nèi)存使用方式當(dāng)屬堆上分配,也叫做內(nèi)存動(dòng)態(tài)分配了。常用的內(nèi)存動(dòng)態(tài)分配函數(shù)包括:malloc, alloc, realloc, new等,動(dòng)態(tài)釋放函數(shù)包括free, delete。

            一旦成功申請了動(dòng)態(tài)內(nèi)存,我們就需要自己對其進(jìn)行內(nèi)存管理,而這又是最容易犯錯(cuò)誤的。下面的一段程序,就包括了內(nèi)存動(dòng)態(tài)管理中常見的錯(cuò)誤。


            清單 9
            清單 9

            常見的內(nèi)存動(dòng)態(tài)管理錯(cuò)誤包括:

              • 申請和釋放不一致

            由于 C++ 兼容 C,而 C 與 C++ 的內(nèi)存申請和釋放函數(shù)是不同的,因此在 C++ 程序中,就有兩套動(dòng)態(tài)內(nèi)存管理函數(shù)。一條不變的規(guī)則就是采用 C 方式申請的內(nèi)存就用 C 方式釋放;用 C++ 方式申請的內(nèi)存,用 C++ 方式釋放。也就是用 malloc/alloc/realloc 方式申請的內(nèi)存,用 free 釋放;用 new 方式申請的內(nèi)存用 delete 釋放。在上述程序中,用 malloc 方式申請了內(nèi)存卻用 delete 來釋放,雖然這在很多情況下不會(huì)有問題,但這絕對是潛在的問題。

              • 申請和釋放不匹配

            申請了多少內(nèi)存,在使用完成后就要釋放多少。如果沒有釋放,或者少釋放了就是內(nèi)存泄露;多釋放了也會(huì)產(chǎn)生問題。上述程序中,指針p和pt指向的是同一塊內(nèi)存,卻被先后釋放兩次。

              • 釋放后仍然讀寫

            本質(zhì)上說,系統(tǒng)會(huì)在堆上維護(hù)一個(gè)動(dòng)態(tài)內(nèi)存鏈表,如果被釋放,就意味著該塊內(nèi)存可以繼續(xù)被分配給其他部分,如果內(nèi)存被釋放后再訪問,就可能覆蓋其他部分的信息,這是一種嚴(yán)重的錯(cuò)誤,上述程序第16行中就在釋放后仍然寫這塊內(nèi)存。

            結(jié)果分析:

            假設(shè)這個(gè)文件名為badmac.cpp,生成的可執(zhí)行程序?yàn)閎admac,用memcheck對其進(jìn)行測試,輸出如下。


            清單 10
            清單 10

            輸出結(jié)果顯示,第14行分配和釋放函數(shù)不一致;第16行發(fā)生非法寫操作,也就是往釋放后的內(nèi)存地址寫值;第17行釋放內(nèi)存函數(shù)無效。準(zhǔn)確地發(fā)現(xiàn)了上述三個(gè)問題。

            內(nèi)存泄露

            問題描述:

            內(nèi)存泄露(Memory leak)指的是,在程序中動(dòng)態(tài)申請的內(nèi)存,在使用完后既沒有釋放,又無法被程序的其他部分訪問。內(nèi)存泄露是在開發(fā)大型程序中最令人頭疼的問題,以至于有 人說,內(nèi)存泄露是無法避免的。其實(shí)不然,防止內(nèi)存泄露要從良好的編程習(xí)慣做起,另外重要的一點(diǎn)就是要加強(qiáng)單元測試(Unit Test),而memcheck就是這樣一款優(yōu)秀的工具。

            下面是一個(gè)比較典型的內(nèi)存泄露案例。main函數(shù)調(diào)用了mk函數(shù)生成樹結(jié)點(diǎn),可是在調(diào)用完成之后,卻沒有相應(yīng)的函數(shù):nodefr釋放內(nèi)存,這樣內(nèi)存中的這個(gè)樹結(jié)構(gòu)就無法被其他部分訪問,造成了內(nèi)存泄露。

            在一個(gè)單獨(dú)的函數(shù)中,每個(gè)人的內(nèi)存泄露意識(shí)都是比較強(qiáng)的。但很多情況下,我們都會(huì)對malloc/free 或new/delete做一些包裝,以符合我們特定的需要,無法做到在一個(gè)函數(shù)中既使用又釋放。這個(gè)例子也說明了內(nèi)存泄露最容易發(fā)生的地方:即兩個(gè)部分的 接口部分,一個(gè)函數(shù)申請內(nèi)存,一個(gè)函數(shù)釋放內(nèi)存。并且這些函數(shù)由不同的人開發(fā)、使用,這樣造成內(nèi)存泄露的可能性就比較大了。這需要養(yǎng)成良好的單元測試習(xí) 慣,將內(nèi)存泄露消滅在初始階段。


            清單 11
            清單 1

            清單 11.2
            清單 11.2

            清單 11.3
            清單 11.3

            結(jié)果分析:

            假設(shè)上述文件名位tree.h, tree.cpp, badleak.cpp,生成的可執(zhí)行程序?yàn)閎adleak,用memcheck對其進(jìn)行測試,輸出如下。


            清單 12
            清單 12

            該示例程序是生成一棵樹的過程,每個(gè)樹節(jié)點(diǎn)的大小為12(考慮內(nèi)存對齊),共8個(gè)節(jié)點(diǎn)。從上述輸出可以看出,所有的內(nèi)存泄露都被發(fā)現(xiàn)。 Memcheck將內(nèi)存泄露分為兩種,一種是可能的內(nèi)存泄露(Possibly lost),另外一種是確定的內(nèi)存泄露(Definitely lost)。Possibly lost 是指仍然存在某個(gè)指針能夠訪問某塊內(nèi)存,但該指針指向的已經(jīng)不是該內(nèi)存首地址。Definitely lost 是指已經(jīng)不能夠訪問這塊內(nèi)存。而Definitely lost又分為兩種:直接的(direct)和間接的(indirect)。直接和間接的區(qū)別就是,直接是沒有任何指針指向該內(nèi)存,間接是指指向該內(nèi)存的 指針都位于內(nèi)存泄露處。在上述的例子中,根節(jié)點(diǎn)是directly lost,而其他節(jié)點(diǎn)是indirectly lost。

            回頁首

            總結(jié)

            本文介紹了valgrind的體系結(jié)構(gòu),并重點(diǎn)介紹了其應(yīng)用最廣泛的工具:memcheck。闡述了memcheck發(fā)現(xiàn)內(nèi)存問題的基本原理,基本 使用方法,以及利用memcheck如何發(fā)現(xiàn)目前開發(fā)中最廣泛的五大類內(nèi)存問題。在項(xiàng)目中盡早的發(fā)現(xiàn)內(nèi)存問題,能夠極大地提高開發(fā)效率,valgrind 就是能夠幫助你實(shí)現(xiàn)這一目標(biāo)的出色工具。


            參考資料

            關(guān)于作者

            楊經(jīng),他的技術(shù)興趣包括自動(dòng)化測試與linux系統(tǒng)管理。目前是IBM中國系統(tǒng)與技術(shù)實(shí)驗(yàn)室(CSTL)的軟件工程師,從事中小型企業(yè)(SME)服務(wù)器的測試工作,可以通過cdlyangj@cn.ibm.com與他聯(lián)系。


            轉(zhuǎn)自:
            http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/
            posted @ 2011-12-30 14:24 胡滿超 閱讀(333) | 評論 (0)編輯 收藏
            新建一個(gè)DEF文件(右鍵Project->Add->New Item->.def)

            加入

            EXPORTS

            fn_function @ 1

            重新編譯就OK了

            參考鏈接:

            http://blog.csdn.net/cglover/article/details/1621685
            posted @ 2011-11-21 17:45 胡滿超 閱讀(977) | 評論 (0)編輯 收藏
            判斷用戶登陸的是域還是工作組

            原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http://okhelper.blog.51cto.com/313500/197249
            Set objshell = CreateObject("wscript.shell")

            strDomainDnsName = LCase(objshell.ExpandEnvironmentStrings("%USERDNSDOMAIN%"))

            If strDomainDnsName = "%USERDNSDOMAIN%" Then    
              WScript.Echo "workgroup"
                
            Else
              WScript.Echo "Domain"
                
            End if

            本文出自 “okhelper” 博客,請務(wù)必保留此出處http://okhelper.blog.51cto.com/313500/197249


            注意:下面的鏈接提供了7種方法


            http://www.robvanderwoude.com/vbstech_network_names_domain.php

            Environment Variable
            VBScript Code:
            Set wshShell = WScript.CreateObject( "WScript.Shell" )
            strUserDomain = wshShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: NT 4, 2000, XP, Server 2003, Vista or Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: N/A
            Script Engine: WSH
            Summarized: Works in Windows NT 4 or later, *.vbs with CSCRIPT.EXE or WSCRIPT.EXE only.
            Doesn't work in Windows 95, 98 or ME, nor in Internet Explorer (HTAs).
             
            [Back to the top of this page]
             
            WshNetwork
            VBScript Code:
            Set wshNetwork = WScript.CreateObject( "WScript.Network" )
            strUserDomain = wshNetwork.UserDomain
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: Windows 98, ME, NT 4, 2000, XP, Server 2003, Vista, Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: Windows Script 5.6 for Windows 98, ME, and NT 4 (no longer available for download?)
            Script Engine: WSH
            Summarized: Works in Windows 98 or later, *.vbs with CSCRIPT.EXE or WSCRIPT.EXE only.
            Doesn't work in Windows 95, nor in Internet Explorer (HTAs).
             
            [Back to the top of this page]
             
            ADSI (WinNTSystemInfo)
            VBScript Code:
            Set objSysInfo = CreateObject( "WinNTSystemInfo" )
            strUserDomain = objSysInfo.DomainName
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: 2000, XP, Server 2003, Vista or Server 2008 (95, 98, ME, NT 4 with Active Directory client extension)
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: Active Directory client extension for Windows 95, 98, ME or NT 4
            Script Engine: any
            Summarized: Can work in any Windows version, but Active Directory client extension is required for Windows 95, 98, ME or NT 4.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
             
            [Back to the top of this page]
             
            ADSI (ADSystemInfo)
            VBScript Code:
            Set objSysInfo = CreateObject( "ADSystemInfo" )
            strUserDomain = objSysInfo.DomainName
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: 2000, XP, Server 2003, Vista or Server 2008 (95, 98, ME, NT 4 with Active Directory client extension)
            Network: Only AD domain members
            Client software: Active Directory client extension for Windows 95, 98, ME or NT 4
            Script Engine: any
            Summarized: For AD domain members only.
            Can work in any Windows version, but Active Directory client extension is required for Windows 95, 98, ME or NT 4 SP4.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
            Doesn't work on stand-alones, workgroup members or members of NT domains.
             
            [Back to the top of this page]
             
            WMI (Win32_ComputerSystem)
            VBScript Code:
            Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
            Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
            For Each objItem in colItems
                strComputerDomain = objItem.Domain
                If objItem.PartOfDomain Then
                    WScript.Echo "Computer Domain: " & strComputerDomain
                Else
                    WScript.Echo "Workgroup: " & strComputerDomain
                End If
            Next
            Requirements:
            Windows version: XP, Server 2003, Vista or Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: N/A
            Script Engine: any
            Summarized: Works in Windows XP and later.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
             
            [Back to the top of this page]
             
            WMI (Win32_NTDomain)
            VBScript Code:
            Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
            Set colItems = objWMISvc.ExecQuery( "Select * from Win32_NTDomain", , 48 )
            For Each objItem in colItems
                strComputerDomain = objItem.DomainName
                WScript.Echo "Computer Domain: " & strComputerDomain
            Next
            Requirements:
            Windows version: XP, Server 2003, Vista or Server 2008
            Network: NT domain, or AD
            Client software: N/A
            Script Engine: any
            Summarized: Will work only on AD or NT domain members running Windows XP or later.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
            Doesn't work in Windows 95, 98, ME, NT 4, or 2000.
            Doesn't work on stand-alones or workgroup members.
             
            [Back to the top of this page]
             
            System Scripting Runtime
            VBScript Code:
            Set objIP = CreateObject( "SScripting.IPNetwork" )
            strComputerDomain = objIP.Domain
            WScript.Echo "Computer Domain: " & strComputerDomain
            Requirements:
            Windows version: any
            Network: TCP/IP
            Client software: System Scripting Runtime
            Script Engine: any
            Summarized: Works in any Windows version with System Scripting Runtime is installed, with any script engine.


            posted @ 2011-09-26 10:09 胡滿超 閱讀(760) | 評論 (0)編輯 收藏
                 摘要: 轉(zhuǎn)自:http://www.cnblogs.com/k-eckel/articles/188489.html深入分析MFC文檔視圖結(jié)構(gòu)(項(xiàng)目實(shí)踐)        k_eckel:http://www.mscenter.edu.cn/blog/k_eckel 文檔視圖結(jié)構(gòu)(Document/View Architecture)是MFC的精髓...  閱讀全文
            posted @ 2011-08-03 11:13 胡滿超 閱讀(1515) | 評論 (0)編輯 收藏
            僅列出標(biāo)題
            共5頁: 1 2 3 4 5 
            久久婷婷人人澡人人| 成人午夜精品无码区久久| 亚洲精品乱码久久久久久按摩 | 精品熟女少妇aⅴ免费久久| 久久精品国产亚洲av瑜伽| 国产成人久久精品一区二区三区| 性做久久久久久久久老女人| 国产成人精品免费久久久久| 精品国产乱码久久久久久浪潮| 色综合合久久天天给综看| 国内精品人妻无码久久久影院导航| 久久国产色AV免费观看| 久久亚洲精品成人无码网站| 国产美女久久精品香蕉69| 久久久WWW成人免费精品| 久久成人国产精品| 久久这里有精品| 久久国产成人| 国内精品久久久久伊人av| 欧美成人免费观看久久| 热re99久久精品国产99热| 亚洲精品无码久久千人斩| 国产精品免费久久| 久久精品国产久精国产| 久久99毛片免费观看不卡| 伊人精品久久久久7777| 婷婷久久综合九色综合绿巨人 | 国产精品久久免费| 久久人妻少妇嫩草AV无码专区| 久久人人爽人爽人人爽av| 日韩一区二区久久久久久| 久久综合综合久久综合| 精品国产乱码久久久久久1区2区| 亚洲精品WWW久久久久久| 久久精品亚洲福利| 久久天天躁狠狠躁夜夜2020老熟妇| 久久99精品国产| 一本大道加勒比久久综合| 国产成人无码精品久久久免费| 97久久精品无码一区二区天美| 97久久久久人妻精品专区 |