日日夜夜撸啊撸,欧美韩国日本,日本人配种xxxx视频,在线免播放器高清观看

軟件開發項目總結大全11篇

時間:2023-02-28 15:44:33

緒論:寫作既是個人情感的抒發,也是對學術真理的探索,歡迎閱讀由發表云整理的11篇軟件開發項目總結范文,希望它們能為您的寫作提供參考和啟發。

軟件開發項目總結

篇(1)

2項目管理在軟件開發中的應用現狀

在二十世紀六十年代中期,人們發現了在開發軟件過程中存在著很多問題,具體的問題表現在以下兩個方面:一方面,不規范的生產過程;另一方面,不重視管理工作。為了能夠有效解決軟件開發過程中存在的問題,人們開始嘗試利用過程管理方法。但是到了二十世紀八十年代,還是沒有制定管理軟件開發過程相關標準。近幾年來,在信息技術快速發展的背景下,人們采取項目管理來控制軟件開發的質量、軟件開發的成本等,以此確保軟件開發的質量和成本等因素,符合當時的既定標準。在軟件開發過程中,每一個項目組的不同成員都應該承擔不同的任務,并且企業管理者應該要求他們要在規定的時間內完成自身的任務,這種明確分工制度,有助于提高員工的工作效率。

3項目管理在軟件開發中的應用

每一個軟件開發項目都要經過以下幾個階段:提出問題、研究可行性、分析需求、測試等。因此項目管理工作應該貫穿于軟件開發的整個過程。

3.1可行性研究

無法開發哪一個項目,都需要進行可行性分析與研究。通過利用項目管理來研究軟件開發項目可行性的目的在于:在最短的時間內確定軟件開發項目是否具有開發的價值。其中可行性研究的內容包括:

1)、研究技術的可行性。其主要是指:要合理地分析開發項目的功能與性能,分析其中所隱藏的技術風險。

2)、研究經濟的可行性。其主要是指:估計所開發的項目給企業帶來的經濟效益,然后依據所估算的經濟效益,確定該項目是否具有投資的價值。

3)、研究社會的可行性。其主要是指:分析此項目的運行方式是否正確,分析當前的人員技術水平以及管理制度是否具有可行性。

3.2軟件項目估算

在軟件開發過程中,首先要規劃軟件開發項目,如此便于項目管理人員制定切合實際的估算方案。規劃軟件開發項目的內容主要包括:明確軟件開發的目標、明確軟件開發過程中需要用到的各種資源、明確軟件開發的進度等。在軟件開發過程中,估算起著非常重要的作用。通過估算可以保證軟件項目在規定的時間內完成,也可以確保軟件項目的成本未超出預算。在估算資源、成本以及進度的時候,要依據自身豐富的經驗以及相關的數據。但是當前所使用的估算方法較為單一,此種估算方法容易增加估算風險。對此,研究人員應該努力研究出更多科學、有效的估算方法。

3.3軟件項目開發人員的管理

在開展軟件項目開發人員管理工作的時候,首先要合理安排人員。通常情況下,是由多個小組成員共同完成軟件開發項目。在具體安排人員任務的時候,要依據每位人員的優勢進行,并且要明確小組內每一位成員的工作任務以及工作目標。在軟件開發過程中,要確定不同的責任人,比如:項目經理、開發經理,并且為每一個小組安排一名組長,如此有助于確保軟件開發項目的順利完成,同時保證所開發出來的軟件屬于高質量產品。

篇(2)

0引言

風險無處不在,它在任何軟件開發項目中都有可能發生。風險有幾種形式:自然災害、安全漏洞、人力資源缺失、第三方供應商問題、金融危機、不穩定的商業環境和項目失敗。因此,在進行軟件開發前,工程師應該制定一個風險管理計劃。該計劃涉及風險評估和風險控制,工程師應列出軟件開發過程中可能發生的問題,并列出這些問題的解決方案。這樣,即使軟件開發過程中遇到問題,風險管理可以幫助把有害影響最小化,從而避免軟件開發項目的失敗。然而,并不是每個人都關注風險管理,人們也很容易忽視風險管理的影響。實際上,風險管理對于軟件開發項目非常重要,因為風險是影響項目成功的重要因素。因此,本文試圖通過對文獻的分析,找出一些有效的風險管理方法,讓開發人員了解風險管理的意義。

1文獻綜述

風險管理是項目成敗的關鍵因素,也是項目管理的本質。因為風險管理可以幫助開發人員發現項目的威脅,并將其最小化(Alhawarietal.,2012)。此外,成功的風險管理可以幫助項目經理按時交付項目(Grantetal.,2006)。有效的風險管理需要找到風險,而不是否認風險、隱藏風險(GrayandLarson,2008)。風險管理有五個主要階段,即風險規劃、風險識別、風險評估、風險響應、風險監控與溝通(Lester,2014)。項目團隊應該關注風險響應、監控和溝通。響應意味著控制,它指的是制定一個風險管理計劃,將風險識別并按級別排序。監控包括標記一個已知的可能發生的風險,并改變該風險的可能性。溝通包括讓項目團隊中的所有人都知道風險管理的結果。風險響應、監控和溝通對于風險管理過程是必要的。項目團隊聚在一起討論并制定最新的風險管理計劃,能提高按時完成項目的機會。Otniel、Nicolae、Claudiu(2012)提出通過對軟件開發項目的分析,發現項目管理的本質是風險管理,而風險管理的方法有多種,最有價值的方法是評估方法和管理方法。評估方法將風險管理視為事后評估過程,該方法旨在找出導致項目失敗的原因。

2分析

2.1風險管理的意義

風險管理是項目管理過程的關鍵因素之一。有些風險是不可避免的,但風險管理可以解決問題。風險管理的主要功能是,如果在項目開發過程中發生較大的風險,風險管理將有助于控制風險,減少對項目的負面影響,以避免項目失敗。它還可以幫助項目團隊按時完成項目。然而,有些人認為在軟件開發項目的過程中進行風險管理是浪費時間和不必要的。我不同意他們的觀點,因為風險是影響軟件開發項目成功的一個重要因素,有效的風險管理可以處理風險,而不是讓項目一定成功。

2.2軟件開發項目中風險管理的基本步驟

軟件開發項目中風險管理有五個主要步驟。首先,開發團隊應該制定風險計劃,在風險管理過程中準備好所有的事情,例如定義項目經理和項目團隊成員的角色和職責。下一步是識別和分類風險,然后在軟件開發項目中標記這些風險。在此之后是風險評估,它與風險分析類似,項目團隊成員應該深入了解風險。風險響應是這5個步驟中最重要的,在這5個步驟中,軟件開發的項目團隊成員應該找到應對風險的解決方案。最后是風險監控和溝通步驟,這一步意味著對風險進行溝通和報告,讓所有開發項目團隊成員了解關于風險管理過程的最新信息。

3風險管理的兩種有效方法

篇(3)

中圖分類號:G434 文獻標識碼:A 文章編號文章編號:16727800(2014)001019102

基金項目基金項目:西華大學軟件工程特色專業項目(10TSZY317)

作者簡介作者簡介:唐劍梅(1975-),女,西華大學數學與計算機學院軟件工程系講師,研究方向為軟件工程、信息檢索技術。

0 引言

作為校級特色專業,筆者所在學院的軟件工程系近年來積極推進特色專業建設進程,設有軟件開發、軟件測試及移動軟件開發3個專業方向。在西華大學特色專業建設基金的資助下,各專業方向的課程體系建設日趨完善。由于實踐教學貫穿于高等人才培養的全過程,是提高人才培養質量、實現高等教育目標的關鍵環節[1],軟件工程學科和軟件產業不斷發展,以及全國對高素質軟件人才需求量激增的形勢下,針對軟件工程學科實踐性極強的特點,學校較大幅度地增加了實踐類課程和環節所占的比例。“移動軟件開發項目實訓”是近年來新開設的移動軟件開發方向學生必修的一門很重要的專業實踐課程,這門課將為培養更加符合社會實際需要的移動軟件開發人才打下堅實基礎,因此迫切需要研究和探索該課程的教學方法,以更有效的手段和方式提高教學質量。本文將從分組安排與項目選題、教師課堂講授環節、學生實踐實施環節、課程考核方式等方面進行研究。

1 合理分組,嚴格篩選項目選題

“移動軟件開發項目實訓”課程開設在大三下學期。此時學生已經學完了大多數基礎及專業課程,移動軟件開發方面也已經具備了Android平臺下的開發基礎。對于該階段的學生來說,急需在大四的專業實習及畢業設計到來之前做好更充分的實戰準備。因此,該課程的教學目標是:使學生學會移動軟件開發項目的需求分析、設計、實現及測試相關技術,能將之前學到的點狀知識和技能集結到面,同時整合訓練各種移動軟件開發所涉及到的主要技能點,為學生將來從事實際的移動軟件開發工作做好技術準備。本課程不再采用前期程序設計語言實訓課所采用的單元式訓練為主、綜合訓練為輔的方式,而是采用實戰項目的方式,讓學生完整地實現一個綜合性的中小型項目。

