面向用戶操作流程的軟件設(shè)計方法
【專利摘要】本發(fā)明公開一種面向用戶操作流程的軟件設(shè)計方法,軟件被設(shè)計為一個由功能節(jié)點、文檔節(jié)點和操作流向箭頭構(gòu)成的流程圖。功能節(jié)點表示軟件中一個相對獨立的功能模塊,負(fù)責(zé)功能實現(xiàn)相關(guān)的操作和算法;文檔節(jié)點用于呈現(xiàn)功能節(jié)點的輸入或輸出數(shù)據(jù),也可包含對這些數(shù)據(jù)的基本操作;操作流向節(jié)點表示所連節(jié)點間的先后依賴關(guān)系,并通過改變自身外觀來指示相關(guān)節(jié)點的運行狀態(tài);流程圖將用戶操作限定在規(guī)定的順序內(nèi),避免誤操作和無效操作。該方法能夠在開發(fā)階段為軟件模塊及其相互關(guān)系提供一種合理的規(guī)劃,更能在使用時為用戶提供直觀導(dǎo)向,使其操作體驗獲得改善。
【專利說明】
面向用戶操作流程的軟件設(shè)計方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種面向用戶操作流程的軟件設(shè)計方法,屬于計算機軟件應(yīng)用技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著信息技術(shù)的進步及用戶需求的增長,應(yīng)用軟件變得越來越復(fù)雜,給軟件的開發(fā)和使用均帶來了巨大挑戰(zhàn)。目前,已有許多技術(shù)致力于緩解軟件復(fù)雜性對開發(fā)過程造成的影響,例如面向?qū)ο缶幊?OOP)思想、先進的圖形用戶界面(GUI)設(shè)計技術(shù)、敏捷的軟件工程等。這些技術(shù)主要面向軟件開發(fā)者,對于用戶而言同樣面對復(fù)雜軟件學(xué)習(xí)和使用困難的突出問題,而當(dāng)前的軟件幫助文檔技術(shù)已經(jīng)難以滿足用戶快速理解復(fù)雜軟件操作流程的需要,應(yīng)在軟件設(shè)計階段充分考慮用戶的體驗。
【發(fā)明內(nèi)容】
[0003]針對上述問題,本發(fā)明提供一種面向用戶操作流程的軟件設(shè)計方法,目的是通過將軟件設(shè)計為一個由功能節(jié)點、文檔節(jié)點和操作流向箭頭構(gòu)成的流程圖,直觀地引導(dǎo)用戶按規(guī)定的流程完成復(fù)雜軟件的操作,改善用戶體驗。
[0004]所述的功能節(jié)點表示應(yīng)用軟件中一個相對獨立的功能模塊,包含與功能實現(xiàn)相關(guān)的操作和算法。
[0005]所述的文檔節(jié)點表示功能節(jié)點的輸入或輸出數(shù)據(jù),分為原始輸入節(jié)點、原始輸出節(jié)點和中間數(shù)據(jù)節(jié)點三類,主要用于呈現(xiàn)數(shù)據(jù),也可包含對所顯示數(shù)據(jù)的基本操作;
所述的操作流向箭頭用于連接不同節(jié)點并指示它們之間的先后依賴關(guān)系,具體為箭頭指向的節(jié)點依賴于箭頭起始端的節(jié)點。
[0006]所述的流程圖用于指導(dǎo)開發(fā)者對軟件進行功能模塊劃分,以及引導(dǎo)和限定用戶按規(guī)定的順序?qū)浖M行操作。
[0007]功能節(jié)點和文檔節(jié)點均屬于節(jié)點元素,若無限定,以下統(tǒng)稱為節(jié)點。
[0008]所述的節(jié)點包含有限個狀態(tài),包括等待、就緒、當(dāng)前、完成和出錯,初始默認(rèn)狀態(tài)為等待。
[0009]所述的節(jié)點包含前繼節(jié)點集和后繼節(jié)點集的引用,只有當(dāng)所有前繼節(jié)點均處于完成狀態(tài)時當(dāng)前節(jié)點才能從等待狀態(tài)轉(zhuǎn)移至就緒狀態(tài),以備操作。規(guī)定操作流向箭頭起始端所連節(jié)點為其所指向節(jié)點的前繼節(jié)點,反之,其所指向節(jié)點為起始端所連節(jié)點的后繼節(jié)點。
[0010]節(jié)點上的狀態(tài)轉(zhuǎn)移過程為:當(dāng)前節(jié)點正在被操作時,其狀態(tài)變?yōu)楫?dāng)前,操作完成后狀態(tài)更新為完成;若操作過程中發(fā)生錯誤則狀態(tài)變?yōu)槌鲥e;節(jié)點上的操作完成后(狀態(tài)為完成),其仍然是可訪問的,即可以再次進入節(jié)點關(guān)聯(lián)的功能,此時節(jié)點的狀態(tài)則由完成變?yōu)楫?dāng)前;若在操作節(jié)點時發(fā)生錯誤,則節(jié)點狀態(tài)由當(dāng)前變?yōu)槌鲥e;若錯誤可恢復(fù),則節(jié)點狀態(tài)將從出錯恢復(fù)到進入當(dāng)前狀態(tài)之前的初始狀態(tài)(就緒或完成)。
[0011]所述的操作流向箭頭通過改變自身外觀來指示其起始端所連節(jié)點的狀態(tài)。這可以幫助用戶了解當(dāng)前軟件的運行情況,箭頭的顏色、形狀和動畫效果等均可視為其外觀。
[0012]所述的節(jié)點在底層關(guān)聯(lián)一個應(yīng)用程序用于實現(xiàn)其職責(zé),根據(jù)不同應(yīng)用需求,其特征可以是一個后臺執(zhí)行腳本、窗口應(yīng)用程序、網(wǎng)絡(luò)服務(wù)或一個子流程圖,應(yīng)用程序的可執(zhí)行狀態(tài)與所述的節(jié)點狀態(tài)一致。即節(jié)點為等待時不可執(zhí)行,節(jié)點為就緒或完成時可執(zhí)行,節(jié)點為當(dāng)前時表明正在執(zhí)行,執(zhí)行中有錯誤時節(jié)點狀態(tài)變?yōu)槌鲥e。
[0013]所述的流程圖至少包括一個原始輸入節(jié)點和一個原始輸出節(jié)點,原始輸入節(jié)點表示應(yīng)用軟件的原始輸入信息,初始時節(jié)點狀態(tài)默認(rèn)為就緒,流程圖中不存在操作流向箭頭指向原始輸入節(jié)點;原始輸出節(jié)點表示應(yīng)用軟件的原始輸出信息,流程圖中不存在起始端連接在原始輸出節(jié)點上的操作流向箭頭;其他文檔節(jié)點均屬于中間數(shù)據(jù)節(jié)點。
[0014]所述的流程圖的典型構(gòu)造滿足一個功能節(jié)點通過一個操作流向箭頭指向一個文檔節(jié)點;一個文檔節(jié)點可以指向一個或多個功能節(jié)點但不能指向另一個或多個文檔節(jié)點;多個文檔節(jié)點可以指向同一個功能節(jié)點;根據(jù)不同應(yīng)用需求,也可省略文檔節(jié)點,由功能節(jié)點直接指向另一個或多個功能節(jié)點。
[0015]本發(fā)明公開的一種面向用戶操作流程的軟件設(shè)計方法具有以下有益效果:
a)流程圖式的軟件結(jié)構(gòu)能夠?qū)τ脩舻牟僮魇褂眠M行直觀的限定和引導(dǎo),有利于降低復(fù)雜軟件的操作使用難度,從而改善用戶體驗;
b)流程圖式的軟件結(jié)構(gòu)能夠為軟件的功能模塊及其相互關(guān)系提供一種合理的規(guī)劃,有利于降低復(fù)雜軟件開發(fā)和維護的難度。
【附圖說明】
[0016]圖1為面向用戶操作流程的軟件示意圖;
圖2為節(jié)點狀態(tài)轉(zhuǎn)移示意圖。
【具體實施方式】
[0017]現(xiàn)以一個具體的實施例對本發(fā)明進行進一步說明。本實施例涉及一個簡單的圖像處理系統(tǒng),用于從不同格式的目標(biāo)圖像文件中提取圖像中物體的邊緣和角點等形狀特征。本實施例詳細(xì)闡述了利用面向用戶操作流程的設(shè)計方法來實現(xiàn)這一軟件系統(tǒng)的步驟,但不涉及具體的算法細(xì)節(jié)。本實施例有助于本領(lǐng)域相關(guān)技術(shù)人員理解本發(fā)明,但本發(fā)明保護范圍不限于本實施例。
[0018]首先,從軟件的需求說明中提取關(guān)鍵功能模塊和數(shù)據(jù)。在本實施例中,系統(tǒng)的輸入是各種常見格式的圖像(假設(shè)為灰度圖),輸出是圖像中物體的邊緣和角點特征。整個過程涉及(用一個解析器功能模塊)讀取圖像矩陣,然后(用若干算法模塊)在圖像矩陣基礎(chǔ)上提取所需的特征?;诖?,最終將軟件系統(tǒng)規(guī)劃為界面如圖1所示的流程圖結(jié)構(gòu),其中各個節(jié)點的具體職責(zé)和實現(xiàn)方式如下所述:
a)文檔I節(jié)點表示輸入的目標(biāo)圖像,它關(guān)聯(lián)一個對話框,在其中可以導(dǎo)入一幅圖像,支持多種常見格式(如jpg、png、bmp等),支持對導(dǎo)入的圖像進行預(yù)覽,以及執(zhí)行一些簡單的操作,如翻轉(zhuǎn)、縮放和平移等;
b)功能I節(jié)點表示解析器,它關(guān)聯(lián)一個消息框,用于提示用戶是否開始執(zhí)行解析過程,并在底層包含一個解析算法,支持對不同格式的圖像進行解析; C)文檔2節(jié)點表示解析器輸出的圖像矩陣,它關(guān)聯(lián)一個對話框,從中可以查看每個像素位置的灰度值;
d )功能2節(jié)點表示用于提取邊緣特征的功能模塊,它包含若干邊緣特征提取算法(如Canny算子、Sobel算子等),并關(guān)聯(lián)一個對話框允許用戶選擇不同的算法,并對選中的算法進行必要的配置,最后在該節(jié)點上執(zhí)行邊緣特征提取過程;
e)文檔3節(jié)點表示功能2節(jié)點輸出的圖像邊緣特征,它關(guān)聯(lián)一個對話框,用于顯示圖像中物體的邊緣示意圖;
f)功能3節(jié)點表示用于提取角點特征的功能模塊,它包含若干角點特征提取算法(如Harris算子、Trajkovic算子等),并關(guān)聯(lián)一個對話框允許用戶選擇不同的算法,并對選中的算法進行必要的配置,最后在該節(jié)點上執(zhí)行角點特征提取過程;
g)文檔4節(jié)點表示功能3節(jié)點輸出的圖像角點特征,它關(guān)聯(lián)一個對話框,用于顯示圖像中物體的角點示意圖。
[0019]初始時,文檔I節(jié)點的狀態(tài)為就緒,其余節(jié)點狀態(tài)均為等待。此處假定用操作流向箭頭的線型來表示其起始端所連節(jié)點的狀態(tài),如用實線表示完成、虛線表示等待和就緒。則初始時所有箭頭均為虛線,此時用戶不能操作除文檔I節(jié)點之外的任何其他節(jié)點,因為在操作流程上不允許。當(dāng)完成某個節(jié)點上的操作后,相應(yīng)箭頭的線型將被改變。例如,完成了圖像矩陣的讀取,則以功能I節(jié)點和文檔2節(jié)點為起始端的三個箭頭均由虛線變?yōu)閷嵕€,此時既可以通過操作文檔2節(jié)點查看解析結(jié)果,也可以對功能2或功能3進行下一步操作。
【主權(quán)項】
1.一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:軟件被設(shè)計為一個由功能節(jié)點、文檔節(jié)點和操作流向箭頭構(gòu)成的流程圖: a)所述的功能節(jié)點表示應(yīng)用軟件中一個相對獨立的功能模塊,包含與功能實現(xiàn)相關(guān)的操作和算法; b)所述的文檔節(jié)點表示功能節(jié)點的輸入或輸出數(shù)據(jù),分為原始輸入節(jié)點、原始輸出節(jié)點和中間數(shù)據(jù)節(jié)點三類,主要用于呈現(xiàn)數(shù)據(jù),也可包含對所顯示數(shù)據(jù)的基本操作; c)所述的操作流向箭頭用于連接不同節(jié)點并指示它們之間的先后依賴關(guān)系,具體為箭頭指向的節(jié)點依賴于箭頭起始端的節(jié)點; d)所述的流程圖用于指導(dǎo)開發(fā)者對軟件進行功能模塊劃分,以及引導(dǎo)和限定用戶按規(guī)定的順序?qū)浖M行操作。2.如權(quán)利要求書I所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的節(jié)點包含有限個狀態(tài),包括等待、就緒、當(dāng)前、完成和出錯,初始默認(rèn)狀態(tài)為等待。3.如權(quán)利要求書I所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的節(jié)點包含前繼節(jié)點集和后繼節(jié)點集的引用,只有當(dāng)所有前繼節(jié)點均處于完成狀態(tài)時當(dāng)前節(jié)點才能從等待狀態(tài)轉(zhuǎn)移至就緒狀態(tài),以備操作。4.如權(quán)利要求書I或2所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的操作流向箭頭通過改變其自身外觀來指示其起始端所連節(jié)點的狀態(tài)。5.如權(quán)利要求書I或2所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的節(jié)點在底層關(guān)聯(lián)一個應(yīng)用程序用于實現(xiàn)其職責(zé),根據(jù)不同應(yīng)用需求,其特征可以是一個后臺執(zhí)行腳本、窗口應(yīng)用程序、網(wǎng)絡(luò)服務(wù)或一個子流程圖,應(yīng)用程序的可執(zhí)行狀態(tài)與所述的節(jié)點狀態(tài)一致。6.如權(quán)利要求書I或2所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的流程圖至少包括一個原始輸入節(jié)點和一個原始輸出節(jié)點,原始輸入節(jié)點表示應(yīng)用軟件的原始輸入信息,初始時節(jié)點狀態(tài)默認(rèn)為就緒,流程圖中不存在操作流向箭頭指向原始輸入節(jié)點;原始輸出節(jié)點表示應(yīng)用軟件的原始輸出信息,流程圖中不存在起始端連接在原始輸出節(jié)點上的操作流向箭頭;其他文檔節(jié)點均屬于中間數(shù)據(jù)節(jié)點。7.如權(quán)利要求書I所述的一種面向用戶操作流程的軟件設(shè)計方法,其特征在于:所述的流程圖的典型構(gòu)造滿足一個功能節(jié)點通過一個操作流向箭頭指向一個文檔節(jié)點;一個文檔節(jié)點可以指向一個或多個功能節(jié)點但不能指向另一個或多個文檔節(jié)點;多個文檔節(jié)點可以指向同一個功能節(jié)點;根據(jù)不同應(yīng)用需求,也可省略文檔節(jié)點,由功能節(jié)點直接指向另一個或多個功能節(jié)點。
【文檔編號】G06F9/44GK105912338SQ201610237277
【公開日】2016年8月31日
【申請日】2016年4月15日
【發(fā)明人】許愛強, 唐小峰, 孟上
【申請人】中國人民解放軍海軍航空工程學(xué)院