現(xiàn)代軟件工程講義設(shè)計階段 典型用戶_第1頁
現(xiàn)代軟件工程講義設(shè)計階段 典型用戶_第2頁
現(xiàn)代軟件工程講義設(shè)計階段 典型用戶_第3頁
現(xiàn)代軟件工程講義設(shè)計階段 典型用戶_第4頁
現(xiàn)代軟件工程講義設(shè)計階段 典型用戶_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、當(dāng)我們寫一個軟件的時候, 都知道要為用戶考慮, 但是用戶在哪里? 有同學(xué)寫 “圖書館管理系統(tǒng)” - 說來圖書館的同學(xué)都是我的用戶, 但是他們有沒有區(qū)別呢? 有同學(xué)寫“自動柜員機(jī)系統(tǒng)”, 那到底有多少類型的用戶來到柜員機(jī)前呢? 這些都是團(tuán)隊成員在需求分析和設(shè)計階段要反復(fù)琢磨的問題。 有同學(xué)說, 我把用戶的愿望百分之百地實現(xiàn)了, 這不就行了么? 不要搞那么多分析啊, 故事啊, 心理啊, 討論啊, 文檔啊 請看這個笑話: 在長時間一絲不茍的實現(xiàn)之后在長時間一絲不茍的實現(xiàn)之后 得到了和用戶要求一模一樣的產(chǎn)品!但是用戶滿意嗎但是用戶滿意嗎? 光看用戶的表面語言或行動還是不夠的。我們還要找到用戶語言行動背