在該課程的第一堂課上,由教師對整個課程的概況和目標進行介紹,并給出該門課程的進度安排,讓學生了解整個項目實訓流程。接著進行分組安排,采用自由組合的分組原則,要求每組2~3人,并推選一個技術和溝通能力較強的學生為小組長。相對教師直接指派而言,自由組合的好處是各小組成員配合更加默契,課后的交流合作更易展開。而且學生中已有自發組織的軟件開發興趣小組,這樣他們可以保持興趣小組的組合來進行實訓,更易于出成果。分組結果可能存在某些小組成員開發能力都較強,但某些小組成員開發能力都較弱的情況。對于較強的小組,可鼓勵他們發揮創新精神和主觀能動性,多在設計方面出新點子,在項目中大量使用新技術。課程結束后可鼓勵其將成果用于參加一些競賽,如Android平臺軟件開發大賽等。對于較弱的小組,則可降低對創新性的要求,建議他們選擇一些注重基本技術的項目,即適于邊學邊練進而對技術的應用達到一定熟練程度的項目,這樣能減少學生的畏難情緒,激發學生的學習興趣和動力,使學生對移動軟件開發的學習由被動變為主動,以便更好地將書本上學到的知識轉化為實戰經驗。教師對移動軟件開發中的幾大技術進行介紹,提出實訓項目選題要求(如要求不重題、要具備實用價值、要涉及不少于3個較大的技術面的綜合應用等),并安排各小組根據自身的興趣進行課后選題調研。

第二次課則由各小組作選題報告,匯報選題背景及意義,闡述項目涉及的主要技術面,其余各小組可給出建議和意見。這樣既可集思廣益,又避免了小組選題內容過于雷同。由教師進行審核和點評,工作量或涉及的技術面達不到要求的小組需重新選題,直至題目通過為止。教師要嚴把選題關,避免出現小組找尋現成源碼項目抄襲的現象。

2 學生分階段提交項目文檔,進行階段匯報

實訓項目在規模和技術上應是企業實際開發項目的濃縮,因此要求是一個完整的項目。按照軟件工程的思想和規范,至少包括需求分析、軟件設計、編碼實現、軟件測試、進度控制、項目成果這6個工作過程,再根據具體情況,添加版本控制、文檔書寫、項目等工作過程,從而更加真實地模擬企業項目[2]。結合移動軟件開發項目的特點,以及各小組題目涉及的主要技術面,各小組可根據自身項目情況對項目進展進行階段規劃和裁剪。教師則按照所有小組都會經歷的開發階段收取小組提交的階段項目文檔,聽取小組的階段匯報,進而評估其開發進展情況。

題目確定后,課程內容分階段完成,各小組需按階段要求提交相關文檔,主要階段包括:

第一階段:在完成系統背景及功能概述和需求分析后,提交需求規格說明書。

第二階段:進行軟件系統功能界面規劃及總體架構設計,提交軟件設計文檔。

這兩個階段由小組成員共同討論完成。學生在這兩個階段同步進行開發前的技術準備工作,包括Android平臺及Eclipse工具的使用,以及相關技術知識的復習等。

第三階段:小組長分配開發任務,各成員分別進行自己所負責模塊的實現與測試。此階段持續時間較長,過程中要經歷期中檢查,各組需提交各模塊的開發文檔及已完成部分的代碼。

第四階段:進行集成測試,提交測試報告。

第五階段:進行系統優化與改進。

第六階段:程序打包。

第七階段:教師驗收項目,檢查實訓報告。

第八階段:期末項目驗收答辯,答辯通過后整理提交相關文檔及代碼。

教師事先通過學校的課程中心網絡平臺建好“移動軟件開發項目實訓”課程網站,將編制好的課程階段進度表上傳提供給學生下載使用,以便學生對整個課程安排心中有數。學生提交階段成果也通過課程網站進行。

3 教師及時進行階段總結及講評

在整個實訓過程中,教師要在3個階段集中進行階段總結及講評。課程第一階段完成后,教師根據各小組提交的需求規格說明書進行一次集中講評,及時發現問題并要求小組整改,避免因需求分析階段的失誤而導致最終軟件不合要求的情況發生。

第二階段完成后,教師根據各小組提交的軟件設計文檔再進行一次集中講評,以便及時糾正小組設計中的不合理之處。

第三次階段總結安排在期中檢查后,在各組提交部分模塊開發文檔及代碼后,教師及時發現學生技術上的問題,對各小組項目開發中的典型性技術問題進行匯總及解答。雖然各組開發設計的主要技術面不完全一樣,但仍采用集中講評,目的是對用到相關技術的小組起到引導和提升作用,同時讓未使用到該項技術的學生學習借鑒。畢竟各組項目涉及的技術面有限,因此應盡量全方位提升學生的知識和技術面。

4 強調課后不斷線

“移動軟件開發項目實訓”課程總共只有48個學時,每周3學時,共16周,因此要想學生在如此有限的課時內通過這門課能有更多的收獲,課后的繼續學習必不可少。因此,教師一定要對各小組提出項目開發課后不斷線的要求,對于各自完成的部分,各小組成員要盡量抽出共同的課余時間聚在一起繼續完成。筆者所在學院的實驗中心未被上課占用的機房對本院學生是免費開放的,這為各小組課余在機房繼續進行項目開發提供了平臺。

移動軟件開發技術發展非常迅速,新技術層出不窮,更新很快,教師既要引導學生采用課堂上學到的知識和技術進行項目的設計和開發,也要在課后隨時關注行業最新進展,保持對新技術的敏銳觸角,也即課后對新知識新技術的了解和學習要不斷線。

5 強調過程考核,注重答辯環節

為了使學生在實訓過程中能夠真正地提高他們的實踐動手能力以及分析問題、解決問題的能力,能夠獨立完成一定規模難度軟件的開發,除教師自身要努力提高個人授課能力和改進實訓方案之外,還要有一套完善的考核機制對學生在實訓過程中的表現和成績進行評價,使學生能夠對自己有一個正確的認識,及時看到自己的不足和差距,并調整自己的學習方法[3]。移動軟件開發項目實訓是通過任務來驅動學習的,讓學生能夠在完成任務的過程中不知不覺地熟悉和掌握最主流的技術,因此有必要通過階段性考核,給學生定期施加壓力,有助于他們更好地完成最終的實訓任務。

在課程進行的一、二、三、四階段,學生均要提交相關的階段文檔材料;在課程的第七、八階段,學生將提交實訓報告、最終的源碼及相關文檔。這些可作為教師進行過程考核的依據,教師可據此對學生的階段性成果進行考核。同時,為培養出具有良好職業素質和操守的軟件從業人員,對學生的學習態度和紀律性也要嚴格要求并納入考核范圍,所以教師每次課上要對學生的出勤情況進行考核。同一小組的學生,教師要根據其表現和承擔的開發任務量給予不同的成績評定。

6 結語

“移動軟件開發項目實訓”是一門實踐性很強的課程,能集中訓練和提高學生進行移動軟件項目開發和設計的實際技能,是移動開發方向的核心專業實踐課程。根據該課程的實際實施情況來看,本文關于該課程的教學方法激發了學生的動手興趣和積極主動尋求解決問題的熱情。但由于該課程為近年新開實踐類課程,其教學內容也應緊隨移動軟件行業的發展而不斷更新,所以其教學方法和措施目前還處于初探階段,尚需持續不斷地總結、改進、探索和創新。后續可考慮從兩方面著手改進:一是與企業合作,引進真實項目進行實訓[4];二是設計開發一個基于軟件交付過程的平臺,以便在軟件交付過程的各個階段,由教師設定學習任務、考核指標,通過學生提交的成果, 教師輸入判定的各個項目成績,然后由系統自動生成學生最終的考核成績,從而改進實訓教學手段[5]。

參考文獻參考文獻:

[1] 王皖陵,吳光龍.計算機專業實踐教學體系的建立[J].實驗室研究與探索,2007,26(6):8587.

[2] 黃能耿.基于工作過程的軟件實訓項目設計[J].無錫職業技術學院學報,2010,9(2): 5961.

篇(4)

中圖分類號: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.

篇(5)

中圖分類號:TP311 文獻標識碼:A文章編號:1007-9599 (2011) 13-0000-01

Demands Risk Analysis of Software Development

Sun Huiqing

