自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2011軟件設(shè)計(jì)師知識點(diǎn):構(gòu)建完整的解決方案

企業(yè)動態(tài)
2011軟件設(shè)計(jì)師知識點(diǎn):構(gòu)建完整的解決方案,幫助考生梳理知識點(diǎn)。

序言:

今天寫的是:構(gòu)建完整的解決方案。 原因是在過去的幾年中,經(jīng)常面臨“需求變化”的問題。努力尋找了很多年的解決方案,現(xiàn)在想來,或許問題還是出在我們自己身上,因?yàn)槲覀儺?dāng)初的基礎(chǔ)不對。一句“客戶并不真的清楚自己的需求”,我們真的明白這句話的含義并知道如何應(yīng)對了么?

什么是“完整的解決方案”?

“完整解決方案”顧名思義,就是包含了客戶的所有真實(shí)需求,并可以合理實(shí)施的方案。定義很簡單,簡單的像圍棋只有黑白二子一樣,唯一的問題就是:可能的變化多了點(diǎn),不確定性高了點(diǎn)。

相對圍棋而言,軟件的需求和方案的問題簡單很多了。

主要的問題在于,我們的“需求”中忽略了很多客戶的隱形需求。

隱形需求包含哪些呢?一般而言包括:

1.1 維護(hù)需求

1.2 升級需求

1.3 易用性需求

1.4 性能需求

基本而言,現(xiàn)在客戶也在不斷成熟,以上需求會或多或少的提到,但是,請注意,很可能不夠全面。 所以我們需要認(rèn)認(rèn)真真的考慮一下,這些需求到底應(yīng)該包含些什么。

維護(hù)需求

客戶對維護(hù)的要求,一般至少包括這么幾個(gè):

1. 日志需求。 這個(gè)比較復(fù)雜,后面會單獨(dú)考慮。

2. 故障定位的能力。 就是說,當(dāng)系統(tǒng)出現(xiàn)問題時(shí),客戶希望系統(tǒng)能夠通過某種方式迅速查明故障的原因,并找到解決或者規(guī)避的辦法。

3. 日常維護(hù)。 通常包括軟件和硬件的“健康檢查”。

4. 故障報(bào)警。 當(dāng)系統(tǒng)出現(xiàn)嚴(yán)重故障時(shí),能夠給出足夠的信息,并觸發(fā)故障處理流程。

升級需求

一般來說,客戶對升級的需求有這么幾點(diǎn):

1. 可控制的升級。 即檢測是否可升級、是否執(zhí)行升級、多個(gè)升級目標(biāo)的選擇、升級的計(jì)劃任務(wù)等都是可以控制的,比如可以設(shè)定自動檢測是否升級;設(shè)定自動升級到***版本;設(shè)定執(zhí)行升級必須為手工設(shè)置;設(shè)置手工升級時(shí)可以立即升級也可以指定計(jì)劃任務(wù)時(shí)間等等。

2. 不影響業(yè)務(wù)的升級。 基本上客戶都希望升級這個(gè)事情,不要影響他們的業(yè)務(wù)。但是有些系統(tǒng)實(shí)在太老了,基于這種舊系統(tǒng)的再開發(fā)項(xiàng)目必然受限于原系統(tǒng)的升級方案。這時(shí)就考慮:1.能不能通過升級,使系統(tǒng)以后升級不再影響業(yè)務(wù);2.如果不能,怎樣使(本次后以后)升級對業(yè)務(wù)的影響最小。

3. 升級的簡單性。升級應(yīng)該簡單快捷,沒有太多的參數(shù)需要配置,沒有太多需要手工干預(yù)的步驟。

4. 升級的完整性。尤其是對于分布式系統(tǒng),升級時(shí)需要考慮各個(gè)部件之間版本的一致性。一個(gè)升級方案必須是完整的,不能在升級以后出現(xiàn)由于版本間不兼容的原因而導(dǎo)致系統(tǒng)無法工作。舉個(gè)例子:

一個(gè)簡單的CS系統(tǒng),采用加密通道進(jìn)行通訊,現(xiàn)在升級加密算法,該如何設(shè)計(jì)呢?

假設(shè)是互聯(lián)網(wǎng)應(yīng)用,有上萬個(gè)客戶端,該如何設(shè)計(jì)呢?

從這個(gè)例子可以看出,系統(tǒng)的設(shè)計(jì),從一開始就必須考慮這些“隱性”需求,否則系統(tǒng)架構(gòu)可能都要****重來。

易用性需求

通常提到易用性,大家會覺得無非是界面啦,幫助啦。沒錯(cuò),但是不全。

讓我們看幾個(gè)例子,可以大概理解一下易用性是什么概念。

在桌面系統(tǒng)的競爭中,專業(yè)而強(qiáng)大的Unix敗給了經(jīng)常被人批評的Windows系列,因?yàn)閣indows安裝簡單,升級簡單,安裝新的游戲或者軟件也很簡單,操作起來更是如此,直觀的圖形界面雖然設(shè)計(jì)和功能不太豐富和強(qiáng)大,但是相對于unix必須先學(xué)習(xí)“文件系統(tǒng)”概念,再學(xué)習(xí)命令行而言,“樹”的概念用戶可以無師自通,拖拽更是沒有命令行可以比擬;

同樣是微軟,C++語言乘微軟之名,挾操作系統(tǒng)之利,語言和開發(fā)環(huán)境都不可謂不強(qiáng)大,但是結(jié)果怎樣呢?IDE方面多數(shù)人還是用SI,語言方面,微軟更是不得不推出C#來與Java抗衡。就因?yàn)镾I看代碼的時(shí)候查找上下文方便;Java比C++開發(fā)起來方便;

