軟體工程論文

來源:才華庫 7.27K

以溝通為出發點,以溝通為中心進行專案的開展,可以有效地進行專案的管理,提高專案的質量,降低風險與成本。

軟體工程論文

溝通,不僅僅是指用言語進行溝通,還可以以書面,文件,手冊,電話,郵件,會議等方式進行。靈活運用多種的溝通方式,使參與專案開發的每個成員能夠有統一的思想,不會產生歧義。當然,溝通不僅僅是在工作上的溝通,也需要工作下的溝通。簡單來說,專案經理對員工的不同程度的問候,或多或少會提升員工的工作積極性與主動性。而這也就昇華到管理的層面,是管理專案,還是管理人?可以從底層分析,專案是由誰來做?是參與專案的員工。那麼專案的質量直接由什麼來決定?員工的工作心態。但是員工的心理活動往往低多變的,沒有人能夠掌控,那麼適當的溝通,不僅僅可以將這種情感活動向益於工作的方向轉移,而且也可以進一步促進公司的凝聚力,讓員工從心裡將公司當成一個大家來對待。而工作層面,適當的溝通,可以讓彼此瞭解對方的思考方式,迅速的採取合適的辦法,讓彼此的意見得到統一。而不是因為意見向左,產生分析,得不到進一步的解決。從專案整體來講,合適的溝通可以降低專案需求的多變性,從而降低專案開發的成本;合適的溝通可以將技術層面的難題,得到共同的思想靠攏,從而得到解決;合適的溝通可以讓各崗位職責的人能夠明白彼此的意見,提高工作效率的同時,也進一步降低因為溝通不當,導致專案BUG出現的機率。溝通分層次,同一個層次的人群互相溝通,不會有太大的難度與理論上的偏差。而針對不同領域,不同層次的人

來說,彼此之間的溝通成為了一個難題。所以從公司的角度分析,首先專案組成員必須具備最基本的理論基礎,如:《軟體工程》,《軟體質量》等。從細節劃分,程式設計人員需要有關於具體編碼規範等額外理論基礎,測試人員需要有關測試方面等額外理論基礎,針對專案經理,不僅需要程式設計人員與測試人員的基礎理論,也需要整個專案的理論,如《軟體專案管理》,《專案管理知識體系》等管理知識。只有理論背景差別大不的情況下,互相之間的溝通,才會更加有效率,進一步降低資訊在傳輸之間的損耗,使開發出的軟體更加接近客戶的要求,提高客戶對公司產品的滿意度,有利於產品的市場推廣。所以完美的專案不存在,只能在共同的努力下,產品才能夠向完美進一步靠近。以下從專案的整體來闡述溝通對各個層次的影響。

競標階段,競標的成敗與否,在於自己的產品是否接近客戶心中的目標,從而贏得投標,其中的關鍵在雙方的溝通。

眾所周知,專案從哪來,是從客戶的需求得來。那麼從公司的角度出發,如何獲得客戶的認可,得到專案的投標?這是個很現實的問題。在《軟體工程導論》上得到很多資訊,如何快速開發出客戶滿意的模型,在於需求分析師從客戶交流中,得到有用資訊的有效程度。其中的資訊不僅僅是專案的功能,也有客戶的背景,使用環境,客戶群的習慣等等方面。根據市場調研顯示,客戶的體驗度已經成為一個不可忽視的環節,雖然所開發的系統已經完成了使用者的基本功能要求,但是從客戶最直接的感官出發,系統操作不夠簡便,系統畫面不夠人性化等等細節體現出,客戶的滿意度沒有達到應該有的高度。所以,

中間的溝通也就成了關鍵。作為專案前期需求的主導--需求分析師的素質成為了主要因素。對於大多數人來說,獲取對方話語的有效的資訊量為80%,而經過需求分析師的再一次理解,到了開發人員的手中的文件的有效資訊不到實際的70%,所以常常開發出來的軟體無法達到滿意的效果。如何在溝通中獲取全面的有效資訊?最有效,也最全面的方式,莫過於在溝通交流之前,需求分析師進行一次全面的市場調研,對該客戶的環境,業務等方面進行理解與學習。然後在此基礎上,結合自己的理解與客戶進行下一步的溝通,在客戶的角度思考問題,用自己的話語闡述客戶的各種需求,得到對方的肯定,最終整理出最滿意的客戶需求。