(Wuhan Institute of Communication Command,Wuhan430010,China)

Abstract:This software development enterprises should be a greater problem.Based on the current status of the software industry's demand risk analysis,the demand for software development projects listed in sources of risk and analysis,summarized the causes of demand risk and the impact on the success of the project,software development projects is given in the demand for risk management and control recommendations.

Keywords:Software development;Demands risk;Risk analysis

一、對需求風險的理解

產品開發過程中,由于產品需求本身的隱含性、用戶與開發者之間的溝通障礙,以及需求隨著時間、用戶的變化而變更等原因,可能使需求分析偏離實際需求而最終導致產品開發的失敗,這種可能性稱為需求風險。軟件開發項目風險是指在軟件生命周期中所遇到的所有的預算、進度和控制等各方面的問題,以及由這些問題而產生的對軟件項目的影響。需求分析是軟件開發過程中最初始、最基礎的工作,也是最重要的工作之一,其成敗將直接并最終決定軟件開發的成敗,并且呈倍增效應。需求分析的關鍵是使隱含的需求明確,使變更的需求可控,采用座談會、需求調查表、需求啟發、角色扮演等方法可以使需求明確化;采用面向對象的方法及UML工具、領域專家的全程參與、需求分級、二次開發接口等方法可以使需求變更處于可控范圍內。實踐證明,這些都是控制需求風險的有效方法。

二、需求的獲取

(一)產品前景和項目范圍。應該在軟件開發項目早期,編寫一份包括業務需求在內的前景和范圍文檔,并將它作為添加新需求和修改現有需求的指導。

(二)需求開發所需的時間。將每個軟件開發項目中需求開發所耗費的實際工作量記錄下來,這樣就可以判斷出需求開發是否充分,并可以改進未來項目的工作計劃。

(三)需求規格說明的完整性和正確性。為了確保需求是客戶真正需要的,應該以用戶任務為中心,應用用例技術來獲取需求。

(四)創新產品的需求。對軟件開發項目中的第1個產品,不太容易把握市場對軟件產品的反映。

(五)定義非功能需求。由于我們一般都會強調產品的功能,所以很容易忽略產品的非功能性需求。

(六)客戶對產品需求意見一致。確定那些主要的客戶,并采用產品代言人的方法,保證有足夠的客戶代表的積極參與

(七)未加說明的需求。一般的客戶會有一些隱含的期望要求,但并未以文檔的方式說明出來。盡量識別客戶可能做出的任何假設。

(八)把已有的產品作為需求基線來源。把通過逆向工程發現的需求編成文檔,讓客戶來評審這些需求,確保其正確性和相關性。

(九)根據需要提出解決方案。軟件產品分析人員必須提煉出隱藏在客戶提出的解決方案背后的真正意圖。

三、需求風險的來源

很多開發項目在確定需求時都面臨著一些不確定性。當在開發項目早期容忍了這些不確定性,并且在項目進展過程當中得不到解決,這些問題就能對項目的成功造成非常大的威脅。如果不控制與需求相關的風險因素,就很有可能產生錯誤的軟件產品或者拙劣地建造預期的軟件產品。每一種情況對產品來講都可能致命的。

需求風險的來源包括:沒有足夠用戶參與、不斷增加的用戶需求、模棱兩可的市場需求、不必要的特性、過于精簡的規格說明、被忽略的用戶分類、不準確的產品開發計劃。

軟件開發項目風險中與客戶相關的風險因素有:(1)對軟件產品缺少清晰的認識;(2)對產品需求缺少認同;(3)開發者在做需求調查中客戶參與不夠;(4)市場中沒有優先需求;(5)不確定的需要導致出現新的市場;(6)不斷變化市場需求;(7)缺少有效的需求變化管理過程;(8)對需求的變化缺少相關分析等。

四、需求風險的管理

(一)制定風險管理計劃。對于一個軟件開發項目,你可以把控制風險的計劃放在軟件項目管理計劃里面。但是一個大項目則需要有一份獨立的風險管理計劃,包括用于識別、評估、編寫、跟蹤產品開發風險的各種方法與途徑。這份計劃還應包括風險管理活動的角色和責任。通常情況下,項目小組為他們的關鍵活動制定了計劃,但是在項目中并沒有按計劃去實施或者沒能按實際情況進行及時的調整。一定要堅持按照所采取的風險管理活動計劃去執行。項目的進度安排上也應該要給風險管理留出足夠時間來確保項目并未浪費早期投資在風險計劃制定上面。工程項目的工作分類細目結構中包括降低風險的活動、狀態報告,與更新風險清單。和其它項目管理活動一樣,需要建立起周期性的監控措施。保持對十來個有最大危害的風險的高度重視,并追蹤降低風險措施的有效性。當完成一項活動后,重新評估那項風險的可能性和影響,更新風險清單和其它相關的計劃。當控制住原本有很高優先級的風險后,必然有新條目會進入前十條。值得注意的是,不要僅僅因為完成了一項降低風險的活動而人為增加一條風險來進行控制。應當想想降低風險的方法是否真的減少了風險的危害,使它減少到了一個可以接受的水平。

(二)具體管理措施

1.首先要明確你當前軟件開發項目面臨的一些與需求有關的風險,不要把當前的問題當作風險,一定要是那些還未發生的事情。將風險的因素編寫成文檔,為每項需求風險推薦至少一種可能的降低風險的方法。

2.召集代表開發、市場、客戶和管理各方面的涉眾召開風險“集體研討”會議。盡力找出更多與需求有關的風險因素。估計每項風險發生的可能性及其影響,兩者乘積就是風險危害值。通過按風險危害值降序排列找到最高的五項風險。為每項風險安排一個負責人負責實施降低風險的活動。

五、結束語

軟件開發項目中的需求風險是所有風險中的一個不可忽視的組成部分,對其認識的必要性不言而喻,應該重視對它的分析,對需求風險的合理管理也是軟件開發項目項目管理中不可或缺的部分。

篇(6)

1.1 軟件開發項目團隊知識共享有效性概念

管理大師彼得·德魯克提出[1]:“對于管理者來說,‘有效性’就是通過管理活動提高績效,使組織能夠由小變大,由弱變強;是管理者達到目標和績效的必要手段”。我國學界對有效性的界定,借鑒《如何建立有效質量體系》中的解釋,“是系統對外部環境所作的貢獻”,此處有效性被界定為一種系統的概念。國內學者也在有效性的界定上做了很多工作,呂學清認為[2]:“要增強學校過程管理的有效性,管理工作必須講效果、講效率。”李春旺則提出虛擬企業內的知識共享有效性,是共享資源投入和效果輸出的綜合反映,在此基礎上建立了知識共享效果和成本評價指標體系。”因此,軟件開發項目團隊知識共享有效性是一種持續有效性,它不僅強調著團隊產出的有效性,更需要成員在良好的團隊氛圍下積極的知識共享態度和意愿,以保障軟件開發項目團隊績效的有效提升。

1.2 軟件開發項目團隊知識共享有效性影響因素分析

隨著團隊管理實踐的逐漸深入,知識共享有效性的系統觀點逐漸被學者接受,知識共享的過程性和時滯性等過程因素也逐漸被納入知識共享有效性評價上[3]。在理解團隊知識共享過程的基礎上,應進一步從過程有效性的影響因素上對其進行把握。有學者認為,知識共享有效性是態度、環境及共享活動等的共同作用結果。我國學者沈凌(2009)則提出團隊知識共享的投入與輸出的系統評價指標,其中投入指標包括團隊輸入、團隊過程及團隊建設等,輸出指標包括各項靜態指標等[4]。鑒于上述分析,軟件開發項目團隊內知識共享的有效性評價,早不止限于對創新產出的定量測量,而同時應考慮知識共享較難測量的過程因素,如軟件開發項目團隊知識共享的過程中的成員異質性特征(如成員性別、個性、能力等),團隊創新環境建設,團隊整體激勵機制等。

1.2.1 個體知識共享的態度因素

作為知識共享的重要影響因素之一,軟件開發項目團隊成員的個性傾向決定著成員知識共享的態度與主觀準則。知識共享態度是共享活動的前提,直接決定知識共享意愿乃至行為的發生,包括成員的內外部報酬預期及對團隊目標的認可和重視。個體知識共享的態度因素,主要包括如下幾點:

(1) 外在報酬預期。知識共享是組織成員社會關系的集中體現,關注外在報酬的經濟交易理論認為,個體行為大都是理性的自利行為,只有收益大于成本共享行為才會發生。軟件開發項目團隊內成員最直接追求的是其在團隊中的經濟報酬。當成員認為知識共享能帶給他們外在收益時,他們會采取更積極的態度對待知識共享行為。

