想要順利通過2013年下半年的全國軟件工程師考試嗎?來唯學(xué)網(wǎng)吧,唯學(xué)網(wǎng)小編整理的軟件設(shè)計師知識點輔導(dǎo):構(gòu)建完整的解決方案,可以幫助考生們順利的梳理知識要點。同時,大量的軟件設(shè)計師考試相關(guān)題型也在其中,可以讓考生們每天都暢游在題海之中。
什么是“完整的解決方案”?
“完整解決方案”顧名思義,就是包含了客戶的所有真實需求,并可以合理實施的方案。定義很簡單,簡單的像圍棋只有黑白二子一樣,唯一的問題就是:可能的變化多了點,不確定性高了點。
相對圍棋而言,軟件的需求和方案的問題簡單很多了。
主要的問題在于,我們的“需求”中忽略了很多客戶的隱形需求。
隱形需求包含哪些呢?一般而言包括:
1.1 維護需求
1.2 升級需求
1.3 易用性需求
1.4 性能需求
基本而言,現(xiàn)在客戶也在不斷成熟,以上需求會或多或少的提到,但是,請注意,很可能不夠全面。 所以我們需要認認真真的考慮一下,這些需求到底應(yīng)該包含些什么。
維護需求
客戶對維護的要求,一般至少包括這么幾個:
1. 日志需求。 這個比較復(fù)雜,后面會單獨考慮。
2. 故障定位的能力。 就是說,當(dāng)系統(tǒng)出現(xiàn)問題時,客戶希望系統(tǒng)能夠通過某種方式迅速查明故障的原因,并找到解決或者規(guī)避的辦法。
3. 日常維護。 通常包括軟件和硬件的“健康檢查”。
4. 故障報警。 當(dāng)系統(tǒng)出現(xiàn)嚴重故障時,能夠給出足夠的信息,并觸發(fā)故障處理流程。
升級需求
一般來說,客戶對升級的需求有這么幾點:
1. 可控制的升級。 即檢測是否可升級、是否執(zhí)行升級、多個升級目標(biāo)的選擇、升級的計劃任務(wù)等都是可以控制的,比如可以設(shè)定自動檢測是否升級;設(shè)定自動升級到最高版本;設(shè)定執(zhí)行升級必須為手工設(shè)置;設(shè)置手工升級時可以立即升級也可以指定計劃任務(wù)時間等等。
2. 不影響業(yè)務(wù)的升級。 基本上客戶都希望升級這個事情,不要影響他們的業(yè)務(wù)。但是有些系統(tǒng)實在太老了,基于這種舊系統(tǒng)的再開發(fā)項目必然受限于原系統(tǒng)的升級方案。這時就考慮:1.能不能通過升級,使系統(tǒng)以后升級不再影響業(yè)務(wù);2.如果不能,怎樣使(本次后以后)升級對業(yè)務(wù)的影響最小。
3. 升級的簡單性。升級應(yīng)該簡單快捷,沒有太多的參數(shù)需要配置,沒有太多需要手工干預(yù)的步驟。
4. 升級的完整性。尤其是對于分布式系統(tǒng),升級時需要考慮各個部件之間版本的一致性。一個升級方案必須是完整的,不能在升級以后出現(xiàn)由于版本間不兼容的原因而導(dǎo)致系統(tǒng)無法工作。舉個例子:
一個簡單的CS系統(tǒng),采用加密通道進行通訊,現(xiàn)在升級加密算法,該如何設(shè)計呢?
假設(shè)是互聯(lián)網(wǎng)應(yīng)用,有上萬個客戶端,該如何設(shè)計呢?
從這個例子可以看出,系統(tǒng)的設(shè)計,從一開始就必須考慮這些“隱性”需求,否則系統(tǒng)架構(gòu)可能都要****重來。
易用性需求
通常提到易用性,大家會覺得無非是界面啦,幫助啦。沒錯,但是不全。
讓我們看幾個例子,可以大概理解一下易用性是什么概念。
在桌面系統(tǒng)的競爭中,專業(yè)而強大的Unix敗給了經(jīng)常被人批評的Windows系列,因為windows安裝簡單,升級簡單,安裝新的游戲或者軟件也很簡單,操作起來更是如此,直觀的圖形界面雖然設(shè)計和功能不太豐富和強大,但是相對于unix必須先學(xué)習(xí)“文件系統(tǒng)”概念,再學(xué)習(xí)命令行而言,“樹”的概念用戶可以無師自通,拖拽更是沒有命令行可以比擬;
同樣是微軟,C++語言乘微軟之名,挾操作系統(tǒng)之利,語言和開發(fā)環(huán)境都不可謂不強大,但是結(jié)果怎樣呢?IDE方面多數(shù)人還是用SI,語言方面,微軟更是不得不推出C#來與Java抗衡。就因為SI看代碼的時候查找上下文方便;Java比C++開發(fā)起來方便;
在中文輸入法的競爭中,強大高效的筆畫輸入法敗給了拼音輸入法,F(xiàn)在拼音輸入法大行其道,筆畫輸入幾乎鮮有提起。
最主要的,是業(yè)務(wù)模型要和客戶的一致。這個應(yīng)該算是基礎(chǔ)。業(yè)務(wù)模型代表著思維模式(比如輸入法),也就是說,要從客戶的角度來設(shè)計系統(tǒng),而不是機械的堆砌數(shù)據(jù)和流程。
唯學(xué)網(wǎng)是一個大型的教育考試培訓(xùn)平臺,各種不同形式的教育資訊內(nèi)容與考試信息盡在其中。要想了解更多軟件工程師相關(guān)考試信息內(nèi)容,如軟件工程師考試輔導(dǎo)、軟件工程師考試試題等,請隨時關(guān)注唯學(xué)網(wǎng)計算機培訓(xùn)欄目軟件工程師考試培訓(xùn)頻道,小編會第一時間為大家更新跟進最新內(nèi)容。如有任何疑問也可在線留言,小編會為您在第一時間解答!