象重新組織就行了。這種開發(fā)的方法就被稱為OOAD(Object Orient Analysis & Design 面向?qū)ο蟮姆治龊驮O計),而分析出的企業(yè)對象就被稱為Common Business Object.需求是什么在RUP中定義了需求工作流程的工作目的:1.客戶和其他涉眾*在系統(tǒng)的工作內(nèi)容方面達成并保持一致。
2.使系統(tǒng)開發(fā)人員能夠更清楚地了解系統(tǒng)需求。
3.定義系統(tǒng)邊界(限定)。
4.為計劃迭代的技術內(nèi)容提供基礎。
5.為估算開發(fā)系統(tǒng)所需成本和時間提供基礎。
6.定義系統(tǒng)的用戶界面,重點是用戶的需要和目標。
* 涉眾:涉眾是所有會受到項目結(jié)果重大影響的人。如客戶(或客戶代表) 用戶(或用戶代表) 、投資者 、股東 、生產(chǎn)經(jīng)理 、買方 、設計員 、測試員 、文檔編寫員等。
從上面的目的我們可以大致想到需求過程中要做些什么事。事實上,用簡單的話來說明需求過程,就是確定系統(tǒng)該做些什么以及該符合什么條件。話雖然簡單,實現(xiàn)起來可沒有那么容易。所以科學的需求過程有一整套完整的理論、工具、方法來實現(xiàn)。就像任何企業(yè)要盈利都必須要有業(yè)務和伴隨業(yè)務的管理一樣,需求過程也分為需求分析過程和需求管理過程。企業(yè)的業(yè)務是盈利性的,需求分析過程在項目中也是產(chǎn)出型的;企業(yè)要保證業(yè)務的開展就必須要有管理,而需求分析過程也同樣離不開需求管理。小企業(yè)沒有成為體系的管理方法,企業(yè)規(guī)模小的時候還能夠?qū)Ω?,可是企業(yè)一大,各種問題都接踵而來,管理上的不足直接導致了業(yè)務開展的低效性。同樣,需求管理的不足可能可以應付小型的軟件項目,可是對于大型的項目,管理的不足就會暴露出來,而直接的后果就是項目的失敗。
插句題外話,很多人認為需求管理的目的是為了控制需求過程,這是沒有錯,但是在RUP的思想中,更重要的思想是迭代*.迭代的目的是為了發(fā)展,為了進化,為了完善。所以RUP中的軟件生命周期是分為多個迭代周期的。 * 迭代:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動和要使用該發(fā)布必需的所有其他外圍元素。所以,在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:(至少包括)需求工作流程、分析設計工作流程、實施工作流程和測試工作流程。實質(zhì)上,它類似小型的瀑布式項目。
需求分析過程主要做的事情無非就是獲取涉眾對系統(tǒng)的要求,可是需求是多變的,而你不可能告訴客戶等到他們把一切都固定下來再開發(fā)軟件。所以需求管理過程做的事情就是保證需求變更的可管理性。
需求的層次《軟件需求》一書中有對需求層次的詳細定義:軟件需求包括三個不同的層次——業(yè)務需求、用戶需求和功能需求——也包括非功能需求。業(yè)務需求(business requirement)反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求(user requirement) 文檔描述了用戶使用產(chǎn)品必須要完成的任務,這在使用用例(use case)文檔或方案腳本(scenario)說明中予以說明。功能需求(functional requirement)定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務,從而滿足了業(yè)務需求。所謂特性(feature)是指邏輯上相關的功能需求的集合,給用戶提供處理能力并滿足業(yè)務需求。
對應到RUP的工作流程,業(yè)務需求其實是RUP的業(yè)務建模流程(Business Modeling),在這個流程中,參與者主要是業(yè)務流程分析員(Business-Process Analyst)。主要的目的是對企業(yè)目前的業(yè)務流程進行評估,并根據(jù)要進行的項目,確定進行何種程度的業(yè)務建模(
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html