(2) 內在報酬預期。Scott & Walker曾提出,知識性員工的內在報酬是知識共享最主要的影響因素。軟件開發項目團隊以創新任務為導向,其人力資源管理實踐顯示,他們較一般成員更重視內在報酬的獲得(如公開發表成果、獎勵等)。因此,軟件開發團隊成員對內在報酬是否具有預期,是衡量其知識共享態度的重要指標。

(3) 團隊目標承諾。團隊目標承諾,是成員對團隊合作所要實現的目標預期,正向影響著團隊成員的知識共享行為。若對團隊的核心價值具有目標承諾,成員將更愿意共享各自的知識。

(4) 自我效能。Bandura認為,自我效能是個體對達成其完成某一特定工作的自我能力的判斷,用來解釋具有相同行為技能的主體或其自身在不同條件下采取相同行為時的表現差異。軟件開發項目團隊成員的自我效能即其對自身知識共享能力的判斷。它直接影響知識共享行為,或通過激發并維持知識共享意愿從而間接影響共享行為:自我效能高的成員更傾向于選擇有挑戰性和困難的共享行為,并更加努力堅持等。

1.2.2 知識共享能力指標

軟件開發團隊成員知識共享的能力包括溝通能力、理解能力和知識與技術的應用能力等。主要體現為成員愿意共享知識的前提下,傳授知識,學習、接受知識及創新的能力等。

(1) 溝通能力。溝通是組織內人際傳遞信息、傳播思想及感情的必要途徑,是人與人之間交往的橋梁,通過溝通組織成員能分享彼此的情感與知識,消除誤會并增進了解,從而達成共識或者共同協議。團隊成員具備溝通能力與否,決定著成員之間能否進行知識的有效共享。

(2) 知識傳授能力。知識共享是知識擁有者與接受者間的交互行為,開始于知識擁有者對知識的傳遞,知識擁有者不僅傳授共享所需的顯性知識,更多則是傳授隱性知識及所需的方法,幫助知識接受者更好理解和掌握隱性知識。知識擁有者的溝通表達和演示能力越強,隱性知識的交流和共享的效率就越高。

(3) 知識學習能力。軟件開發項目團隊對項目成果的追求,促使成員從團隊內外尋求并學習有效知識。知識接受者通過對團隊內符合需要的知識擁有者進行評價,會有選擇有目的地向知識擁有者學習,最終還包括將其所得到的隱性知識與現有的知識融合,開發出新知識的行為過程。接受者的知識學習能力越強,知識共享的效率自然就越高。

(4) 創新能力。軟件開發項 目團隊成員的知識創新能力是成員運用所學知識和輔助工具創造出新的知識、技能與創新軟件成果等的能力。創新能力的大小,往往從很大程度上反應了創新成果的多少,成員的創新能力越強,其創新智力成果就會越顯著。

1.2.3 團隊環境指標

團隊知識共享氛圍的優化,有利于提高知識共享活動的效率,營造團隊共享氛圍,可通過團隊內部創新支持文化建設,成員信任水平的強化及知識共享平臺建設等方式實現。

(1) 團隊文化建設。知識共享活動需要建立相應的文化進行規范,塑造有利于知識共享的企業文化能夠鼓勵員工積極參與知識共享。當團隊文化氛圍建設適應知識共享時,會對成員的行為產生激勵和強化作用,支持創新的團隊文化氛圍中,團隊成員會樂于與他人分享自身知識,從而促進知識共享活動的開展。

(2) 知識共享平臺建設。軟件開發團隊是以知識等創新為追求的組織形式,團隊內部知識共享平臺的建設完善包括為成員進行知識共享的暢通的信息及創新知識交流與溝通的網絡平臺建設。如果團隊的技術基礎薄弱,沒有有效的網絡系統和通信系統,共享的途徑少,共享平臺不完善,就會大大減少知識的需要方和所有方之間的接觸機會,不利于成員間的交流共享,對知識的有效共享形成障礙。

(3) 成員信任水平。團隊信任水平同樣決定著個體間的知識共享方式。軟件開發項目團隊內的信任,是個體基于對同伴會執行某項對自身重要的行為的期望,而對對方不加控制的接受的意愿。社會學視角下的信任水平自從被引入組織行為學的研究以來,就受到了廣泛的關注與應用,研究與管理實踐證明,個體間的信任可以促進個體間的合作行為,包括知識共享行為的發生。

2 軟件開發項目團隊知識共享有效性評價

指標體系構建

Bandura的社會學習理論認為成員的學習行為是成員自身的態度和外部環境因素的交互結果,在總結有關文獻的基礎上,本研究分別從軟件開發項目團隊成員的知識共享態度、能力及團隊氛圍因素等方面構建包含3個一級指標及10個二級指標的評價指標體系以評估軟件開發項目團隊成員知識共享的有效性。經過專家修正后,得到圖1所示指標體系。

3 軟件開發項目團隊知識共享有效性評價模型

確定軟件開發項目團隊知識共享有效性評價的目標層次結構,包括總目標層、中間準則層及指標層。為科學準確的明確這共享有效性指標,構造下述成對比較矩陣(見表1)。

首先,構造準則層要素的判斷矩陣,并計算權重:

通過兩兩比較得到的判斷矩陣可以表示如下:

將判斷矩陣每一列正規化,并得出其特征值ω(見表1),同時計算判斷矩陣的最大特征值λmax并利用一致性檢驗指標CI進行一致性檢驗,通過相對一致性檢驗的指標公式CR=[CIRI,]可以得到對應的一致性檢驗值,當一致性比率CR<0.1時,判斷矩陣有滿意的一致性,否則,應對矩陣進行調整,直至滿意(RI表示平均隨機一致性指標,表2列出了1~9階判斷矩陣相應的RI值)。

此時,λmax=4.045,CI=[λmax-nn-1]=0.014 5,CR=[0.002 40.9]=0.016<0.1。

上述所示的兩層指標間的兩兩比較矩陣,對表現出了較好的一致性,但還需對層次總排序進行一致性檢驗,如表6所示。

通過上述分析可知,成員自身共享知識的態度和軟件開發團隊的共享文化建設是決定著知識共享有效性的重要方面。其中成員共享態度中自我效能感認知占19.9%,成員的目標承諾占14.81%;團隊文化指標中的信任條件和鼓勵創新的文化氛圍均占18.37%。而對于成員的共享能力,盡管同樣是知識共享有效實現的重要指標,其重要性不及態度與團隊共享文化環境建設。分析原因主要在于在軟件開發項目團隊中,成員的知識水平及知識儲備豐富等特點確保了成員知識共享能力。

利用層次分析法對軟件開發項目團隊的知識共享有效性進行系統分析后得到知識共享有效性影響因素模型,且各指標對軟件開發項目團隊的知識共享有效性作用不一,團隊管理者可根據各指標的不同影響程度作出相應決策。

4 軟件開發項目團隊知識共享有效性提升建議

(1) 構建和諧團隊共享平臺。團隊成員在對團隊基本價值觀及其他成員產生人際信任時,會感到自身有義務提供高效而有效的隱性知識,因此可以通過合理利用硬件設施如會議室、休息室及戶外場所等舉辦團隊內部的經驗交流會、沙龍乃至拓展活動等,使成員在輕松的文化氛圍和環境中獲得更多的信任,從而更加愿意采取知識共享行為,使團隊成員之間和團隊成員對團隊整體產生足夠的信任,以發揮出更大的努力,提高團隊產出。

(2) 建立科學、多元的知識共享報酬制度。現代經濟活動中,理性行為下的個體對報酬的追求是其做出決定的最初原因。軟件開發項目團隊成員追求的最直接的目標是伴隨著軟件創新成果的形成而產生的直接經濟報酬,因此,團隊要建立科學而合理的團隊知識共享報酬機制。與此同時,要通過建立更加多元化的非物質共享報酬機制,如團隊內部專利申請獎勵、知識產權保護、團隊成員額外休假制度、團隊內或團隊外組織的職位晉升等。滿足團隊成員外在的與內在的經濟報酬的預期,提高軟件開發項目團隊的知識共享有效性。

總之,軟件開發項目團隊的知識共享是復雜而動態的系統工程,針對知識共享有效性的激勵機制同樣是一個循序漸進的過程。激勵過度會增加組織的成本且并不容易產生有效的員工效用,過小則無法激起員工的共享意愿,因此,針對軟件開發項目團隊成員的知識共享影響因素實施激勵并及時反饋是軟件開發項目團隊創造高效創新成果,獲取競爭優勢的重要保障。

參考文獻

[1] 楊雨山.德魯克的管理精髓[M].北京:中國鐵道出版社,2009.

[2] 呂學清.增強學校過程管理的有效性[J].青海教育,2005(z1):32?33.

