




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
CMS項目內容管理系統ContentManagementSystemCMS項目內容管理系統學習內容WEB項目開發一般流程CMS項目流程詳解學習內容WEB項目開發一般流程WEB項目開發的一般流程—總綱需求分析的確定架構與設計架構分析與設計業務邏輯分析業務邏輯設計界面設計開發環境搭建開發-測試-開發-測試培訓文檔編寫WEB項目開發的一般流程—總綱需求分析的確定開發的一般流程—需求分析為什么需求分析需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發計劃的一個復雜過程,在這個過程中,用戶的確是處在主導地位,需求分析工程師和項目經理要負責整理用戶需求,為之后的軟件設計打下基礎。需求分析階段結束后,要求得到相關的需求文檔,需求分析之所以重要,就因為他具有決策性,方向性,策略性的作用,他在軟件開發的過程中具有舉足輕重的地位.大家一定要對需求分析具有足夠的重視.在一個大型軟件系統的開發中,他的作用要遠遠大于程序設計.
開發的一般流程—需求分析需求分析的任務
需求分析的任務就是解決“用戶要做什么”的問題,就是要全面地理解用戶的各項要求,并準確地表達所接受的用戶需求,并且能夠根據自己對用戶需求的理解,勸說并誘導客戶剔除不合理的需求。需求分析的任務需求分析的任務就是解需求分析過程
需求分析過程
需求開發過程域
需求開發的目的是通過調查與分析,獲取用戶需求并定義產品需求。
需求調查的目的是通過各種途徑獲取用戶的需求信息(原始材料),產生《用戶需求說明書》。
需求分析的目的是對各種需求信息進行分析,消除錯誤,刻畫細節等。常見的需求分析方法有“問答分析法”和“建模分析法”兩類。
需求定義的目的是根據需求調查和需求分析的結果,進一步定義準確無誤的產品需求,產生《產品需求規格說明書》。系統設計人員將依據《產品需求規格說明書》開展系統設計工作。
需求開發過程域需求管理過程域
需求管理的目的是在客戶與開發方之間建立對需求的共同理解,維護需求與其它工作成果的一致性,并控制需求的變更。需求確認是指開發方和客戶共同對需求文檔進行評審,雙方對需求達成共識后作出書面承諾,使需求文檔具有商業合同效果。
需求跟蹤是指通過比較需求文檔與后續工作成果之間的對應關系,建立與維護“需求跟蹤矩陣”,確保產品依據需求文檔進行開發。需求變更控制是指依據“變更申請-審批-更改-重新確認”的流程處理需求的變更,防止需求變更失去控制而導致項目發生混亂需求管理過程域需求開發過程中困難知識技能問題
行業知識是無邊無際的。俗話說“隔行如隔山”,需求分析員可能是某一領域的專家,但當他接手陌生的業務時,他該怎么辦?首先他要有勇氣做事,否則連實踐的機會都沒有。其次他應當趕緊補習這一領域知識,不論是通過自學還是培訓的方式,否則他很難與用戶交流。如果可能的話,開發方最好請既懂軟件又懂應用域知識的行家來幫忙。需求開發過程中困難知識技能問題需求開發過程中困難態度問題
相當多的開發人員習慣于被動地對待需求開發。每當遇到麻煩、挫折時,他們會發牢騷,找出一堆用戶的毛病。很多開發人員錯誤地以為:需求是用戶的事情,不是我們的事情。我們為用戶開發軟件,難道用戶不該告訴我們應當開發什么嗎?如果用戶說不清楚需求,或者經常變更需求,這類問題是用戶產生的,應當由他們自己負責。
用戶說不清楚需求或者需求發生變更,這些都是常見的問題,并不是絕癥,是人們可以設法解決的。可悲的是開發人員把這些問題當成了借口,不愿主動攻克問題,導致需求問題擴散到整個軟件開發過程,產生太多的后患。軟件企業的領導應當給具有錯誤觀念的開發人員們洗腦:需求分析員的天職就是在有限的時間內獲取準確而細致的用戶需求,如果做不到就是失職,不要找借口。
需求開發過程中困難態度問題合作關系
如果需求分析員不能與用戶建立良好的合作關系,那么他們在需求開發過程中會很疲憊。倘若用戶不能很好地配合需求分析員,那并不表示他是個壞蛋。因為用戶有他自己的想法:我回答了你們的問題,講了該講的。我們付錢給你們,難道還要我伺候你們不成?我還要干自己的事情,別打擾我了。你們自己想辦法把活干好吧
……。
需求分析員不是銷售人員,他們不可能象銷售人員那樣通過某些手段籠絡住用戶就能成功。出色的需求分析員不僅要有過硬的專業知識,還要具備較強的交流、溝通能力。開發方與用戶的合作關系對需求開發而言是至關重要的。對于重大的、復雜的項目,我們不能完全期望雙方能夠自發地建立起良好地合作關系,這樣風險太大。開發方和用戶方在開展需求開發之前,雙方協商并撰寫“用戶在需求工程中的權利與義務”,即以協議的方式確定合作關系。“好話”和“丑話”都說在前頭,這樣能減少今后的摩擦。如果條件允許的話,開發方最好為用戶舉辦關于需求工程的培訓,這樣的培訓將使用戶明白需求的重要性以及忽視需求的危害性,從而促使他們積極友善地參加需求工程中的各項活動。合作關系
如果需求分析員不能與用戶建立良好的合作關系,那么用戶在需求工程中的“權利”用戶在需求工程中的“權利”1.有權要求開發方派遣資質合格的需求分析員和相關人員。2.有權要求開發方采用用戶熟悉的語言來描述需求,即開發方必須提供用戶看得懂得需求文檔。3.有權審查需求文檔,并對有爭議的需求作出決策。如果認為需求文檔不能準確地反映用戶真實的意愿,可以拒絕在需求文檔上簽字。4.如果用戶想要變更需求,有權要求開發方對該變更將產生的影響作出真實可信的評估,以便用戶決定是否變更需求。用戶在需求工程中的“權利”用戶在需求工程中的“權利”用戶在需求工程中的“義務”用戶在需求工程中的“義務”1.以積極友善的態度與開發方人員交流、協作,盡可能地為開發方人員提供工作和生活上的便利。2.樂意接受需求分析員的采訪,在不泄漏機密的前提下盡可能地回答需求分析員的問題。3.在不泄漏機密的前提下,盡可能地向需求分析員提供與需求相關的材料。4.與需求分析員共同評審需求文檔,確保需求文檔準確地反映用戶真實的意愿。5.對專業性太深入的知識領域,用戶有義務組織開發人員進行簡單的培訓。用戶在需求工程中的“義務”用戶在需求工程中的“義務”
需求沒有做好的后果
需求沒有做好的后果如何準備調查需求需求分析員應當確定需求調查的方式,例如:與用戶負責人交談,向用戶提問題。同未來此軟件的目標用戶交談,了解他們的目前的工作狀況.參觀用戶的工作流程,觀察用戶的操作。與同行、專家交談,聽取他們的意見。分析已經存在的同類軟件產品,提取需求。從行業標準、規則中提取需求。如何準備調查需求需求分析員應當確定需求調查的方式,例如:如何做好需求分析為了得到用戶的金錢,企業不得不鼓吹:用戶就是上帝,用戶永遠是正確的。誰都知道這不是真的。事實上,很多時候用戶說不清楚需求、會說錯需求或者提出一些無法實現的需求。需求分析是指在需求開發過程中,對所獲取的需求信息進行分析,及時排除錯誤和彌補不足,確保需求文檔正確地反映用戶的真實意圖。需求分析是需求開發過程中最費腦子的工作。分析方法大體有兩類:“問答分析法”和“建模分析法”。后者技術性比較強,寫出來有學術味,故大多數軟件工程書籍都有論述。前者就是一些常識而已,雖然寫不成文章,但是簡單易用(保你一學就會),很有實用價值。“問答分析法”比較適合于用戶需求調查階段“建模分析法”比較適合于產品需求定義階段。如何做好需求分析為了得到用戶的金錢,企業不得不鼓吹:用戶就是問答分析方法問答分析方法
問答分析方法很簡單:刨根究底地問,如果問題都被解答了,那么需求也就分析清楚了。一個人可以“自問自答”地分析需求,幾個人分析需求則稱為“研討”。問答分析最重要的問題是:“是什么”,”做什么”和“為什么”。每個需求都應當用陳述句說明“是什么”,如果“是什么”的內涵不夠清晰,則應補充說明“不是什么”。如果“是什么”和“不是什么”并不是“理所當然”的,那么應當解釋“為什么”,以便加深讀者的理解。追究“是什么”和“為什么”的目的是獲得正確、清楚的需求。
其它常見的問題有:
需求存在二義性嗎?
需求文檔的上下文有矛盾嗎?
需求完備嗎?
需求是必要的嗎?
需求可實現嗎?
需求可驗證嗎?
需求的優先級確定了嗎?
問答分析方法問答分析方法建模分析法人們都有這樣地感受:有些時候用語言描述某個問題特別費勁,而采用圖形則使人一目了然.在需求開發過程中,對于某些類型的信息,用圖形表示要比文本表示更加有效。所以將圖形與文本結合起來描述需求是很自然的方法。需求建模就是指用圖形符號來表示、刻畫需求。建模分析方法主要有兩大類:“結構化分析法”和“面向對象分析法”。
恰當地使用圖形符號:現代建模工具如Rose、Jude有非常豐富的圖形符號和文字標注,能很好地表達模型的細節。要注意的是:在建模時使用花樣過多的圖形符號或文字意味著模型表示的復雜化,將使開發人員更難掌握,而且使圖形文檔更加雜亂。世上不存在一個包羅萬象的圖——它能完整地描述需求。需求建模不可能取代文字描述。在需求文檔中,文字描述是第一重要的,建模主要是起分析、解釋作用。建議將模型存放在需求文檔的附錄中,便于正文引用。建模分析法人們都有這樣地感受:有些時候用語言描述某個問題特別
分析決策當需求從四面八方收集來后,需求的沖突在所難免。對于那些難以達成共識的需求而言,經常會發生“公說公有理,婆說婆有理”的現象。那么需求分析員究竟應該聽誰的呢?如果一群人對需求有爭議,并不是誰聲音最響就聽誰的。根據生活經驗,最保險的辦法是:先聽官兒大的或者威望高的,如果大家的職位和威望都差不多,那么采用“少數服從大多數”的原則。如果一個產品可以賣給幾類客戶,但是各類客戶都要求產品按照他們的喜好來開發。此時對需求的決策應當以商業利益為導向,即哪一類客戶出錢最多就先滿足他們的需求,以后再做那些獲利相對較少的需求。當開發者想象中的產品與客戶所提的需求有沖突時,一般應當尊重客戶的觀點。但是不要陷入“客戶總是對的”陷阱里,需求分析員應當糾正明顯不合理的客戶需求。如果產品很復雜,雙方都不太明白需求,此時最好請開發人員快速構造軟件的原型,雙方看著軟件原型再分析需求分析決策當需求從四面八方收集來后,需求的沖突在所難免。對于什么是好的需求規格說明書正確
需求規格說明書應當正確地反映用戶的真實意圖,“正確”是《產品需求規格說明書》最重要的屬性。如果“不正確”僅僅是由于錯別字造成的,那么多檢查幾遍文檔就能解決問題。真正的困難是開發者和用戶自己都不明白用戶究竟“想要什么”和“不要什么”。為確保需求是正確的,開發方和用戶必須對《需求規格說明書》進行確認。
清楚
清楚的需求讓人易讀易懂。清楚的反義詞是“難讀”、“難理解”。你可以采用反問的方式來判斷需求文檔是否清楚:文檔的結構、段落是否亂七八糟?上下文是否不連貫?文檔的語句是否含糊其詞、羅里羅嗦?看了半天是否還不明白需求究竟是什么?無二義性
“無二義性”是指每個需求只有唯一的含義。如果一個人說的話,不同的人可能有不同的理解,那么這句話就有二義性。如果需求存在二義性,將會導致人們誤解需求而開發出偏離需求的產品。為了使需求無二義性,人們在寫《產品需求規格說明書》時措詞應當準確,切勿模棱兩可。什么是好的需求規格說明書正確什么是好的需求規格說明書一致
“一致”(Consistent)是指《產品需求規格說明書》中各個需求之間不會發生矛盾。矛盾常常潛伏在需求文檔的上下文中。
必要
《產品需求規格說明書》中的各項需求對用戶而言應當都是必要的。可以把“必要”比喻為“雪中送炭”。“必要”往前一步,要么是“畫蛇添足”要么是“錦上添花”。“畫蛇添足”顯然是壞事,會導致開發人員多干一些吃力不討好的工作。所以要盡量剔除需求規格說明書中“畫蛇添足”的那些需求。“錦上添花”是好事,可能會讓用戶獲得比期望更多的喜悅,但是眼前用戶不會為此多付錢。開發者應當集中精力先完成必要的需求,如果條件允許則再做“錦上添花”的需求。為了避免主次顛倒,應當在《產品需求規格說明書》中將那些“錦上添花”的需求設置為較低的優先級。什么是好的需求規格說明書一致什么是好的需求規格說明書完備“完備”(Complete)是指《產品需求規格說明書》中沒有遺漏一些必要的需求。人們往往傾向于關注系統的特色功能,而忽視了其它一些不起眼的但卻是必需的功能。不完備的《產品需求規格說明書》將導致產生功能不完整的軟件,用戶在使用該軟件時可能無法完成預期的任務。什么是好的需求規格說明書完備什么是好的需求規格說明書可實現
《產品需求規格說明書》中的各項需求對開發方而言應當都是可實現的(Attainable)。“可實現”意味著在技術上是可行的,并且滿足時間、費用、質量等約束。營銷人員和用戶談生意時,為了能拿到“單子”,他們往往對用戶提出的需求“來者不拒”。吹牛皮雖然不犯法,但是《產品需求規格說明書》可是白紙黑字啊。經過雙方確認的《產品需求規格說明書》相當于商業合同,如果開發方不能夠實現《產品需求規格說明書》中的內容,那就是違約,可能會被罰款的。對于合同項目,如果開發方不能確信某些需求是否可實現,則應事先與用戶協商,達成一致的處理意見,避免將來發生商業糾紛。什么是好的需求規格說明書可實現什么是好的需求規格說明書可驗證
《產品需求規格說明書》中的各項需求對用戶方而言應當都是可驗證的(Verifiable)。如果需求是不可驗證的,那么用戶就無法驗收軟件,可能會發生商業糾紛。例如,摩天大樓的一項需求是“抗十二級臺風”,這個需求看起來堂而皇之,但是如何驗證呢?當摩天大樓完工后驗收時,用戶又不是巫師,他怎能造個十二級臺風來試驗?如果雙方都認可“采用計算機模擬十二級臺風”等效于實際測試,那么這項需求就是“可驗證”的什么是好的需求規格說明書可驗證什么是好的需求規格說明書確定優先級為什么要確定需求的“優先級”?理論上講,軟件的所有需求都應當被實現。但是在現實之中,項目存在“進度、費用、人力資源”等限制。在項目剛開始的時候,開發方和客戶比較樂觀,什么都要做,可是做著做著,人們常常會面臨“進度延誤、費用超支、人員不足”等問題,這時就亂套了。人們想出了“取舍”辦法:先做優先級高的需求,后做(甚至放棄)優先級低的需求,這樣可以將風險降到最低。需求的優先級其實就是需求“輕重緩急”的分級表述,例如劃分為“高、中、低”三級。一般地,由用戶和開發方共同確定需求的優先級。什么是好的需求規格說明書確定優先級什么是好的需求規格說明書闡述“做什么”而不是“怎么做”《產品需求規格說明書》的重點是闡述“做什么”,而不是闡述“怎么做”。“怎么做”是系統設計和實現階段的事情。國內的很多軟件公司里,開發人員常常身兼數職,可能把需求開發、系統設計、編程等工作從頭做到尾。所以他們在調查、分析、定義需求時,自然會想到“怎么做”,這并沒有什么過錯。如果在調查、定義需求時想好了“怎么做”,當然應該寫下來,否則豈不浪費!關鍵是不要將“怎么做”寫到需求規格說明書里面,記錄在其它文檔里就行了。什么是好的需求規格說明書闡述“做什么”而不是“怎么做”如何定義產品需求第一步:細化并分析用戶需求
需求分析員首先對《用戶需求說明書》進行細化,對比較復雜的用戶需求進行建模分析,以幫助軟件開發人員更好地理解需求。例如采用Rational的Rose工具進行需求的建模分析,建模分析產生的文檔可以作為《產品需求規格說明書》的附件。補充說明:建模分析的技術難度比較高,需求分析員應當根據自身水平進行取舍。第二步:撰寫產品需求規格說明書
需求分析員按照指定的文檔模板撰寫《產品需求規格說明書》。如果待開發的產品分為軟件和硬件兩部分的話,則應當撰寫《軟件需求規格說明書》和《硬件需求規格說明書》。第三步:進行需求確認項目經理邀請同行專家和用戶(包括客戶和最終用戶)一起評審《產品需求規格說明書》,盡最大努力使《產品需求規格說明書》能夠正確無誤地反映用戶的真實意愿。需求評審之后,開發方和客戶方的責任人對《產品需求規格說明書》作書面承諾。如何定義產品需求第一步:細化并分析用戶需求需求文檔《用戶需求說明書》與《產品需求規格說明書》的主要區別與聯系前者主要采用自然語言(和應用域術語)來表達用戶需求,其內容相對于后者而言比較粗略,不夠詳細。后者是前者的細化,更多地采用計算機語言和圖形符號來刻畫需求,產品需求是軟件系統設計的直接依據。兩者之間可能并不存在一一影射關系,因為軟件開發商會根據產品發展戰略、企業當前狀況適當地調整產品需求,例如用戶需求可能被分配到軟件的數個版本中。軟件開發人員應當依據《產品需求規格說明書》來開發當前產品。需求文檔《用戶需求說明書》與《產品需求規格說明書》的主要區別需求確認(評審和承諾)需求確認(評審和承諾)需求確認是指開發方和客戶方共同對《產品需求規格說明書》進行評審,雙方對需求達成共識后作出承諾。需求確認包含兩個重要工作:“需求評審”和“需求承諾”。人們在交流的時候,經常會發生“問非所求,答非所問”的事情,用戶表達的需求,不同的開發人員可能有不同的理解。如果需求分析員誤解了需求,那會導致后續的不少開發人員將錯就錯、白干活。就像作文寫跑題了,寫得再好也白搭。這類錯誤連高智商的外星人都不能避免:有個外星人間諜潛伏到地球刺探情報,它給上司寫了一份報告:“主宰地球的是車。它們喝汽油,靠四個輪子滾動前進。嗓門極大,在夜里雙眼能射出強光。……有趣的是,車里住著一種叫作‘人’的寄生蟲,這些寄生蟲完全控制了車。”不論是復雜的項目還是簡單的項目,需求分析員和用戶都有可能誤解需求。所以需求確認工作(屬于需求管理)必不可少需求確認(評審和承諾)需求確認(評審和承諾)需求評審面臨的困難需求評審的一個通病是“虎頭蛇尾”。需求評審的確乏味,也比較費腦子。剛開始評審時,大家都比較認真,越到后頭越馬虎。
需求評審涉及的人員可能比較多,有些時候讓這么多人聚在一起花費比較長的時間開會并不容易(例如有些人可能出差在外,有些人可能事務纏身)。沒有必要把所有事情擠在一塊做,需求開發是循序漸進的過程,需求評審也可以分段進行。這樣每次評審的時間比較短,參加評審的人員也少一些,組織會議就比較容易需求評審面臨的困難需求評審的一個通病是“虎頭蛇尾”。需求評審需求承諾需求承諾是指開發方和客戶方的責任人對通過了正式技術評審的《產品需求規格說明書》作出承諾,該承諾具有商業合同的效果。需求承諾的“八股文”如下:本《產品需求規格說明書》建立在雙方對需求的共同理解基礎之上,我同意后續的開發工作根據該《產品需求規格說明書》開展。如果需求發生變化,我們將按照“變更控制規程”執行。我明白需求的變更將導致雙方重新協商成本、資源和進度等。甲方簽字
乙方簽字人們在作出承諾之前務必要認真閱讀文檔,一定要明白簽字意味著什么。需求承諾需求承諾是指開發方和客戶方的責任人對通過了正式技術評需求跟蹤
需求跟蹤的目的是建立與維護“需求-設計-編程-測試”之間的一致性,確保所有的工作成果符合用戶需求。
需求跟蹤有兩種方式:
正向跟蹤。檢查《產品需求規格說明書》中的每個需求是否都能在后繼工作成果中找到對應點。
逆向跟蹤。檢查設計文檔、代碼、測試用例等工作成果是否都能在《產品需求規格說明書》中找到出處。
正向跟蹤和逆向跟蹤合稱為“雙向跟蹤”。不論采用何種跟蹤方式,都要建立與維護需求跟蹤矩陣(即表格)。需求跟蹤矩陣保存了需求與后繼工作成果的對應關系需求跟蹤
需求跟蹤的目的是建立與維護“需求-設計-編程-測試需求變更控制需求發生變更的起因主要有:隨著項目的進展,人們(包括開發方和客戶方)對需求的了解越來越深入。原先的需求文檔可能存在這樣那樣的錯誤或不足,因此要變更需求。市場發生了變化,原先的需求文檔可能跟不上當前的市場需求,因此要變更需求。提出需求變更的動機是好的,目的是希望產品更加符合用戶的需求。對項目開發小組而言,變更需求意味著要調整資源、重新分配任務、修改前期工作成果等,開發小組要為此付出較重的代價。如果每次需求變更請求都被采納的話,這個項目也許永遠不能按時完成。需求變更控制的目的:如果需求變更帶來的好處大于壞處,那么允許變更,但必須按照已定義的變更規程執行,以免變更失去控制。如果需求變更帶來的壞處大于好處,那么拒絕變更。需求變更控制過程中最難辦的事情是莫過于“拒絕客戶提出的需求變更請求”。通常情況下開發方是不敢得罪客戶的,但是無原則地退讓將使開發小組陷入困境。解決這個問題最好的辦法是事先建立“游戲規則”:開發方與客戶方達成“事不過三”的約定(符合中國人的習慣),即允許客戶變更三次需求;如果客戶第四此變更需求,開發方有權拒絕,除非客戶愿意補償開發方的損失。需求變更控制需求發生變更的起因主要有:WEB項目開發的一般流程—分析與設計之架構分析與設計架構分析與設計邏輯架構3層架構、n層架構…MVC…Model1orModel2…物理架構Web服務器的分布數據庫服務器的分布…技術解決方案的確定Java/.NETOpenSource/商業…WEB項目開發的一般流程—分析與設計之架構分析與設計架構分析WEB項目開發的一般流程—分析與設計之業務邏輯分析業務邏輯分析根據需求分析業務邏輯有哪些人會使用本系統他們會使用本系統做什么通常他們使用本系統的步驟是什么樣的會有哪些明顯的類來支撐本系統的運行會有哪些不同的提示會返饋給用戶…本階段與需求的確定密切相關,通常在確定需求的時候就會進行相關的分析WEB項目開發的一般流程—分析與設計之業務邏輯分析業務邏輯分WEB項目開發的一般流程—分析與設計之業務邏輯設計業務邏輯設計根據需求的分析來確定具體的類確定類的屬性確定類的接口(方法)確定類之間的關系確定用戶操作流程在設計上的反映進行數據庫的設計不同的項目步驟可能不盡相同…WEB項目開發的一般流程—分析與設計之業務邏輯設計業務邏輯設WEB項目開發的一般流程—分析與設計之界面設計界面設計設計系統的界面風格顏色、style設計系統的具體“模擬”界面能夠從頭走到尾方便進行需求的確定方便JSP程序員的開發…WEB項目開發的一般流程—分析與設計之界面設計界面設計WEB項目開發的一般流程—開發環境搭建開發環境搭建開發工具的確定配置管理工具的確定測試工具的確定文件服務器/配置服務器等的確定…WEB項目開發的一般流程—開發環境搭建開發環境搭建WEB項目開發的一般流程—開發開發-測試-開發-測試按照設計進行開發迅速開發原型進行迭代開發提早進行測試單元測試黑盒測試性能測試易用性測試…WEB項目開發的一般流程—開發開發-測試-開發-測試軟件開發中最重要的幾個內容:
持續的學習能力比較堅韌的性格較強的變通能力較好的學習方法和總結能力良好的溝通能力和團隊氛圍敢于和別人去share自己的知識軟件開發中最重要的幾個內容:持續的學習能力CMS項目流程—總綱概念及項目背景業務流程需求分析架構與設計業務邏輯分析與設計數據庫設計界面設計開發步驟CMS項目流程—總綱概念及項目背景CMS—概念CMS是ContentManagementSystem的縮寫,意為“內容管理系統”。CMS其實是一個很廣泛的稱呼,從一般的博客程序,新聞發布程序,到綜合性的網站管理程序都可以被稱為內容管理系統內容管理系統是一種位于WEB前端(Web服務器)和后端辦公系統或流程(內容創作、編輯)之間的軟件系統。內容管理解決方案重點解決各種非結構化或半結構化的數字資源的采集、管理、利用、傳遞和增值,并能有機集成到結構化數據的商業智能環境中,如OA,CRM等。內容的創作人員、編輯人員、發布人員使用內容管理系統來提交、修改、審批、發布內容。這里指的"內容"可能包括文件、表格、圖片、數據庫中的數據甚至視頻等一切你想要發布到Internet、Intranet以及Extranet網站的信息。CMS—概念CMS是ContentManagementSCMS—項目背景本系統來源一個真實的項目需求,是美國的一個外包項目,該項目是一個美國公司運營一個體育網站,該網站主要以提供P2P播放源,網友從該網站上獲取、分享P2P種子,能夠從該網站上查看最近所有比賽,能夠看到各大博彩公司的的賠率,能夠對各場比賽進行投票,由于每天頂級的比賽非常多,所以要求該網站細分頻道,分頻道管理。CMS—項目背景本系統來源一個真實的項目需求,是美國的一個外
軟件安裝Oracle10gUltraeditMyEclipse6Golden(Toad)Jude軟
導入數據庫腳本啟動Oracle進入sqlplus,以system用戶登錄,執行如下命令@D:\sql\cms.sqlOracle常用命令selecttable_namefromuser_tables;selectview_namefromuser_views;selecttrigger_namefromuser_triggers;selectsequence_namefromuser_sequences;run、/、r執行當前緩存區中的命令L(list)顯示當前緩沖區中的命令showuser顯示當前連接用戶selectnamefromv$database;setlinesize400輸出一行字符串的個數(缺省為80)\alteruserxxxxxaccountunlock采用MyEclipse建立Cms項目將demo下的所有文件拷貝到webroot下將Oracle的jdbc驅動拷貝到WEB-INF/lib下
導入數據庫腳本啟動Oracle進入sqlplus,以syMyEclipse的一些基本設置Myeclpse啟動時內存的設置
%Myeclpse_home%/eclipse/eclipse.inictrl+F查找
ctrl+L到第幾行
ctrl+T(F4)方法或者類的實現
ctrl+shift+H查找類型
ctrl+shift+M引入一個類
ctrl+shift+O引入說有的類
Alt+/幫助提示
Ctrl+shift+F排版
F3打開一個類
Ctrl+shift+G查看那個類引用了當前類MyEclipse的一些基本設置Myeclpse啟動時內
項目中用到的知識內容HtmlCSSJavascriptJspServletJDBCOracleMyeclipseJude項目中用到的CMS項目內容管理系統ContentManagementSystemCMS項目內容管理系統學習內容WEB項目開發一般流程CMS項目流程詳解學習內容WEB項目開發一般流程WEB項目開發的一般流程—總綱需求分析的確定架構與設計架構分析與設計業務邏輯分析業務邏輯設計界面設計開發環境搭建開發-測試-開發-測試培訓文檔編寫WEB項目開發的一般流程—總綱需求分析的確定開發的一般流程—需求分析為什么需求分析需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發計劃的一個復雜過程,在這個過程中,用戶的確是處在主導地位,需求分析工程師和項目經理要負責整理用戶需求,為之后的軟件設計打下基礎。需求分析階段結束后,要求得到相關的需求文檔,需求分析之所以重要,就因為他具有決策性,方向性,策略性的作用,他在軟件開發的過程中具有舉足輕重的地位.大家一定要對需求分析具有足夠的重視.在一個大型軟件系統的開發中,他的作用要遠遠大于程序設計.
開發的一般流程—需求分析需求分析的任務
需求分析的任務就是解決“用戶要做什么”的問題,就是要全面地理解用戶的各項要求,并準確地表達所接受的用戶需求,并且能夠根據自己對用戶需求的理解,勸說并誘導客戶剔除不合理的需求。需求分析的任務需求分析的任務就是解需求分析過程
需求分析過程
需求開發過程域
需求開發的目的是通過調查與分析,獲取用戶需求并定義產品需求。
需求調查的目的是通過各種途徑獲取用戶的需求信息(原始材料),產生《用戶需求說明書》。
需求分析的目的是對各種需求信息進行分析,消除錯誤,刻畫細節等。常見的需求分析方法有“問答分析法”和“建模分析法”兩類。
需求定義的目的是根據需求調查和需求分析的結果,進一步定義準確無誤的產品需求,產生《產品需求規格說明書》。系統設計人員將依據《產品需求規格說明書》開展系統設計工作。
需求開發過程域需求管理過程域
需求管理的目的是在客戶與開發方之間建立對需求的共同理解,維護需求與其它工作成果的一致性,并控制需求的變更。需求確認是指開發方和客戶共同對需求文檔進行評審,雙方對需求達成共識后作出書面承諾,使需求文檔具有商業合同效果。
需求跟蹤是指通過比較需求文檔與后續工作成果之間的對應關系,建立與維護“需求跟蹤矩陣”,確保產品依據需求文檔進行開發。需求變更控制是指依據“變更申請-審批-更改-重新確認”的流程處理需求的變更,防止需求變更失去控制而導致項目發生混亂需求管理過程域需求開發過程中困難知識技能問題
行業知識是無邊無際的。俗話說“隔行如隔山”,需求分析員可能是某一領域的專家,但當他接手陌生的業務時,他該怎么辦?首先他要有勇氣做事,否則連實踐的機會都沒有。其次他應當趕緊補習這一領域知識,不論是通過自學還是培訓的方式,否則他很難與用戶交流。如果可能的話,開發方最好請既懂軟件又懂應用域知識的行家來幫忙。需求開發過程中困難知識技能問題需求開發過程中困難態度問題
相當多的開發人員習慣于被動地對待需求開發。每當遇到麻煩、挫折時,他們會發牢騷,找出一堆用戶的毛病。很多開發人員錯誤地以為:需求是用戶的事情,不是我們的事情。我們為用戶開發軟件,難道用戶不該告訴我們應當開發什么嗎?如果用戶說不清楚需求,或者經常變更需求,這類問題是用戶產生的,應當由他們自己負責。
用戶說不清楚需求或者需求發生變更,這些都是常見的問題,并不是絕癥,是人們可以設法解決的。可悲的是開發人員把這些問題當成了借口,不愿主動攻克問題,導致需求問題擴散到整個軟件開發過程,產生太多的后患。軟件企業的領導應當給具有錯誤觀念的開發人員們洗腦:需求分析員的天職就是在有限的時間內獲取準確而細致的用戶需求,如果做不到就是失職,不要找借口。
需求開發過程中困難態度問題合作關系
如果需求分析員不能與用戶建立良好的合作關系,那么他們在需求開發過程中會很疲憊。倘若用戶不能很好地配合需求分析員,那并不表示他是個壞蛋。因為用戶有他自己的想法:我回答了你們的問題,講了該講的。我們付錢給你們,難道還要我伺候你們不成?我還要干自己的事情,別打擾我了。你們自己想辦法把活干好吧
……。
需求分析員不是銷售人員,他們不可能象銷售人員那樣通過某些手段籠絡住用戶就能成功。出色的需求分析員不僅要有過硬的專業知識,還要具備較強的交流、溝通能力。開發方與用戶的合作關系對需求開發而言是至關重要的。對于重大的、復雜的項目,我們不能完全期望雙方能夠自發地建立起良好地合作關系,這樣風險太大。開發方和用戶方在開展需求開發之前,雙方協商并撰寫“用戶在需求工程中的權利與義務”,即以協議的方式確定合作關系。“好話”和“丑話”都說在前頭,這樣能減少今后的摩擦。如果條件允許的話,開發方最好為用戶舉辦關于需求工程的培訓,這樣的培訓將使用戶明白需求的重要性以及忽視需求的危害性,從而促使他們積極友善地參加需求工程中的各項活動。合作關系
如果需求分析員不能與用戶建立良好的合作關系,那么用戶在需求工程中的“權利”用戶在需求工程中的“權利”1.有權要求開發方派遣資質合格的需求分析員和相關人員。2.有權要求開發方采用用戶熟悉的語言來描述需求,即開發方必須提供用戶看得懂得需求文檔。3.有權審查需求文檔,并對有爭議的需求作出決策。如果認為需求文檔不能準確地反映用戶真實的意愿,可以拒絕在需求文檔上簽字。4.如果用戶想要變更需求,有權要求開發方對該變更將產生的影響作出真實可信的評估,以便用戶決定是否變更需求。用戶在需求工程中的“權利”用戶在需求工程中的“權利”用戶在需求工程中的“義務”用戶在需求工程中的“義務”1.以積極友善的態度與開發方人員交流、協作,盡可能地為開發方人員提供工作和生活上的便利。2.樂意接受需求分析員的采訪,在不泄漏機密的前提下盡可能地回答需求分析員的問題。3.在不泄漏機密的前提下,盡可能地向需求分析員提供與需求相關的材料。4.與需求分析員共同評審需求文檔,確保需求文檔準確地反映用戶真實的意愿。5.對專業性太深入的知識領域,用戶有義務組織開發人員進行簡單的培訓。用戶在需求工程中的“義務”用戶在需求工程中的“義務”
需求沒有做好的后果
需求沒有做好的后果如何準備調查需求需求分析員應當確定需求調查的方式,例如:與用戶負責人交談,向用戶提問題。同未來此軟件的目標用戶交談,了解他們的目前的工作狀況.參觀用戶的工作流程,觀察用戶的操作。與同行、專家交談,聽取他們的意見。分析已經存在的同類軟件產品,提取需求。從行業標準、規則中提取需求。如何準備調查需求需求分析員應當確定需求調查的方式,例如:如何做好需求分析為了得到用戶的金錢,企業不得不鼓吹:用戶就是上帝,用戶永遠是正確的。誰都知道這不是真的。事實上,很多時候用戶說不清楚需求、會說錯需求或者提出一些無法實現的需求。需求分析是指在需求開發過程中,對所獲取的需求信息進行分析,及時排除錯誤和彌補不足,確保需求文檔正確地反映用戶的真實意圖。需求分析是需求開發過程中最費腦子的工作。分析方法大體有兩類:“問答分析法”和“建模分析法”。后者技術性比較強,寫出來有學術味,故大多數軟件工程書籍都有論述。前者就是一些常識而已,雖然寫不成文章,但是簡單易用(保你一學就會),很有實用價值。“問答分析法”比較適合于用戶需求調查階段“建模分析法”比較適合于產品需求定義階段。如何做好需求分析為了得到用戶的金錢,企業不得不鼓吹:用戶就是問答分析方法問答分析方法
問答分析方法很簡單:刨根究底地問,如果問題都被解答了,那么需求也就分析清楚了。一個人可以“自問自答”地分析需求,幾個人分析需求則稱為“研討”。問答分析最重要的問題是:“是什么”,”做什么”和“為什么”。每個需求都應當用陳述句說明“是什么”,如果“是什么”的內涵不夠清晰,則應補充說明“不是什么”。如果“是什么”和“不是什么”并不是“理所當然”的,那么應當解釋“為什么”,以便加深讀者的理解。追究“是什么”和“為什么”的目的是獲得正確、清楚的需求。
其它常見的問題有:
需求存在二義性嗎?
需求文檔的上下文有矛盾嗎?
需求完備嗎?
需求是必要的嗎?
需求可實現嗎?
需求可驗證嗎?
需求的優先級確定了嗎?
問答分析方法問答分析方法建模分析法人們都有這樣地感受:有些時候用語言描述某個問題特別費勁,而采用圖形則使人一目了然.在需求開發過程中,對于某些類型的信息,用圖形表示要比文本表示更加有效。所以將圖形與文本結合起來描述需求是很自然的方法。需求建模就是指用圖形符號來表示、刻畫需求。建模分析方法主要有兩大類:“結構化分析法”和“面向對象分析法”。
恰當地使用圖形符號:現代建模工具如Rose、Jude有非常豐富的圖形符號和文字標注,能很好地表達模型的細節。要注意的是:在建模時使用花樣過多的圖形符號或文字意味著模型表示的復雜化,將使開發人員更難掌握,而且使圖形文檔更加雜亂。世上不存在一個包羅萬象的圖——它能完整地描述需求。需求建模不可能取代文字描述。在需求文檔中,文字描述是第一重要的,建模主要是起分析、解釋作用。建議將模型存放在需求文檔的附錄中,便于正文引用。建模分析法人們都有這樣地感受:有些時候用語言描述某個問題特別
分析決策當需求從四面八方收集來后,需求的沖突在所難免。對于那些難以達成共識的需求而言,經常會發生“公說公有理,婆說婆有理”的現象。那么需求分析員究竟應該聽誰的呢?如果一群人對需求有爭議,并不是誰聲音最響就聽誰的。根據生活經驗,最保險的辦法是:先聽官兒大的或者威望高的,如果大家的職位和威望都差不多,那么采用“少數服從大多數”的原則。如果一個產品可以賣給幾類客戶,但是各類客戶都要求產品按照他們的喜好來開發。此時對需求的決策應當以商業利益為導向,即哪一類客戶出錢最多就先滿足他們的需求,以后再做那些獲利相對較少的需求。當開發者想象中的產品與客戶所提的需求有沖突時,一般應當尊重客戶的觀點。但是不要陷入“客戶總是對的”陷阱里,需求分析員應當糾正明顯不合理的客戶需求。如果產品很復雜,雙方都不太明白需求,此時最好請開發人員快速構造軟件的原型,雙方看著軟件原型再分析需求分析決策當需求從四面八方收集來后,需求的沖突在所難免。對于什么是好的需求規格說明書正確
需求規格說明書應當正確地反映用戶的真實意圖,“正確”是《產品需求規格說明書》最重要的屬性。如果“不正確”僅僅是由于錯別字造成的,那么多檢查幾遍文檔就能解決問題。真正的困難是開發者和用戶自己都不明白用戶究竟“想要什么”和“不要什么”。為確保需求是正確的,開發方和用戶必須對《需求規格說明書》進行確認。
清楚
清楚的需求讓人易讀易懂。清楚的反義詞是“難讀”、“難理解”。你可以采用反問的方式來判斷需求文檔是否清楚:文檔的結構、段落是否亂七八糟?上下文是否不連貫?文檔的語句是否含糊其詞、羅里羅嗦?看了半天是否還不明白需求究竟是什么?無二義性
“無二義性”是指每個需求只有唯一的含義。如果一個人說的話,不同的人可能有不同的理解,那么這句話就有二義性。如果需求存在二義性,將會導致人們誤解需求而開發出偏離需求的產品。為了使需求無二義性,人們在寫《產品需求規格說明書》時措詞應當準確,切勿模棱兩可。什么是好的需求規格說明書正確什么是好的需求規格說明書一致
“一致”(Consistent)是指《產品需求規格說明書》中各個需求之間不會發生矛盾。矛盾常常潛伏在需求文檔的上下文中。
必要
《產品需求規格說明書》中的各項需求對用戶而言應當都是必要的。可以把“必要”比喻為“雪中送炭”。“必要”往前一步,要么是“畫蛇添足”要么是“錦上添花”。“畫蛇添足”顯然是壞事,會導致開發人員多干一些吃力不討好的工作。所以要盡量剔除需求規格說明書中“畫蛇添足”的那些需求。“錦上添花”是好事,可能會讓用戶獲得比期望更多的喜悅,但是眼前用戶不會為此多付錢。開發者應當集中精力先完成必要的需求,如果條件允許則再做“錦上添花”的需求。為了避免主次顛倒,應當在《產品需求規格說明書》中將那些“錦上添花”的需求設置為較低的優先級。什么是好的需求規格說明書一致什么是好的需求規格說明書完備“完備”(Complete)是指《產品需求規格說明書》中沒有遺漏一些必要的需求。人們往往傾向于關注系統的特色功能,而忽視了其它一些不起眼的但卻是必需的功能。不完備的《產品需求規格說明書》將導致產生功能不完整的軟件,用戶在使用該軟件時可能無法完成預期的任務。什么是好的需求規格說明書完備什么是好的需求規格說明書可實現
《產品需求規格說明書》中的各項需求對開發方而言應當都是可實現的(Attainable)。“可實現”意味著在技術上是可行的,并且滿足時間、費用、質量等約束。營銷人員和用戶談生意時,為了能拿到“單子”,他們往往對用戶提出的需求“來者不拒”。吹牛皮雖然不犯法,但是《產品需求規格說明書》可是白紙黑字啊。經過雙方確認的《產品需求規格說明書》相當于商業合同,如果開發方不能夠實現《產品需求規格說明書》中的內容,那就是違約,可能會被罰款的。對于合同項目,如果開發方不能確信某些需求是否可實現,則應事先與用戶協商,達成一致的處理意見,避免將來發生商業糾紛。什么是好的需求規格說明書可實現什么是好的需求規格說明書可驗證
《產品需求規格說明書》中的各項需求對用戶方而言應當都是可驗證的(Verifiable)。如果需求是不可驗證的,那么用戶就無法驗收軟件,可能會發生商業糾紛。例如,摩天大樓的一項需求是“抗十二級臺風”,這個需求看起來堂而皇之,但是如何驗證呢?當摩天大樓完工后驗收時,用戶又不是巫師,他怎能造個十二級臺風來試驗?如果雙方都認可“采用計算機模擬十二級臺風”等效于實際測試,那么這項需求就是“可驗證”的什么是好的需求規格說明書可驗證什么是好的需求規格說明書確定優先級為什么要確定需求的“優先級”?理論上講,軟件的所有需求都應當被實現。但是在現實之中,項目存在“進度、費用、人力資源”等限制。在項目剛開始的時候,開發方和客戶比較樂觀,什么都要做,可是做著做著,人們常常會面臨“進度延誤、費用超支、人員不足”等問題,這時就亂套了。人們想出了“取舍”辦法:先做優先級高的需求,后做(甚至放棄)優先級低的需求,這樣可以將風險降到最低。需求的優先級其實就是需求“輕重緩急”的分級表述,例如劃分為“高、中、低”三級。一般地,由用戶和開發方共同確定需求的優先級。什么是好的需求規格說明書確定優先級什么是好的需求規格說明書闡述“做什么”而不是“怎么做”《產品需求規格說明書》的重點是闡述“做什么”,而不是闡述“怎么做”。“怎么做”是系統設計和實現階段的事情。國內的很多軟件公司里,開發人員常常身兼數職,可能把需求開發、系統設計、編程等工作從頭做到尾。所以他們在調查、分析、定義需求時,自然會想到“怎么做”,這并沒有什么過錯。如果在調查、定義需求時想好了“怎么做”,當然應該寫下來,否則豈不浪費!關鍵是不要將“怎么做”寫到需求規格說明書里面,記錄在其它文檔里就行了。什么是好的需求規格說明書闡述“做什么”而不是“怎么做”如何定義產品需求第一步:細化并分析用戶需求
需求分析員首先對《用戶需求說明書》進行細化,對比較復雜的用戶需求進行建模分析,以幫助軟件開發人員更好地理解需求。例如采用Rational的Rose工具進行需求的建模分析,建模分析產生的文檔可以作為《產品需求規格說明書》的附件。補充說明:建模分析的技術難度比較高,需求分析員應當根據自身水平進行取舍。第二步:撰寫產品需求規格說明書
需求分析員按照指定的文檔模板撰寫《產品需求規格說明書》。如果待開發的產品分為軟件和硬件兩部分的話,則應當撰寫《軟件需求規格說明書》和《硬件需求規格說明書》。第三步:進行需求確認項目經理邀請同行專家和用戶(包括客戶和最終用戶)一起評審《產品需求規格說明書》,盡最大努力使《產品需求規格說明書》能夠正確無誤地反映用戶的真實意愿。需求評審之后,開發方和客戶方的責任人對《產品需求規格說明書》作書面承諾。如何定義產品需求第一步:細化并分析用戶需求需求文檔《用戶需求說明書》與《產品需求規格說明書》的主要區別與聯系前者主要采用自然語言(和應用域術語)來表達用戶需求,其內容相對于后者而言比較粗略,不夠詳細。后者是前者的細化,更多地采用計算機語言和圖形符號來刻畫需求,產品需求是軟件系統設計的直接依據。兩者之間可能并不存在一一影射關系,因為軟件開發商會根據產品發展戰略、企業當前狀況適當地調整產品需求,例如用戶需求可能被分配到軟件的數個版本中。軟件開發人員應當依據《產品需求規格說明書》來開發當前產品。需求文檔《用戶需求說明書》與《產品需求規格說明書》的主要區別需求確認(評審和承諾)需求確認(評審和承諾)需求確認是指開發方和客戶方共同對《產品需求規格說明書》進行評審,雙方對需求達成共識后作出承諾。需求確認包含兩個重要工作:“需求評審”和“需求承諾”。人們在交流的時候,經常會發生“問非所求,答非所問”的事情,用戶表達的需求,不同的開發人員可能有不同的理解。如果需求分析員誤解了需求,那會導致后續的不少開發人員將錯就錯、白干活。就像作文寫跑題了,寫得再好也白搭。這類錯誤連高智商的外星人都不能避免:有個外星人間諜潛伏到地球刺探情報,它給上司寫了一份報告:“主宰地球的是車。它們喝汽油,靠四個輪子滾動前進。嗓門極大,在夜里雙眼能射出強光。……有趣的是,車里住著一種叫作‘人’的寄生蟲,這些寄生蟲完全控制了車。”不論是復雜的項目還是簡單的項目,需求分析員和用戶都有可能誤解需求。所以需求確認工作(屬于需求管理)必不可少需求確認(評審和承諾)需求確認(評審和承諾)需求評審面臨的困難需求評審的一個通病是“虎頭蛇尾”。需求評審的確乏味,也比較費腦子。剛開始評審時,大家都比較認真,越到后頭越馬虎。
需求評審涉及的人員可能比較多,有些時候讓這么多人聚在一起花費比較長的時間開會并不容易(例如有些人可能出差在外,有些人可能事務纏身)。沒有必要把所有事情擠在一塊做,需求開發是循序漸進的過程,需求評審也可以分段進行。這樣每次評審的時間比較短,參加評審的人員也少一些,組織會議就比較容易需求評審面臨的困難需求評審的一個通病是“虎頭蛇尾”。需求評審需求承諾需求承諾是指開發方和客戶方的責任人對通過了正式技術評審的《產品需求規格說明書》作出承諾,該承諾具有商業合同的效果。需求承諾的“八股文”如下:本《產品需求規格說明書》建立在雙方對需求的共同理解基礎之上,我同意后續的開發工作根據該《產品需求規格說明書》開展。如果需求發生變化,我們將按照“變更控制規程”執行。我明白需求的變更將導致雙方重新協商成本、資源和進度等。甲方簽字
乙方簽字人們在作出承諾之前務必要認真閱讀文檔,一定要明白簽字意味著什么。需求承諾需求承諾是指開發方和客戶方的責任人對通過了正式技術評需求跟蹤
需求跟蹤的目的是建立與維護“需求-設計-編程-測試”之間的一致性,確保所有的工作成果符合用戶需求。
需求跟蹤有兩種方式:
正向跟蹤。檢查《產品需求規格說明書》中的每個需求是否都能在后繼工作成果中找到對應點。
逆向跟蹤。檢查設計文檔、代碼、測試用例等工作成果是否都能在《產品需求規格說明書》中找到出處。
正向跟蹤和逆向跟蹤合稱為“雙向跟蹤”。不論采用何種跟蹤方式,都要建立與維護需求跟蹤矩陣(即表格)。需求跟蹤矩陣保存了需求與后繼工作成果的對應關系需求跟蹤
需求跟蹤的目的是建立與維護“需求-設計-編程-測試需求變更控制需求發生變更的起因主要有:隨著項目的進展,人們(包括開發方和客戶方)對需求的了解越來越深入。原先的需求文檔可能存在這樣那樣的錯誤或不足,因此要變更需求。市場發生了變化,原先的需求文檔可能跟不上當前的市場需求,因此要變更需求。提出需求變更的動機是好的,目的是希望產品更加符合用戶的需求。對項目開發小組而言,變更需求意味著要調整資源、重新分配任務、修改前期工作成果等,開發小組要為此付出較重的代價。如果每次需求變更請求都被采納的話,這個項目也許永遠不能按時完成。需求變更控制的目的:如果需求變更帶來的好處大于壞處,那么允許變更,但必須按照已定義的變更規程執行,以免變更失去控制。如果需求變更帶來的壞處大于好處,那么拒絕變更。需求變更控制過程中最難辦的事情是莫過于“拒絕客戶提出的需求變更請求”。通常情況下開發方是不敢得罪客戶的,但是無原則地退讓將使開發小組陷入困境。解決這個問題最好的辦法是事先建立“游戲規則”:開發方與客戶方達成“事不過三”的約定(符合中國人的習慣),即允許客戶變更三次需求;如果客戶第四此變更需求,開發方有權拒絕,除非客戶愿意補償開發方的損失。需求變更控制需求發生變更的起因主要有:WEB項目開發的一般流程—分析與設計之架構分析與設計架構分析與設計邏輯架構3層架構、n層架構…MVC…Model1orModel2…物理架構Web服務器的分布數據庫服務器的分布…技術解決方案的確定Java/.NETOpenSource/商業…WEB項目開發的一般流程—分析與設計之架構分析與設計架構分析WEB項目開發的一般流程—分析與設計之業務邏輯分析業務邏輯分析根據需求分析業務邏輯有哪些人會使用本系統他們會使用本系統做什么通常他們使用本系統的步驟是什么樣的會有哪些明顯的類來支撐本系統的運行會有哪些不同的提示會返饋給用戶…本階段與需求的確定密切相關,通常在確定需求的時候就會進行相關的分析WEB項目開發的一般流程—分析與設計之業務邏輯分析業務邏輯分WEB項目開發的一般流程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- AGS-16C3F-AGS-16M8F-生命科學試劑-MCE
- 政策引導下的2025年醫療器械國產化產業政策優化研究報告
- 2025年食品冷鏈物流溫控技術設備應用市場前景分析報告
- 2025年直播平臺內容監管與行業自律發展策略研究
- 2025年線下演出市場復蘇與演出市場可持續發展報告
- 深度解析2025年智能投顧平臺風險控制與合規運營挑戰與機遇報告
- 2025年城市公交樞紐無障礙設施建設社會穩定風險評估報告
- 血液凈化醫療服務行業競爭格局分析及市場前景預測報告
- 2025年咖啡連鎖品牌市場布局下的高鐵站飲品品牌市場定位報告
- 新能源汽車廢舊電池回收利用行業產業鏈上下游企業競爭力對比報告
- 全國大學英語六級詞匯表
- 2022-2023學年高教版(2021)中職數學基礎模塊下冊-指數函數與對數函數-單元測試卷
- JJG 4-2015鋼卷尺行業標準
- 化學制品智能制造解決方案設計
- 防野生果中毒安全教育
- 質量文化手冊樣本
- 2024年02月山西省文物局所屬事業單位2024年公開招考29名工作人員筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 鵝媽媽的故事課件
- 食堂衛生知識培訓內容
- 《電力機車制動機》課件 7-02 最大最小有效減壓量計算
- 普通地質學課件
評論
0/150
提交評論