[followme]如何寫(xiě)好軟件設(shè)計(jì)文檔實(shí)戰(zhàn)系列-1

案例一:幼兒園用戶心理測(cè)評(píng)套餐設(shè)計(jì)方案

原始設(shè)計(jì)方案:

picture-1
picture-2
picture-3
picture-4

點(diǎn)評(píng):原始設(shè)計(jì)方案败潦,結(jié)構(gòu)完整,實(shí)現(xiàn)方案功能OK。

會(huì)議評(píng)審改進(jìn):

一赎懦、模塊概述

注:本部分需要完整描述需求所涉及的功能,相當(dāng)于需求的全面掌控幻工,因此各項(xiàng)功能需要一一列出励两;

評(píng)審意見(jiàn):

1.功能描述不夠,有缺失

2.常見(jiàn)問(wèn)題囊颅,代碼實(shí)現(xiàn)中肯定考慮了当悔,但是功能描述時(shí)沒(méi)有列出;

3.不完整列出踢代,容易導(dǎo)致考慮不完善盲憎;要點(diǎn)功能項(xiàng)必須列出,也是思維的完備性奸鬓;

評(píng)審修改:

picture-5

點(diǎn)評(píng):

2.幼兒園用戶注冊(cè)和登陸

這條是必備焙畔,正因?yàn)槭潜貍洌秃雎圆粚?xiě)了串远。但是其為要點(diǎn)功能必須寫(xiě)(堅(jiān)持思維的完備性)宏多;

3.幼兒園用戶測(cè)評(píng)得分保存

第四點(diǎn)隱含了儿惫,但必須單獨(dú)列出,也是核心功能伸但;

5.信息統(tǒng)計(jì)分類(lèi):

1)班級(jí)+所有寶寶+量表+總得分——>評(píng)價(jià):優(yōu)中差肾请;

2)班級(jí)+男/女+量表+各維度得分——>各項(xiàng)評(píng)價(jià)

幼兒園版功能實(shí)現(xiàn)的服務(wù)目的和數(shù)據(jù)使用的擴(kuò)展,以便充分考慮核心功能實(shí)現(xiàn)方案更胖;

二铛铁、模塊設(shè)計(jì)

注:本部分需要描述逐個(gè)功能的實(shí)現(xiàn)方案思路和設(shè)計(jì)要點(diǎn);包括流程和數(shù)據(jù)存儲(chǔ)等却妨。

picture-6

評(píng)審意見(jiàn):

1.方案1饵逐、方案2均可,都能很好實(shí)現(xiàn)套餐功能彪标;

2.方案1數(shù)據(jù)庫(kù)存表倍权,在業(yè)務(wù)不定時(shí),更便于擴(kuò)展捞烟,無(wú)需修改代碼薄声;

3.方案2代碼靜態(tài)變量存儲(chǔ),體量不大题画,更有效率和更簡(jiǎn)便默辨;

4.本次業(yè)務(wù)場(chǎng)景如上,暫無(wú)擴(kuò)展苍息,因此優(yōu)選方案2缩幸;


2.幼兒園用戶信息和注冊(cè)

方案1:

方案2:

評(píng)審意見(jiàn):

1.方案1、方案2均可档叔,但均需用戶主動(dòng)注冊(cè)桌粉,對(duì)定向推廣的用戶可以后臺(tái)批量注冊(cè),因此推薦方案3衙四,參見(jiàn)評(píng)審修改1铃肯;

2.本部分是否有功能點(diǎn)遺漏,沒(méi)有描述传蹈?(可以思考一下)

點(diǎn)評(píng):原始方案這部分功能初看沒(méi)有什么問(wèn)題押逼,但是跟模塊概述部分忽略寫(xiě)評(píng)審修改意見(jiàn)里面的第2點(diǎn)功能一樣,也忽略遺漏一個(gè)要點(diǎn)功能惦界,參考評(píng)審修改意見(jiàn)2

評(píng)審修改:

1.新增方案3挑格,如下:

picture-7

2.遺漏功能,如下:

picture-8

3.測(cè)評(píng)流程

現(xiàn)有的測(cè)評(píng)流程不改變

4.測(cè)評(píng)結(jié)果保存

方案1:

點(diǎn)評(píng):此部分是核心功能沾歪,也比較復(fù)雜的部分漂彤,也是最有意思的部分,通過(guò)評(píng)審,我們逐步展開(kāi)挫望。:)

評(píng)審意見(jiàn):

1.按照業(yè)務(wù)場(chǎng)景立润,只需要保存每個(gè)寶寶的測(cè)評(píng)總得分(1項(xiàng)),維度得分(多項(xiàng))媳板;沒(méi)有必要保存每道題的得分桑腮;

2.測(cè)評(píng)的總得分(1項(xiàng)),維度得分(多項(xiàng))蛉幸,原表涉及比較冗余破讨,記錄總得分時(shí)dimension_id,dimension_avg,dimension_score均為0,反過(guò)來(lái)記錄多項(xiàng)維度得分時(shí)total_avg,total_score均為0奕纫,太冗余提陶,因此應(yīng)該考慮合并。由于總得分只有1項(xiàng)若锁,維度得分每個(gè)都有非0的維度ID搁骑,因此改進(jìn)如下:

picture-9

點(diǎn)評(píng):復(fù)用dimension_id字段,0代表總得分又固;維度得分和總得分字段合并;測(cè)試時(shí)間也可以不用記錄煤率;

3.其他評(píng)審意見(jiàn):幼兒園ID編號(hào)更方便于數(shù)據(jù)提妊龉凇;gender性別字段可以不用記錄蝶糯,因?yàn)橥ㄟ^(guò)baby_id查寶寶信息表就可以查到洋只;