2、后的動機(jī)背后的動機(jī)! (圖像來源:http:/ 有同學(xué)會說, 我只要把產(chǎn)品做得可擴(kuò)展性特別好, 一般用戶到超級用戶都能搞定就行了! 且不論這是否能覆蓋所有用戶, 一味追求“最大的擴(kuò)展性”也有很多副作用。幾年前有一款 www 瀏覽器有不少安全性的問題, 安全專家在忙于補(bǔ)救各種安全漏洞之時, 發(fā)現(xiàn)它的 “網(wǎng)站地址欄”允許的最長輸入是 4 兆個字符! 4 百萬個字符啊, 多適合做緩沖區(qū)溢出的攻擊啊! 但是有哪個正常的網(wǎng)站或用戶要輸入這么長的網(wǎng)址呢? 討論Visual Studio 是一個非常成功的軟件開發(fā)集成環(huán)境 (IDE), 它支持VB/C/C+/C#/ASP.net/WPF/ 等等不同的開發(fā)語言

3、和套件, 用戶可以寫幾行的 hello world 程序, 也可以寫幾萬行的多線程軟件, 它還支持項目管理, 測試工具, 以及第三方的插件 它的眾多用戶分布在全世界大大小小的國家, 各行各業(yè)的公司, 大大小小的團(tuán)隊, 有些是業(yè)余愛好編程, 有些是老師和學(xué)生, 有些是專業(yè)開發(fā)人員 很多用戶對它也有很多改進(jìn)意見, 那我們到底為哪些用戶服務(wù)呢? 同時, VS 的微軟團(tuán)隊也有很多開發(fā)人員, 他們也是用戶, 只聽取他們的意見是不是就夠了呢? 在開發(fā)一個新版本的 Visual Studio 時候,如果你如果你來主持需求分析工作來主持需求分析工作, 你的工作結(jié)果會指導(dǎo)上千名工程師你的工作結(jié)果會指導(dǎo)上千名工程

4、師, UI 設(shè)計師設(shè)計師, PM, 市場推廣人員未來兩年的工作。市場推廣人員未來兩年的工作。 你怎么辦你怎么辦? 給大家 10 分鐘討論 下面是微軟在 Visual Studio 2005 設(shè)計階段使用的幾個 典型用戶 (persona): 典型用戶典型用戶 造型造型Persona details特點特點MortMort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as need

5、ed. Mort is someone who doesnt consider programming their main job. Maybe they are a statistician, biologist, or construction estimator, who also knows quite a bit about programming. They are opportunistic, using whatever tool comes to hand that will get the job done. 不一定是專業(yè)出身的程序員, 他們有自己的主業(yè), 編程只是一個工

6、具, 他們的主要目的就是用工具把事情搞定就行了。他們很喜歡代碼示例, 也不特別關(guān)心程序效能。 (例如許多 VB 用戶, 偶爾用 VS 寫程序處理數(shù)據(jù)的研究人員等)ElvisElvis the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learning while working on the solution. Elvis: journeyman developer. You can scope out a job and give it to

7、them, and the job will get done. In general, Morts dont become Elvises. Morts want to do their main job; they dont WANT to become a professional developer. Elvises go to school and get CS degrees. 以編程為生的程序員, 他們大多是 CS 專業(yè)出身。 各種 IT 公司的開發(fā)人員應(yīng)該是在這一類中。 EinsteinEinstein, the paranoid programmer, likes to cr

8、eate the most efficient solution to a given problem, and typically learn in advance before working on the solution. Einstein is a smart Elvis who has lots of experience. Einstein can see the big picture. An Einstein often is in a position of 在行業(yè)里戰(zhàn)斗了很多年的程序員, 架構(gòu)師, 項目經(jīng)理。 他們能決定項目用什么樣的技術(shù)以及發(fā)展路線。 responsib

9、ility, choosing technologies and designing large software systems.這里有一些網(wǎng)上關(guān)于 VS 各種典型用戶的評論。 我在移山之道里也舉了一些和中國程序員較接近的例子 移山之道 第14 章14.1 典型用戶大牛和小飛在討論網(wǎng)站界面的時候吵了起來。大牛:這個界面對于一般用戶來說太復(fù)雜了。一般人根本搞不懂。小飛:我們這個界面是針對有很多經(jīng)驗的用戶,就像賣石頭的吳石頭,他搞石頭生意有那么些年了,他應(yīng)該對我們用的術(shù)語比較熟悉,而且會用電腦,我們并不針對初次使用我們系統(tǒng)的用戶,或者對奇石生意有了解,但是對電腦一竅不通的人,就像石頭他爹。大牛:

10、不對,我們要針對那些對奇石生意有了解,但是對電腦一竅不通的人,我們有一些功能是為這些用戶設(shè)計的。小飛:不對,我們主要的用戶是對石頭生意很了解,并且對電腦的使用很熟悉的人。而且這也符合所謂“Persona”的要求。大牛:我不管你的“Person-a”,我們要分析用戶的需求,在把需求搞清楚之前,管他“Person-a”還是“Person-b”,都沒有用。我們還是不要用這些名詞忽悠我們自己。他們倆一起來到阿超面前,把事情原委說了一遍。 阿超:所謂“Persona”,就是典型用戶,吳石頭/石頭他爹就是我們系統(tǒng)的兩個典型用戶。我們的確要了解我們軟件系統(tǒng)的用戶(不是公司的商業(yè)客戶),那么,什么是典型用戶?

11、 在產(chǎn)品開發(fā)的過程中,我們經(jīng)常需要描述一組典型的用戶。以前大家通常是以一些抽象的名詞來表示,如“家用電腦初學(xué)者”,“經(jīng)驗豐富的系統(tǒng)管理員”,現(xiàn)在我們建議用一個“典型用戶”來代表。典型用戶不再是一個抽象的概念,而應(yīng)該是一個活生生的人物。典型用戶有哪些特性?一個典型用戶描述了一組用戶的典型技巧、能力、需要、想法、工作習(xí)慣和工作環(huán)境。 大牛:以前我們管臺風(fēng)叫 1 號、2 號,現(xiàn)在都起了名字,叫云娜、海棠、卡特麗娜、桑迪,等等,是不是跟 MSF-Agile 學(xué)的?阿超:這你得問氣象部門,至少臺風(fēng)“海棠”比單純的數(shù)字好記。但是我們的 Persona 還包括了更多的特性,不光光只是一個代號,一個典型用戶描

12、述了一組用戶的典型技巧、能力、需要、想法、工作習(xí)慣和工作環(huán)境。在別的行業(yè)中可以用到 Persona 的設(shè)計方法。我今天去銀行開賬戶。開完賬戶后,服務(wù)生在窗口后低著頭,過一會看我還坐著,就說,沒事了,你可以走了。我還想了解一些其他的服務(wù),比如信用卡/理財賬戶,等等,她好像對此沒有興趣??雌饋磴y行把我的“開戶”處理成一個單獨的事件,開了賬戶就完了。如果銀行分析開戶人的 Persona,它可能了解一些典型用戶的典型心理,比如小企業(yè)主崔大智來開戶,他就是來開個戶就完了?當(dāng)然不是!他有不少錢,可能申請信用卡、建立理財計劃、貸款、聯(lián)系代發(fā)工資,等等。如果銀行僅僅幫他開個戶就把他打發(fā)走了,那樣失去了多少商機(jī)

13、?! 在設(shè)計軟件的過程中,我們(設(shè)計/開發(fā)者)往往會以我們使用產(chǎn)品的習(xí)慣和我們對產(chǎn)品的熟悉程度出發(fā)設(shè)計,忘了我們的軟件是給千千萬萬個不那么會用電腦的人使用的。在這種情況下,搞一個“典型用戶”會強(qiáng)迫我們在考慮問題時從用戶的角度出發(fā)。 大牛:阿超剛才提到別的行業(yè),我想起一個例子,兩年前俺們村接待了國外的投資參觀團(tuán),我臨時被抓過去作翻譯。村長和支書興沖沖地帶領(lǐng)他們參觀了王屋村的產(chǎn)值大戶小化工廠和煙花爆竹廠。他們帶領(lǐng)客人穿過粉塵彌漫的化工廠車間,弄得老外咳嗽不止。在車間外,大家看到?jīng)]有處理的污水直接排放到王屋河中;到了煙花爆竹廠,大家看到數(shù)十名沒有任何安全保護(hù)的女工在安裝各式煙花,空氣中不用說有硫磺和