[3] 李春旺.虛擬企業知識共享有效性與激勵研究[D].合肥:安徽農業大學,2007.

[4] 沈凌.基于本體的知識團隊有效性形成機理及評價研究[D].武漢:武漢理工大學,2009.

[5] 班杜拉,林穎.思想和行為的社會基礎:社會認知論[M].上海:華東師范大學出版社,2001.

[6] 劉瑜, 王建武.研發人員知識共享績效評價指標研究[J].中國釀造,2008(16):114?116.

[7] 波.網絡組織中知識共享效率評價指標體系的建設[J].情報雜志,2009(1):68?71.

[8] 安中濤,安世虎.個體知識共享績效評估參考模型[J].情報科學,2006(3):396?399.

. Information Systems Research, 1994, 5(4): 400?421.

[10] 單雪韓.知識共享的影響因素分析與實現對策研究[D].杭州:浙江大學,2010.

. Academy of Management Journal, 1994, 37(3): 580?607.

篇(7)

[中圖分類號]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.

篇(8)

doi:10.3969/j.issn.1673 - 0194.2017.04.047

[中圖分類號]TP311.5 [文獻標識碼]A [文章編號]1673-0194(2017)04-00-02

隨著信息技術的不斷發展及普及,移動互聯網、云計算、大數據及物聯網等與現代制造業結合,越來越多的軟件項目立項。在軟件項目開發過程中,無論是用戶還是開發人員都會遇到各種各樣的問題,這些問題會導致開發工作停滯不前甚至失敗。軟件項目能否有效管理,決定著該項目是否成功。因此,如何做好軟件項目管理中的進度控制工作就顯得尤為重要。

1 軟件開發項目的管理現狀

國內外軟件開發行業競爭越來越激烈,軟件項目投資持續增加,軟件產品開發規模和開發團隊向大規模和專業化方向發展。因為起步晚,國內絕大多數軟件公司尚未形成適合自身特點的軟件開發管理模式,整個軟件行業的項目管理水平偏低,與國際知名軟件開發公司有一定的差距,綜合競爭能力相對較低。首先,缺乏專業的項目管理人員,軟件項目負責人實施管理主要依靠技術和經驗積累,缺少項目管理專業知識;其次,在項目開始階段缺少全局性把控,制訂的項目計劃趨于理想化,細節考慮不周,無法進行有效的進度控制管理,導致工作進度滯后;再次,項目團隊分工不合理,項目成員專業能力與項目要求不匹配,成員各行其是,出現重復甚至無效的工作,從而影響項目進展;最后,項目負責人不重視風險管理,沒有充分意識到風險管理的重要性,面對風險時缺少應急預案,使原本可控的風險演變成導致項目受損甚至失敗的事件。因此,必須在整個軟件開發項目周期內保持對項目的進度控制,當遇到問題時給出合理的解決措施,將重復工作、錯誤工作的概率降到最低,使項目目標能夠順利實現,使企業能夠獲得最大利潤。

2 軟件開發過程中影響進度管理的因素分析

項目管理的五大過程:啟動、計劃、執行、控制與收尾。軟件項目管理是為使軟件項目按時成功交付而對項目目標、責任、進度、人員以及突況應對等進行分析與管理。影響軟件開發項目進度的因素主要有:人的因素、技術的因素、設計變更的影響、自身的管理水平及物資供應的因素,等等。對項目進行有效的進度控制,需要事先對影響項目進度因素進行分析,及時地使用必要的手段,盡可能調整計劃進度與實際進度之間的偏差,從而達到掌握整個項目進度的目的。

2.1 進度計劃是否合理和得到有效執行

項目在開發過程中都會制訂一個進度計劃,項目進度和目標都比較理想化,在面對突況時沒有相應的應急處理預案,無法保證項目進度計劃的有效執行。主要體現在制訂項目進度計劃時由于管理人員自身專業局限性,對項目目標、項目責任人和研發人員和項目周期都有明確劃分,但對項目開發難度和開發人員能力考慮不足,假如因項目出現重大技術難題而引起項目延期,同時又沒有做相應的應急處理,勢必影響項目進度順利實現。

此外,沒有詳細的開發計劃和開發目標,開發計劃簡單不合理。比如:項目目標不清晰,項目組織結構和職責不明確,項目成員缺少溝通,不同功能模塊出現問題相時互推諉;每個開發階段任務完成情況不能量化;開發計劃沒有按照里程碑計劃進行檢查,進度出現延誤沒有相應處罰措施和應急措施,導致項目進度管理無法正常進行。

2.2 項目成員專業能力和穩定性

項目成員專業能力和穩定性是項目進度計劃順利實施的主要因素。在項目過程中,項目成員專業能力與項目要求不匹配,項目成員離開或者新加入都會對項目的進度造成不良的影響。

項目成員專業能力偏低,不能對自己的工作難度和周期有一個明確的認識,編寫的軟件代碼質量較差,可靠性不高,重復工作比較嚴重,就會延長研發時間,脫離原計劃制定的目標,導致實際項目進度與原計劃規定的進度時間點相差越來越遠。

項目成員穩定性包括人員離職或者參與其他項目和增加新人。原項目成員離開項目,項目分配的工作需要由新成員或其他項目成T來接手,接手人員需要對項目的整體和進度進行了解,消化吸收原項目成員已經完成的工作成果,同時占用一定時間與原項目成員交流與溝通,并且,每個人的理解能力和專業技術能力不同,在一定的時間內無法馬上投入工作,也會影響他們完成相同工作需要的時間,進而影響進度。

2.3 項目需求設計變更

項目需求設計變更對于軟件項目進度會造成極其嚴重的影響。由于項目負責人對項目目標理解不清晰,沒有充分理解用戶需求;或者為了中標需要,對項目技術難度考慮不深;或者用戶對需求定義的不認可,感覺不夠全面,提出修改意見,重新規劃,造成需求范圍變更。

項目負責人對于項目需求把控不嚴,不充分考慮用戶增加變更的功能對整個系統框架內容的影響,缺乏與客戶的溝通,忽略團隊協作和團隊成員之間的溝通,輕易修改需求,嚴重需求變更可能會導致整個系統架構的推倒重來,一般需求變更多了也會影響整個項目進度,造成項目延遲交付。

2.4 進度落后時的處理措施

在實際的軟件項目開發中,還有許多因素會影響和制約項目進度,沒有人能將所有可能發生的事情都考慮周全,在條件允許范圍內盡可能對項目開發過程按最壞情況多做預案,做到未雨綢繆,達到項目進度管理的預期效果。

項目管理人員在發現項目出現進度延遲后,需要及時與項目負責人進行溝通,查找問題根源并進行補救控制。同時,一定時間內了解項目組成員工作完成情況以及需要解決的問題,根據需要分解進度目標,做到日事日畢,嚴格按照項目進度計劃時間點實施,盡量減少進度延遲偏差出現的次數。按階段總結項目情況,評估本階段項目實現狀況是否與計劃要求一致,協調處理遇到的困難問題,對項目進度進行檢查和跟蹤分析,隨著項目開發的不斷深入,找到提高工作效率、加快項目進度的方法。

3 “智慧人社”管理信息系統項目的實現

3.1 “智慧人社”管理信息系統項目進度計劃的制訂

3.1.1 項目整體進度計劃的制訂

項目啟動初期,項目組成員使用里程碑計劃法,對整個項目的里程碑進行了標記,按軟件項目開發的生命周期將項目整體劃分為幾個階段:需求分析階段、系統開發階段、系統測試階段及系統試運行階段等。

3.1.2 項目開發階段進度計劃的制訂

在項目的每個階段中,其實都貫穿著許多階段性進度計劃,“智慧人社”管理信息系統項目的每個階段計劃也是通過使用進度管理方法來制訂的。同時,在開發階段中,項目組將每個功能模塊的開發任務進行了更詳細的分解,具體到每個子功能,規定了功能實現責任人,并標注了計劃用時。項目管理人員可以直觀地了解到每個子功能的計劃用時,在實施階段用于與實際使用時間進行對比考核,就很容易得出進度是否延遲或提前的結論。

3.1.3 “智慧人社”管理信息系統項目進度計劃的控制

項目進度控制的流程就是定期或不定期接收項目完成狀況的數據,把現實進展狀況數據與計劃數據做比對,當實際進度與計劃不一致時,就會產生偏差,如影響項目達成就需要采取相應的措施,對原計劃進行調整來確保項目順利按時完成。這是一個不斷進行的循環的動態控制過程。

在“智慧人社”管理信息系統項目開始后,在整體計劃中設置了一系列的報告期和報告點,用以收集實際進度數據。分別是項目周會、項目月度會議、階段完成會議。

4 結 語