到這里是不是感覺(jué)評(píng)審差不多,其實(shí)才剛剛開(kāi)始昼捍,請(qǐng)接著往下看

評(píng)審修改:

1.這部分比較重要识虚,我們先看幾個(gè)問(wèn)題:

picture-10

問(wèn)題三解答:幼兒園測(cè)評(píng)得分信息保存后的使用場(chǎng)景,我可以預(yù)想到離線場(chǎng)景妒茬,后臺(tái)一套程序?qū)iT(mén)實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中提取信息担锤,進(jìn)行分類(lèi)和統(tǒng)計(jì)。要點(diǎn)就離線場(chǎng)景:與線上系統(tǒng)分離乍钻,不用考慮性能肛循,查多少個(gè)表,只要數(shù)據(jù)可以提取即可银择。而原方案中保存了寶寶的城市信息和幼兒園信息等多糠,這些信息肯定在寶寶信息表中,那么線上系統(tǒng)保存得分時(shí)必須多查一次表浩考,但是線上系統(tǒng)要考慮性能夹孔,因此我們得到優(yōu)化如下:

picture-11

點(diǎn)評(píng):保存得分表去掉了city,preschool等信息,因此可以查詢寶寶信息表即可。而且減少了在線系統(tǒng)的查表次數(shù)搭伤;上面的問(wèn)題二也得到了解答只怎。

問(wèn)題一解答:這是一個(gè)擴(kuò)展問(wèn)題,涉及前后業(yè)務(wù)功能闷畸,要回答這個(gè)問(wèn)題尝盼,我們要看看之前的測(cè)評(píng)流程,幼兒園用戶的測(cè)評(píng)流程前部分和普通用戶的測(cè)評(píng)流程一樣佑菩,因此要想知道我們?cè)黾右粋€(gè)流程圖部分盾沫,如下:

picture-12

點(diǎn)評(píng):為什么要增加流程圖,流程圖反映了功能子模塊殿漠,另外也讓你看到之前的設(shè)計(jì)赴精,以便思考和分析。業(yè)務(wù)是否正確绞幌,是否相似蕾哟,是否可以復(fù)用

保存測(cè)評(píng)得分save_history()——普通用戶測(cè)評(píng)這個(gè)函數(shù)實(shí)現(xiàn)什么功能莲蜘,放大保存的數(shù)據(jù)庫(kù)表谭确,是記錄每個(gè)測(cè)評(píng)表的男/女總得分和維度得分,以便大數(shù)據(jù)匯總和改進(jìn)票渠。

對(duì)比三個(gè)表有沒(méi)有發(fā)現(xiàn)逐哈,第三個(gè)對(duì)應(yīng)的原來(lái)方案幼兒園測(cè)評(píng)得分保存這個(gè)函數(shù),但是他們的信息卻基本一致问顷。

picture-13
picture-14
picture-15

再點(diǎn)評(píng):這時(shí)我們才發(fā)現(xiàn)昂秃,以前普通測(cè)評(píng)保存得分的業(yè)務(wù)需求和這次幼兒園測(cè)評(píng)得分保存時(shí)間上屬于相似業(yè)務(wù),代碼可以復(fù)用(原來(lái)代碼稍加修改即可杜窄!)

因此前后反觀肠骆,發(fā)現(xiàn)我們之前遺漏了一個(gè)潛在需求(普通用戶得分保存也需要增加baby_id)!以便地域分析塞耕。到這里他們也合并了蚀腿!

picture-16

至此評(píng)審結(jié)束。

結(jié)束語(yǔ):

程序設(shè)計(jì)是一場(chǎng)邏輯思維的旅程荷科,你思考到哪里唯咬,你的代碼就走到哪里。而設(shè)計(jì)文檔的編寫(xiě)畏浆,正是一場(chǎng)思維之旅的印跡胆胰。我們不是反反復(fù)復(fù)的code,modify刻获,code again蜀涨。而是在code之前,停下腳本,好好思考厚柳,提前你的筆氧枣,開(kāi)始一場(chǎng)思維風(fēng)暴!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末别垮,一起剝皮案震驚了整個(gè)濱河市便监,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碳想,老刑警劉巖烧董,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異胧奔,居然都是意外死亡逊移,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人八回,你說(shuō)我怎么就攤上這事∩壬蹋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵宿礁,是天一觀的道長(zhǎng)钳吟。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窘拯,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任坝茎,我火速辦了婚禮涤姊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嗤放。我一直安慰自己思喊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布次酌。 她就那樣靜靜地躺著恨课,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岳服。 梳的紋絲不亂的頭發(fā)上剂公,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音吊宋,去河邊找鬼纲辽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拖吼。 我是一名探鬼主播鳞上,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吊档!你這毒婦竟也來(lái)了篙议?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤怠硼,失蹤者是張志新(化名)和其女友劉穎鬼贱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拒名,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吩愧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了增显。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雁佳。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖同云,靈堂內(nèi)的尸體忽然破棺而出糖权,到底是詐尸還是另有隱情,我是刑警寧澤炸站,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布星澳,位于F島的核電站,受9級(jí)特大地震影響旱易,放射性物質(zhì)發(fā)生泄漏禁偎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一阀坏、第九天 我趴在偏房一處隱蔽的房頂上張望如暖。 院中可真熱鬧,春花似錦忌堂、人聲如沸盒至。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)枷遂。三九已至,卻和暖如春棋嘲,著一層夾襖步出監(jiān)牢的瞬間酒唉,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工封字, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留黔州,地道東北人耍鬓。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像流妻,于是被迫代替她去往敵國(guó)和親牲蜀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容