14、其他化合物的味道。參觀團(tuán)的團(tuán)員們發(fā)出了介于驚訝和恐懼之間的評價,我很難翻譯成中文。參觀團(tuán)走后就杳無音信了。如果分析客戶的情況,從客戶角度出發(fā),就會發(fā)現(xiàn)他們是想來開發(fā)這一帶的以歷史傳說為背景的人文旅游資源,他們想看到的是未被污染的風(fēng)景王屋河的上游有不少,還有淳樸農(nóng)家的生活方式,我們也有,當(dāng)然支書家的生活方式已經(jīng)不能用“淳樸”來形容??上覀儧]有讓客戶看到他們想要的東西。小飛:對呀,去支書家可以看到資產(chǎn)階級的生活方式,我目前沒有搞懂的是他家是小資還是大資。 14.1.1 怎樣定義典型用戶怎樣才能定義典型用戶呢?我們首先要定義用戶的角色。正如戲劇中有正面和反面的角色,軟件系統(tǒng)中也有受歡迎的和不受歡迎

15、的典型用戶。如果用戶有不同的安全需求,切記要定義不同的角色來適應(yīng)這些需求。如下面的例子: 受歡迎的典型用戶指那些按設(shè)計者的期望使用系統(tǒng)的用戶,如“網(wǎng)站的購物者”; 不受歡迎的典型用戶指那些有不正當(dāng)目的的用戶,如在一個房地產(chǎn)業(yè)主論壇中濫發(fā)房屋中介廣告的用戶這些用戶也許在別的系統(tǒng)中(如房屋中介論壇)是受歡迎的。Persona 可以包括以下內(nèi)容:(1)名字(越自然越好)。(2)年齡(不同年齡和收入的用戶有不同的需求)。(3)收入。(4)代表的用戶在市場上的比例和重要性(比例大不等同于重要性高,如付費的用戶比例較少,但是影響大,所以更重要)。(5)使用這個軟件的典型場景。(6)使用本軟件/服務(wù)的環(huán)境

