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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、師, UI 設(shè)計(jì)師設(shè)計(jì)師, PM, 市場(chǎng)推廣人員未來(lái)兩年的工作。市場(chǎng)推廣人員未來(lái)兩年的工作。 你怎么辦你怎么辦? 給大家 10 分鐘討論 下面是微軟在 Visual Studio 2005 設(shè)計(jì)階段使用的幾個(gè) 典型用戶 (persona): 典型用戶典型用戶 造型造型Persona details特點(diǎn)特點(diǎn)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è), 編程只是一個(gè)工

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 公司的開(kāi)發(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)師, 項(xiàng)目經(jīng)理。 他們能決定項(xiàng)目用什么樣的技術(shù)以及發(fā)展路線。 responsib

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論