一個軟件開發(fā)項目通常要經歷需求分析、設計、編程、測試等幾個大的階段。其中設計又包括整體設計、系統(tǒng)設計(把整體架構變成一塊塊系統(tǒng))、詳細設計幾個環(huán)節(jié)。
詳細設計之后軟件就變成了一塊塊模塊,這以后才進入編程。 一個軟件開發(fā)項目通常要經歷需求分析、設計、編程、測試等幾個大的階段。其中設計又包括整體設計、系統(tǒng)設計(把整體架構變成一塊塊系統(tǒng))、詳細設計幾個環(huán)節(jié)。
詳細設計之后軟件就變成了一塊塊模塊,這以后才進入編程。
到了編程階段時,最后就剩下軟件藍領為模塊的Coding工作,在印度通常由受過一兩年訓練的高職畢業(yè)生擔任。
軟件最后的測試又是一個復雜過程——有單元測試(小模塊測試)、系統(tǒng)測試(塊與塊的聯(lián)系整合)、總體功能測試。
期間由測試編程工程師編寫測試工具,制定測試規(guī)則,其難度不亞于系統(tǒng)框架的制定。最后才由測試工程師完成測試的任務。
需求分析一般是分析用戶需求,針對用戶的需要提供的解決辦法。 軟件分析是對需求的實現(xiàn)性的分析,模塊構成,頁面組織、性能要求,設計規(guī)劃等
通過對應問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明,這一系列的活動即構成軟件開發(fā)生命周期的需求分析階段。
需求分析是介于系統(tǒng)分析和軟件設計階段之間的橋梁。一方面,需求分析以系統(tǒng)規(guī)格說明和項目規(guī)劃作為分析活動的基本出發(fā)點,并從軟件角度對它們進行檢查與調整;另一方面,需求規(guī)格說明又是軟件設計、實現(xiàn)、測試直至維護的主要基礎。良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產率,降低開發(fā)成本,改進軟件質量。
需求工程是隨著計算機的發(fā)展而發(fā)展的,在計算機發(fā)展的初期,軟件規(guī)模不大,軟件開發(fā)所關注的是代碼編寫,需求分析很少受到重視。后來軟件開發(fā)引入了生命周期的概念,需求分析成為其第一階段。隨著軟件系統(tǒng)規(guī)模的擴大,需求分析與定義在整個軟件開發(fā)與維護過程中越來越重要,直接關系到軟件的成功與否。人們逐漸認識到需求分析活動不再僅限于軟件開發(fā)的最初階段,它貫穿于系統(tǒng)開發(fā)的整個生命周期。80年代中期,形成了軟件工程的子領域——需求工程(requirementengineering,RE)。進入90年代以來,需求工程成為研究的熱點之一。從1993年起每兩年舉辦一次需求工程國際研討會(ISRE),自1994年起每兩年舉辦一次需求工程國際會議(ICRE),在1996年Springer-Verlag發(fā)行了一新的刊物——《RequirementsEngineering》。一些關于需求工程的工作小組也相繼成立,如歐洲的RENOIR(RequirementsEngineeringNetworkofInternationalCooperatingResearchGroups),并開始開展工作。
需求工程是指應用已證實有效的技術、方法進行需求分析,確定客戶需求,幫助分析人員理解問題并定義目標系統(tǒng)的所有外部特征的一門學科。它通過合適的工具和記號系統(tǒng)地描述待開發(fā)系統(tǒng)及其行為特征和相關約束,形成需求文檔,并對用戶不斷變化的需求演進給予支持。RE可分為系統(tǒng)需求工程(如果是針對由軟硬件共同組成的整個系統(tǒng))和軟件需求工程(如果僅是專門針對純軟件部分)。軟件需求工程是一門分析并記錄軟件需求的學科,它把系統(tǒng)需求分解成一些主要的子系統(tǒng)和任務,把這些子系統(tǒng)或任務分配給軟件,并通過一系列重復的分析、設計、比較研究、原型開發(fā)過程把這些系統(tǒng)需求轉換成軟件的需求描述和一些性能參數。
需求工程是一個不斷反復的需求定義、文檔記錄、需求演進的過程,并最終在驗證的基礎上凍結需求。80年代,HerbKrasner定義了需求工程的五階段生命周期:需求定義和分析、需求決策、形成需求規(guī)格、需求實現(xiàn)與驗證、需求演進管理。近來,MatthiasJarke和KlausPohl提出了三階段周期的說法:獲取、表示和驗證。
綜合了幾種觀點,可以把需求工程的活動劃分為以下5個獨立的階段:
(1)需求獲?。和ㄟ^與用戶的交流,對現(xiàn)有系統(tǒng)的觀察及對任務進行分析,從而開發(fā)、捕獲和修訂用戶的需求;
(2)需求建模:為最終用戶所看到的系統(tǒng)建立一個概念模型,作為對需求的抽象描述,并盡可能多的捕獲現(xiàn)實世界的語義;
(3)形成需求規(guī)格:生成需求模型構件的精確的形式化的描述,作為用戶和開發(fā)者之間的一個協(xié)約;
(4)需求驗證:以需求規(guī)格說明為輸入,通過符號執(zhí)行、模擬或快速原型等途徑,分析需求規(guī)格的正確性和可行性;
(5)需求管理:支持系統(tǒng)的需求演進,如需求變化和可跟蹤性問題。
軟件需求說明書
1. 引言:
1.1 項目名稱 :
1.2 項目背景和內容概要 。(項目的委托單位、開發(fā)單位、主管部門、與其它項目的關系,與其他機構的關系等)。
1.3 相關資料、縮略語、定義
(相關項目計劃、合同及上級機關批文,引用的文件、采用的標準等)、(縮寫詞和名詞定義)。
2. 任務概述
2.1 目標 (項目的開發(fā)目標和應用目標。如果是其他系統(tǒng)的一部分,則說明其關系) 。
2.2 范圍 (包含的業(yè)務,不包含的業(yè)務)
2.3 假定條件與約束限制 ,(盡量列出開展本項目的假定和約束,例如:經費限制,開發(fā)期限,設備條件,用戶現(xiàn)場環(huán)境準備等)。
3.業(yè)務流程
4.數據描述
4.1 原始數據描述
a. 靜態(tài)數據
b. 動態(tài)數據
4.2 數據流向圖
4.3 數據概念模型和描述
5.功能需求
5.1 功能描述
6.界面要求
6.1報表格式
6.2圖形要求
6.3輸入輸出要求
7.接口要求
(描述與本系統(tǒng)相連的系統(tǒng)的接口的數據格式,數據交換協(xié)議,接口功能等)。
8.性能需求
8.1數據精確度
?。ɡ?,數據內部精度,外部顯示精度)
8.2數據量 。
8.3時間特性要求 。
?。ǜ鶕_發(fā)系統(tǒng)的特點,規(guī)定系統(tǒng)對時間的特性的要求。例如: 系統(tǒng)響應時間、界面更新處理時間、數據轉換與傳輸時間)
9.運行環(huán)境需求
9.1網絡和硬件設備平臺
(網絡拓撲圖及設備類型描述)
10.操作系統(tǒng)平臺
數據庫系統(tǒng)平臺
10.1編程工具
10.2其它支撐軟件
11. 其它專門需求
11.1安裝和操作
11.2安全保密
11.3維護服務
在信息化高速發(fā)展的今天,構建與時俱進的信息化系統(tǒng)已成為所有政府、企事業(yè)單位的重點課題之一。然而在軟件項目實施過程中,進度超期、經費超預算、變更頻繁的現(xiàn)象層出不窮,甚至有許多項目根本無法達到預期的目標,更談不上為業(yè)主創(chuàng)造真正的效益。歸根結底,軟件需求實踐這一共同的軟肋是問題根源之所在。
要成為合格的需求分析師,首先在考慮所有問題時,需要從業(yè)務需求出發(fā),而不應該局限于開發(fā)技術或測試技術。
換句話說,就是需要更注重與實際的業(yè)務和管理,需要在客戶現(xiàn)場的歷練。沒有見過客戶現(xiàn)場或實際參與過實施工作的需求分析師,只可能閉門造車。我建議可以從軟件的實施人員做起,在某個行業(yè)做至少2年的實施,然后再轉需求人員會比較好。1、概念明確----2、需求分析目的------3、如何識別需求---4、判斷需求真?zhèn)?---5、分析[ 用戶故事評估框架、馬斯洛框架、營銷框架定位]---6、評判價值----7、砍需求能力---8、分類----9、排優(yōu)先級----10、提升需求分析能力
民以食為天!任何朝代,任何時代都需要廚師的辛勤勞作!現(xiàn)在的青年人選擇做廚師職業(yè)的已經很少了!所以未來會有機器人替代廚師崗作操作的一些程序,總體來說以后的餐飲行業(yè)。廚師需求量很大
需求分析就是分析用戶需求背后的動機、所處的場景、期望達到的目的,將用戶需求轉化為可實現(xiàn)的產品需求
你好,需求分析師是一個很好的方向。
現(xiàn)在、將來仍是招聘的熱門職業(yè)。因為需求主要是寫方案或需求文檔,有句話叫做”寫代碼的掙不過寫文檔的“,由此說明需求的待遇和前途,當然若是專心走開發(fā)路線也是非常好的、有前途的,可成為技術專家。我認為需求分析師是一個綜合職位,從事需求分析后,既可以做設計、又可以做項目管理、還可以做售前等等。是一個很鍛煉人的職業(yè)。我從事了4年的需求分析工作,從我個人的認知角度看,需求的職業(yè)發(fā)展可以向咨詢顧問方向發(fā)展,因為有三大黃金職業(yè)”醫(yī)生、律師、顧問“,都是越老越吃香,當然,做需求,要一專多強,努力、扎實做好一個業(yè)務方向,將來必有收獲。