16、(在辦公室/家里/沙發(fā)/床上/公共汽車/地鐵)。(7)生活/工作情況。(8)知識層次和能力(教育程度,對電腦、萬維網(wǎng)的熟悉程度)。(9)用戶的動機(jī)、目的和困難(困難 = 需要解決的問題)。 (10)用戶的偏好。 我們的軟件不是為所有人服務(wù)的。我們的軟件不是為所有人服務(wù)的。 問:那這樣不就是損失了大量潛在的用戶,我們至少得爭取一下為所有人服務(wù),如果不行,再回到少部分用戶?答:不妥,我們寧可從小部分人出發(fā),要非常明確地定義誰是我們的用戶?;剡^頭來看,Stone 網(wǎng)站有什么基本角色呢?大家雜曰(1)商戶:在網(wǎng)站上出售貨物的用戶。(2)買家:在網(wǎng)站上購買貨物的用戶。(3)瀏覽者:在網(wǎng)站上瀏覽,并比較貨

17、物,并不購買。(4)廣告商:在網(wǎng)上賣廣告,這些角色可能不會直接使用網(wǎng)站的用戶界面。(5)管理員:管理網(wǎng)站。(6)搗亂者:想入侵網(wǎng)站,竊取資料,在留言中發(fā)未經(jīng)許可的廣告,搞人身攻擊等。在 TFS 項目的門戶網(wǎng)站中有定義典型用戶的模板(路徑一般是Requirements/Persona.doc)??梢杂米鲄⒖肌T诖笈:褪|蕓的帶領(lǐng)下,大家整理出來了下面幾個典型用戶,如表 14-1 至表 14-6 所示。 表 14-1 吳石頭下水撈石頭的人名字吳石頭性別、年齡男,45 歲職業(yè)經(jīng)營石頭生意收入10 萬元/年知識層次和能力初中畢業(yè),用電腦只會玩簡單的游戲生活/工作情況通過賣石頭,在王屋村有自己的房子動機(jī),

18、目的,困難結(jié)識更多買家,擴(kuò)大銷路,爭取賣個好價錢,給孩子蓋房娶媳婦。困難:不知道怎么去擴(kuò)大銷路用戶偏好抽煙,曬太陽用戶比例?典型場景他從河里挖出一塊石頭之后,要把這塊石頭的信息弄到網(wǎng)上去典型描述石頭越撈越多,錢越賺越少 表 14-2 吳小石頭讓石頭上了網(wǎng)名字吳小石頭性別、年齡男,20 歲職業(yè)幫他爹做石頭生意收入目前都上交給他爹知識層次和能力河曲村農(nóng)機(jī)技校畢業(yè),能用電腦上網(wǎng)、聊天、游戲生活/工作情況幫他爹做石頭生意,平時在頂球網(wǎng)吧動機(jī),目的,困難希望早日蓋房,獨立。困難:要擴(kuò)大銷路,讓更多的人知道我的石頭用戶偏好上網(wǎng),游戲,交友用戶比例?典型場景回答買家問題,更新產(chǎn)品資料典型描述我不在頂球,就在

19、去頂球的路上 表 14-3 劉蘭上網(wǎng)撈石頭的人,一般瀏覽及購買的用戶名字劉蘭性別、年齡女,永遠(yuǎn) 28 歲職業(yè)金融公司管理人員 表 14-4 錢炎凱撒網(wǎng)大量收購石頭的人買家,二道販子,鑒賞家,廣告商名字錢炎凱性別、年齡男,40 歲職業(yè)石頭、古玩、工藝品經(jīng)銷商收入30 萬元/年知識層次和能力大學(xué),能用電腦上網(wǎng)、發(fā)郵件。不玩游戲。委托別人設(shè)計了自己的網(wǎng)站收入20 萬元/年知識層次和能力大學(xué),MBA,每天和電腦、數(shù)字打交道生活/工作情況職業(yè)有上升空間,目前享受獨身樂趣動機(jī),目的,困難工作累,以收集小玩意兒為樂趣。困難:很難找到真正有鄉(xiāng)土氣息的工藝品用戶偏好看得多,買得少用戶比例?典型場景瀏覽各種貨物典