在中文輸入法的競爭中,強(qiáng)大高效的筆畫輸入法敗給了拼音輸入法?,F(xiàn)在拼音輸入法大行其道,筆畫輸入幾乎鮮有提起。

最主要的,是業(yè)務(wù)模型要和客戶的一致。這個(gè)應(yīng)該算是基礎(chǔ)。業(yè)務(wù)模型代表著思維模式(比如輸入法),也就是說,要從客戶的角度來設(shè)計(jì)系統(tǒng),而不是機(jī)械的堆砌數(shù)據(jù)和流程。

一般來言,易用性的需求還包括:

1. 常用的功能應(yīng)該能夠直接了當(dāng)?shù)脑L問。比如財(cái)務(wù)系統(tǒng),不同的角色有不同的常用功能,系統(tǒng)應(yīng)該設(shè)計(jì)為可以根據(jù)角色來打開不同的初始頁面;再比如我們常見的游戲,Save/Load菜單通常都在主頁面上,沒有誰設(shè)計(jì)成非得看完片頭(還不能跳過)再新建游戲然后再一路殺到存取點(diǎn)才可以讀取進(jìn)度。

這里,不推薦嚴(yán)格的學(xué)術(shù)分級模式?;蛟S這樣看起來很專業(yè),但是不好用。

2. 操作應(yīng)該照顧客戶的習(xí)慣,盡可能的降低客戶的學(xué)習(xí)成本。當(dāng)然,前提是正確定位你的客戶群。

3. 優(yōu)雅。舉個(gè)例子,log。

寫log的時(shí)候,不要一口氣寫個(gè)7、8G的log文件,盡可能的根據(jù)某些標(biāo)準(zhǔn)來歸類和拆分。例如按照時(shí)間,按照log的級別。

還是用MS的VS Studio做例子,編譯錯(cuò)誤可以直接通過雙擊跳轉(zhuǎn)到源代碼所在,而不像Makefile那樣只是生硬的輸出文件和行號。

打開一個(gè)巨大的文件,給出一個(gè)可度量的進(jìn)度條,總比只顯示一個(gè)沙漏要好吧?

現(xiàn)在,應(yīng)該可以理解什么是“優(yōu)雅”了吧?我的理解,就是專業(yè),而且體貼。

性能需求

好像現(xiàn)在性能需求越來越被重視了,所以我的廢話也不多說,簡單講,包括:

1. 首先分清楚哪些部分各自有什么樣的性能需求。用戶參與的操作,性能要求通常高于其他操作。

2. 知道自己的上限。達(dá)到上限的時(shí)候,通過合理的方法讓系統(tǒng)給予提示,而不是直接癱瘓。當(dāng)然,這是理想主義。只能無限接近,不能達(dá)到;

性能是需要設(shè)計(jì)的,而不是僅靠硬件來實(shí)現(xiàn)。所以,在客戶沒有提到性能需求時(shí),你需要通過各種渠道,真正的確定系統(tǒng)的性能要求是什么?!跋茸鲎鲈囋嚒钡慕Y(jié)果往往是推倒重來。子曰“有的放矢”是也。

日志需求

***來說說日志需求。

日志需求是和客戶的隱性需求密切相關(guān),并且?guī)缀跞可婕暗囊环N需求。例如:日志要記錄維護(hù)信息和升級信息,日志還要簡單明了,一看就知道寫的啥意思,另外日志記錄功能還不能對系統(tǒng)的性能有大的影響。

【編輯推薦】

  1. 2011軟件設(shè)計(jì)師知識點(diǎn):如何控制需求變更
  2. 2011軟件設(shè)計(jì)師知識點(diǎn):工程輔導(dǎo)淺談架構(gòu)
  3. 2011軟件設(shè)計(jì)師知識點(diǎn):簡易應(yīng)用規(guī)格說明技術(shù)
  4. 更多軟考資料請點(diǎn)擊51CTO軟考專題
責(zé)任編輯:張攀 來源: 考試吧
相關(guān)推薦

2011-01-14 10:57:18

軟件設(shè)計(jì)師

2011-01-11 11:33:26

軟件設(shè)計(jì)師

2010-12-27 10:03:29

軟件設(shè)計(jì)師

2011-01-18 11:33:55

軟件設(shè)計(jì)師

2011-01-07 10:49:22

2011-01-05 15:02:57

2011-03-02 11:33:51

軟件設(shè)計(jì)師

2010-12-17 10:34:03

軟件設(shè)計(jì)師

2010-12-09 10:51:56

考試軟件設(shè)計(jì)

2010-12-20 10:50:33

軟件設(shè)計(jì)師

2010-12-06 10:28:45

2010-12-21 10:46:08

軟件設(shè)計(jì)師

2010-12-10 10:39:50

軟件設(shè)計(jì)師

2010-12-07 10:51:22

件設(shè)計(jì)師

2010-12-10 10:32:15

軟件設(shè)計(jì)師

2010-12-08 10:50:16

軟件設(shè)計(jì)師

2010-12-08 10:54:27

軟件設(shè)計(jì)師

2011-01-28 10:10:10

軟件設(shè)計(jì)師

2010-12-30 10:54:47

軟件設(shè)計(jì)師

2010-12-23 10:37:44

軟件設(shè)計(jì)師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號