![工作人員手冊(cè)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/9c4d77dc-26e2-4741-a41c-1554baac71f3/9c4d77dc-26e2-4741-a41c-1554baac71f31.gif)
![工作人員手冊(cè)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/9c4d77dc-26e2-4741-a41c-1554baac71f3/9c4d77dc-26e2-4741-a41c-1554baac71f32.gif)
![工作人員手冊(cè)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/9c4d77dc-26e2-4741-a41c-1554baac71f3/9c4d77dc-26e2-4741-a41c-1554baac71f33.gif)
![工作人員手冊(cè)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/9c4d77dc-26e2-4741-a41c-1554baac71f3/9c4d77dc-26e2-4741-a41c-1554baac71f34.gif)
![工作人員手冊(cè)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/16/9c4d77dc-26e2-4741-a41c-1554baac71f3/9c4d77dc-26e2-4741-a41c-1554baac71f35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、山西光遠(yuǎn)科技有限公司軟件開發(fā)人員手冊(cè)iso9001-2008 gykj/qms-zc-09軟件開發(fā)人員手冊(cè) gykj/qms-zc-09版本/修改次: a/0 編制:李曉芳審核:范志鋒批準(zhǔn):褚丕玉頒布日期:2009年6月25日 實(shí)施日期:2009年7月1日目錄1開發(fā)方針和開發(fā)模式32編程標(biāo)準(zhǔn)32.1 關(guān)于標(biāo)準(zhǔn)32.2 必須添加注釋讓程序清晰42.3 例程結(jié)構(gòu)52.4 變量使用標(biāo)準(zhǔn)72.5 語法標(biāo)準(zhǔn)72.6 出錯(cuò)處理82.7 組件化的編程思想93命名約定103.1 關(guān)于名稱103.2 對(duì)象命名103.3 菜單命名123.4 模塊命名123.5 例程命名133.6 變量命名133.7 常量常名15
2、4用戶界面設(shè)計(jì)原則154.1 什么是一個(gè)“好的”用戶界面設(shè)計(jì)?154.2 如何設(shè)計(jì)用戶界面?164.3 用戶界面設(shè)計(jì)基本原則174.4windows界面應(yīng)用程序設(shè)計(jì)指南225文檔編寫指南225.1 引言225.2 文件的編制指導(dǎo)245.3 各種文件的內(nèi)容要求336附錄456.1 軟件問題報(bào)告單(spr)456.2 軟件修改報(bào)告單(scr)46開發(fā)人員手冊(cè)1 開發(fā)方針和開發(fā)模式以用戶的需求為導(dǎo)向,以嚴(yán)格科學(xué)的組織管理為前提,以先進(jìn)的技術(shù)為保障,注重質(zhì)量,注重效率。2 編程標(biāo)準(zhǔn)2.1 關(guān)于標(biāo)準(zhǔn)編程標(biāo)準(zhǔn)是在實(shí)際書寫項(xiàng)目代碼的準(zhǔn)則。它們確定諸如程序結(jié)構(gòu)、變量作用域,語法標(biāo)準(zhǔn),出錯(cuò)處理和加入注釋等事項(xiàng)。
3、在開始編寫代碼之前,確定編碼標(biāo)準(zhǔn)就能使編碼在開發(fā)小組成員之間更加標(biāo)準(zhǔn)化,從而簡(jiǎn)化開發(fā)與維護(hù)工作。編程標(biāo)準(zhǔn)能夠:(1)幫助你管理軟件的復(fù)雜性,并且使你的代碼組織得更易于找到你所查找的部分。(2)它提供易于閱讀和理解的代碼一致的外觀,任何熟悉所用標(biāo)準(zhǔn)的程序員將能夠找出任何一段代碼,并理解所用的基本約定。在你作代碼的初檢時(shí),在你的測(cè)試小組作代碼檢查時(shí),以及多個(gè)程序員完成一個(gè)項(xiàng)目時(shí),這都是有幫助的。(3)它保證平穩(wěn)地轉(zhuǎn)換到軟件的維護(hù)階段,特別是當(dāng)維護(hù)工作是由另外一些人完成時(shí)。我們提出標(biāo)準(zhǔn)的原則是可以遵循的,并有很強(qiáng)的可操作性,建立標(biāo)準(zhǔn)不是我們的目的,目的是讓大家有一種可以相互理解的“共同語言”。編程標(biāo)
4、準(zhǔn)包括:加注解、基本的代碼結(jié)構(gòu)、變量用法、語法標(biāo)準(zhǔn)、出錯(cuò)處理等。2.2 必須添加注釋讓程序清晰注釋必須在編碼的同時(shí)加入,它將有助于記住程序的目的。代碼變動(dòng)時(shí),注釋也應(yīng)隨之改動(dòng),必須保持注釋是最新的。2.2.1 模塊注釋所有模塊(窗體,標(biāo)準(zhǔn)模塊和類)都應(yīng)當(dāng)以一個(gè)說明目的和對(duì)它所做過的任何修改的簡(jiǎn)要注釋開始。例如類名:cscoye作者:王大海,開發(fā)中心日期:1996/12/1描述:記錄聯(lián)機(jī)考試的成績(jī)修改:2.2.2 例程注解所有例程(子程序,函數(shù)和屬性過程)都應(yīng)當(dāng)以說明其功能特點(diǎn)(做什么)的簡(jiǎn)要注釋開始。這一注解還應(yīng)當(dāng)包括傳給本例程和由本例程返回的參數(shù)。這種描述不應(yīng)當(dāng)描述實(shí)現(xiàn)細(xì)節(jié)(怎樣做?),因?yàn)?/p>
5、這些細(xì)節(jié)常常隨時(shí)間而變化,因而導(dǎo)致不必要的注解維護(hù)工作。或者更壞,導(dǎo)致錯(cuò)誤的注釋。代碼本身和任何必要的局部注釋將描述這種實(shí)現(xiàn)過程。例如:準(zhǔn)備一個(gè)提示信息參數(shù): temp 用戶名 i 反映狀態(tài)返回值: string 提示信息function myfunc (temp as string, i as string) as string2.2.3 模塊體注釋在模塊體中過多的注解有礙于可讀性,而不是改進(jìn)可讀性。模塊體中的注釋僅用來描述比較復(fù)雜的處理,但仍然是提供關(guān)于“是什么?”或“為什么?”,而不是提供關(guān)于“怎么做?”的信息。2.2.4 變量注釋首先應(yīng)該用一個(gè)清楚的命名約定,如果變量名是清楚的,則既不
6、需要注釋,也不需要在閱讀代碼時(shí)參看注釋。如果變量不能用名稱有效表這,則應(yīng)該加相應(yīng)的注釋。2.3 例程結(jié)構(gòu)2.3.1 縮進(jìn)書寫縮進(jìn)書寫可以獲得一個(gè)較好的結(jié)構(gòu)為了更容易閱讀,要縮進(jìn)書寫。function myfunc ( temp as string, i as integer) select case: case 1dim yy=”yes”+tempmyfunc=y case 2dim nn=”no”+tempmyfunc=n case 3dim bb=”close”+tempmyfunc=b end caseend function縮進(jìn)的字符數(shù)不能小于2個(gè)字符,也不能大于4個(gè)字符,建議縮進(jìn)2個(gè)
7、字符。2.3.2 變量首先說明變量。雖然有些工具允許在任何你希望的地方建立你的變量說明,但我們建議把變量說明都放在模塊的頂部,這樣能夠比較容易地找到這些說明。將變量說明放在頂部,還可較容易地確定何時(shí)能夠在模塊內(nèi)重新使用變量。2.3.3 一個(gè)例程,一個(gè)目的每個(gè)例程應(yīng)當(dāng)有且只有一個(gè)目的。使這一方案實(shí)現(xiàn)的訣竅是首先對(duì)例程進(jìn)行注釋,應(yīng)有一、兩行注釋陳述例程的唯一目的。然后才能寫出圍繞這個(gè)目的的代碼。 一個(gè)相關(guān)的標(biāo)準(zhǔn)是要保持小的例程,大多數(shù)例程不應(yīng)超過在屏幕上能夠同時(shí)看到的代碼數(shù)量。2.3.4 一個(gè)出口點(diǎn)有一個(gè)出口點(diǎn),可使調(diào)試一個(gè)例程變得容易,因?yàn)樗偸菑捻敳块_始,并且在底部結(jié)束。這就是說,在例程體內(nèi)不
8、用exit sub或exit function語句。不要怕使用一個(gè)goto語句來跳轉(zhuǎn)到例程結(jié)尾的一個(gè)標(biāo)號(hào)。2.3.5 對(duì)例程排序?yàn)閹椭慊虺绦騿T找到模塊中的代碼,有必要規(guī)定一個(gè)標(biāo)準(zhǔn)的例程順序。對(duì)一個(gè)類中的例程按下列順序排列:* 屬性過程* 初始化和終止事件過程* 全局子程序和函數(shù)過程(按字母順序)* 局部子程序和函數(shù)過程(按字母順序)2.4 變量使用標(biāo)準(zhǔn)變量使用的標(biāo)準(zhǔn)是使變量作用域最小。作用域用來描述在應(yīng)用程序中能夠看到的變量范圍的術(shù)語。如果一個(gè)變量可以被一個(gè)項(xiàng)目中的全部例程存取,則該變量具有全局作用域。如果只能被模塊中的例程存取,則這個(gè)變量具有模塊級(jí)的作用域。如果只有定義在其中的例程能存取該
9、變量,則它具有局部作用域。最好使用盡可能小的變量作用域。2.5 語法標(biāo)準(zhǔn)當(dāng)確定編碼標(biāo)準(zhǔn)時(shí),需要確定某些語法標(biāo)準(zhǔn)。這可使應(yīng)用程序代碼更加一致。我們建議大家都采用microsoft或開發(fā)工具供應(yīng)商建議的標(biāo)準(zhǔn)。你可以采納的一些語法標(biāo)準(zhǔn)如下:* 在窗體與控件之間使用“”運(yùn)算符。* 不用幻數(shù)。 幻數(shù)是那些在代碼中的數(shù),它們只對(duì)把它們放在那里的人員具有某種幻數(shù)意義。而其他人可能根本無法了解幻數(shù)的真實(shí)意義。建議使用開發(fā)工具提供的常數(shù),或者建立自己的常數(shù),而不是使用幻數(shù)和試圖記住它們,例如,為替代使用screan. mousepointer=11, 就使用screen.mousepointer = vb ho
10、urglass.* 如果有一個(gè)case語句,則應(yīng)包括一個(gè)case else語句。代碼中產(chǎn)生的許多未被捕獲的程序錯(cuò)誤,是因?yàn)橐粋€(gè)情況語句變量不是能被預(yù)期的。如果沒有一個(gè)case else語句,就沒有代碼被執(zhí)行,所以也沒有問題被確定。使用case else語句可以保證有一個(gè)缺省情況,即使它只顯示一個(gè)出錯(cuò)信息,或只把出錯(cuò)信息記錄在出錯(cuò)記錄文件中。* .在長(zhǎng)的程序行中程序行連續(xù)字符數(shù)不超過70個(gè)。* 不要把多個(gè)語句置于一行。* 要明確說明數(shù)據(jù)的類型。變量的數(shù)據(jù)類型應(yīng)當(dāng)明確說明。* 明確說明作用域。當(dāng)說明一個(gè)模塊級(jí)變量或一個(gè)例程時(shí),應(yīng)當(dāng)明確說明該變量或例程是全局的,還是局部的。* 在連接字符串時(shí)總要使用
11、“&”,而在使用數(shù)字值時(shí)點(diǎn)是使用“+”。2.6 出錯(cuò)處理在編寫能夠產(chǎn)生錯(cuò)誤的代碼時(shí),就加上出錯(cuò)處理,比到“以后”某一時(shí)刻才來增加要好得多。以visual basic為例。在visual basic內(nèi)部沒有統(tǒng)一的錯(cuò)誤處理。因此,例程本身需要處理錯(cuò)誤,有兩種錯(cuò)誤處理的基本方式:* on error go to (標(biāo)號(hào))。這將轉(zhuǎn)到指定過程中的標(biāo)號(hào)處,通常,它將轉(zhuǎn)到例程結(jié)尾處專門為出錯(cuò)處理而定義的標(biāo)號(hào)。這種方法可使例程的主要處理獨(dú)立于處理錯(cuò)誤所需的附加代碼。* on error resume next。這將返回到出錯(cuò)行的下一行。* 注意:為保證在開發(fā)調(diào)試過程中暴露盡可能多的問題,應(yīng)該選擇visual
12、basic的選項(xiàng)break on all errors. 另外幾個(gè)選項(xiàng)值得注意:1. 需要變量聲明檢查(option中選中require variable declaration選項(xiàng))2. 數(shù)組下標(biāo)初始值定義(option base=10)3. 字符串比較方式(option compare binarytext)2.7 組件化的編程思想目前可視化的編程工具: 如delphi, vb, powerbuilder等都采用組件化的編程思路,并且都有第三方控件的廣泛支持,開發(fā)中心在開發(fā)過程中也積累了一些自己的控件或組件。組件化的編程方法可以提高應(yīng)用的程序的一致性、穩(wěn)定性。并可以大大提高開發(fā)效率。在開發(fā)
13、過程中要隨時(shí)采用組件化的編程思想。在設(shè)計(jì)階段應(yīng)充分分析功能,把類似的功能抽取出來, 并形成組件,讓開發(fā)小組共享,在實(shí)現(xiàn)某個(gè)功能時(shí)首先要考慮有沒有標(biāo)準(zhǔn)的控件,有沒有第三方的控件,有沒有內(nèi)部的控件或組件,如果都沒有再考慮自己開發(fā)。那么在決定采用標(biāo)準(zhǔn)組件,還是自己做時(shí)要考慮哪些問題呢?(1)要了解有哪些第三方的組件可以利用inernet上有廣泛的第三方資源,是我們獲取信息的主要渠道。要了解內(nèi)部有哪些組件,為了讓大家都能了解和利用已有資源,開發(fā)中心會(huì)定期出一些材料。(2)搞清楚你需要什么你是要以電子表格方式處理和顯示數(shù)據(jù)嗎?你要提供一個(gè)全功能的文本編輯器嗎?如果是這樣,那么購買第三方產(chǎn)品比你自己開發(fā)容
14、易得多。你需要一個(gè)注冊(cè)窗口嗎?你需要一個(gè)about對(duì)話框嗎?如果內(nèi)部已有,你為什么要重做一個(gè)呢?(3)靈活性怎么樣(4)有什么風(fēng)險(xiǎn)提倡組件化的編程思想,一個(gè)基本的出發(fā)點(diǎn)是:能不自己做,盡量不自己做,能共享,盡量共享。要理解和接受這一點(diǎn),大家必須承認(rèn)我們的開發(fā)處在快速應(yīng)用型的階段,所以什么都自己做,是不合適的,也是不可能的。有所為,有所不為,注重效率,追求目標(biāo),這是我們的方針。3 命名約定3.1 關(guān)于名稱名稱約定提供可讀的、可記憶的和無二義的名稱,以幫助編程人員(特別是多個(gè)程序員參與的項(xiàng)目中)閱讀和維護(hù)應(yīng)用程序。下面是一些變量命名的一般準(zhǔn)則* 不要太短,變量j對(duì)程序員閱讀代碼沒有給出任何信息,除
15、非它是程序中較明顯的循環(huán)計(jì)數(shù)器,否則變量應(yīng)該富于描述性。* 不要太長(zhǎng)。長(zhǎng)變量很難記憶且容易產(chǎn)生鍵入錯(cuò)誤。* 要能表達(dá)一些意思。變量應(yīng)該可讀并且能表達(dá)出它是什么。icustomer type表示它是用戶類型的整型變量,無需注釋。* 一致性。一個(gè)變量在代碼的幾個(gè)地方使用,每次都使用不同的名稱。這將會(huì)造成許多出錯(cuò)的機(jī)會(huì)。3.2 對(duì)象命名以visual basic為例。表2.1列出了一些類似于“visual basic4.0程序員指南”中的名稱前綴??丶s定使得更容易識(shí)別使用了哪個(gè)控件。其它開發(fā)工具由各開發(fā)組自行定義統(tǒng)一的命名規(guī)范, 經(jīng)批準(zhǔn)后統(tǒng)一執(zhí)行.表2.1控件命名約定前綴控件類型說明舉例cbo
16、combo box組合框cbotasksdbc data-bound combo box數(shù)據(jù)連接組合框dbcentrieschkcheck box復(fù)選框chkreadonlycmd command button命令按鈕cmdokcolcollection集合colpersonsctlcontrol(used when the specific控件)(ctltype is unknown)datdata數(shù)據(jù)dattaskdbdatabase數(shù)據(jù)dbcontactdirdir list box目錄列表框dirsourcedlgcommon dialog公用對(duì)話框dlgfiledrvdrive li
17、st box驅(qū)動(dòng)器列表框drvtargetdsdynaset動(dòng)態(tài)集dspersonlistfilfile list box文件列表框filsourcefrmform窗體frmtodofraframe框架fraoptionsgrdgrid網(wǎng)格grditemsdbgdata-bound grid數(shù)據(jù)連接網(wǎng)格dbgitemshsbhorizontal scroll bar水平滾動(dòng)條hsbscrollimgimage圖像imgiconlbllabel標(biāo)號(hào)lblnamelinline線條linbluelstlist box列表框lstcompaniesdbldata-bound list box數(shù)據(jù)連接
18、列表框dblcodesmnumenu菜單mnufileopenoleole container ole容器oleobejctoptoption button選項(xiàng)鈕optyespicpicture box圖片框picbackgroundpnl3-d panel 3d調(diào)色板pnlgroupshpshape形狀shpcirclespnspin control微控spnagetxttext box文本框txtnametmrtimer計(jì)時(shí)器tmralarmvsbvertical scroll bar垂直滾動(dòng)框vsbpage對(duì)于上表沒有列出的新的控件,請(qǐng)用唯一的三字符前綴定義。然而,使它表達(dá)清楚比堅(jiān)持用三
19、個(gè)字符更重要。對(duì)于派生的控件,比如一個(gè)增強(qiáng)的列表框,請(qǐng)將上表中的前綴加以擴(kuò)展,從而能識(shí)別究竟使用了哪個(gè)控件。例如,一個(gè)從visual basic3.0 pro 3-d frame產(chǎn)生的控件實(shí)例使用fra3d前綴,以便確實(shí)能夠識(shí)別究竟使用了哪一個(gè)控件。這里的命名約定是針對(duì)vb編程人員的,使用其他開發(fā)工具的項(xiàng)目組可以參照本約定規(guī)定自己的命名約定。不論定下什么命名約定,你應(yīng)該堅(jiān)持使用它。注釋:當(dāng)創(chuàng)建控件時(shí),你應(yīng)該定義好控件名稱,如果你開始為控件加寫代碼,然后再定義名稱,則代碼將不再與控件相關(guān)聯(lián)。3.3 菜單命名命名菜單和菜單選項(xiàng)的一種方法,是要使用取自主菜單選項(xiàng)的一個(gè)字符的菜單前綴,然后是該菜單選項(xiàng)
20、的名稱。這在表3.1的菜單柄(menu handler)名一欄示出。另一種辦法是將一個(gè)菜單的所有選項(xiàng)作為控件數(shù)組來定義。這在表3.1的控件數(shù)組名一欄示出。我更喜歡這種方法,因?yàn)樗岩粋€(gè)菜單的全部代碼放在一個(gè)例程里。注意,在表3.1中控件數(shù)組的索引值定義為常量而不是幻數(shù)。這樣就能在不改變對(duì)那個(gè)菜單選項(xiàng)的所有引用的情況下,改變其索引值(如果增加或刪去一個(gè)菜單選項(xiàng),就可能需要改變索引值),因而使行代碼更容易閱讀。表3.1菜單命名約定菜單標(biāo)題順序菜單柄名控件數(shù)組名help.contentsmnuhcontentsmnuhelp(ihelp_contents)file.openmnufiopenmnuf
21、ile(ifile_open)format.charactermnufocharactermnuformat(iformat_chr)file.send.faxmnufsfaxmnufilesend(ifile_send_fax)file.send.emailmnufsemailmnufilesend(ifile_send_mail)即使有兩個(gè)通用的菜單選項(xiàng)命名約定,你的項(xiàng)目組也應(yīng)該選擇其中一種方法并且堅(jiān)持用下去。3.4 模塊命名模塊命名約定因模塊類型而異。對(duì)于類模塊,模塊名稱要加前綴“c”,然后再接類的名稱。例如:cperson。窗體使用三個(gè)字符的對(duì)象名稱“frm”來命名,所以帶有名字、地址
22、和電話號(hào)碼信息的窗體可以使命名為frmperson。visual basic3.0里的模塊沒有前綴。若給它們一個(gè)前綴,例如:“m”那么就和visual basic4.0一致了。例如:mmain。名稱的其余部份應(yīng)該清楚地規(guī)定模塊的目的。在許多情況下,它是對(duì)象的名稱。例如:cperson是person對(duì)象的類的名稱。這些類名稱應(yīng)在設(shè)計(jì)階段就規(guī)定好了。對(duì)于ole服務(wù)器,這些命名約定更加重要。因?yàn)槠渌鼞?yīng)用程序?qū)⒁眠@些類,所以它們的名稱必須相對(duì)清楚而且唯一。3.5 例程命名例程命名在例程的類型而異。事件過程都以_這樣的語法自動(dòng)命名。如class_terminate或txtname_click.* 公有
23、的property過程是類的屬性的公共接口。它們應(yīng)該以邏輯屬性名稱命名,不加前、后綴。例如,visual basic提供諸如:top和caption等屬性,你的屬性可以命名為address、dateofbirth等等。請(qǐng)注意這些名稱通常都是名詞。* 公有的子程序和函數(shù)是類的方法的公共接口。它們也應(yīng)以邏輯動(dòng)作名稱命名,不加前、后綴。例如,visual basic提供諸如move、add和setfocus等方法。你的方法可命名為display、writefile等等.請(qǐng)注意這些名稱通常都是動(dòng)詞。* 私有的子程序和方法常常遵循這樣的語法。例如:openfile或calcbeeps.3.6 變量命名確
24、定變量命名約定經(jīng)常是最困難。它看起來完全是個(gè)人選擇問題,程序員們都固執(zhí)地使用自己的約定,而不是其他人的約定。規(guī)定一個(gè)折中的約定和遵循一套標(biāo)準(zhǔn),將使參與項(xiàng)目和負(fù)責(zé)維護(hù)的其他人員的工作變得更加容易。一種通用的變量命名的方法是以在c語言中常用的匈牙利人的命名方法為基礎(chǔ)的。它包括前綴和名稱主體。前綴描述變量的作用域和數(shù)據(jù)類型,名稱主體應(yīng)當(dāng)使用大小寫混合方法,以便于閱讀,而且其長(zhǎng)度要根據(jù)描述其目的的需要來決定。例如:bisdirty和msusername。表6.1列出常用的變量前綴。確定一組標(biāo)準(zhǔn)的前綴,可以改進(jìn)應(yīng)用程序中的變量命名。表6.1常用的變量前綴前綴作用域說明g全局變量m模塊級(jí)變量局部變量(沒有
25、附加的前綴)st靜態(tài)變量續(xù)表6.1常用的變量前綴前綴作用域說明b布爾型c貸幣型-64位d雙精度-64位有符號(hào)變量db數(shù)據(jù)庫型ds動(dòng)態(tài)集合(dynaset)dt日期+時(shí)間f浮點(diǎn)/單精度-32位有符號(hào)的浮點(diǎn)型l長(zhǎng)整型-32位有符號(hào)i整型s字符串型v變體型a數(shù)組用戶定義類型匈牙利命名法在visual basic中就像在c語言中那樣有價(jià)值,因?yàn)閱慰縱isual basic類型后綴,不可能提供有關(guān)變量用于什么或它在什么地方可被訪問的標(biāo)準(zhǔn)信息。例如:isend(它可能是發(fā)送消息的次數(shù)),bsend(它可能是決定最后一次發(fā)送操作成功與否的布爾變量),csend(它可有是寄出的錢數(shù))都簡(jiǎn)略地告訴程序員一些截然
26、不同的含義。當(dāng)名稱減短到send%時(shí),這種信息就完全丟失了。在變量名稱中帶有作用域名稱,也有助于保證你正確地使用變量。由于visual basic4.0中的數(shù)據(jù)強(qiáng)制機(jī)制,如果你不注意變量類型,你會(huì)得到預(yù)料不到的結(jié)果。*關(guān)鍵注釋:請(qǐng)使用option explicit以強(qiáng)制適當(dāng)?shù)淖兞空f明,查找鍵入錯(cuò)誤丟掉的時(shí)間,比說明變量所需的時(shí)間要多得多。3.7 常量常名常量遵循與變量相同的基本命名約定。然而常量名稱的主體用帶下劃線(“_”)的大寫字母表示。例如:micontact_list_max代表模塊級(jí)整型變量,它規(guī)定表內(nèi)填寫聯(lián)絡(luò)登記數(shù)所允許的最大值。4 用戶界面設(shè)計(jì)原則4.1 什么是一個(gè)“好的”用戶界面
27、設(shè)計(jì)?一個(gè)能夠使用戶順利地完成日常工作且能滿足業(yè)務(wù)需求的用戶界面才是一個(gè)“好的”界面。相反,一個(gè)由于信息過多而分散用戶的精力、功能不突出或其它原因而降低用戶完成工作的效率的用戶界面被認(rèn)為是一個(gè)“壞的”界面,或者說得好聽點(diǎn)是一個(gè)“難用的”界面。4.2 如何設(shè)計(jì)用戶界面?這里只能說明一些基本的步驟,供大家參考。要設(shè)計(jì)好的用戶界面,一個(gè)重要的條件是不斷學(xué)習(xí),觀摩優(yōu)秀的軟件,并認(rèn)真體會(huì)別人的設(shè)計(jì)。(1)確定用戶目標(biāo)(2)確定軟件功能(3)提供一個(gè)與現(xiàn)實(shí)世界一致的模型一個(gè)應(yīng)用軟件應(yīng)提供給用戶一個(gè)內(nèi)心的模型,一種以用戶所熟悉的事物來思考應(yīng)用軟件的方法,這樣才能使應(yīng)用軟件對(duì)用戶有意義。例如,microsof
28、t word在屏幕上提供一張你可在上面打字的紙,它好比打字機(jī)上的一張紙。microsoft excel則給出一個(gè)屏幕上的電子表格,它符合紙質(zhì)表格內(nèi)心模型。提供一個(gè)好的內(nèi)心模型,可以使用戶憑直覺把熟悉的知識(shí)應(yīng)用于某種不熟悉的環(huán)境中去。當(dāng)一個(gè)初學(xué)計(jì)算機(jī)的人使用microsoft word時(shí),他通??梢越邮躤的模型并開始鍵入文字。在你對(duì)應(yīng)用軟件的主要功能和次要功能有了明確的概念之后,并在你開始把這些功能設(shè)計(jì)到用戶界面之前,要考慮一下對(duì)你的應(yīng)用有意義的內(nèi)心模型。它不應(yīng)當(dāng)是物理上的比喻,而應(yīng)當(dāng)是在觀察你的應(yīng)用軟件方面具有內(nèi)在聯(lián)系的想象。然后你就可以在設(shè)計(jì)屏幕的布局方案時(shí)著重強(qiáng)調(diào)這個(gè)內(nèi)心模型。(4)功能布
29、局所有用來完成主要任務(wù)的功能都應(yīng)當(dāng)放在手邊,而其它的功能則要放在不礙事的地方。主要功能應(yīng)放在顯著位置,次要的功能應(yīng)易于訪問,要有條理地放進(jìn)菜單中。(5)屏幕布局在設(shè)計(jì)屏幕布局方面,把注意力集中在應(yīng)用軟件的需求上是很重要的。要給組件的適當(dāng)?shù)膹?qiáng)調(diào)和均衡。應(yīng)當(dāng)讓與用戶安交互最多的那部分屏幕立即能顯示,并且將它放在標(biāo)記順序的最始端。相關(guān)信息的集合應(yīng)被設(shè)計(jì)成為一可視群組,以便幫助用戶查找并借助這些信息工作。屏幕不能太擁擠或難讀。屏幕布局要有條理、高效率。這樣才能幫助用戶迅速找到所需的功能和信息,而忽略那些不太要緊的東西。(6)增加一些信息在完成功能設(shè)計(jì)之后,要增加一點(diǎn)信息。這有助于應(yīng)用軟件觀看起來有意思
30、,而且對(duì)于一個(gè)必須整天盯著屏幕的用戶來說特別重要。在應(yīng)用軟件中添加圖標(biāo)以使每個(gè)對(duì)象形象化,每當(dāng)訪問有關(guān)對(duì)象時(shí),就可以使用它的圖標(biāo)??梢杂煤?jiǎn)單的線條來提供細(xì)節(jié)或用它分離屏幕上的不同部分。也可以用給你的設(shè)計(jì)加些不突出的背景位圖,以使得屏幕更引人注目。4.3 用戶界面設(shè)計(jì)基本原則遵循這些基本原則,將幫助你設(shè)計(jì)出一個(gè)滿足最一般的用戶要求的用戶界面。(1)保持簡(jiǎn)單當(dāng)你考慮應(yīng)用軟件的功能并將它們添加到用戶界面中去的時(shí)候,一定要使主要功能簡(jiǎn)單,即使它意味著會(huì)使次要功能變得更復(fù)雜。不要因?yàn)閿U(kuò)大用得最頻繁的功能的范圍,以致把次要功能也包括進(jìn)去,而使主要功能失去簡(jiǎn)易性。例如,可將“聯(lián)絡(luò)管理器”窗口變成一個(gè)允許訪問
31、各個(gè)聯(lián)絡(luò)記錄、通迅錄或者待完成任務(wù)表的標(biāo)志提示對(duì)話框。這樣就會(huì)使“聯(lián)絡(luò)管理器”窗口變得復(fù)雜起來,并且使用戶不能同時(shí)觀看通訊錄信息和“聯(lián)絡(luò)管理器”窗口。當(dāng)事情確實(shí)需要變得更復(fù)雜時(shí),可用一種叫做逐步暴露的技術(shù)來幫助用戶處理復(fù)雜情況。這一技術(shù)就是大量地把用戶所看到的信息組織或限制在當(dāng)時(shí)能適用的范圍內(nèi)。舉個(gè)簡(jiǎn)單的例子:當(dāng)沒有聯(lián)絡(luò)記錄被選擇時(shí),就沒有東西需要?jiǎng)h除,因此,刪除鍵會(huì)是灰色的。將主要性能保持在盡可能簡(jiǎn)單的程度上,就意味著你在幫助用戶更切實(shí)有效地完成他們的主要工作。(2)提供答案,而不是發(fā)問當(dāng)設(shè)計(jì)組在討論用戶界面的選擇方案時(shí),最容易的作法往往是說“讓用戶去決定”,而自己不作出決定。于是,應(yīng)用軟件
32、各個(gè)部分變成了一系列的發(fā)問或是一連串需要用戶拿主意的選擇設(shè)置。這看起來好像設(shè)計(jì)組給用戶提供了很大的靈活性,實(shí)際上在許多情況下這只能把用戶給搞糊涂了,同時(shí)也表明了設(shè)計(jì)組沒有能力進(jìn)行決策。例如,聯(lián)絡(luò)管理系統(tǒng)的項(xiàng)目組無法決定是用電子數(shù)據(jù)表格式還是用對(duì)話框來輸入聯(lián)絡(luò)信息。他們考慮讓用戶來決定。于是當(dāng)用戶第一次開始使用應(yīng)用軟件時(shí)(或者更糟,在安裝過程中),屏幕上會(huì)向用戶提出一個(gè)問題:“是將聯(lián)絡(luò)數(shù)據(jù)以電子數(shù)據(jù)表格式出現(xiàn),還是使用一個(gè)對(duì)話框?”然而,這時(shí)用戶對(duì)于這兩個(gè)答案的含義卻一無所知。用戶會(huì)想:“如果是將聯(lián)絡(luò)數(shù)據(jù)以電子數(shù)據(jù)表格形式輸入,那么這是不是說我把數(shù)據(jù)像在excel中那樣輸入呢?”“什么叫使用一個(gè)
33、對(duì)話框呢?”“如果我作出回答,這個(gè)回答是永久性的呢,還是可以改變的呢?”要給用戶提供答案而不是提出這類問題,因?yàn)檫@將使他們的腦子里產(chǎn)生更多的問題。要仔細(xì)思考選項(xiàng),并給選項(xiàng)一個(gè)數(shù)據(jù)輸入機(jī)制。如果用戶確實(shí)需要選擇,那么就挑出一項(xiàng)作為缺省項(xiàng),當(dāng)用戶需要時(shí)可以去改變它。這樣一來,用戶可以在不用知道有個(gè)選擇的情況下使用應(yīng)用軟件。但是,如果他們需要選擇的話,也能找到它。對(duì)數(shù)據(jù)輸入屏幕中所提出的問題也應(yīng)使用同樣的思路。即確保問題有意義。盡可能給用戶提供一個(gè)缺省答案,并允許他們對(duì)此進(jìn)行修改。當(dāng)你在“聯(lián)絡(luò)管理器”窗口上創(chuàng)建一條新的聯(lián)絡(luò)記錄時(shí),缺省值將是當(dāng)前的日期和最近的聯(lián)絡(luò)類型,這就縮短了創(chuàng)建一條新登記錄所需要
34、的時(shí)間。(3)提供靈活性用戶不可能總是按照你所期望的那樣去做事情。這并不是說他們這樣做不對(duì),只能說明他們是人。計(jì)算機(jī)不能強(qiáng)迫用戶按照它的固定方式工作,而當(dāng)用戶偏離此方式時(shí)計(jì)算機(jī)就用嘯叫表示“回答錯(cuò)誤”。使用應(yīng)用軟件應(yīng)該沒有正確方法或錯(cuò)誤方法之分。 關(guān)鍵注釋:一天的工作不斷被打斷并且充滿了不可預(yù)料的要求。軟件應(yīng)該提供靈活性,以使任務(wù)與任務(wù)之間,一個(gè)單項(xiàng)任務(wù)的每個(gè)步驟之間可以互相轉(zhuǎn)換,而不會(huì)產(chǎn)生模糊的錯(cuò)誤信息。它應(yīng)提供多種的導(dǎo)向方法以使不同的操作之間可以順利地互相轉(zhuǎn)換。保證軟件能夠處理用戶必須完成的不同類型的工作。還記得項(xiàng)目組在以目標(biāo)為中心設(shè)計(jì)里,為應(yīng)用軟件確定的方案嗎?正如上面所描述的那樣,應(yīng)確
35、保這方案能隨機(jī)且有效地使用各種功能。它要有在一組功能步驟中間被中斷、然后再回溯到被中斷處繼續(xù)工作的能力。給應(yīng)用軟件提供這樣的靈活性,就使它能更好地適應(yīng)用戶通常完成他們?nèi)蝿?wù)的方式。(4)營造一個(gè)寬松的環(huán)境軟件開發(fā)人員真正關(guān)心的是應(yīng)用軟件所保持的數(shù)據(jù)的準(zhǔn)確性。他們有時(shí)把這一點(diǎn)說成每一個(gè)字段都要仔細(xì)控制,而用戶在每一步操作之前也都要加以校核以保證它的正確性。讓我們?cè)賮砜纯绰?lián)絡(luò)管理系統(tǒng)應(yīng)用軟件的設(shè)計(jì)。當(dāng)用戶正在輸入一個(gè)新的電話聯(lián)絡(luò)信息時(shí),另一個(gè)電話打了進(jìn)來,這時(shí)用戶想要在不結(jié)束第一個(gè)電話登錄的情況下建立一個(gè)新記錄。請(qǐng)?jiān)囅胍幌?,如果軟件反回信息顯示“聯(lián)絡(luò)人地址字段不能是空白的”用戶該有多么掃興!于是用戶
36、飛速填好前一個(gè)聯(lián)絡(luò)地址,然后再試著建立另一個(gè)新的記錄(所有這些都是在與新打來電話的客戶的交談中進(jìn)行的),而軟件響應(yīng)的另一個(gè)信息框卻顯示:“聯(lián)絡(luò)人的類型必需是數(shù)字?!庇脩粼趷琅虑脫魟h除鍵,但是由于這個(gè)追加項(xiàng)從來沒有被完成過,因此軟件的響應(yīng)為“找不到聯(lián)絡(luò)人?!边@時(shí)候,用戶會(huì)變得非常惱怒,一氣之下關(guān)掉計(jì)算機(jī)。所以,應(yīng)用軟件為了保持?jǐn)?shù)據(jù)絕對(duì)準(zhǔn)確的高標(biāo)準(zhǔn)防礙了用戶完成他們的工作。而另有一些情況顯然有必要仔細(xì)確認(rèn)數(shù)據(jù),例如你在為一個(gè)核電站進(jìn)行計(jì)算時(shí),你就要保證數(shù)據(jù)是正確的。關(guān)鍵注釋:在大多數(shù)情況下,應(yīng)用軟件可以更寬容些。如果用戶沒填滿所有的數(shù)據(jù)輸入字段,它仍應(yīng)是一個(gè)可被接受的輸入。如果用戶的一個(gè)操作可
37、能導(dǎo)致其它一些副作用,要使操作結(jié)果可見并且可以改回去。這樣,用戶就可以看到錯(cuò)誤所在并能很容易地將其糾正過來。例如,校核的錯(cuò)誤信息可以在不打斷用戶工作以及不影響記錄被存儲(chǔ)的情況下顯示在屏幕上。以組合框或單選鈕方式來代替所須數(shù)值的輸入,你可以使數(shù)據(jù)錯(cuò)誤的概率減少到最小。例如,你可以用單選鈕來代替輸入“t”或“f”的要求。這樣你就無須對(duì)輸入進(jìn)行校核,也不會(huì)在校核結(jié)果是“錯(cuò)誤”時(shí)顯示消息框了。如果你確實(shí)需要提供一個(gè)消息框,應(yīng)提供對(duì)用戶有幫助的信息,幫助用戶識(shí)別問題并且指導(dǎo)他們解決問題。不要給用戶顯示太專業(yè)化或毫無意義的信息。便如:“文件索引機(jī)制中的致命錯(cuò)誤”可改為“你鍵入的聯(lián)絡(luò)人已經(jīng)存在”。如果需要一
38、個(gè)有關(guān)錯(cuò)誤的技術(shù)性信息,就將錯(cuò)誤信息添加到系統(tǒng)記錄文件中去。要把你的校核設(shè)計(jì)得能滿足用戶的真正目標(biāo)。將可能出現(xiàn)的錯(cuò)誤減到最小。當(dāng)用戶確實(shí)做了一個(gè)不期望的登錄時(shí),應(yīng)提供一個(gè)明確的方法來糾正它??傊寫?yīng)用軟件顯得更為寬容。(5)使其自動(dòng)記憶計(jì)算機(jī)擅長(zhǎng)記憶。如果數(shù)據(jù)被寫入一個(gè)永久存儲(chǔ)裝置,計(jì)算機(jī)將記住它。應(yīng)用軟件應(yīng)該利用計(jì)算機(jī)的記憶功能使用戶工作得更切實(shí)更有效。你有過這樣的經(jīng)歷嗎?用一個(gè)對(duì)話框去找出在一特定路徑里的文件,然后,過一會(huì)兒又回到這個(gè)對(duì)話框去找同一路徑里的另一個(gè)文件。這時(shí)應(yīng)用軟件是記住你原來所選的路徑,還是返回一些無用的默認(rèn)值呢?重新定義全部路徑是令人失望的事情。下面是你的應(yīng)用軟件應(yīng)該
39、記住的有關(guān)事項(xiàng):最后打開的文件。最后幾個(gè)打開的文件,通常是四個(gè),常被列在應(yīng)用軟件的文件菜單內(nèi)。這給用戶提供了一個(gè)快捷地選擇和打開某個(gè)文件的方法,而無需記住文件在哪里或叫什么名字。窗口位置。一般來說,用戶一天接一天地用相似的方式來運(yùn)行應(yīng)用軟件。每天用戶會(huì)打開你的應(yīng)用軟件并將窗口移動(dòng)到想要的位置。代替這種重復(fù)操作,應(yīng)用軟件可以記住最后的窗口位置,并在缺省狀態(tài)下把窗口放到這些位置上。分類選擇。如果用戶為數(shù)據(jù)選擇了一個(gè)特殊的分類方法、過濾器或其它排列方式。那么應(yīng)用軟件應(yīng)該記住它。當(dāng)再次訪問這一類數(shù)據(jù)時(shí),它們應(yīng)該使用相同的排列方式。讓應(yīng)用軟件使用計(jì)算機(jī)的一些記憶功能,可以顯著提高用戶的工作效率。(6)使
40、其信任用戶應(yīng)用軟件常常不信任用戶。試設(shè)想如下的情形:讓你的秘書將一疊信件存檔,而她問你:“你真要保存這些嗎?”,當(dāng)然你想要把它們存儲(chǔ)起來,否則就不會(huì)這樣要求了!又如,你花了一小時(shí)的時(shí)間與設(shè)計(jì)組討論說明書的變更。在會(huì)議結(jié)束時(shí),設(shè)計(jì)組問你:“你真要保持所有這些變更嗎?”;再如,當(dāng)你在一天工作之后走出在大門時(shí),保安員攔住你并問:“你真要走嗎?”你看這有多荒唐可笑,但是應(yīng)用軟件總是這樣做。在很多應(yīng)用軟件里,每當(dāng)用戶作些變更時(shí)就會(huì)被問:“數(shù)據(jù)變更了,你要保存嗎?”。那么,如果用戶沒有變更數(shù)據(jù),它就用不著保存嗎?應(yīng)用軟件應(yīng)該能夠清晰可見地讓人看到變更了什么,自動(dòng)存儲(chǔ)這一變更(相信用戶是打算做出變更的),并
41、且假如用戶不想進(jìn)行變更還允許取消它。應(yīng)用軟件應(yīng)該信任用戶。(7)使其適合運(yùn)行環(huán)境你可曾看到過這樣一種房間:雖然設(shè)備一流,但設(shè)計(jì)得卻不令人舒適或便于交談。你走進(jìn)這樣的一個(gè)房間,會(huì)害怕碰壞了什么東西,這些房間使你感到不舒服。同樣,對(duì)于一個(gè)未能根據(jù)其運(yùn)行環(huán)境正確設(shè)計(jì)的軟件也是如此。為了使用戶用起你的軟件時(shí)感很舒服,軟件必須恰好符合其運(yùn)行的環(huán)境。當(dāng)開發(fā)一個(gè)windows應(yīng)用軟件時(shí),你的應(yīng)用軟件符合windows應(yīng)用軟件的準(zhǔn)則是很重要的。dos程序設(shè)計(jì)人員們說,他們不想要現(xiàn)有的用戶重新學(xué)習(xí)他們的產(chǎn)品,所以,他們使用同樣的用戶界面,并且只是將它移植到windows環(huán)境下。這些應(yīng)用軟件的用戶對(duì)他們很不滿。為
42、什么那些用戶想要一個(gè)windows環(huán)境下。那是因?yàn)樗麄冇衜icrosoft office和其它一些windows應(yīng)用軟件。從dos下變成windows下的應(yīng)用軟件,f1鍵一直是用來顯示用戶窗口的。而當(dāng)用戶按動(dòng)f1鍵來獲得幫助信息時(shí)(就像用戶擁有的microsoft office產(chǎn)品那樣),用戶窗口卻出現(xiàn)了。顯示用戶窗口,真討厭!應(yīng)用軟件必須適合目標(biāo)平臺(tái)的能力和期望。(8)有一個(gè)好的開始界面在確定和設(shè)計(jì)完用戶界面的每個(gè)部件之后,就要仔細(xì)考慮讓用戶從哪里開始運(yùn)行你的應(yīng)用軟件。要決定應(yīng)用軟件將如何把自己呈現(xiàn)在用戶面前。如果應(yīng)用軟件只有一個(gè)主要功能,就把它作為用戶的缺省起始點(diǎn)。不要以空白屏幕起始,要用
43、完成主要任務(wù)所需的工具填充初始屏幕。如果有幾個(gè)通用的任務(wù),那就要從起始屏幕(welcome screen)開始。你也許見過microsoft powerpoint那樣的產(chǎn)品中的這些屏幕。當(dāng)你打開應(yīng)用軟件時(shí),起始屏就會(huì)出現(xiàn)。它給你提供最常用的選擇列表,并提示你最好從哪里開始。很多這樣的屏幕還會(huì)有一個(gè):“不要再給我顯示這些”的選取框,所以當(dāng)不再需要該屏幕提供的幫助時(shí),用戶就可以關(guān)掉它。起始窗口需防止出現(xiàn)“空白頁故障”,在這種情況下,用戶眼看空白頁而不知從何下手。這些起始窗口就像一座大辦公樓的前臺(tái)接待,如果沒有它們,你就要花費(fèi)很多的時(shí)間轉(zhuǎn)來轉(zhuǎn)去,才能找到所要去的地方。有一個(gè)熱情的前臺(tái)接待,你就會(huì)感到
44、受歡迎的,并且他會(huì)有效地指給你想去的地方。4.4 windows界面應(yīng)用程序設(shè)計(jì)指南microsoft出版的windows界面應(yīng)用程序設(shè)計(jì)指南,比較系統(tǒng)地講述了界面設(shè)計(jì)的原則和具體設(shè)計(jì)技術(shù)和指導(dǎo)。每個(gè)開發(fā)人員應(yīng)該認(rèn)真學(xué)習(xí)。5 文檔編寫指南5.1 引言5.1.1 目的一項(xiàng)計(jì)算機(jī)軟件的籌劃、研制及實(shí)現(xiàn),構(gòu)成一個(gè)軟件開發(fā)項(xiàng)目。一個(gè)軟件開發(fā)項(xiàng)目的進(jìn)行,一般需要在人力和資源等方面作重大的投資。為了保證項(xiàng)目開發(fā)的成功,最經(jīng)濟(jì)地花費(fèi)這些投資,并且便于運(yùn)行和維護(hù),在開發(fā)工作的每一階段,都需要編制一定的文件。這些文件連同計(jì)算機(jī)程序及數(shù)據(jù)一起,構(gòu)成為計(jì)算機(jī)軟件。文件是計(jì)算機(jī)軟件中不可缺少的組成部分,它的作用是:a
45、.作為開發(fā)人員在一定階段內(nèi)的工作成果和結(jié)束標(biāo)志;b.向管理人員提供軟件開發(fā)過程中的進(jìn)展和情況,把軟件開發(fā)過程中的一些“不可見的”事物轉(zhuǎn)換成“可見的”文字資料。以便管理人員在各個(gè)階段檢查開發(fā)計(jì)劃的實(shí)施進(jìn)展,使之能夠判斷原定目標(biāo)是否已達(dá)到,還將繼續(xù)耗用資源的種類和數(shù)量;c.記錄開發(fā)過程中的技術(shù)信息,便于協(xié)調(diào)以后的軟件開發(fā)、使用和修改;d.提供對(duì)軟件有關(guān)運(yùn)行、維護(hù)和培訓(xùn)的信息,便于管理人員、開發(fā)人員、操作人員和用戶之間相互了解彼此的工作;e.向潛在用戶報(bào)導(dǎo)軟件的功能和性能,使們能判定該軟件能否服務(wù)于自己需要。換言之,本指南認(rèn)為:文件的編制必須適應(yīng)計(jì)算機(jī)軟件整個(gè)生存周期的需要。計(jì)算機(jī)軟件所包含的文件有
46、兩類:一類是開發(fā)過程中填寫的各種圖表,可稱之為工作表格;另一類則是應(yīng)編制的技術(shù)資料或技術(shù)管理資料,可稱之為文件。本指南規(guī)定軟件文件的編制形式,并提供對(duì)這些規(guī)定的解釋。本指南的目的是使得所編制的軟件文件確實(shí)能夠起到軟件文件應(yīng)該發(fā)揮的作用。5.1.2 范圍本指南是一份指導(dǎo)性文件。本指南建議,在一項(xiàng)計(jì)算機(jī)軟件的開發(fā)過程中,一般地說,應(yīng)該產(chǎn)生九種文件。這九種文件是:可行性研究報(bào)告;項(xiàng)目開發(fā)計(jì)劃;軟件需求規(guī)格說明書;概要要求說明書;詳細(xì)設(shè)計(jì)說明書;用戶操作手冊(cè);測(cè)試計(jì)劃;測(cè)試分析報(bào)告;項(xiàng)目開發(fā)總結(jié)報(bào)告。本指南將給出開發(fā)過程中建議產(chǎn)生的這九種文件的編制指導(dǎo),同時(shí),本指南也是這九種文件的編寫質(zhì)量的檢驗(yàn)準(zhǔn)則。
47、但是,本指南并未涉及軟件開發(fā)過程中如何填寫工作表格問題。 5.1.3 文件的使用者對(duì)于使用文件的人員而言,他們所關(guān)心的文件的種類,隨他們所承擔(dān)的工作而異。管理人員:可行性研究報(bào)告,項(xiàng)目開發(fā)計(jì)劃,項(xiàng)目開發(fā)總結(jié)報(bào)告;開發(fā)人員:可行性研究報(bào)告,項(xiàng)目開發(fā)計(jì)劃,軟件需求說明書,概要設(shè)計(jì)說明書,詳細(xì)設(shè)計(jì)說明書,測(cè)試計(jì)劃,測(cè)試分析報(bào)告;維護(hù)人員: 設(shè)計(jì)說明書,測(cè)試分析報(bào)告;用戶: 用戶操作手冊(cè)5.2 文件的編制指導(dǎo)5.2.1 軟件生存周期與各種文件的編制一項(xiàng)計(jì)算機(jī)軟件,從出現(xiàn)一個(gè)構(gòu)思之日起,經(jīng)過這項(xiàng)軟件開發(fā)成功投入使用,直到最后決定停止使用,并被另一項(xiàng)軟件代替之時(shí)止,被認(rèn)為是該軟件的一個(gè)生存周期。一般地說這
48、個(gè)軟件生存周期可以分成以下六個(gè)階段:(1)可行性分析和計(jì)劃階段;(2)需求分析;(3)設(shè)計(jì)階段;(4)實(shí)現(xiàn)階段(編碼和調(diào)試);(5)測(cè)試階段;(6)運(yùn)行和維護(hù);在可行性研究與計(jì)劃階段內(nèi),要確定該軟件的開發(fā)目標(biāo)和總的要求,要進(jìn)行可行性分析、投資收益分析、制訂開發(fā)計(jì)劃,并完成應(yīng)編制的文件。在需求分析階段內(nèi),由系統(tǒng)分析人員對(duì)被設(shè)計(jì)的系統(tǒng)進(jìn)行系統(tǒng)分析,確定對(duì)該軟件的各項(xiàng)功能、性能需求和設(shè)計(jì)約束,確定對(duì)文件編制的要求,作為本階段工作的結(jié)果,一般地說,軟件需求說明書、數(shù)據(jù)要求說明書和初步的用戶操作手冊(cè)應(yīng)該編寫出來。在設(shè)計(jì)階段內(nèi),系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,提出多個(gè)設(shè)計(jì),分析每
49、個(gè)設(shè)計(jì)能履行的功能并進(jìn)行相互比較,最后確定一個(gè)設(shè)計(jì),包括該軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。在被設(shè)計(jì)系統(tǒng)比較復(fù)雜的情況下,設(shè)計(jì)階段應(yīng)分解成概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段兩個(gè)步驟。在一般情況下,應(yīng)完成的文件包括:概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書和測(cè)試計(jì)劃初稿。在實(shí)現(xiàn)階段內(nèi),要完成源程序的編碼、編譯(或匯編)和排錯(cuò)調(diào)試得到無語法錯(cuò)的程序清單,要開始編寫模塊開發(fā)卷宗,并且要完成用戶操作手冊(cè)等面向用戶的文件的編寫工作,還要完成測(cè)試計(jì)劃的編制。在測(cè)試階段,該程序?qū)⒈蝗娴販y(cè)試,已編制的文件將被檢查審閱。一般要完成測(cè)試記錄和測(cè)試分析報(bào)告,作為開發(fā)工作的結(jié)束,所生產(chǎn)的程序、文件以及開發(fā)工作本身將逐項(xiàng)
50、被評(píng)審。在運(yùn)行和維護(hù)階段,軟件將在運(yùn)行使用中不斷地被維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。在項(xiàng)目結(jié)束后,編寫項(xiàng)目總結(jié)報(bào)告。對(duì)于一項(xiàng)軟件而言,其生存周期各階段與各種文件編寫工作的關(guān)系可見表1.1,其中有些文件的編寫工作可能要在若干個(gè)階段中延續(xù)進(jìn)行。表1.1軟件生存周期各階段中的文件編制 階 段文 件可行性研究與計(jì)劃階段需 求 分析 階 段設(shè) 計(jì)階 段實(shí) 現(xiàn)階 段測(cè) 試階 段運(yùn)行與維護(hù) 階 段可行性研究報(bào)告項(xiàng)目開發(fā)計(jì)劃軟件需求說明書測(cè)試計(jì)劃概要設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書用戶操作手冊(cè)測(cè)試分析報(bào)告項(xiàng)目總結(jié)報(bào)告5.2.2 文件編制中的考慮因素文件編制是一個(gè)不斷努力的工作過程。是一個(gè)從形成最初
51、輪廓,經(jīng)反復(fù)檢查和修改,直到程序和文件正式交付使用的完整過程。其中每一步都要求工作人員做出很大努力。要保證文件編制的質(zhì)量,要體現(xiàn)每個(gè)開發(fā)項(xiàng)目的特點(diǎn),也要注意不要花太多的人力。為此,編制中要考慮如下各項(xiàng)因素。5.2.2.1 文件的讀者每一種文件都具有特定的讀者。這些讀者包括個(gè)人或小組、軟件開發(fā)單位的成員或社會(huì)上的公眾、從事軟件工作的技術(shù)人員、管理人員或領(lǐng)導(dǎo)干部。他們期待著使用這些文件的內(nèi)容來進(jìn)行工作,例如設(shè)計(jì)、編寫程序、測(cè)試、使用、維護(hù)或進(jìn)行計(jì)劃管理。因此,這些文件的作者必須了解自己的讀者,這些文件的編寫必須注意適應(yīng)自己的特定讀者的水平、特點(diǎn)和要求。5.2.2.2 重復(fù)性在九種文件的內(nèi)容要求中,
52、顯然存在某些重復(fù)。較明顯的重復(fù)有兩類。引言是每一種文件都要包含的內(nèi)容,以向讀者提供總的梗概。第二類明顯的重復(fù)是各種文件中的說明部分,如對(duì)功能性能的說明、對(duì)輸入和輸出的描述、系統(tǒng)中包含的設(shè)備等。這是為了方便每種文件各自的讀者,每種產(chǎn)品文件應(yīng)該自成體系,盡量避免讀一種文件時(shí)又不得不去參考另一種文件。當(dāng)然,在每一種文件里,有關(guān)引言、說明等同其他文件相重復(fù)的部分,在行文上、在所用的術(shù)語上、在詳細(xì)的程度上,還是應(yīng)該有一些差別,以適應(yīng)各種文件的不同讀者的需要。5.2.2.3 靈活性鑒于軟件開發(fā)是具有創(chuàng)造性的腦力勞動(dòng),也鑒于不同軟件在規(guī)模上和復(fù)雜程度上差別極大,我們認(rèn)為在文件編制工作中應(yīng)允許一定的靈活性。這
53、種靈活性表現(xiàn)在如下各款。5.2.2.3.1 應(yīng)編制的文件種類盡管在一般情況下,一項(xiàng)軟件的開發(fā)過程中,應(yīng)產(chǎn)生的文件有九種, 然而針對(duì)一項(xiàng)具體的軟件開發(fā)項(xiàng)目,有時(shí)不必編制這么多的文件,可以把幾種文件合并成一種。一般地說,當(dāng)項(xiàng)目的規(guī)模、復(fù)雜性和成敗風(fēng)險(xiǎn)增大時(shí),文件編制的范圍、管理手續(xù)和詳細(xì)程度將隨之增加。 為了避免在軟件開發(fā)中文件編制的不足或過分,一個(gè)簡(jiǎn)便的辦法是把對(duì)軟件的編制要求同軟件的規(guī)模大小聯(lián)系起來,這就是本例的出發(fā)點(diǎn)。軟件的規(guī)模不妨分為四級(jí):1.小規(guī)模軟件 源程序行數(shù)小于5000的軟件;2.中規(guī)模軟件 源程序行數(shù)為1000050000的軟件;3.大規(guī)模軟件 源程序行數(shù)為10000050000
54、0的軟件;4.特大規(guī)模軟件 源程序行數(shù)大于500000的軟件。對(duì)上述的四級(jí)軟件的文件編制要求分別列于下表。產(chǎn)品文件體系表小規(guī)模軟件中規(guī)模軟件大規(guī)模軟件特大規(guī)模軟件軟件需求與開發(fā)計(jì)劃項(xiàng)目開發(fā)計(jì)劃軟件需求說明測(cè)試計(jì)劃可行性研究報(bào)告項(xiàng)目開發(fā)計(jì)劃軟件需求說明測(cè)試計(jì)劃對(duì)應(yīng)于大規(guī)模軟件所規(guī)定的文件可進(jìn)一步細(xì)分軟件設(shè)計(jì)說明軟件設(shè)計(jì)說明概要設(shè)計(jì)說明詳細(xì)設(shè)計(jì)說明使用說明使用說明用戶操作手冊(cè)測(cè)試分析報(bào)告測(cè)試分析報(bào)告測(cè)試分析報(bào)告項(xiàng)目開發(fā)總結(jié)項(xiàng)目開發(fā)總結(jié)項(xiàng)目開發(fā)總結(jié)至于源程序行數(shù)為5000100000,50000100000的軟件,其文件編制要求介于兩級(jí)之間,可根據(jù)一個(gè)軟件產(chǎn)品的具體情況,由項(xiàng)目負(fù)責(zé)人參照上表的規(guī)定,
55、確定需要編制的文件種類。對(duì)于源程序行數(shù)大于500000的特大規(guī)模軟件,可進(jìn)一步把本指南規(guī)定的九種文件按實(shí)際需要擴(kuò)展成更多種類,這一點(diǎn)在本手冊(cè)2.3.3已經(jīng)提到。b.對(duì)于一個(gè)具體的應(yīng)用軟件項(xiàng)目,項(xiàng)目負(fù)責(zé)人應(yīng)根據(jù)上述實(shí)施規(guī)定,確定一個(gè)文件編制計(jì)劃,其中包括:(1)應(yīng)該編制哪幾種文件,詳細(xì)程度如何?(2)各個(gè)文件的編制負(fù)責(zé)人和進(jìn)度要求;(3)審查、批準(zhǔn)的負(fù)責(zé)人和時(shí)間進(jìn)度安排;(4)在開發(fā)時(shí)期內(nèi),各文件的維護(hù)、修改和管理的負(fù)責(zé)人,以及批準(zhǔn)手續(xù)。每項(xiàng)工作必須落實(shí)到人。這個(gè)文件編制計(jì)劃是整個(gè)開發(fā)計(jì)劃的重要組成部分;c.有關(guān)的設(shè)計(jì)人員則必須嚴(yán)格執(zhí)行這個(gè)文件編制計(jì)劃。5.2.2.3.2 文件的詳細(xì)程度從同一份提綱起草的文件的篇幅大小往往不同,可以少到幾頁,也可以長(zhǎng)達(dá)幾百頁。對(duì)于這種差別,我們是允許的。從詳細(xì)程度取決于任務(wù)的規(guī)模、復(fù)雜性和項(xiàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國大功率電主軸行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球3D細(xì)胞模型成像和分析系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球無收銀員結(jié)賬解決方案行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025商業(yè)裙房買賣服務(wù)合同
- 銷售合同簽訂流程圖范本年
- 2025經(jīng)濟(jì)合同履約擔(dān)保的法律規(guī)定具體有些
- 蘋果購銷合同書
- 國有股權(quán)轉(zhuǎn)讓合同
- 2025防水合同協(xié)議書范文
- 2025工程施工承包合同備案申報(bào)表(I)
- 慢性腎衰竭的護(hù)理課件
- 二年級(jí)數(shù)學(xué)上冊(cè)口算題100道(全冊(cè)完整)
- 四百字作文格子稿紙(可打印編輯)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 新概念二冊(cè)課文電子版
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評(píng)價(jià)指南
- 零件的工藝分析及毛坯選擇
- 三筆字講座(完整版)
評(píng)論
0/150
提交評(píng)論