20、型描述白骨精白領(lǐng),骨干,精英生活/工作情況在商店/外地來回跑,已婚動機(jī),目的,困難要搜羅更多有獨特價值的工藝品。困難:很多好東西都在深山老林里,不易發(fā)現(xiàn);要讓更多的人知道我自己的網(wǎng)站用戶偏好下手狠,喜歡獨特的貨品用戶比例?典型場景比較各種貨物典型描述貨比三家,我家最好 表 14-5 搗蛋鬼阿狗名字阿狗性別、年齡男,20 歲職業(yè)某軟件學(xué)院學(xué)生收入無正式收入知識層次和能力大學(xué)生活/工作情況從小用電腦,有很多業(yè)余時間上網(wǎng)搗亂動機(jī),目的,困難看看能否進(jìn)到管理員賬戶用戶偏好喜歡沒有密碼的用戶用戶比例?典型場景訪問“登錄”,“忘記密碼”網(wǎng)頁典型描述沒有我黑不了的網(wǎng)站 表 14-6 網(wǎng)管阿毛名字阿毛性別、年

21、齡男,20 歲職業(yè)某軟件學(xué)院學(xué)生,兼職 stone 網(wǎng)站網(wǎng)管收入實習(xí)生知識層次和能力大學(xué)生活/工作情況從小用電腦動機(jī),目的,困難維護(hù)網(wǎng)站,最好什么亂子都沒有。困難:最恨界面不統(tǒng)一用戶偏好喜歡簡單易管理的網(wǎng)站用戶比例相當(dāng)少,只有 34 名典型場景刪除帖子,管理用戶,分析訪問數(shù)據(jù)典型描述本網(wǎng)站不歡迎黑客 定義了最初的 Persona 之后,是不是就可以開始寫程序了?不,Persona 只是我們的設(shè)想,這些都是紙上談兵,我們還要和這些Persona 的代表交流,理解用戶,理解他們的工作方式和需要。然后再修改,細(xì)化 Persona。于是移山公司的員工和實習(xí)生花了幾天時間,做了不少用戶調(diào)查,搞了不少頭腦

22、風(fēng)暴,畫了無數(shù)草圖。蕓蕓:(回來報告)除了進(jìn)一步了解用戶的需求,細(xì)化了一些功能的設(shè)想外,我們還有一個重大發(fā)現(xiàn),我們的第一個典型用戶,吳石頭,好像不喜歡上網(wǎng),他事實上不太會用電腦,也搞不懂如何上傳照片。凡是和網(wǎng)絡(luò)相關(guān)的事情,都交給了他的兒子。所以我們不得不把吳石頭從典型用戶中刪除。大牛:吳石頭,再見了!蕓蕓:蕓蕓:我們花了我們花了好好多多時間,結(jié)果精心打造的時間,結(jié)果精心打造的 Persona 卻被取消了。傷卻被取消了。傷心哪!心哪!阿超:阿超:不必這么傷心,越早發(fā)現(xiàn)問題,越早解決,不是更好么?如果不必這么傷心,越早發(fā)現(xiàn)問題,越早解決,不是更好么?如果我們一意孤行,一直為我們一意孤行,一直為“吳

23、石頭吳石頭”設(shè)計功能,最后卻發(fā)現(xiàn)眾多的設(shè)計功能,最后卻發(fā)現(xiàn)眾多的“吳石頭吳石頭”卻不能使用我們的軟件,那豈不是更糟糕?卻不能使用我們的軟件,那豈不是更糟糕?當(dāng)我們完善了典型用戶的定義后,就要講一些他們的故事, 進(jìn)入“創(chuàng)立場景”階段創(chuàng)立場景就是我們深入理解用戶需求的過程。14.2 從典型用戶到場景從典型用戶到場景有了典型用戶之后,我們還得決定每一個典型用戶的目標(biāo)他/她使用系統(tǒng)想要達(dá)到什么目的(如:購物者,產(chǎn)品提供商,濫發(fā)廣告者)對于每一個目標(biāo),列出達(dá)到目標(biāo)所必須經(jīng)歷的過程,這就是場景,也可以叫故事/Story。注意,有些場景描述了成功的結(jié)果,有些場景描述了失敗的結(jié)果。用戶和系統(tǒng)有成百上千種可能的