本文通過對具體軟件開發項目過程中的進度管理進行研究與實踐,綜合運用科學的項目管理及“智慧人社”管理信息系統的軟件思想和方法提出了有效的進度管理方法,不僅可以保證項目的質量,還能在約定期限內完成并交付成果,為今后其他軟件開發公司開發類似項目提供參考,從而幫助提高軟件項目開發和進度控制的綜合管理能力。

主要參考文獻

篇(9)

[中圖分類號]G [文獻標識碼]A

[文章編號]0450-9889(2013)02C-0081-02

網絡數據庫是高職院校計算機網絡技術(軟件技術方向)、計算機與信息管理專業(軟件技術方向)的核心主干課,也是電子商務專業的必修課。該課程是培養網絡軟件程序員、數據庫管理工程師、數據庫開發工程師的核心課程。該課程基于微軟SQLServer數據庫平臺組織教學內容,定位于培養學生在大型數據庫系統方面的管理和開發的技術能力。通過該課程學習,學生應具備SQL Server數據庫管理系統的安裝部署、SQL Server數據庫對象的管理、SQL Server數據庫程序開發、數據庫系統的安全管理等專業能力。因此,建設基于工作過程的高職網絡數據庫課程開發,對于培養學生職業能力具有重要意義。

一、課程開發理念

傳統學科體系的平行學科的排序方式,往往采用部分理論課與部分實踐授課相結合方式,以傳統的章節方式組織內容。以這種方式培養出來的人才,無論是在職業素質還是在職業技能方面都無法達到企業實際工作崗位的要求,為此網絡數據庫課程的設計引入了新的課程理念:

第一,以工作過程為導向,對原有學科型網絡數據庫課程進行解構,在重新開發課程,基于行動導向方式來組織內容結構,并在組織教學活動過程中,充分融入行動導向和學習情境的思想。教學過程中,教學內容和活動的安排以企業真實崗位人員勝任崗位工作所要求的技能為基準,充分考慮在教學過程中融入相對應的工作過程的元素,讓學生得到相當于真實崗位的訓練,增強“零距離”上崗的能力。

第二,以真實的軟件開發項目為主線,把項目開發的內容分解到課程的學習內容中去,做到學習內容就是真實的數據庫開發項目內容。依托學院現代教育技術與網絡信息中心,與信息技術類相關企業合作,從企業引進真實項目,并與企業合作進行二次開發。在教學過程中,任課教師與企業專家一起,充分選取并嚴格分析管理信息系統開發項目,以分析系統的開發過程為主線,抽取出系統開發過程中產生的各個工作環節,在充分論證的基礎上,把工作過程中的各個環節融入到課程內容中,從而構建新的課程體系。通過這種方式構建起來的課程,其教學案例更接近真實的數據庫軟件開發項目,從而能給學生營造更真實的工作情景。

第三,通過對課程的學習和實踐訓練,應該能培養學生在進行自身職業生涯發展規劃方面的素質,讓學生通過課程的學習找到適應自己個性化發展的地方。在組織課程教學過程中,要以學生為中心,把課程內容分解成若干個學習任務,每個任務又對應軟件項目的某個功能模塊,以任務驅動形式推進課程學習。將真實的數據庫軟件開發項目確定之后,以完成這個軟件項目為總任務,圍繞完成任務這一主線,可將學生按能力、發展定位等方面的不同進行角色劃分,一般分為項目經理、數據庫設計師、程序員等角色。通過這種根據學生個性特點的角色劃分,學生更能清楚地看到自身職業發展前景,能有效增強學習主動性。

第四,課程的內容應更利于培養學生的創新思維和能力。軟件開發崗位所需的技能屬于腦力勞動,這種崗位跟一般性的勞動技能區別較大,對相關人員素質要求相對較高,這就要求通過高職教育,能有效地培養學生的創新思維和創造能力,這樣才能滿足企業對人才的需求。網絡數據庫課程的主要內容是針對數據庫軟件系統開發和管理人員,因此,課程設置內容應能較好地培養學生的創新思維和創造能力。本課程主要是通過項目教學、任務驅動的形式組織教學內容和教學方式,學生在這種方式的訓練過程中,能充分發揮自身的思維能力和解決問題的自主空間,同時,在完成軟件開發工作任務時,本身具有多樣化的解決方法,這些特點都非常有利于培養學生的創新能力。

二、課程開發思路

按工作過程系統化思想,開發設計一個管理信息系統可分為:需求分析和業務設計階段“數據庫設計階段”程序代碼編寫階段“系統測試階段”系統正式運行階段,而本課程學習的內容涵蓋“數據庫設計階段”和“程序代碼編寫階段”,是開發管理信息系統成敗的關鍵。因此,組織學生學習網絡數據庫課程對實現軟件技術方向人才培養目標起到非常重要的作用。

第一,以崗位能力需求為導向,以典型管理信息系統數據庫設計開發為載體,設計教學項目和學習任務,將網絡數據庫的單元技術組裝到系統開發的相關工作過程中,以提高學生的學習興趣,有利于綜合職業能力的培養。

第二,教學項目按照管理信息系統設計工作順序進行設計安排。

第三,以提高學生綜合職業能力為目標,組織實施項目教學法、問題探究法等行動導向的教學模式。

第四,改變過去單一紙質考試的模式,采用豐富多樣的教學效果評價方式。注重教學過程中的階段性成果評價,同時,學生的評價也占教學評價結果的一定比例。總之,從人員參與方面看,要有教師和學生共同參與評價;從評價過程方面看,要側重于項目計劃、評估、實施等過程評價;從整體上看,要評價教學過程是否有利于學生職業素養的養成。

三、課程開發實施

(一)課程內容的解構與重構

通過組建骨干教師、企業技術骨干、課程專家小組深入企業進行調研,企業家與專家座談研討等方式,分析職業工作任務等構建課程結構,選取一個最符合工作崗位要求、囊括全部課程內容的真實項目引入到課程,以該真實項目為主線,對課程教學內容進行解構和重構。本課程以開發一個完整管理信息系統(校園電子商城CampusWebShop)的數據庫為載體設計課程教學項目,按工作過程系統化的思想,采取行動導向的教學模式,具有很強的工作過程完整性,使課程具有較強的針對性和適用性。具體見圖1。

(二)課程教學模式改革

1.基于工作過程導向的“項目教學”模式。通過結合真實的軟件開發項目,整個學習過程由師生共同完成真實的項目開發的工作過程,以促進學生在校學習與實際工作的一致性。在組織和開展教學過程中,主要按如下順序開展:第一步,選取較有代表性的大型數據庫軟件開發項目;第二步,組建課程項目教學團隊;第三步,通過教學團隊把軟件項目的工作內容進行工作任務化的整合和序化;第四步,根據軟件項目開發的規律,對項目的工作過程進行分解,即由大的工作過程一小的工作過程一小的項目模塊。每個小的項目模塊對應學習領域(課程)的學習情景,通過一個個小項目的完成,讓學生逐一掌握相關的理論知識與開發技能,過程中培養學生的職業素養與綜合素質,最終完成一個或多個典型的開發項目工作。在以上項目訓練的基礎上,再綜合選取若干個較有代表性的數據庫開發項目,以便于學生課后拓展,通過反復訓練,讓學生最終具備如下能力:基于微軟的SQL Server平臺,獨立完成數據庫軟件開發項目的完整工作過程。

對于每一個小的工作過程(項目),都遵循工作過程的步驟來組織教學,將工作過程的資訊、決策、計劃、實施、檢查、評估的六個步驟映射為接受任務、企業需求分析、計劃、實施、檢查、總結、評估的學習過程。具體見圖2。

2.職場環境下“教、學、做、用”一體化的小組學習方式。在軟件技術實訓室中按照軟件的生產流程和全真工作環境,并以企業的實際需求來設計和組織實訓項目。在學習過程中,一般是整班組織在一起學習,但需要把3-6個人分成一組,每組圍成一圈進行學習,從而形成小組學習的形式。教師按小組分配任務,并進行引導,每個小組的學生集中一起學習交流,并定好學習計劃,然后按計劃完成學習任務。學習任務完成后,對于完成學習任過程中產生的成果,可以采用多種方式進行檢測,一般有自我檢查、學生之間互查、教師檢查等方式,也可以通過直接把產品進行推廣應用的方式來檢驗。最后根據檢驗的情況對學習給予總結和評價。全真工作環境的構建,主要通過改造傳統實訓室的方式來實現。具體做方法是:把一個實訓室進行分區,讓它具有項目教學實訓功能、教師工作室功能以及個性化教學區功能。通過這三個功能區,可以按項目教學法開展教學,滿足教師進行軟件系統的研發及技術服務需要,同時,教師利用個性化教學區可以對個別學生進行個性化輔導學習。

