時間:2022-11-29 02:26:59
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇軟件開發項目總結范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
有時即使不開展項目管理工作,軟件開發項目也能取得成功。但是如果乏項目管理,則難以將成本控制在一定范圍內,容易導致軟件企業面臨著虧損的風險。在開展項目管理工作的過程中,需要借助技術、方法等,管理軟件開發活動,如此既有助于實現軟件開發目標,又能夠控制軟件開發的進度以及開發成本。當前,雖然有部分軟件企業依據軟件工程理論,制定了管理軟件開發的制度,但是卻沒有嚴格控制軟件開發的進度以及成本。這種做法不僅會延長軟件開發的時間,還會增加軟件公司的經營風險,最終損害到相關用戶的利益。而在軟件開發過程中,開展項目管理工作,就有助于保證軟件開發工作的順利完成,同時提高軟件企業的經營管理效率。
2項目管理在軟件開發中的應用現狀
在二十世紀六十年代中期,人們發現了在開發軟件過程中存在著很多問題,具體的問題表現在以下兩個方面:一方面,不規范的生產過程;另一方面,不重視管理工作。為了能夠有效解決軟件開發過程中存在的問題,人們開始嘗試利用過程管理方法。但是到了二十世紀八十年代,還是沒有制定管理軟件開發過程相關標準。近幾年來,在信息技術快速發展的背景下,人們采取項目管理來控制軟件開發的質量、軟件開發的成本等,以此確保軟件開發的質量和成本等因素,符合當時的既定標準。在軟件開發過程中,每一個項目組的不同成員都應該承擔不同的任務,并且企業管理者應該要求他們要在規定的時間內完成自身的任務,這種明確分工制度,有助于提高員工的工作效率。
3項目管理在軟件開發中的應用
每一個軟件開發項目都要經過以下幾個階段:提出問題、研究可行性、分析需求、測試等。因此項目管理工作應該貫穿于軟件開發的整個過程。
3.1可行性研究
無法開發哪一個項目,都需要進行可行性分析與研究。通過利用項目管理來研究軟件開發項目可行性的目的在于:在最短的時間內確定軟件開發項目是否具有開發的價值。其中可行性研究的內容包括:
1)、研究技術的可行性。其主要是指:要合理地分析開發項目的功能與性能,分析其中所隱藏的技術風險。
2)、研究經濟的可行性。其主要是指:估計所開發的項目給企業帶來的經濟效益,然后依據所估算的經濟效益,確定該項目是否具有投資的價值。
3)、研究社會的可行性。其主要是指:分析此項目的運行方式是否正確,分析當前的人員技術水平以及管理制度是否具有可行性。
3.2軟件項目估算
在軟件開發過程中,首先要規劃軟件開發項目,如此便于項目管理人員制定切合實際的估算方案。規劃軟件開發項目的內容主要包括:明確軟件開發的目標、明確軟件開發過程中需要用到的各種資源、明確軟件開發的進度等。在軟件開發過程中,估算起著非常重要的作用。通過估算可以保證軟件項目在規定的時間內完成,也可以確保軟件項目的成本未超出預算。在估算資源、成本以及進度的時候,要依據自身豐富的經驗以及相關的數據。但是當前所使用的估算方法較為單一,此種估算方法容易增加估算風險。對此,研究人員應該努力研究出更多科學、有效的估算方法。
3.3軟件項目開發人員的管理
在開展軟件項目開發人員管理工作的時候,首先要合理安排人員。通常情況下,是由多個小組成員共同完成軟件開發項目。在具體安排人員任務的時候,要依據每位人員的優勢進行,并且要明確小組內每一位成員的工作任務以及工作目標。在軟件開發過程中,要確定不同的責任人,比如:項目經理、開發經理,并且為每一個小組安排一名組長,如此有助于確保軟件開發項目的順利完成,同時保證所開發出來的軟件屬于高質量產品。
4結束語
關鍵詞 軟件開發;進度;管理;80-20原則
中圖分類號:F426 文獻標識碼:A 文章編號:1671-7597(2014)07-0166-02
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明這個企業的軟件生產越趨向于成熟,企業越能夠穩定發展。因此,怎樣對軟件項目進行有效的管理是急需研究的課題,國內外專家學者也展開了相關的研究。
張家浩[2]以現代軟件工程為核心,系統分析了項目管理領域中軟件項目存在的問題,提出在理想和現實之間選擇平衡點的建議和方法。林銳[2]編寫的《IT企業項目管理:問題、方法和工具》一書為IT企業提供了專業性很強、行之有效的項目管理方法和相應的工具,解決了大多數IT企業的軟硬件開發項目管理混亂、質量低下、進度延誤、費用超支等問題。哈羅德?科茲納[4]在《項目管理:計劃、進度和控制的系統方法》一書中討論了時間管理、沖突管理等問題,分析了影響項目成功的因素。石慧[4]運用動態規劃的思想和網絡計劃的方法,利用馬爾可夫鏈模型進行軟件項目進度預測,對軟件開發項目中的計劃和控制應用進行研究,構建了一個并行的IT項目進度馬爾可夫鏈預測模型。
由于缺乏相關的法規政策,軟件項目開發的進度很大程度上取決于程序員自身的專業技能和職業道德水平。由于沒有一個標準劃分,管理上有很多問題不容易解決。本文對影響軟件開發進度的主要因素進行分析,闡明了進度管理的重要性,并對具體的項目開發進度管理方法進行了探討。
1 影響軟件開發項目進度的主要因素
軟件項目在開發過程中,有很多影響其進度的因素,內因、外因、主觀、客觀因素均有,情況比較復雜。為順利管理軟件開發項目進度,首先要對其中主要影響進度的因素有所了解。
1.1 80-20原則,未按原計劃執行進度
80-20原則用在經濟學中是指百分之八十的價值是來自20%的因子,其余的20%的價值則來自80%的因子。在計算機軟件開發領域,我們可以這么理解:80%的項目工作可以在20%的時間內完成,而剩余的20%的項目工作需要80%的時間。
一般來講,這剩余的兩成工作屬于比較難的技術關鍵部分,通常出現在后期。由于軟件開發過程的不確定性,在任何技術關鍵點上都可能遇到難題,這與開發人員本身的分析、設計、編程風格有關,難以預測。在實際過程中,完全無法預測在什么時候會遇到(甚至可能在最后一步)能導致全盤重建的問題,因此原計劃進度一般會調整。
1.2 預算、質量要求等的變更及適應性調整不及時
除了對項目本身的工作量估算不合理之外,設計人員的理解也可能造成問題。如開發人員理解的情況與實際情況有偏差,在沒有充分溝通并確認時開展項目,過程中又會變更,在驗收階段可能才發現“審題錯誤”,造成資源浪費,同時與之相關橫向、縱向項目的進度也會受影響,易產生“軟件危機”。此外,其他問題如設備、人力不符合要求或調整,都會影響實際進度。
1.3 前期可行性分析不充分
由于項目參與人員的經驗或素質原因,在項目開始前的準備不足,對項目狀態信息收集的不足,沒能好好把握項目的內容,容易造成對項目的了解不符合實際情況,加上高估自身工作能力,這就會對進度造成影響。如果沒有充分的理解和準備,項目整體就會受到很大的影響,對項目本身的低估其實是對自身的一種高估,這樣會使得預期的進度在實際進展過程中不僅很難實現,而且容易對工作人員的士氣形成打擊。
1.4 其他因素
假設、約束、風險等條件考慮“不周”造成項目進度計劃中未考慮一些不可預見的事件發生。例如軟件開發項目還會因為項目資源特別是人力資源缺失(如人員生病、離職、開發人員臨時有其他救急任務)等原因,對項目進度控制造成影響致命影響。即項目及時完成是基于環境不變、任務不變、資源不變動等假設。軟件開發主要是靠程序員來進行,軟件體現出程序員的不同風格,因此程序員本身的主觀性也會造成影響。在進度安排的時候應當適當配置應急預案,預留空余。
2 軟件開發項目進度管理的目的
加強軟件開發項目進度管理是軟件開發行業發展的必要手段,也是必經之路。項目進度控制和監督的目的是:增強項目進度的透明度,及時發現項目中存在的問題并改正,對項目進展加以督促等,保證項目按時完成。
合理的管理手段可以加強項目的監督控制,對項目進度完成情況有一個大致的了解和評估,一旦出現問題可以及時溝通交流;遇到有落后進度情況及時督促,對有理解偏差的情況及時發現、及時糾正等。
軟件開發時實施進度控制是項目管理的關鍵。一般一個部門同時會接多個項目,并行處理過程易造成混亂。通常,一個項目會由多部門的課題組共同負責,分項目之間橫向并列或縱向承啟,分部越多就越容易受影響。因此各分項目的準時能確保項目實施進度,對項目進度的合理管理可以起到協調作用。進度控制是項目管理過程中一項最重要的監控內容,負責對項目周期的整體把握與控制。通過軟件開發項目進度管理方法,對各個分項目的進度進行控制,保證每個分項目各自按照項目計劃書中的預期進度安排完成各自的內容,對于其中出現的問題及時予以糾正,從而保證項目整體的順利完成。
3 軟件開發項目進度管理方法
3.1 對項目本身充分了解
在制定項目計劃書之前,首先應當對充分了解項目本身。項目進度控制的前提是有效地計劃和充分掌握第一手信息,通過實際值與計劃值進行比較,檢查、分析、評價項目進度。對項目的充分了解是制定一個可行性分析報告的必要條件。除了了解項目相關技術內容、發展情況外,還應包括主要設備(工具軟件)、項目參與者的情況,以合理分工、科學管理。
3.2 項目計劃書與定期的進度報告
為了按期完成軟件交付任務,目前軟件開發單位陸續采取了很多控制進度的管理手段,其中最為廣泛實用的就是項目計劃書和定期的進度報告的提交。項目計劃書和進度報告都是參考傳統的工程項目管理方案,同時結合軟件開發本身的特點進行的改進。作為項目進度控制的基準,項目計劃書是項目的階段成果完成情況的一個預期與管理依據。根據計劃書中的時間安排,在項目的每個階段點,項目負責人需要向相關管理人員(部門)書面提交階段工作匯報與計劃。在進度報告中,要有完成情況、存在問題、下一步安排等,實際上就是項目執行人員的對總結、分析、開發反思。
3.3 進度協調會
在軟件開發項目中,一個項目通常由不同的項目團隊合作完成,企業有專門的合同管理部門負責項目的分、轉包、合同期與進度計劃的協調。項目經理應該及時掌握這些情況,按計劃進行計劃進度與實際進度的動態比較,定期向客戶提供可靠反饋。這通常是通過進度協調會來完成的,參與項目的每個團隊負責人通過協調會了解相關方的進度、探討問題,根據對方完成情況動態調整自己的進度。
3.4 階段性審查與應急措施
軟件開發項目進度管理過程需要從項目從準備到開始到進行到完成的各個不同階段都采取不同的方法進行控制管理,全面把握項目進程。在準備階段需要提供項目信息,同時確定項目研究進度;編制階段計劃和項目總進度計劃;控制該計劃的執行;而需求分析和設計階段控制的任務是編制與用戶的溝通計劃、需求分析工作進度計劃、設計工作進度計劃,控制相關計劃的執行等。最后,實施階段進要求編制實施總進度計劃并控制其執行;編制實施計劃并控制其執行等。
在項目設計書中應當有關于應急預案的內容,這是我國現在工程管理、軟件開發管理都比較容易忽略的一個內容,其本質是對項目過程中可能出現的干擾和影響的一個預測,對項目整體的合理把握。針對可能的問題,提出一定的解決方案,而在實際過程中,一旦出現問題,具體應當結合實際情況確定,避免產生相反的效果。
4 結束語
軟件項目的開發與傳統的工程項目具有很大的區別,軟件本身具有無具體形態、缺乏標準等特點,開發過程不確定性大,主觀因素影響對軟件質量影響較大,因此進行項目進度管理探討十分必要。本文通過總結進度管理上可能存在的問題,提出了可以采取的管理手段,希望能對實際工作有參考價值。
參考文獻
[1]張家浩.軟件項目管理―華鼎項目管理書庫[M].北京:機械工業出版社,2009
[2]林銳,唐勇,黃曙江.IT企業項目管理:問題、方法和工具[M].北京:電子工業出版社,2005.
[3]Harold Kerzner.項目管理―計劃、進度和控制的系統方法[M].楊愛華等譯.第7版,北京:電子工業出版社,2012.
[4]石慧.軟件開發項目的進度計劃與控制研究[D].湖北:武漢理工大學,2009.
[關鍵詞]投資決策;實物期權;凈現值
[中圖分類號]F270.7 [文獻標識碼]A [文章編號]1006-5024(2008)05-0015-03
[基金項目]國家自然科學基金項目“用多功能開放型企業供需網理念推進我國企業實施大批量定制生產的研究”(批準號:70472075);上海市重點學科資助項目“多功能開放型企業供需網中企業的核心能力與合作機制構建研究”(批準號:T0502)
[作者簡介]徐 瑩,浙江萬里學院商學院講師,博士,研究方向為企業信息化、投資決策;(浙江 寧波 315100)
徐福緣,上海理工大學管理學院教授,博士生導師,研究方向為系統工程;(上海 200093)
張頌煥,浙江萬里學院商學院本科生,研究方向為電子商務。(浙江 寧波 315100)
一、引言
在不確定條件下的項目投資決策分析中,實物期權理論正替代傳統的凈現值法(NPV)而得到廣泛的運用。許多學者也將該方法引入了IT項目的投資決策分析之中,如:Benarch和Kauffman運用Black-Scholes模型,近似地估算一電子銀行網絡項目中所包括的實物期權價值,他們將項目投資機會看成一個仿真的美國式買入期權(Pseudo-America Call Option),并考慮分紅的情況,將項目現金流現值和看成是期權的基礎資產;Taudes運用Black-Scholes期權定價模型分析軟件升級項目的經濟效益;Panagi和Trigeorgis運用實物期權理論分析了某通信項目的經濟價值;Schwartz運用動態規劃法(Dynamic Program-ming)討論了兩種IT項目的期權定價。
上述文獻中存在著兩個缺陷:一是雖然在軟件開發項目經濟分析時考慮了項目內含的實物期權價值,但在項目投資決策分析中卻仍然遵循NPV方法的思路,而沒有考慮實物期權的執行問題以及何時執行問題;二是缺乏對軟件開發項目在生命周期的各個階段所包含的實物期權作全面、系統的研究,大多只是考慮到項目中的等待期權。本文則對上述問題作了詳盡的研究和分析。
二、軟件項目的生命周期
從項目管理與項目經濟分析的角度看,軟件項目的生命周期可歸納為圖1所示的一般過程:
在圖1中,橫坐標是時間,縱坐標是收益或投資成本,t0=0是項目的決策點。在決策時,I是項目可行性研究費用(成本),相對于項目的整個壽命期,一般來說項目的可行性研究階段的時間很短,所以假設項目的可行性研究是在瞬間完成。t1是項目開發的起始點,t2-t1是項目前期開發階段,在這一階段,項目有一現金流C1支出,C1可能是常量,也可能是隨時間的變量C1(t)。從t2時刻起,項目的首期開發完成,項目開始有收益,即現金流B1,B1也可能是常量,更一般的是隨時間的變量B1(t),這一收入可能是企業出售軟件或軟件相關服務效益的收入。同時,對于大多數成功的軟件項目來說,從t2時刻起,該軟件項目又開始了進一步的開發,如增加軟件的新功能,或將軟件移植擴展到其他的計算機操作系統等。從t3-t2階段是軟件項目的第二次開發階段,在這一過程中所發生的開發費用為C2,C2的特點也與C1相似。從t3到tn,其中可能包括多個與t3-t2階段相似的軟件項目的擴展(二次開發)階段。T是該軟件項目結束的時間。由于技術進步與消費者需求的變化,一般來說一個軟件不可能永遠繼續下去,它可能在某一時刻被完全淘汰。綜上分析,t0是項目的決策點,t1是項目的開發起始點,他們可能是同一時間,但大多數情況下可能是不同點。t1-tn是項目的開發階段,其中t1-t2是項目的純開發階段,在這一階段上,項目無收益。t2-T是項目的收益階段,在這個時段上項目有現金流入,他們通常大于本階段上的開發費用。值得指出的是,軟件項目在t2-T階段,企業可以中止并出售該項目,并一次性收取轉讓費。
三、軟件開發項目內含實物期權分析
從圖1的分析可以看出,一個軟件開發項目包含了多個階段。把軟件項目看作是由一系列序貫開發的小項目所組成,這一觀點在軟件開發項目管理中已被廣泛接受。在軟件項目中,前一階段的決策,決定了后續階段的開發投資。所以,在前一階段的經濟評價中,應考慮本階段的決策所帶來的后續階段投資機會的價值。從這一觀點出發,可以分析在軟件開發項目的不同階段中項目可能包含的實物期權。
在t0點,即項目投資決策時,項目內含一個等待(wait)或推遲(defer)開始的實物期權,這相當于一個美國式的買方期權(Call Option)。該期權的執行條件是:推遲項目可以使得管理人員獲得更多(額外)的有關項目的信息,在此基礎上,有利于管理人員采取管理行動,而且,一般來說計算機硬件,軟件的價格隨時間迅速下降,推遲項目會有利于降低開發成本。但同時也應看到,推遲項目也可能導致項目收入的損失和企業競爭優勢的喪失,即推遲項目具有機會成本。在項目決策時,應綜合全面考慮這兩方面因素。因而,在項目決策時,除了篩選項目外,還應考慮這一實物期權的價值,在時間許可的范圍內,決定最佳項目開始時間。
在t0時,除等待期權外,項目還包含有第二階段投資機會的實物期權。
在t1至tn時項目的開發階段。在開發階段上項目具有更大的管理柔性,項目可能包含的實物期權有:1.推遲或中止下一階段的開發。2.若不期望的情況出現,并且繼續下去,則可完全放棄該項目。3.根據新掌握的信息,擴展或縮減項目。4.發現新派生軟件(項目)的投資機會。
最后,項目的經營階段,項目還可能包括中止(出售)的期權,或由于條件的變化,進一步升級軟件的機會。
雖然軟件項目中所包含的期權不同,但一般情況下,影響他們價值的因素主要包括:1.執行項目中實物期權所產生的收益。對軟件開發項目來說,這可能是項目在某一階段的收益,一般來說,其他條件不變,收益越高,期權的價值也就越大。2.執行實物期權所需要的成本。對于軟件開發項目而言,是投資于項目下一階段的成本,一般來說,其他條件不變,成本越小,期權的價值也就越大。3.收益與成本的不確定性的程度。對于金融期權來說,其價值是建立在市場風險之上的,這個風險反映在證券資產的價格變化上。然而,其中之一變為不確定了,則項目所包含的實物期權價值會相應增加。4.實物期權的截止時間。對于軟件項目來說,這一時間就是下一階段項目管理決策的可能時間。在實踐中,它經常是企業因素所決定的。實物期權的截止時間越長,則期權的價值也就越高。5.項目包含的實物期權執行的機會成本。若這一機會成本越高,則期權的價值也就越低。6.無風險折現率。無風險折現率越低,則期權的價值也就越高。
四、軟件開發項目經濟分析的目標與內容
Trigeorgis等學者提出,在考慮內含實物期權時,投資項目的價值包括兩部分:一是傳統的、被動的、靜態的(static)項目直接現金流的凈現值(NPV)。二是管理柔性或靈活性所產生的項目內含實物期權價值。這一思想可歸納為下式:
F=NPV+V (1)
(1)式中,F是擴展(Expand)的NPV,也是整個項目投資機會的價值;NPV是按凈現值法計算出的項目凈現值;V是項目內含期權的價值。
根據項目投資決策的NPV法則,內含實物期權的IT項目,其投資機會的價值大于零時,項目可行;篩選IT項目的多個獨立方案時,選擇投資機會最大的投資方案。在大多數投資項目的實物期權理論研究以及實證研究的文獻中,都遵循這一準則。然而,這類投資項目的決策思路卻值得重新審視。
傳統的投資項目經濟評價中,沒有考慮項目中可能包含的實物期權,其經濟評價是為其投資決策服務的。而投資決策的特點是在決策時只有投資或不投資兩種選擇,若項目選擇投資,其經濟評價的使命便告結束。若選擇不投資,項目就放棄了。傳統的投資項目決策的內容可歸納為下面三個基本內容:1.決定投資項目是否經濟可行;2.若可行的投資項目存在多個相互排斥的投資方案,篩選最佳的投資方案;3.在企業資源(預算)約束的條件下,篩選多個項目的投資組合。然而,若投資項目中包含實物期權,項目經濟評價中也考慮了項目內含實物期權的價值,那么投資項目不僅在經濟評價的內容與方式上與傳統項目的經濟評價不同,而且項目的決策內容和方式也與傳統項目的決策不同,具體體現在下面三個方面:第一,項目的決策不僅在項目最初的決策階段(點)進行,而且還應延伸進項目的整個過程之中。第二,在項目最初的決策階段(點),管理者不僅要決定項目是否可行,篩選最佳方案和選擇投資組合,而且還要依據項目經濟評價的結果,決定項目內含期權是否應該執行和何時執行。第三,投資項目內含期權的經濟分析,不僅在項目決策階段進行,而且還應延伸至項目開發的全過程。在項目開發的每一個階段,根據項目經濟分析的結果,決定當時項目所含實物期權是否實施、何時實施。
五、軟件開發項目決策框架與準則
從上述分析可以看出,在軟件開發項目經濟評價中引入實物期權的概念和實物期權定價方法,是軟件開發項目經濟分析與決策管理的革命,它必然給原有的軟件開發項目的管理帶來深刻變革。本文構建了軟件開發項目的經濟分析與管理決策過程的框架,其主要內容是:1.確定本階段軟件開發的范圍及下一階段開發的可能范圍,決定是否可引出相關的開發項目。2.構造確定本階段開發項目包含的實物期權,如推遲開發、進一步擴展開發等。3.預估開發項目成本、收益、時間和無風險折現率,特別應分析確定成本與收益的不確定性特征,如變化方差等。4.根據開發項目的不確定源的特征,選擇合理、恰當的市區期權定價模型,確定開發項目內含期權的價值。對于相似于美國式期權的實物期權,還應確定最佳執行時間。一般來說,實物期權定價模型主要包括:已有的期權定價模型、偏微分方程法和動態規劃方法等。5.根據項目的經濟分析結果作出管理決策。應該指出的是,在軟件開發項目的不同階段,管理決策的內容有所不同,下面詳細分析不同開發階段管理決策的內容與規則。
在軟件開發項目的最初決策階段,決策內容包括兩個部分:一是傳統項目投資決策內容相同;二是針對項目內含期權的決策。具體可歸納為圖2所示:
具體的決策準則如下:
1.篩選可行項目。若軟件開發項目的投資機會價值(擴展NPV)大于或等于零,則項目可行。
F≥0 (2)
2.在可行項目中,選擇最佳方案。投資機會價值最大方案:
F*=max{Fi} (3)
i =1,…,N
3.投資方案的期權決策。最佳投資方案選定后,具體的管理決策選擇可歸納為下表。
在軟件項目開發過程中的開發階段,管理決策的內容為:根據項目經濟分析的結果,決定是否執行期權,何時執行。若項目包含的期權價值大于零,對于相似于美國式期權的實物期權,則選擇最佳時間來執行;而對于相似于歐洲式期權的實物期權,則到期執行。在執行美國式期權時,涉及到最佳執行時間的確定。正如實物期權的定價沒有統一的模型一樣,這一時間的確定是沒有統一的模型,而應根據項目不確定因素的特征來靈活掌握。
參考文獻:
[1]Benaroch,M.,R. J. Kauffman.Justifying electronic banking network expansion using real options analysis [J].MIS Quart.2000,24(2) 197-225.
[2]Taudes,A.,M.Feurstein,A. Mild. 2000. Option analysis of software platform decisions:A case study[J].MIS Quart.24(2):227-243.
一、為什么需要軟件度量
判斷和衡量代碼質量一直是開發過程中令人苦惱的問題,在同樣完成功能的情況下,如何判別一種寫法比另一種寫法好呢?在代碼重構的過程中,如何確定代碼質量是在不斷的改進當中呢?引入一種設計模式以后,代碼真的變的比以前好了嗎?大部分時候我們憑感覺和經驗做這些事情,我們使用很多模糊的詞語來描述我們的判斷,比如這樣做以后,代碼的可維護性更好、可擴展性提高,等等。在越來越注重代碼設計的今天,很多人開始使用更感性化、更形而上學的詞語來形容軟件質量,我們會聽到評價軟件結構很優雅,帶來美的享受,甚至一些設計原則被提升到了哲學高度。
不得不承認這些詞語的描述確實很符合我們看到一段高質量代碼的心境,但是這些新詞語的出現并沒有幫助我們解決軟件質量判定中遇到的問題。因為這些感性的判定,由于每個人的經驗不同,經歷不同,所得出的結論也不盡相同。而軟件度量能解決這些問題。
眾所周知,度量對任意一個工程產品研制都是很重要的,度量讓人們更加了解產品、可以評價產品、衡量產品質量,從而進行改進。對于軟件產品也一樣,只有定性的評估是不夠的,還要通過定量的評估才可以根本的解決評估軟件產品質量問題。
二、什么是軟件度量
如今計算機在我們生活的每個領域幾乎都扮演了非常重要的角色,在計算機上運行的軟件也越來越重要。因此,可預測、可重復、準確地控制軟件開發過程和軟件產品已經非常重要。軟件度量就是衡量軟件品質的一種手段。CMMI為軟件產品及軟件過程提供了一套定量的表示和分析模型,即軟件度量。因此,軟件度量分為軟件產品度量和軟件過程度量兩大部分。
先簡單介紹一下軟件產品的度量,由三部分組成:
1、質量要素。包括:功能性、可靠性、易用性、高效性、可維護性、可移植性六條。
2、評價標準。包括:精確、健壯、通信有效、處理有效、設備有效、可操作等。
3、度量元。指軟件的需求分析、概要設計、詳細設計、CODING實現、設置測試、確認測試、使用維護七個階段中的度量元素,比如各階段的里程碑――文檔等。
對于軟件過程度量,在軟件過程中,我們有必要知道掌握這個過程中的什么。因為我們需要在通過每一個軟件過程后,能交付符合該過程需要的結果,即該過程產品及該產品性能是否達到組織的商業目標。為了讓這個目標成功,讓它所有過程中的行為在整個管理中可以預測,判斷現階段這個過程設計是否合理,我們不僅僅需要主管和經驗豐富的開發人員的經驗,還需要定量的數據作為分析、參考,并把每個軟件過程記錄入庫,作為今后統計分析的參考數據,這樣科學的輔佐開發人員將軟件過程控制住。
可以通過對整個軟件過程中的七個階段進行離散分析,得出各階段中缺陷的發現及解決比例,從而判斷出哪個階段問題最大,將解決重點放在該階段。比如,如果在分析階段缺陷比例最大,而后期依次減小至理想狀態,這說明本軟件過程是非常成功的;反之,如果在測試階段甚至使用階段缺陷比例很大,很可能說明這個軟件過程在分析或者構架時就存在很大的問題。
三、軟件度量的對象
從前面的論述我們知道,任何軟件度量活動最想做的是識別我們想度量的實體和實體的屬性。在軟件中我們想度量其屬性的實體可以分為三類,他們是:
1、過程:是與軟件相關的一些活動,這些活動都有一個時間因素。
2、產品:是指在軟件開發過程中產生的各種中間產品、的資料和文檔等。
3、資源:是指在開發過程中輸入給過程的東西。
在軟件中要度量或預測的屬性都是上述三種實體之一的屬性。同時,我們有必要區分一下外部屬性和內部屬性:內部屬性是能夠純粹用過程或產品或資源其自身來度量的屬性;
外部屬性是指由過程或產品或資源及與其相關的環境共同才能度量的屬性。
在軟件度量中,主要用于以下幾個方面:
1、從產品、過程和資源中得來的數字。如,功能點數或代碼行(LOC)/每人每月等。
2、度量的分類??陀^度量一般為定量的度量;主觀度量一般反映為專家意見;在這些基本度量(直接度量)的基礎上,經過計算得到進一步的附加度量(或稱推導度量,間接度量等)。
3、可識別的屬性。
4、一個理論或數據驅動的模型。其描述的是一個依賴于獨立變量(如大?。┖瘮档目勺冏兞?;這種模型通常是用于預測目的的。
四、軟件度量的過程
軟件度量工作首先需要確定能夠表示軟件質量的各種屬性和指標;然后分析軟件、收集數據;接著運用公式換算代碼的各種指標值;最后通過這些指標就可以分析代碼的質量。確定哪些屬性和指標可以表示軟件質量、收集哪些數據、如何用公式推導指標,都是軟件度量的研究重點。它所確定的各種軟件度量指標為我們了解軟件屬性、衡量軟件質量提供了科學依據。
軟件開發過程中,不管哪種軟件度量方法,都包括了其基本的軟件度量過程。這些過程構成軟件度量作業的一次循環,使得軟件度量能夠經由漸進式的循環得到螺旋式上升。軟件度量的基本過程如下:
1、承諾度量。根據軟件開發的技術和管理過程對軟件度量的需求,決定并承諾實施軟件過程度量,這是具有針對性地推進軟件度量的第一步驟,也是高層管理者參與決策并提供相應資源的重要環節。
2、計劃度量?;谲浖攘砍兄Z,根據軟件開發的技術、管理、流程、績效、問題等信息制定軟件度量計劃。在計劃中正式確認產品、流程、角色、責任和資源相關問題及屬性,為實施軟件度量提供書面的、計劃性的、具有可行性的、得到資源支持的保證。
3、實施度量。根據軟件度量計劃對軟件開發的項目、產品和過程等度量對象實施度量。通過度量收集、存儲、分析有效的軟件度量數據,并將度量和分析結果用于控制和改善軟件過程。
4、評估度量。對軟件度量過程本身進行評估,對度量標準、度量流程、度量方法、度量對象、度量效用等做出評估,發現度量作業的問題點,總結度量作業的資產,并提出度量作業改善方案。
5、改善度量。根據度量作業的改善方案在后續的度量作業中加以實施,將改善方案導入下一次軟件度量過程之中。改善并不是水平方向上的簡單重復作業,而是基于經驗和教訓之上的螺旋式上升過程,將軟件度量的效用在軟件開發過程中展現出來。
五、軟件度量方法
1、項目度量。項目度量是針對軟件開發項目的特定度量,目的在于度量項目規模、項目成本、項目進度、顧客滿意度等,輔助項目管理進行項目控制。
2、規模度量。軟件開發項目規模度量是估算軟件項目工作量、編制成本預算、策劃合理項目進度的基礎。規模度量是軟件項目失敗的重要原因之一。一個好的規模度量模型可以解決這一問題。有效的軟件規模度量是項目成功的核心要素:基于有效的軟件規模度量可以策劃合理的項目計劃,合理的項目計劃有助于有效地管理項目。規模度量的要點在于:由開發現場的項目成員進行估算;靈活運用實際開發作業數據;杜絕盲目迎合顧客需求的“交期逆推法”。
3、成本度量。軟件開發成本度量主要指軟件開發項目所需的財務性成本的估算。主要方法如下:類比估算法、細分估算法、周期估算法。
4、顧客滿意度度量。顧客滿意是軟件開發項目的主要目的之一,而顧客滿意目標要得以實現,需要建立顧客滿意度度量體系和指標對顧客滿意度進行度量。顧客滿意度指標以顧客滿意研究為基礎,對顧客滿意度加以界定和描述。項目顧客滿意度量的要點在于:確定各類信息、數據、資料來源的準確性、客觀性、合理性、有效性,并以此建立產品、服務質量的衡量指標和標準。企業顧客滿意度度量的標準會因為各企業的經營理念、經營戰略、經營重點、價值取向、顧客滿意度調查結果等因素而有所不同。
5、產品度量。軟件產品度量用于對軟件產品進行評價,并在此基礎之上推進產品設計、產品制造和產品服務優化。軟件產品的度量實質上是軟件質量的度量,而軟件的質量度量與其質量的周期密切相關。
6、過程度量。過程度量是對軟件開發過程的各個方面進行度量,目的在于預測過程的未來性能,減少過程結果的偏差,對軟件過程的行為進行目標管理,為過程控制、過程評價持續改善提供定量性基礎。過程度量與軟件開發流程密切相關,具有戰略性意義。軟件過程質量的好壞會直接影響軟件產品質量的好壞,度量并評估過程、提高過程成熟度可以改進產品質量。相反,度量并評估軟件產品質量會為提高軟件過程質量提供必要的反饋和依據。過程度量與軟件過程的成熟度密切相關。
我國金融電子業的發展和進步使得銀行軟件行業進入到了一個關鍵時期。銀行之間激烈的競爭關系使得銀行對于軟件的的要求越來越高,國外優秀的同類軟件也在不斷的參與著國內市場的競爭。巨大的市場壓力迫使軟件開發商放棄了傳統模式的手工作坊的開發方式,轉而采取更加先進的技術和方法來提高軟件開發的質量,以保證企業的可持續發展和進步。
關鍵詞:
銀行;軟件開發;CMM;開發方法;改進
銀行軟件的開發過程的改進方法直接影響到銀行業的進步和發展,對銀行信息化水平的提高尤其重要。銀行軟件項目是由技術、過程和人才三個方面共同完成的,銀行軟件項目的開發和改進方法離不開以上三個要素的參與,只有提高銀行軟件的開發質量和工作效率才能吸引創造更多地利潤,提高客戶的滿意度。
一、銀行軟件的開發方法和改進方式
1、以產品化為核心的軟件開發方法銀行軟件業發展的初期階段,軟件商針對各銀行服務項目的不同進行軟件的定制是當時主要的銀行軟件開發方式。開發人員針對每個項目中實際的需求進行調研,設計出符合要求的開發方案再進行實施,但實際上,這種方式存在很大的局限性。首先定制軟件需要軟件開發商將大量的技術人員派遣到不同的項目中去,他們的工作重復率十分高,極大的浪費了人力資源,效率還得不到提高,使得開發成本的投入不斷增加,給企業的進步和發展帶來了阻礙,定制軟件的穩定性還非常差,出錯幾率較大,在客戶滿意度上始終達不到高標準。[1]使用產品化的銀行軟件開發方法可以很好地解決以上問題,作為一種工程技術的方式,產品化的開發方法基本的研究思路是在同類軟件產品的基礎上,提取出相關的業務特征來予以實現,對于不穩定的部分進行參數化的處理,使其能夠在較小的變化下滿足大部分客戶的需求。這樣項目在經過首輪的開發研究之后,對不同銀行的軟件都能在最短時間內進行維護和保養,非常有利于提高軟件質量、減少成本的投入和增加市場競爭力。銀行軟件的開發方式以銀行具體的業務標準作為基礎和標準。從理論化的角度來看非常適合產品化的開發方式。但是針對目前銀行界的發展情況來看,各銀行之間有自己獨特的業務處理程序,在流程和業務的處理方式上也大不相同,給產品化的開發帶來一定的阻礙。以產品化為核心的銀行軟件的開發過程是建立在技術平臺的基礎之上,通過業務邏輯的思維能力在部分定制條件下可以快速完成對于產品的開發和使用。銀行軟件業務的平臺的開發步驟是在技術平臺作為基礎的情況下,再深入理解和分析銀行內部的業務,建立和完善業務平臺,然后在基本業務平臺之上構建出一個完整的業務流程,對于具有近似流程的業務建立建立相關模板來用作更高層次的平臺,以支付系統為例,大筆金額交易的流程必須經過錄入、審核。傳輸、修改和修正等步驟,就可以做成一個完整的業務模板,通過對這個模板的修改和調整就可以用到其他類似的業務上。[2]以產品化為核心的開發方式除了開發制作方便快捷之外,在后期的軟件維修保養和升級方面也十分快速,雖然以產品為核心的開發方法的業務平臺并不是徹底的產品化方案,還需要相應的開發人員的針對具體的銀行業務進行第二次的開發,但是卻是非常適合當前銀行業的的一種改進方式。
2、以CMM為核心的軟件開發方法CMM是管理學理念在軟件行業中的具體表現,在過去的幾年時間內CMM用具體的成績證明了他對改進軟件開發過程的價值,是一種更加先進的改進方式,但是并不是所有銀行的軟件項目都適合CMM的管理理念,比如以算法為基礎的銀行研究性開發項目就不行,CMM為核心的軟件開發方式只適合控制方便的業務型開發項目。目前我國銀行的軟件大部分都是以業務作為核心的行業軟件,因此在具體開發技術上是不需要十分高深的算法和復雜的邏輯的,因此十分適合使用CMM的理念對銀行軟件項目進行開發和使用,由于開發方式的產品化等特征,雖然整體的研究成本得以降低,但是在第一次的開發程度上卻十分復雜,需要更加優良的管理方式才能保障以CMM為核心的軟件開發成功。[3]我國目前對于CMM的研究已經取得了很多的成果,例如對KPA中關鍵過程的實踐內容的解析和證明,每個目標如何在單獨的軟件開發項目中完成。但是CMM在銀行軟件的開發實施需要企業文化作為基本保障,才能確保該方法的順利進行。CMM的管理理念提供了一系列的方案來保障銀行管理的制度化,如在具體的銀行業務中,軟件工程作為立法機構提出相應的規范內容,所以軟件在在開發過程就必須按照這些制度來執行,保障軟件的質量監督規范的實施,這樣就能確保軟件管理的有效性。但是傳統制度下的銀行軟件開發企業的管理者來說,自身也處在制度之下,只有企業內形成法制化的企業文化,才能保障新方法的推行管理過程。需要參與CMM為核心的各組織相對獨立的發展空間。只有在不會互相影響的情況下,各組織的評估和監督工作才能從真實性和客觀性出發,對軟件的管理和理解才加具有意義。例如在對軟件工程過程組的計劃評估中,由測試組對軟件工程組的產品進行性能測試時雙方都需要相對獨立的空間的作為前提,但是在我國的發展過程中,企業管理人員的職責范圍不明確,各組織屬于從屬的關系非常多,個別企業甚至是一組人員負責兩個項目,自我監督效果極差。這樣雖然從客觀上采用了CMM的理念,但是在實際操作過程問題就會不斷的出現,對于開發過程并沒有起到明顯的作用,所以對于軟件開發企業來說這是必須要面對的問題。CMM是作為一個評估系統的依據和過程改進的結構出現的,主要是針對如何建立科學有效的管理方法給出了確切的目標和建議,CMM在銀行軟件的開發方法中的具體實現就需要結合實際的銀行業務水平和企業自身的結構,來制定出合理有效的管理方案。正確實施CMM的方法是根據各個項目中開發人員的技術經驗來完成對KPA關鍵過程的目標實踐并完成制定的目標。完成CMM2之后再從對多個項目的總結方案上開始對于CMM3的KPA研究分析,形成一個系統的組織結構,最后再反向推廣,以完成對過程管理的改進。[4]
3、重視對人才的培養工作不論是以產品化為核心的銀行軟件開發方式還是以CMM為核心的開發方式,這些方案的實施基礎是有足夠的技術人員來進行操作,對于軟件企業來說人才來說專業的技術人員可以分為單一的技術型、純業務型和管理者三種,他們各自傾向于自身領域中知識的學習和管理,目前我國的軟件企業內存在著管理缺乏的現象,更是在業務型人才的培養上十分薄弱,這對軟件的開發和推廣以及后期的維護和管理是十分不利的,軟件從性能上可以看成是一種針對其他行業發展的服務,缺乏業合格的管理人員和業務人員的軟件企業無法開發出優質的軟件系統的。從銀行軟件的角度來說,業務人員是最重要的組成部門,因為銀行業的主要工作就是以業務為主,本身也具備相對復雜的程序,只有技術豐富銀行軟件人員才能做好銀行軟件的開發工作。
二、結束語
銀行軟件的開發和改進方法主要就是包括對技術、應用過程和人才的培養上,這三個是相互關聯的相互影響的,如果其中一個方面有缺失必然會相應其他方面的進步和發展,造成資源地浪費,因此在對銀行軟件的開發和改進中要注意對這三個方面齊頭并進,避免造成短板效應,才能真正提升銀行軟件的質量和效率。
參考文獻:
[1]侯曉靚.基于CMMI的軟件項目風險管理研究[D].北京郵電大學,2012-11-12.
[2]張健.基于FPA方法的某銀行軟件開發項目的工作量估算研究[D].中國科學院大學(工程管理與信息技術學院),2015-07-23.
[3]王嶠.銀行業軟件項目全生命周期的質量度量指標體系研究[D].山東大學,2014-10-03.
隨著信息技術的飛速發展,軟件產品的規模也越來越龐大,個人單打獨斗的作坊式開發方式已經越來越不適應發展的需要。各軟件企業都在積極將軟件項目管理引入開發活動中,對開發實行有效的管理。我公司是西安一家中型軟件企業,在公司中已經實行了項目管理制度,軟件項目管理是整個項目管理中的一個重要組成部分。
從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明這個企業的軟件生產越趨向于成熟,企業越能夠穩定發展(即減小開發風險)。
軟件開發不同于其他產品的制造,軟件的整個過程都是設計過程(沒有制造過程);另外,軟件開發不需要使用大量的物質資源,而主要是人力資源;并且,軟件開發的產品只是程序代碼和技術文件,并沒有其他的物質結果。基于上述特點,軟件項目管理與其他項目管理相比,有很大的獨特性。
二、軟件項目管理的組織模式
軟件項目可以是一個單獨的開發項目,也可以與產品項目組成一個完整的軟件產品項目。如果是訂單開發,則成立軟件項目組即可;如果是產品開發,需成立軟件項目組和產品項目(負責市場調研和銷售),組成軟件產品項目組。
公司實行項目管理時,首先要成立項目管理委員會,項目管理委員會下設項目管理小組、項目評審小組和軟件產品項目組。
1、項目管理委員會
項目管理委員會是公司項目管理的最高決策機構,一般由公司總經理、副總經理組成。主要職責如下:
(1)依照項目管理相關制度,管理項目;
(2)監督項目管理相關制度的執行;
(3)對項目立項、項目撤消進行決策;
(4)任命項目管理小組組長、項目評審委員會主任、項目組組長.
2、項目管理小組
項目管理小組對項目管理委員會負責,一般由公司管理人員組成。主要職責如下:
(1)草擬項目管理的各項制度;
(2)組織項目階段評審;
(3)保存項目過程中的相關文件和數據;
(4)為優化項目管理提出建議。
3、項目評審小組
項目評審小組對項目管理委員會負責,可下設開發評審小組和產品評審小組,一般由公司技術專家和市場專家組成。主要職責如下:
(1)對項目可行性報告進行評審;
(2)對市場計劃和階段報告進行評審;
(3)對開發計劃和階段報告進行評審;
(4)項目結束時,對項目總結報告進行評審。
4、軟件產品項目組
軟件產品項目組對項目管理委員會負責,可下設軟件項目組和產品項目組。軟件項目組和產品項目組分別設開發經理和產品經理。成員一般由公司技術人員和市場人員構成。主要職責是:根據項目管理委員會的安排具體負責項目的軟件開發和市場調研及銷售工作。
三、軟件項目管理的內容
從軟件工程的角度講,軟件開發主要分為六個階段:需求分析階段、概要設計階段、詳細設計階段、編碼階段、測試階段、安裝及維護階段。不論是作坊式開發,還是團隊協作開發,這六個階段都是不可缺少的。
根據公司實際情況,公司在進行軟件項目管理時,重點將軟件配置管理、軟件質量管理、軟件風險管理及開發人員管理四方面內容導入軟件開發的整個階段。
在八十年代初,著名軟件工程專家B.W.Boehm總結出了軟件開發時需遵循的七條基本原則,同樣,我們在進行軟件項目管理時,也應該遵循這七條原則。它們是:
(1)用分階段的生命周期計劃嚴格管理;
(2)堅持進行階段評審;
(3)實行嚴格的產品控制;
(4)采用現代程序設計技術;
(5)結果應能夠清楚地審查;
(6)開發小組地人員應該少而精;
(7)承認不斷改進軟件工程實踐地必要性。
關鍵詞:需求分析;項目干系人;系統分析員
中圖分類號:F270 文獻標識碼:A 文章編號:1003-3890(2012)05-0056-03
需求分析是軟件開發過程的核心,其結果直接影響到整個的軟件開發過程。據相關資料顯示,因需求分析因素所造成的軟件項目失敗或缺陷約占60%,屬于系統實施階段的代碼錯誤,而導致軟件項目失敗的比率約為40%。項目失敗的根源在于需求分析不明確,需求調研不徹底,從而引發需求不斷變更,最終導致項目停滯。這些變更不僅加大了開發成本、項目無法按時完成等嚴重問題,而且,還有可能引發用戶方與開發方之間互相指責,導致項目擱淺。
一、軟件項目需求分析的重要性
軟件系統的開發主要分為五個階段,分別是系統的需求分析階段、系統設計階段、系統實施階段、系統測試階段和系統維護階段。而需求分析階段是整個五階段中的重中之重,在該階段所占的工作量大概是整個軟件開發項目的50%,邏輯方案是該階段的最終成果。邏輯方案不僅是進行系統設計的依據,而且,還是系統最終驗收的說明性文件。從以往的經驗來看,需求分析做的不徹底,沒有深層次的挖掘用戶需求,往往可能導致整個項目無法達到預期的效果,或者說設計開發出來的產品不能滿足用戶的需求。
需求分析首先要對現有系統有充分的認識和了解,在此基礎上,通過識別關鍵問題、分析項目的可行性、詳細調查研究、系統化分析,最終設計完成該項目的新系統邏輯方案。只有系統分析員明白了用戶的真正需求,才能開發出滿足用戶的軟件產品。在這里,要強調一點的是,在做需求分析的時候,開發方一定要指派有實際工作經驗的系統分析員來與用戶溝通,而不是指派具體的開發人員,這將避免一些溝通不暢的問題發生。系統分析員在了解用戶的基本需求之后,要以書面的形式,準確地制定出軟件需求報告。該報告主要說明系統的行為屬性,是項目開發過程中對系統的制約。要實現這一目標,就需要系統分析員與用戶之間做到緊密協作,甚至系統分析員要深入到用戶方的實際業務當中,把自己當做是用戶,從用戶的角度思考問題,只有這樣,開發方才可以真正了解用戶需要什么,系統應該做什么。
二、規范執行需求分析的流程
需求分析的過程,要嚴格執行規范化操作,囫圇吞棗式的需求調研是不可取的。開發方在做需求分析過程中,一定要嚴格把關,從對用戶負責的角度出發,并且也為了降低自己的開發成本,對無法與用戶實現很好溝通的項目經理要及時叫停,避免后續工作無法正常進行。
按照需求分析的過程,同樣也可將其分為五個階段:首先要獲取用戶需求,其次是分析用戶的需求,第三是編寫需求文檔,第四是評審需求文檔,最后是管理需求。規范執行需求分析的流程,是需求分析能否成功的關鍵。圖1是根據實際工作經驗總結出的需求分析工作流程:
在需求分析過程中,開發方要深入用戶方的各個部門,最簡單的項目也要做到用戶確認需求和需求評審兩個過程,復雜的項目甚至要做到多次。
三、盡快熟悉項目用戶方干系人全貌
項目干系人又稱為項目相關利益者,是指積極參與項目、或其利益會受到項目執行或完成情況影響的個人或組織,項目干系人對項目的目的和結果施加影響。項目管理團隊,即開發方,必須識別項目干系人,確定他們的需求和期望,盡最大可能地管理與需求相關的因素,以獲得項目的成功。因此,應當從項目的啟動開始,系統分析員用戶方相關人員的配合下,逐步分清項目用戶方干系人具體包含哪些人和部門,通過開方法與其溝通加之用戶方領導的協調以驅動他們對項目的支持,從而減小其對項目的阻力。
有些項目在做需求調研時,因受用戶方提出的進度要求等因素影響,有些系統分析員不愿與用戶過多地交流,只是發一些調研表做一些大概的了解。往往是因為開發方已有與該建設單位相似的原型,會亟不可待地去推廣,這樣會導致某些差異需求得不到深入了解,用戶方只能被動地去適應原型系統,這樣的做法是不可取的。另一種情況則是開發方與用戶方的技術部門交流比較多,而向業務部門和實際使用人員調查的力度不夠,往往容易造成原型試用后,與用戶的需求不一致,不得不再對需求做較大調整,造成開發周期不斷延期,開發成本大大增加。因此,熟悉項目用戶方干系人全貌是進行需求調研的第一步,也是需求調研的基礎。在定制的開發項目中,最重要的是要弄清楚用戶方中的組織結構關系、業務流程關系、數據流程關系。制定該項目的牽頭單位,在此基礎上,使用圖表的形式將這三種關系表現出來。
四、采取正確的方法獲取用戶需求