24、交互情況,在寫場景的時候要有針對性。這是一個現(xiàn)實生活中銀行從業(yè)者的微博, 他體會了 “ATM 無卡取現(xiàn)”功能的強(qiáng)大:特意帶上手機(jī)和令牌不帶卡,感受一下我行特意帶上手機(jī)和令牌不帶卡,感受一下我行 ATM 的無卡取現(xiàn),結(jié)果連自的無卡取現(xiàn),結(jié)果連自助銀行的門兒都沒進(jìn)去,不刷卡怎么開門啊。助銀行的門兒都沒進(jìn)去,不刷卡怎么開門啊。 如果這一重要功能的設(shè)計者在需求分析的時候就模仿用戶, 設(shè)計場景, 演一個戲. 也許很快就發(fā)現(xiàn)戲演不下去了。 場景怎么寫? 對每一個場景,設(shè)計一個場景入口(描述場景如何開始)。描述典型用戶在這個場景中所處的內(nèi)部和外部環(huán)境(內(nèi)部環(huán)境指心理因素等)。給場景劃分優(yōu)先級,就按優(yōu)先級排序

25、。寫場景(總得有人動筆寫)。這一任務(wù)就由 PM 蕓蕓來負(fù)責(zé),下面是她寫的一個一頁場景。場景 移山公司文檔 http:/www.yishan.cc工作項序號 128:商戶上貨,最后修改時間:2007/3/11背景:(1)典型用戶:吳小石頭主要 劉蘭次要(2)用戶的需求/迫切需要解決的問題a吳小石頭:上貨過程冗長,要反復(fù)輸入相似的文字,出錯之后不容易恢復(fù)。b吳小石頭:上傳圖像文件較慢,各個圖像的標(biāo)定(正面,側(cè)面,縮略圖)較繁瑣。c吳小石頭:上貨完成后,最后的商品信息展示的整體效果事先不能知道。還要手工標(biāo)注哪些是新產(chǎn)品,哪些是老產(chǎn)品。(3)假設(shè):a商品信息展示功能已經(jīng)完成。b用戶訂閱某個商家的產(chǎn)品更

26、新功能已完成。 2場景:關(guān)于這個場景的文字描述。吳小石頭要把最近處理好的兩個石頭工藝品放到網(wǎng)上去賣。他先登錄 Stone 網(wǎng)站,如果他設(shè)置了“記住我的登錄資料”,Stone 網(wǎng)站會自動登錄。他點擊“上傳產(chǎn)品信息”,然后就進(jìn)入了上傳頁面。頁面中各個字段的布局和最終用戶看到的一樣,這樣他在編輯的時間就知道效果了。他可以選擇先上傳圖像文件,網(wǎng)頁可以自動開始后臺處理圖像文件的上傳,這樣當(dāng)他處理網(wǎng)頁其他資料的時候,圖像也上傳得差不多了。他依次輸入商品的名字、描述等。網(wǎng)頁自動記住了他以前輸入的資料,在各個字段中都有提示,他一般選中以前的輸入,然后稍作修改即可。他輸入完必須填寫的資料后,就可以選擇下面三個動

27、作之一:a立即發(fā)布;b保存,不發(fā)布;c保存,繼續(xù)編輯。選項 c 的作用是讓他保存好已經(jīng)輸入的信息,不至于因為網(wǎng)絡(luò)連接中斷等原因而丟失。選項 b 讓他可以保存資料,但是不立即發(fā)布。選項 a 讓他可以立即發(fā)布商品信息。這次,吳小石頭選擇 a,網(wǎng)頁會檢查輸入的完整性,必要時給予提示。所有資料上傳到網(wǎng)站后,網(wǎng)站會自動生成上傳圖像的各種縮略圖(6464、128128、512512 等),自動把這一產(chǎn)品標(biāo)注為“新產(chǎn)品”。系統(tǒng)同時根據(jù)規(guī)則(每個商戶只能有 10 個新產(chǎn)品)把以前商品的“新產(chǎn)品”標(biāo)注去掉。吳小石頭在完成這一操作后,如果用戶劉蘭訂閱了商戶“吳小石頭”的產(chǎn)品更新,劉蘭就會收到一份 E-mail,告