3.改革網絡數據庫課程的考核方式,主要是突出考核學生的職業能力養成和重視學習過程的評價。傳統的課程考核方式具有較大的局限性,一般形式是筆試+操作考核,這種方式很難檢驗學生的整體學習效果。當前,學習效果的評價應該更重視檢查學生的職業素養、適應崗位的能力,以及他們掌握理論知識和實踐技能的綜合情況。對于本課程的考核,將徹底改革傳統考核方式,側重于考核學生的學習過程和結果,特別是注重考核學生的綜合素質,這樣能更好地引導學生重視自身崗位能力的訓練,利于學生職業能力的養成。而考核的方式可以是現場演示系統設計方案書、軟件開發成果等,或回答教師的問題等。

篇(10)

判斷和衡量代碼質量一直是開發過程中令人苦惱的問題,在同樣完成功能的情況下,如何判別一種寫法比另一種寫法好呢?在代碼重構的過程中,如何確定代碼質量是在不斷的改進當中呢?引入一種設計模式以后,代碼真的變的比以前好了嗎?大部分時候我們憑感覺和經驗做這些事情,我們使用很多模糊的詞語來描述我們的判斷,比如這樣做以后,代碼的可維護性更好、可擴展性提高,等等。在越來越注重代碼設計的今天,很多人開始使用更感性化、更形而上學的詞語來形容軟件質量,我們會聽到評價軟件結構很優雅,帶來美的享受,甚至一些設計原則被提升到了哲學高度。

不得不承認這些詞語的描述確實很符合我們看到一段高質量代碼的心境,但是這些新詞語的出現并沒有幫助我們解決軟件質量判定中遇到的問題。因為這些感性的判定,由于每個人的經驗不同,經歷不同,所得出的結論也不盡相同。而軟件度量能解決這些問題。

眾所周知,度量對任意一個工程產品研制都是很重要的,度量讓人們更加了解產品、可以評價產品、衡量產品質量,從而進行改進。對于軟件產品也一樣,只有定性的評估是不夠的,還要通過定量的評估才可以根本的解決評估軟件產品質量問題。

二、什么是軟件度量

如今計算機在我們生活的每個領域幾乎都扮演了非常重要的角色,在計算機上運行的軟件也越來越重要。因此,可預測、可重復、準確地控制軟件開發過程和軟件產品已經非常重要。軟件度量就是衡量軟件品質的一種手段。CMMI為軟件產品及軟件過程提供了一套定量的表示和分析模型,即軟件度量。因此,軟件度量分為軟件產品度量和軟件過程度量兩大部分。

先簡單介紹一下軟件產品的度量,由三部分組成:

1、質量要素。包括:功能性、可靠性、易用性、高效性、可維護性、可移植性六條。

2、評價標準。包括:精確、健壯、通信有效、處理有效、設備有效、可操作等。

3、度量元。指軟件的需求分析、概要設計、詳細設計、CODING實現、設置測試、確認測試、使用維護七個階段中的度量元素,比如各階段的里程碑――文檔等。

對于軟件過程度量,在軟件過程中,我們有必要知道掌握這個過程中的什么。因為我們需要在通過每一個軟件過程后,能交付符合該過程需要的結果,即該過程產品及該產品性能是否達到組織的商業目標。為了讓這個目標成功,讓它所有過程中的行為在整個管理中可以預測,判斷現階段這個過程設計是否合理,我們不僅僅需要主管和經驗豐富的開發人員的經驗,還需要定量的數據作為分析、參考,并把每個軟件過程記錄入庫,作為今后統計分析的參考數據,這樣科學的輔佐開發人員將軟件過程控制住。

可以通過對整個軟件過程中的七個階段進行離散分析,得出各階段中缺陷的發現及解決比例,從而判斷出哪個階段問題最大,將解決重點放在該階段。比如,如果在分析階段缺陷比例最大,而后期依次減小至理想狀態,這說明本軟件過程是非常成功的;反之,如果在測試階段甚至使用階段缺陷比例很大,很可能說明這個軟件過程在分析或者構架時就存在很大的問題。

三、軟件度量的對象

從前面的論述我們知道,任何軟件度量活動最想做的是識別我們想度量的實體和實體的屬性。在軟件中我們想度量其屬性的實體可以分為三類,他們是:

1、過程:是與軟件相關的一些活動,這些活動都有一個時間因素。

2、產品:是指在軟件開發過程中產生的各種中間產品、的資料和文檔等。

3、資源:是指在開發過程中輸入給過程的東西。

在軟件中要度量或預測的屬性都是上述三種實體之一的屬性。同時,我們有必要區分一下外部屬性和內部屬性:內部屬性是能夠純粹用過程或產品或資源其自身來度量的屬性;

外部屬性是指由過程或產品或資源及與其相關的環境共同才能度量的屬性。

在軟件度量中,主要用于以下幾個方面:

1、從產品、過程和資源中得來的數字。如,功能點數或代碼行(LOC)/每人每月等。

2、度量的分類。客觀度量一般為定量的度量;主觀度量一般反映為專家意見;在這些基本度量(直接度量)的基礎上,經過計算得到進一步的附加度量(或稱推導度量,間接度量等)。

3、可識別的屬性。

4、一個理論或數據驅動的模型。其描述的是一個依賴于獨立變量(如大小)函數的可變變量;這種模型通常是用于預測目的的。

四、軟件度量的過程

軟件度量工作首先需要確定能夠表示軟件質量的各種屬性和指標;然后分析軟件、收集數據;接著運用公式換算代碼的各種指標值;最后通過這些指標就可以分析代碼的質量。確定哪些屬性和指標可以表示軟件質量、收集哪些數據、如何用公式推導指標,都是軟件度量的研究重點。它所確定的各種軟件度量指標為我們了解軟件屬性、衡量軟件質量提供了科學依據。

軟件開發過程中,不管哪種軟件度量方法,都包括了其基本的軟件度量過程。這些過程構成軟件度量作業的一次循環,使得軟件度量能夠經由漸進式的循環得到螺旋式上升。軟件度量的基本過程如下:

1、承諾度量。根據軟件開發的技術和管理過程對軟件度量的需求,決定并承諾實施軟件過程度量,這是具有針對性地推進軟件度量的第一步驟,也是高層管理者參與決策并提供相應資源的重要環節。

2、計劃度量。基于軟件度量承諾,根據軟件開發的技術、管理、流程、績效、問題等信息制定軟件度量計劃。在計劃中正式確認產品、流程、角色、責任和資源相關問題及屬性,為實施軟件度量提供書面的、計劃性的、具有可行性的、得到資源支持的保證。

3、實施度量。根據軟件度量計劃對軟件開發的項目、產品和過程等度量對象實施度量。通過度量收集、存儲、分析有效的軟件度量數據,并將度量和分析結果用于控制和改善軟件過程。

4、評估度量。對軟件度量過程本身進行評估,對度量標準、度量流程、度量方法、度量對象、度量效用等做出評估,發現度量作業的問題點,總結度量作業的資產,并提出度量作業改善方案。

5、改善度量。根據度量作業的改善方案在后續的度量作業中加以實施,將改善方案導入下一次軟件度量過程之中。改善并不是水平方向上的簡單重復作業,而是基于經驗和教訓之上的螺旋式上升過程,將軟件度量的效用在軟件開發過程中展現出來。

五、軟件度量方法

1、項目度量。項目度量是針對軟件開發項目的特定度量,目的在于度量項目規模、項目成本、項目進度、顧客滿意度等,輔助項目管理進行項目控制。

2、規模度量。軟件開發項目規模度量是估算軟件項目工作量、編制成本預算、策劃合理項目進度的基礎。規模度量是軟件項目失敗的重要原因之一。一個好的規模度量模型可以解決這一問題。有效的軟件規模度量是項目成功的核心要素:基于有效的軟件規模度量可以策劃合理的項目計劃,合理的項目計劃有助于有效地管理項目。規模度量的要點在于:由開發現場的項目成員進行估算;靈活運用實際開發作業數據;杜絕盲目迎合顧客需求的“交期逆推法”。

3、成本度量。軟件開發成本度量主要指軟件開發項目所需的財務性成本的估算。主要方法如下:類比估算法、細分估算法、周期估算法。

4、顧客滿意度度量。顧客滿意是軟件開發項目的主要目的之一,而顧客滿意目標要得以實現,需要建立顧客滿意度度量體系和指標對顧客滿意度進行度量。顧客滿意度指標以顧客滿意研究為基礎,對顧客滿意度加以界定和描述。項目顧客滿意度量的要點在于:確定各類信息、數據、資料來源的準確性、客觀性、合理性、有效性,并以此建立產品、服務質量的衡量指標和標準。企業顧客滿意度度量的標準會因為各企業的經營理念、經營戰略、經營重點、價值取向、顧客滿意度調查結果等因素而有所不同。