那麼如何快速的讓客戶的需求,轉變為可以看到到的物理模型,這裡提倡使用快速原型法。系統架構師根據前期的客戶需求文件,運用axure等建模工具,快速有效地開發出前期的模型,使文字性的描述,轉變為最直觀的物理模型,不僅可以更清晰的展現使用者需求,也可以更直觀的確認該模型是否符合客戶的要求,以及時作出合理的調整,作出讓使用者滿意的模型產品。

開發模型的同時,成本的估算工作已經展開。有了具體的值,才會有實際給客戶的報價。所以如何估算?使用哪種方式估算?以哪個專案為藍本?需要進一步的分析與思考。結合自己學的知識,以及向前輩請教的經驗,發現(UCP)功能點演算法,(LOC)程式碼行演算法,(WBS)工作結構分解法已成為主流。對於UCP,主要用於物件導向的專案,LOC與WBS沒有具體限制。每個演算法都有自己的優缺點,對於不同

的專案,專案的不同階段,使用不同的演算法,能夠很好地解決成本估算的問題。其中具體估算的同時,經驗也是非常重要的,經常性的去總結每個專案,詳細具體到單元,功能的估算,收錄成冊,形成良好的迴圈,對於公司是至關重要的。而這裡是專案第一次的初步估算,是為贏得競標的概要值,得到標後,需要進行詳細的成本估算與具體商榷的價格。理論與經驗的'結合,可以進一步精確專案的成本估算,對於專案下一步的開展,起到良好的前期鋪墊作用。

公司得到競標後,進入需求分析階段,參與人員主要為需求分析師,系統架構師,專案經理。主要輸出為,詳細的專案成本估算,專案進度估算與需求規格說明書,概要設計,詳細設計等文件。參與者之間,需要進行詳細的溝通,達成思想上的統一。

專案成本估算與專案進度的估算越詳細越好。實際中,為了滿足顧客期望的日期而造成的不合理進度安排,在軟體領域比其他的任何工程領域要普遍得多。而且,非階段化方法的採用,少得可憐的資料支援,加上完全藉助軟體經理的直覺,這樣的方式很難生產出健壯可靠和規避風險的估計。所以在這個階段,開發並推行生產率圖表、缺陷率、估算規則等等,對於整個公司來說,最終會從這些資料的共享上獲益,形成良好的迴圈。分別來講,在成本的估算上,推崇使用UCP(功能點演算法)。這種方法,可以將專案中的各個方面,包括各種風險都能夠考慮進去。其中,在風險方面,需要全面的分析整個專案,從整體分析,然後小到區域性,考慮未來可能出現的風險,評估每

個風險的概率,計算出對應的功能點,然後估算每個功能點的費用,從而得到比較理想的成本估算。在進度的估算上,推崇使用WBS(工作結構分解法),將專案任務進行合理的細分,分到可以確認的程度,然後估算每個WBS要素的時間,從而得出整個專案的時間。當然WBS也可以適用於估算專案的成本,這裡因人,因專案而異。靈活使用不同的方法,可以進一步精確最終的估算值,將風險減小到最少,利於下個階段的展開。

在整個需求分析階段,要將需求做的更細,更準確為目標,不斷地與客戶溝通,嚴格杜絕使用習慣性的想法,去掩蓋客戶的真實需求,溝通應該具體到每個功能點,得到客戶的肯定後,進行下個功能點的溝通。關注客戶的顏色感官,操作習慣等細節方面。儘可能全面的從客戶的角度去分析問題,然後結合公司的技術,給使用者合理的反饋,得到最終雙方都滿意的結論。需求分析師需要具有良好的溝通能力外,也需要出色的理解分析能力,具備業務基礎,專案成本評估,以及各種文件的編寫能力。一個成熟的需求分析師,可以將溝通中資訊的損耗減小到最低,提高使用者的滿意度,整理出比較全面的《需求規格說明書》,有利於系統架構師的工作開展。

熱門標籤