28、知她喜歡的商家又有新產(chǎn)品上市了。3其他資料(1)商戶登錄網(wǎng)站場景參見 TFS 任務(wù) 121。(2)商品展示場景參見 TFS 任務(wù) 122。 場景之間如何區(qū)分呢,這就要求我們要找到這個場景中特殊的地方,對于共同的流程可以一筆帶過,重點描述場景中特殊的因素。把場景組織成一個故事,這樣就能把一個完整的用戶與系統(tǒng)交互的流程記錄下來,以后進(jìn)行演示或驗收都可以以此為基礎(chǔ)。場景設(shè)計聽起來這么好,但是做過了頭會是什么情況?一天,大家在討論“吳小石頭上貨”這一場景時,二柱叫到:“停,別忙了,我有了場景!”他從桌子底下抽出一個模型,上面擺著用紙糊起來的房子、院子等,中間有幾個人形的木頭疙瘩,他指著其中一個木頭疙瘩

29、說,“這就是吳小石頭,我們問他怎么做就行了!” 14.3 場景到任務(wù)場景到任務(wù)有了場景,下面就由架構(gòu)設(shè)計師和各個模塊的負(fù)責(zé)人一起,沿著子系統(tǒng)/模塊的所屬關(guān)系把場景劃分開。例如Stone 項目的用戶登錄場景,就可以分為:(1)UI 層。子任務(wù)為:界面設(shè)計,貨物資料處理,文件上傳處理,編輯控件等。(2)邏輯層。子任務(wù)為:用戶輸入字段合法性處理,上傳圖像邏輯和縮略圖處理,資料保存邏輯等。(3)數(shù)據(jù)庫。子任務(wù)為:資料讀取的存儲過程,圖像的索引建立和維護(hù)等。不同的任務(wù)把一個場景編織起來,雖然有多個開發(fā)者參與這個工作,但是應(yīng)該有一個開發(fā)者對整個場景負(fù)責(zé),我們得到了開發(fā)任務(wù)之后,就可以創(chuàng)建和分配測試任務(wù)。

30、14.4 從任務(wù)到代碼從任務(wù)到代碼14.4.1 接到任務(wù)小飛接到任務(wù)后,他會怎么辦呢?他會做下面這幾件事情。(1)估計開發(fā)任務(wù)所需的時間,他會參考以前同類任務(wù)所需花費的實際時間,以及別的同事的時間估計。(2)小飛會試著寫一些快速原型的代碼,看看效果會怎樣。他在這一過程中發(fā)現(xiàn)了一些問題,通過和 PM 溝通,他們?nèi)〉昧艘恢乱庖姟#?)在看到初始效果和了解了實現(xiàn)的細(xì)節(jié)后,小飛開始寫設(shè)計文檔,寫好之后,他可以請同事一起來復(fù)審設(shè)計文檔(復(fù)審可選,因為一般情況下任務(wù)都不大)。(4)設(shè)計文檔寫好之后,小飛就會按照設(shè)計文檔寫代碼。在寫的過程中,他又發(fā)現(xiàn)了一些原來沒有想到的問題,通過和 PM 溝通,找到了解決方案。(5)寫好代碼后,小飛對照設(shè)計文檔和代碼的指南作自我復(fù)審。(6)創(chuàng)建或更新單元測試。(7)進(jìn)行單元測試(不僅要通過自己新創(chuàng)建或更新的單元測試,還要通過整個模塊/系統(tǒng)的單元測試)。(8)重構(gòu)代碼,如果必要的話。(9)代碼復(fù)審。(10)把代碼簽入代碼庫中。由上可知,開發(fā)者必須寫自己代碼的單元測試。開發(fā)環(huán)境必須能夠很快地讓一些小的修改通過(做一個代碼修改的最低成本是多少?例如,如果我只改動一個無關(guān)緊要的功能,要多長時間才能運行所有的單元測試。要求:快速,自動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論