5、產品度量。軟件產品度量用于對軟件產品進行評價,并在此基礎之上推進產品設計、產品制造和產品服務優化。軟件產品的度量實質上是軟件質量的度量,而軟件的質量度量與其質量的周期密切相關。

篇(11)

中圖分類號: TU71 文獻標識碼: A

需求分析是軟件開發過程的核心,其結果直接影響到整個的軟件開發過程。據相關資料顯示,因需求分析因素所造成的軟件項目失敗或缺陷約占60%,屬于系統實施階段的代碼錯誤,而導致軟件項目失敗的比率約為40%。項目失敗的根源在于需求分析不明確,需求調研不徹底,從而引發需求不斷變更,最終導致項目停滯。這些變更不僅加大了開發成本、項目無法按時完成等嚴重問題,而且,還有可能引發用戶方與開發方之間互相指責,導致項目擱淺。

一、軟件項目需求分析的重要性

軟件系統的開發主要分為五個階段,分別是系統的需求分析階段、系統設計階段、系統實施階段、系統測試階段和系統維護階段。而需求分析階段是整個五階段中的重中之重,在該階段所占的工作量大概是整個軟件開發項目的50%,邏輯方案是該階段的最終成果。邏輯方案不僅是進行系統設計的依據,而且,還是系統最終驗收的說明性文件。從以往的經驗來看,需求分析做的不徹底,沒有深層次的挖掘用戶需求,往往可能導致整個項目無法達到預期的效果,或者說設計開發出來的產品不能滿足用戶的需求。

需求分析首先要對現有系統有充分的認識和了解,在此基礎上,通過識別關鍵問題、分析項目的可行性、詳細調查研究、系統化分析,最終設計完成該項目的新系統邏輯方案。只有系統分析員明白了用戶的真正需求,才能開發出滿足用戶的軟件產品。在這里,要強調一點的是,在做需求分析的時候,開發方一定要指派有實際工作經驗的系統分析員來與用戶溝通,而不是指派具體的開發人員,這將避免一些溝通不暢的問題發生。系統分析員在了解用戶的基本需求之后,要以書面的形式,準確地制定出軟件需求報告。該報告主要說明系統的行為屬性,是項目開發過程中對系統的制約。要實現這一目標,就需要系統分析員與用戶之間做到緊密協作,甚至系統分析員要深入到用戶方的實際業務當中,把自己當做是用戶,從用戶的角度思考問題,只有這樣,開發方才可以真正了解用戶需要什么,系統應該做什么。

二、規范執行需求分析的流程

需求分析的過程,要嚴格執行規范化操作,囫圇吞棗式的需求調研是不可取的。開發方在做需求分析過程中,一定要嚴格把關,從對用戶負責的角度出發,并且也為了降低自己的開發成本,對無法與用戶實現很好溝通的項目經理要及時叫停,避免后續工作無法正常進行。

按照需求分析的過程,同樣也可將其分為五個階段:首先要獲取用戶需求,其次是分析用戶的需求,第三是編寫需求文檔,第四是評審需求文檔,最后是管理需求。規范執行需求分析的流程,是需求分析能否成功的關鍵。圖1是根據實際工作經驗總結出的需求分析工作流程:

在需求分析過程中,開發方要深入用戶方的各個部門,最簡單的項目也要做到用戶確認需求和需求評審兩個過程,復雜的項目甚至要做到多次。

三、盡快熟悉項目用戶方干系人全貌

項目干系人又稱為項目相關利益者,是指積極參與項目、或其利益會受到項目執行或完成情況影響的個人或組織,項目干系人對項目的目的和結果施加影響。項目管理團隊,即開發方,必須識別項目干系人,確定他們的需求和期望,盡最大可能地管理與需求相關的因素,以獲得項目的成功。因此,應當從項目的啟動開始,系統分析員用戶方相關人員的配合下,逐步分清項目用戶方干系人具體包含哪些人和部門,通過開方法與其溝通加之用戶方領導的協調以驅動他們對項目的支持,從而減小其對項目的阻力。

有些項目在做需求調研時,因受用戶方提出的進度要求等因素影響,有些系統分析員不愿與用戶過多地交流,只是發一些調研表做一些大概的了解。往往是因為開發方已有與該建設單位相似的原型,會亟不可待地去推廣,這樣會導致某些差異需求得不到深入了解,用戶方只能被動地去適應原型系統,這樣的做法是不可取的。另一種情況則是開發方與用戶方的技術部門交流比較多,而向業務部門和實際使用人員調查的力度不夠,往往容易造成原型試用后,與用戶的需求不一致,不得不再對需求做較大調整,造成開發周期不斷延期,開發成本大大增加。因此,熟悉項目用戶方干系人全貌是進行需求調研的第一步,也是需求調研的基礎。在定制的開發項目中,最重要的是要弄清楚用戶方中的組織結構關系、業務流程關系、數據流程關系。制定該項目的牽頭單位,在此基礎上,使用圖表的形式將這三種關系表現出來。

四、采取正確的方法獲取用戶需求

軟件開發項目的首要目標就是要發現用戶的需求。在對用戶進行需求調研過程中,使用的方式很多,初期調研可以采用會議的形式,后續的詳細調研以及需求確認,可以采用電話、郵件、小組討論等方式,模擬演示也是一種很有效的形式,用戶比較直觀,容易發現、提出問題,但每一次調研過程當中,都要做好筆錄,當與用戶交流完畢以后,要對交流的結果進行整理、分類,便于后續的分析活動。系統分析人員要對收集到需求做進一步的梳理和分析工作,在這個過程中,首先要對用戶提出的具體需求,包括可能該項目目前不涉及的需求,都要知道“為什么”,并且判斷用戶提出的需求是否合理,對于不合理的需求,開發方要給出不合理的理由和原因。其次,要集中精力,把關注點放在需求分析階段關注的目標上,即“做什么”,而不是“如何做”,第三就是要分析用戶提出的需求當中所衍生出的隱含需求,這一點往往容易忽略掉,這就需要系統分析員在與用戶交流當中,關注用戶的表情、眼神、用語,因為對隱含需求不加以考慮或考慮不充分,往往會引起永無止境的需求變更。

五、軟件項目的生命周期

從用戶的角度來看,軟件項目的生命周期應該包括項目前期的論證工作、項目計劃、軟件開發、運行、維護以及項目評價。因此,軟件項目管理的范圍不僅包括傳統的軟件開發過程,還應該包括開發之前的準備工作以及運行中的維護工作和對項目的總結工作。具體來講,軟件項目生命周期各階段的活動。

5.1啟動階段和計劃階段。在軟件項目的啟動/計劃階段,需要組建一個領導小組,其成員包括用戶的各級和各部門的高中級領導、有經驗的管理專家和系統分析員。其任務是分析用戶的實際業務和發展戰略,確定系統的目標,估算資源、成本和進度,論證、審批系統的實施計劃。

5.2實施佐制階段。軟件項目的實施催制階段主要指軟件開發階段,包括系統分析、系統設計、系統實現和系統運行。此時需要對項目的各種資源(包括人力、資金、時間、信息)、項目質量和項目風險進行全方位的管理,控制項目范圍的變動,協調各方面的工作。

5.3收尾階段。軟件項目的收尾階段就是正式驗收整個系統并移交給用戶的工作,主要包括完成項目移交的準備工作、對所建立系統進行評價、收集項目中的各種數據、總結經驗和教訓,為以后系統的維護、更新和升級提供依據等。

結論

在軟件項目管理的過程中,只有實施規范化管理,才能更有效地進行項目管理,提高項目成功的概率。目前,由于軟件項目管理實施的時間不長、經驗不足,我們只有不斷從實踐中積累經驗,進一步完善軟件項目管理的理論體系,將軟件項目管理更有效地應用到軟件開發的實踐中。

參考文獻:

[1]王遠,王健.計算機項目管理[M].武漢:武漢大學出版社,2009,8

主站蜘蛛池模板: 大理市| 交口县| 罗山县| 扬州市| 嘉兴市| 邛崃市| 岑溪市| 敦化市| 双桥区| 肥城市| 武乡县| 乌拉特前旗| 饶河县| 临安市| 岳池县| 安达市| 和平县| 屏边| 林口县| 遂平县| 山阳县| 三河市| 海口市| 阳新县| 湖口县| 阳春市| 井冈山市| 佛山市| 福州市| 乌鲁木齐县| 台州市| 甘德县| 怀仁县| 新营市| 无锡市| 沈丘县| 两当县| 阜新| 纳雍县| 兴业县| 吉安县|