APP分析過(guò)程在項(xiàng)目管理體系PMBOK中歸屬于項(xiàng)目范圍定義(Define Scope)過(guò)程往湿。從PMBOK的角度來(lái)看妖异,在完成需求收集(Collect Requirements)后,需要對(duì)項(xiàng)目和產(chǎn)品的詳細(xì)范圍進(jìn)行描述煌茴,清晰完整的項(xiàng)目/產(chǎn)品范圍說(shuō)明書有利于制定出具有良好執(zhí)行性的WBS(Work Breakdown Structure)随闺,但其更為重要的意義在于科學(xué)的構(gòu)建了用戶所需要的系統(tǒng)功能架構(gòu)。
從業(yè)務(wù)演變到系統(tǒng)的角度來(lái)看蔓腐,APP是業(yè)務(wù)在系統(tǒng)的具體呈現(xiàn)矩乐,APP的分析過(guò)程是將業(yè)務(wù)語(yǔ)言翻譯為機(jī)器語(yǔ)言的表現(xiàn)。只不過(guò)這不是普通的翻譯回论,是包含了智力和經(jīng)驗(yàn)的過(guò)程散罕。所以,對(duì)于計(jì)算機(jī)信息領(lǐng)域的技術(shù)專家來(lái)說(shuō)傀蓉,更需要去學(xué)習(xí)和掌握跨領(lǐng)域的業(yè)務(wù)語(yǔ)言欧漱,并在不同領(lǐng)域的交界處形成明確的定義,實(shí)現(xiàn)不同語(yǔ)言間的準(zhǔn)確對(duì)應(yīng)误甚。
舉個(gè)例子,假設(shè)在電子商務(wù)領(lǐng)域里有一個(gè)業(yè)務(wù)谱净,我們稱之為A:用戶通過(guò)網(wǎng)站填寫了一份購(gòu)買汽車坐墊的訂單,付款成功后可以通過(guò)連接電腦的打印機(jī)自動(dòng)打印一份A4幅面標(biāo)準(zhǔn)格式的確認(rèn)單壕探。那么在信息系統(tǒng)的世界里冈钦,A被翻譯為:1、用戶通過(guò)web表單填寫完訂單內(nèi)容后瞧筛;2厉熟、在線支付。2.1较幌、如果支付不成功揍瑟,系統(tǒng)提示用戶哪里出現(xiàn)錯(cuò)誤,并引導(dǎo)用戶修正錯(cuò)誤乍炉。2.2月培、如果支付成功,系統(tǒng)提示用戶:訂單已經(jīng)生效恩急,系統(tǒng)即將打印確認(rèn)單。3纪蜒、系統(tǒng)傳遞打印控制信息衷恭,打印機(jī)負(fù)責(zé)打印出指定格式的文件。4纯续、系統(tǒng)提示交易完成随珠。
上面的例子說(shuō)明了不同的領(lǐng)域有不同的表達(dá)標(biāo)準(zhǔn),想要在不同領(lǐng)域都能準(zhǔn)確表達(dá)同一個(gè)意思猬错,將是非常困難的事情窗看。
在計(jì)算機(jī)領(lǐng)域,信息系統(tǒng)的APP的設(shè)計(jì)過(guò)程非常的復(fù)雜倦炒,不只是純粹的描述計(jì)算機(jī)處理流程那么簡(jiǎn)單显沈,還包括了抽象過(guò)程(建模過(guò)程),設(shè)計(jì)過(guò)程(包括系統(tǒng)流程設(shè)計(jì)逢唤、功能設(shè)計(jì)拉讯、權(quán)限設(shè)計(jì)、用戶體驗(yàn)設(shè)計(jì)鳖藕、異常處理設(shè)計(jì)等等)魔慷,測(cè)試過(guò)程(建立demo,必要的驗(yàn)證)著恩。而在這些過(guò)程中院尔,建模環(huán)節(jié)是最為重要,也是最為復(fù)雜的一個(gè)步驟喉誊。
舉個(gè)例子來(lái)說(shuō)明為什么說(shuō)業(yè)務(wù)建模過(guò)程最為關(guān)鍵邀摆、也最為復(fù)雜:
假設(shè)家里有很多的雜物被堆放在不同的角落里,有衣服裹驰,褲子隧熙,鞋子,碗幻林,清潔劑贞盯,錘子音念,可折疊的小凳子等等,家里每個(gè)人都會(huì)用到其中的某些物品躏敢。久而久之闷愤,大家都覺(jué)得這些東西胡亂放置,既不利于保管件余、用時(shí)也不方便找到讥脐。于是,大家推舉你來(lái)解決這個(gè)問(wèn)題啼器,并給你提出了很多好的建議旬渠。例如,把這些東西整理到一個(gè)角落放置端壳,給每個(gè)物品一個(gè)固定的位置告丢,可以請(qǐng)木工打個(gè)大木箱子來(lái)放置,也可以去家具商店買個(gè)好點(diǎn)的柜子來(lái)放置损谦,又或者買幾個(gè)大的袋子分類來(lái)裝岖免。最后,一家之長(zhǎng)告誡你:在投資允許的情況下照捡,盡可能的選擇最好的一種方案來(lái)滿足家里所有人的需求颅湘。
那么這個(gè)時(shí)候,你應(yīng)該怎么去做呢栗精?讓我來(lái)試著描繪一種可能成功的做法。
?首先悲立,對(duì)每個(gè)人的需求進(jìn)行登記赢赊。即收集需求的過(guò)程(Collect Requirements)
詳細(xì)的與每個(gè)干系人(Stakeholder)進(jìn)行溝通释移,識(shí)別出每個(gè)人的一些行為特性,例如:
1寥殖、 你一般什么時(shí)候會(huì)去哪兒找哪些物品做哪些事情,什么時(shí)候又還原回去嚼贡?(流程)
2、 這些物品有些什么保管的要求粤策?(功能需求)
3、 你希望去哪里去取最方便?(非功能需求)
4秩贰、 有別人和你一起用這些物品嗎霹俺?(權(quán)限要求)
5毒费、 大致預(yù)算在什么范圍,等等(限制條件)
?對(duì)需求展開分析觅玻,進(jìn)入設(shè)計(jì)和構(gòu)造階段。即需求的定義過(guò)程(Define Scope)
1溪厘、 對(duì)收集的信息展開分析。保留有用的畸悬,去除相同的和無(wú)意義的需求打瘪。(需求過(guò)濾)
2傻昙、 對(duì)物品進(jìn)行逐一的分析彩扔,整理歸類。確定物品分作哪些類別虫碉,例如贾惦,衣服類敦捧,鞋類,餐具類兢卵,清潔劑類,工具類秽荤,小家具類等。(分類&抽象)
3窃款、 確定每個(gè)類別的行為特性,尺寸大小晨继,放置要求等烟阐。例如,衣服類物品要求存放于封閉蜒茄、干燥的環(huán)境,拿取方便扩淀、好查找,部分衣服要求掛放驻谆,需要足夠的空間卵凑;鞋類要求每雙鞋都單獨(dú)放置勺卢,存放時(shí)能具備一定的空氣流動(dòng)性,要方便查找和拿认蠖浴;餐具類勒魔,要求單獨(dú)存放,最好放在與水池較近的地方冠绢,要求能封閉放置,能在需要的時(shí)候進(jìn)行通風(fēng)干燥處理弟胀,儲(chǔ)物構(gòu)造的材料要求防水;清潔劑類孵户,沒(méi)有特別要求,只需要和衣服類夏哭,餐具類分開存放即可;工具類竖配,……(抽象&分析)
形成初步的設(shè)計(jì)方案。設(shè)計(jì)思路為械念,配置兩個(gè)不同的儲(chǔ)物柜解決儲(chǔ)物的問(wèn)題头朱。一龄减、在靠近廚房的角落設(shè)計(jì)一個(gè)三欄式的壁掛組合儲(chǔ)物柜,采用防火,防腐蝕的UV板材烁巫。設(shè)計(jì)為掛式的原因是,節(jié)省房屋的空間亚隙,利于時(shí)常打開柜門通風(fēng);大人拿取方便阿弃,也防止小孩子隨意拿取玩耍而摔破诊霹;三欄結(jié)構(gòu)可以分開放置餐具類脾还、清潔劑類物品和工具類物品,空間設(shè)計(jì)更為合理鄙漏。二、在靠近臥室的角落放置一個(gè)落地的多功能儲(chǔ)物柜棺蛛。儲(chǔ)物柜設(shè)計(jì)為三層的實(shí)木結(jié)構(gòu),下層主要放置鞋類旁赊,其后面板和內(nèi)隔檔板采用鏤空設(shè)計(jì),內(nèi)置4個(gè)隔層彤恶,總體高度約占柜體的1/4鳄橘。鏤空和隔層設(shè)計(jì)主要起到通風(fēng)干燥和分類放置便于取放的作用;中間層為抽屜式設(shè)計(jì)瘫怜,主要放置可以摺疊放置的衣物;而一些需要掛置的衣服則掛放在上層鲸湃。在儲(chǔ)物柜的頂上還可以放置一些小家具,例如摺疊的凳子暗挑,卷席等。另外炸裆,采用全實(shí)木材料還以防止甲醛等有害物質(zhì)的侵害。(建模過(guò)程)
?驗(yàn)證設(shè)計(jì)的成果是否滿足干系人需要。即范圍確認(rèn)過(guò)程(Verify Scope)
形成結(jié)論后洛史,召集相關(guān)干系人商議、評(píng)估方案也殖。一般依據(jù)業(yè)務(wù)程度,可以采用簡(jiǎn)單的評(píng)審(團(tuán)隊(duì)內(nèi)部小范圍的評(píng)審)或復(fù)雜(有客戶务热、用戶或者專家參與)的評(píng)審方式。
一旦方案得到大家的認(rèn)可陕习,則可以進(jìn)入實(shí)施過(guò)程了,這時(shí)可以再推舉一個(gè)人作為實(shí)施的負(fù)責(zé)協(xié)調(diào)人该镣,由他來(lái)控制預(yù)算,制定行動(dòng)計(jì)劃损合,確定需求的優(yōu)先級(jí)別,落實(shí)方案的執(zhí)行嫁审。
從上面的例子可以看到,設(shè)計(jì)和構(gòu)造階段中建模(Build Model)是整個(gè)APP設(shè)計(jì)過(guò)程中最具有技術(shù)含量的一個(gè)環(huán)節(jié)律适,不僅需要依靠知識(shí)和經(jīng)驗(yàn),還需要較強(qiáng)的邏輯能力捂贿,構(gòu)思和策劃能力。
其實(shí)厂僧,這么多年來(lái)我們?cè)谧鲂枨蠓治龊徒r(shí),也是有一定的規(guī)律可遵循的颜屠,我用一句話來(lái)概括就是:從業(yè)務(wù)對(duì)象入手,識(shí)別業(yè)務(wù)對(duì)象的行為甫窟,抽象APP,從而構(gòu)造系統(tǒng)模型粗井。
下面用網(wǎng)上訂票的例子來(lái)詳細(xì)說(shuō)明我們的做法:
假設(shè)敬锐,我們已經(jīng)知道了用戶的業(yè)務(wù)流程。
第一步:用戶通過(guò)瀏覽器登錄web網(wǎng)站台夺,瀏覽和查詢需要的信息。
第二步:選擇票颤介,填寫訂單信息,確認(rèn)個(gè)人的信息滚朵,以方便取票時(shí)核對(duì)。
第三步:通過(guò)網(wǎng)站提供的支付方式前域,在線完成支付。
第四步:系統(tǒng)生成電子票號(hào)匿垄,并短信通知訂票人,告知用戶出票相關(guān)的信息和兌票方法椿疗。
具體參見(jiàn)下圖:
前面我們說(shuō)到:業(yè)務(wù)的核心是數(shù)據(jù)。所以届榄,理清業(yè)務(wù)的基礎(chǔ)是分析清楚業(yè)務(wù)下流動(dòng)的數(shù)據(jù)都有哪些,這些數(shù)據(jù)分別代表了什么意義铝条,對(duì)應(yīng)了哪些業(yè)務(wù)對(duì)象。
所以班缰,第一步我們分析業(yè)務(wù)中包含了哪些業(yè)務(wù)對(duì)象。
?業(yè)務(wù)對(duì)象分析(確定BO)
在線訂票業(yè)務(wù)中鲁捏,有登錄萧芙、填寫訂單、支付和出票四個(gè)環(huán)節(jié)双揪。仔細(xì)分析,我們發(fā)現(xiàn)渔期,這四個(gè)環(huán)節(jié)分別包括了四個(gè)相對(duì)獨(dú)立的業(yè)務(wù)對(duì)象:用戶运吓、訂單、賬單和票拘哨。(這里沒(méi)有把手機(jī)短信也列為一個(gè)業(yè)務(wù)對(duì)象)
訂票過(guò)程的所有活動(dòng)都是圍繞這四個(gè)對(duì)象來(lái)開展的谋梭,少了任何一個(gè)對(duì)象,這個(gè)流程都是不完整的瓮床。
那么在識(shí)別BO的時(shí)候,我總結(jié)了幾個(gè)簡(jiǎn)單的標(biāo)準(zhǔn):
1隘庄、 該業(yè)務(wù)對(duì)象是否有一定的明確業(yè)務(wù)含義,如果少了這個(gè)BO業(yè)務(wù)流程將不完整丑掺。
2、 業(yè)務(wù)流程中一定有一個(gè)或多個(gè)環(huán)節(jié)是有這個(gè)BO參與的街州。
3、 大多數(shù)BO往往是可以映射到現(xiàn)實(shí)生活中的某一類物體的菇肃。例如,人取募,賬單,公司玩敏,電話,系統(tǒng)旺聚,卡,存折砰粹,車輛,身份證等等碱璃。
另外,我們?cè)谂袛嗍欠袼械臉I(yè)務(wù)對(duì)象都被識(shí)別時(shí)嵌器,也有一個(gè)很簡(jiǎn)單的判斷標(biāo)準(zhǔn):業(yè)務(wù)流程中可能涉及的數(shù)據(jù)內(nèi)容都與已經(jīng)識(shí)別的業(yè)務(wù)對(duì)象能緊密關(guān)聯(lián)上。
在確定BO后爽航,需要分析和識(shí)別所有與業(yè)務(wù)對(duì)象相關(guān)的行為乾忱。
?識(shí)別與BO相關(guān)的行為(BO屬性和行為分析)
BO本身是有意義的历极,這些意義可以被細(xì)化為一些屬性。我理解趟卸,屬性就是說(shuō)明和識(shí)別BO某一方面的一些具體標(biāo)識(shí)或參數(shù)。
識(shí)別業(yè)務(wù)對(duì)象屬性時(shí)衰腌,最重要是能分清楚哪些屬性是與目前工作范圍相關(guān)的新蟆。例如琼稻,用戶有很多屬性,但高矮胖瘦這些與我們正在分析的電子商務(wù)系統(tǒng)毫無(wú)關(guān)系帕翻,所以,找到BO屬性并準(zhǔn)確過(guò)濾才是這個(gè)過(guò)程的關(guān)鍵行為嘀掸。
(在正式的團(tuán)隊(duì)協(xié)作過(guò)程中规惰,必須要對(duì)每個(gè)BO睬塌,BO的屬性和BO的行為進(jìn)行統(tǒng)一編號(hào)標(biāo)識(shí)歇万。)
我們?cè)谧R(shí)別BO的行為時(shí),可以分為三個(gè)層次:
1硫兰、從業(yè)務(wù)流程中識(shí)別。從流程中只能識(shí)別一部分BO的行為劫映,這一部分行為往往被稱之為業(yè)務(wù)行為;也是BO最容易確定的一類行為泳赋,只要流程定義清楚了,這類行為就已經(jīng)被確定了摹蘑。例如筹燕,在上面的例子中衅鹿,用戶在流程中有登錄和注冊(cè)行為;針對(duì)訂單對(duì)象大渤,有填寫訂單,提交訂單行為泵三;賬單對(duì)象有支付行為等。
2烫幕、從分析BO的完整性來(lái)識(shí)別。例如较曼,用戶有登錄,就一定有注銷行為振愿;訂單能新增,一定可以修改和查詢冕末;賬單能支付,也可以退款档桃。
3、從外部的需要來(lái)識(shí)別藻肄。例如,電子票本身是沒(méi)有核對(duì)識(shí)別需要的仅炊,但考慮到安全性,一些運(yùn)營(yíng)商還是考慮了將電子票號(hào)進(jìn)行了加密處理蜕窿,票號(hào)本身含有身份識(shí)別信息。一旦電子票號(hào)遺失桐经,只要有身份證信息,則電子票仍能使用浙滤。
通過(guò)三個(gè)層次的分析,一般能識(shí)別出絕大部分的BO行為纺腊,當(dāng)然茎芭,還需要對(duì)這些識(shí)別的行為進(jìn)行統(tǒng)一的描述誓沸。描述的內(nèi)容包括行為名稱,行為說(shuō)明拜隧,涉及的BO屬性和變化宿百。例如垦页,
在識(shí)別BO行為的過(guò)程中干奢,我們往往會(huì)遇到一些模棱兩可的境地,例如律胀,商品和購(gòu)物車是兩個(gè)不同的業(yè)務(wù)對(duì)象宋光,那么將商品添加到購(gòu)物車的行為炭菌,是歸屬商品的行為,還是購(gòu)物車的行為呢黑低?
有人說(shuō)是購(gòu)物車的行為;有人反問(wèn)克握,為何這個(gè)行為主要出現(xiàn)在商品的單頁(yè)上?
我的意見(jiàn)是:當(dāng)行為涉及到兩個(gè)對(duì)象菩暗,一般把其歸屬到擁有管理職能的對(duì)象。購(gòu)物車管理被放入的商品停团,管理放入的數(shù)量,也可以從購(gòu)物車中刪除佑稠。所以,放入購(gòu)物車的行為主體對(duì)象是購(gòu)物車舌胶。識(shí)別了BO,BO的屬性以及BO的行為后,我們可以開始建立APP了誊薄。
?建立APP
建立APP的過(guò)程是明確系統(tǒng)范圍的過(guò)程,同時(shí)也是生成系統(tǒng)模型的過(guò)程娩井。
建立APP有兩種視角:
1洞辣、一種是以BO為視角,聚合BO的行為昙衅,以管理BO的功能組成一個(gè)APP;例如著瓶,我們將針對(duì)訂單的所有行為,組合成為一個(gè)APP材原,稱為訂單管理。
2季眷、另外一種是以業(yè)務(wù)為視角,聚合一個(gè)流程的所有環(huán)節(jié)子刮,以實(shí)現(xiàn)流程的功能組成一個(gè)APP。例如葵孤,我們將針對(duì)打折票的預(yù)定流程中的所有行為環(huán)節(jié),組合成為一個(gè)APP尤仍,稱為折扣票預(yù)定APP。
具體參見(jiàn)下圖:
但不管怎么組織APP的構(gòu)成吓著,在BO層面看,都是一樣的:系統(tǒng)都是由操作BO的一堆行為構(gòu)成的绑莺。
上面是從業(yè)務(wù)分析BO,分析BO的屬性行為纺裁,然后組織APP。
然而欺缘,此刻還不能完成系統(tǒng)模型的構(gòu)建,因?yàn)檫€需要思考這些已經(jīng)被識(shí)別的APP是否足夠支撐一個(gè)應(yīng)用系統(tǒng)谚殊?
這里需要引入兩個(gè)重要設(shè)計(jì)分析過(guò)程:一個(gè)是用戶體驗(yàn)設(shè)計(jì),一個(gè)是非功能設(shè)計(jì)丛肢。
用戶體驗(yàn)設(shè)計(jì)(User Experience)是以用戶為中心的設(shè)計(jì),是一種經(jīng)驗(yàn)與創(chuàng)造相結(jié)合的設(shè)計(jì)過(guò)程蜂怎,主要目的是提升用戶的操作舒適感,增強(qiáng)在同類產(chǎn)品中的競(jìng)爭(zhēng)力置尔。在web2.0時(shí)代,用戶體驗(yàn)設(shè)計(jì)將不再局限于展現(xiàn)流程和完成數(shù)據(jù)操作方面幽歼,還承載了不同角色之間的信息多元化交互的設(shè)計(jì)需要,以用戶為核心將不再是簡(jiǎn)單的信息提供(推送)而已试躏。
那么,在構(gòu)建系統(tǒng)的APP時(shí)设褐,也要充分的考慮UE設(shè)計(jì)的需要,加入一些用于提升用戶體驗(yàn)的APP犀被,例如,Dashboard寡键。
非功能設(shè)計(jì)來(lái)源于用戶的非功能需求,例如西轩,系統(tǒng)的可管理要求,靈活擴(kuò)展要求脑沿,性能要求,安全要求等庄拇。這些設(shè)計(jì)除了在系統(tǒng)的架構(gòu)設(shè)計(jì)時(shí)需要充分的考慮和滿足韭邓,在功能APP設(shè)計(jì)時(shí)也需要做相應(yīng)的響應(yīng)。例如女淑,最常見(jiàn)的一個(gè)APP-系統(tǒng)管理,通常包含數(shù)據(jù)管理鸭你,日志管理擒权,參數(shù)管理袱巨,模型管理瓣窄,模版管理笛厦,接口管理纳鼎,APP管理等等裳凸。這些來(lái)源于UE設(shè)計(jì)和非功能設(shè)計(jì)的APP與最早被識(shí)別的業(yè)務(wù)APP共同構(gòu)成了系統(tǒng),行成了系統(tǒng)模型姨谷。
系統(tǒng)模型構(gòu)建完成逗宁,進(jìn)入設(shè)計(jì)APP的階段。在設(shè)計(jì)APP時(shí)梦湘,我們發(fā)現(xiàn)大型項(xiàng)目中的單個(gè)APP往往都很巨大瞎颗,內(nèi)部包含了很多行為和內(nèi)容,如果不進(jìn)行拆分細(xì)化捌议,則很難展開有效的設(shè)計(jì)哼拔。
已經(jīng)被我們熟知的拆分方法有很多,可沒(méi)有一個(gè)標(biāo)準(zhǔn)去衡量一定要拆分為多少層級(jí)才合適瓣颅,這往往需要視系統(tǒng)的復(fù)雜程度和設(shè)計(jì)需要而定倦逐。
我建議把較大的APP拆分為三個(gè)層次,即:APP層宫补,Module層和Function層檬姥,這樣拆分的原因是為了與系統(tǒng)層面的功能模塊-頁(yè)面-和頁(yè)面里的操作(或者一個(gè)單獨(dú)處理單元)逐一對(duì)應(yīng)。
本文轉(zhuǎn)自網(wǎng)絡(luò)粉怕,如有侵權(quán)健民,立即刪除。
原文地址? http://blog.sina.com.cn/s/blog_5f63e3d80102v7f7.html