![項(xiàng)目指導(dǎo)書(shū)(第一學(xué)期).doc_第1頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/16/5d751a38-8688-4344-b4a9-d47d0aac21d9/5d751a38-8688-4344-b4a9-d47d0aac21d91.gif)
![項(xiàng)目指導(dǎo)書(shū)(第一學(xué)期).doc_第2頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/16/5d751a38-8688-4344-b4a9-d47d0aac21d9/5d751a38-8688-4344-b4a9-d47d0aac21d92.gif)
![項(xiàng)目指導(dǎo)書(shū)(第一學(xué)期).doc_第3頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/16/5d751a38-8688-4344-b4a9-d47d0aac21d9/5d751a38-8688-4344-b4a9-d47d0aac21d93.gif)
![項(xiàng)目指導(dǎo)書(shū)(第一學(xué)期).doc_第4頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/16/5d751a38-8688-4344-b4a9-d47d0aac21d9/5d751a38-8688-4344-b4a9-d47d0aac21d94.gif)
![項(xiàng)目指導(dǎo)書(shū)(第一學(xué)期).doc_第5頁(yè)](http://file.renrendoc.com/FileRoot1/2020-1/16/5d751a38-8688-4344-b4a9-d47d0aac21d9/5d751a38-8688-4344-b4a9-d47d0aac21d95.gif)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄 項(xiàng)目案例1應(yīng)用場(chǎng)景1項(xiàng)目基本需求描述1項(xiàng)目運(yùn)行環(huán)境2文檔范例4開(kāi)發(fā)文檔5項(xiàng)目任務(wù)書(shū)5項(xiàng)目進(jìn)展報(bào)告(每個(gè)階段提交一份報(bào)告)5個(gè)人變更記錄5用戶界面檢查表6軟件總體設(shè)計(jì)文檔8測(cè)試計(jì)劃11測(cè)試報(bào)告12Java編碼規(guī)范131 介紹(Introduction)132 文件名(File Names)133 文件組織(File Organization)144 縮進(jìn)排版(Indentation)155 注釋(Comments)176 聲明(Declarations)207 語(yǔ)句(Statements)228 空白(White Space)259 命名規(guī)范(Naming Conventions)2610 編程慣例(Programming Practices)2711 代碼范例(Code Examples)29項(xiàng)目案例 應(yīng)用場(chǎng)景 當(dāng)今社會(huì),網(wǎng)絡(luò)技術(shù)越來(lái)越發(fā)展,可以說(shuō),二十一世紀(jì)就是網(wǎng)絡(luò)的世紀(jì)。網(wǎng)絡(luò)迅猛發(fā)展,勢(shì)不可擋。為了實(shí)現(xiàn)資源共享,各式各樣的網(wǎng)站發(fā)展迅速,各種各樣的聊天工具不斷更新。某公司希望通過(guò)一個(gè)聊天工具加強(qiáng)員工和客戶之間的溝通和交流。所以制作一個(gè)聊天室勢(shì)在必行。為了實(shí)現(xiàn)一個(gè)更好的網(wǎng)絡(luò)交互平臺(tái),各用戶之間能夠?qū)崟r(shí)方便的傳遞信息,按照用戶對(duì)系統(tǒng)的要求不同,可以在聊天室里實(shí)現(xiàn)公共聊天,也可以邀幾個(gè)私交好友私聊,同時(shí)提供了兩個(gè)用戶之間能夠傳送文件。本系統(tǒng)是基于方便用戶聊天,傳遞信息,共享資源,所以系統(tǒng)的功能主要是從以上幾個(gè)模塊著手。本項(xiàng)目主要是利用JAVA語(yǔ)言制作一個(gè)聊天室,采用的是客戶/服務(wù)器. 二層的C/S結(jié)構(gòu)是指以單一的服務(wù)器和局域網(wǎng)為核心,能通過(guò)客戶端與用戶進(jìn)行直接對(duì)話。主要有二大功能:一是它用于檢查用戶從鍵盤(pán)等輸入的數(shù)據(jù),顯示應(yīng)用輸出的數(shù)據(jù)。為使用戶能直觀地進(jìn)行操作,一般要使用圖形用戶接口(GUI),操作簡(jiǎn)單、易學(xué)易用。在變更用戶接口時(shí),只需改寫(xiě)顯示控制和數(shù)據(jù)檢查程序,而不影響其他。檢查的內(nèi)容也只限于數(shù)據(jù)的形式和值的范圍,不包括有關(guān)業(yè)務(wù)本身的處理邏輯。典型的C/S結(jié)構(gòu)有以下特點(diǎn):1、服務(wù)器負(fù)責(zé)數(shù)據(jù)管理及程序處理2、客戶機(jī)負(fù)責(zé)界面描述和界面顯示3、客戶機(jī)向服務(wù)器提出處理要求4、服務(wù)器響應(yīng)將處理結(jié)果返回客戶機(jī)5、使網(wǎng)絡(luò)數(shù)據(jù)流量最少。項(xiàng)目基本需求描述 根據(jù)上面的項(xiàng)目背景,擬定以下的一些功能需求。1. 用戶注冊(cè) 2. 用戶登錄3. 在線用戶列表4. 用戶公聊5. 用戶私聊6. 文件傳遞擴(kuò)展功能(如果完整實(shí)現(xiàn)一個(gè)擴(kuò)展功能,適當(dāng)加分):1 可以切換不同的界面風(fēng)格2 用戶可以更改個(gè)人資料,尋找密碼3 表情聊天4 IP地址顯示n 用戶注冊(cè)第一次用戶需要提供個(gè)人注冊(cè)信息,注冊(cè)的用戶名不能重復(fù),密碼長(zhǎng)度不能少于6位,個(gè)人信息必須提供完整,并且存儲(chǔ)在數(shù)據(jù)庫(kù)中。n 用戶登錄用戶輸入用戶名和密碼,提交給將服務(wù)器端的確認(rèn),根據(jù)從服務(wù)器中傳過(guò)來(lái)的確認(rèn)信息,判斷用戶登錄的情況。如果用戶名和密碼正確的話,則登錄聊天室主界面;如果已經(jīng)在線,則輸出已經(jīng)在線;否則輸出用戶名和密碼錯(cuò)誤,需要重新登錄或者注冊(cè)。n 在線用戶列表用戶登錄之后,需要知道系統(tǒng)中,有哪些用戶在線,這樣可以方便用戶選擇與個(gè)別用戶私聊和傳送文件,也可以進(jìn)行公聊。n 用戶公聊用戶輸入的用戶名和密碼都正確后,則進(jìn)入聊天室。聊天主界面主要由四大版塊組成:聊天信息、在線用戶列表、系統(tǒng)消息和聊天的一些操作。聊天信息版塊設(shè)計(jì)思想:一種就是將客戶的聊天信息寫(xiě)入數(shù)據(jù)庫(kù),一種是將其寫(xiě)入向量中。n 用戶私聊如果兩個(gè)人聊的話題比較隱秘,不想被其他人看到,就要使用私聊。在這里,如果說(shuō)話對(duì)象是所有人的話,不能選擇私聊;如果從當(dāng)前用戶列表中選擇了一個(gè)用戶之后,則私聊按鈕是可選的。n 文件傳遞兩個(gè)用戶在聊天過(guò)程中,可能需要相互間傳送文件。象用戶聊天信息和在線用戶這樣一些信息都是保存在服務(wù)器端,然后每個(gè)客戶讀取服務(wù)器端向量中的內(nèi)容,此時(shí)服務(wù)器與客戶端的聯(lián)系是一對(duì)多的,而傳送文件是一對(duì)一的。所以直接傳送,不需要經(jīng)過(guò)服務(wù)器端保存。項(xiàng)目運(yùn)行環(huán)境 服務(wù)器軟硬件要求(最低配置)軟件:Windows 2000及以上TCP/IP協(xié)議硬件:CPU: P及以上 內(nèi)存:128M硬盤(pán):4G以上客戶機(jī)軟硬件要求軟件:Windows 98/ME/2000及以上TCP/IP協(xié)議硬件:CPU: P及以上內(nèi)存:最少128M硬盤(pán):4G以上文檔范例 n 文檔文檔是計(jì)算機(jī)編程最重要的方面之一。大多數(shù)已經(jīng)完成了程序編寫(xiě)、測(cè)試和實(shí)現(xiàn)的程序員獲得解脫般太過(guò)著急地進(jìn)入下一個(gè)項(xiàng)目。另一方面,程序用戶抱怨文檔老是不完整、不精確或者不正確。僅由程序作者調(diào)試程序的情況很少。如果程序沒(méi)有輸入/輸出要求、如何執(zhí)行程序、特定部分的代碼做什么之類的詳細(xì)信息,那么其他用戶就很難進(jìn)行程序調(diào)試。因此文檔的目的就是要指導(dǎo)用戶全面了解程序以及如何正確使用它。文檔應(yīng)在哪個(gè)階段書(shū)寫(xiě)呢?大多數(shù)情況是在項(xiàng)目結(jié)束時(shí)才補(bǔ)上的。結(jié)果,文檔就是些倉(cāng)促的注解列表,再加上很少的程序運(yùn)行指導(dǎo)。這個(gè)層次所提供的信息不充分,因此項(xiàng)目間的單元測(cè)試和檢查的想法將有助于制定一份有效和有用的文檔。n 程序文檔維護(hù)計(jì)算機(jī)程序的主要原因有兩個(gè)。第一個(gè)是由于我們沒(méi)有能力寫(xiě)出完全沒(méi)有錯(cuò)誤的大型程序所產(chǎn)生的后果;也就是程序bug的定位和改正。錯(cuò)誤檢測(cè)在許多情況下是一個(gè)貫徹程序整個(gè)生命周期的過(guò)程。大多數(shù)錯(cuò)誤在正式的調(diào)試和測(cè)試過(guò)程中被發(fā)現(xiàn)和改正,然后才認(rèn)為程序完成了。第二個(gè)原因是修改現(xiàn)有程序以適應(yīng)規(guī)范的改變。必須修改程序才能滿足不斷變化的用戶需求,才能對(duì)程序進(jìn)行完善。要滿足程序文檔標(biāo)準(zhǔn),保留用指定詳細(xì)信息更新過(guò)的每個(gè)單元的注釋頁(yè)對(duì)程序員而言非常有用,這使得項(xiàng)目文檔任務(wù)變得非常容易。n 項(xiàng)目文檔文檔是團(tuán)隊(duì)工作的一個(gè)重要方面。對(duì)于將可重用性作為首要益處的面向?qū)ο蠓椒ǘ愿侨绱?。?chuàng)建者對(duì)一個(gè)通用類所作的任何修改應(yīng)該立即寫(xiě)入文檔,這樣該類的用戶就能注意到。應(yīng)對(duì)文檔進(jìn)行更好的文字處理和適當(dāng)歸檔。文檔結(jié)構(gòu)應(yīng)該包括:n 封面頁(yè),應(yīng)具有項(xiàng)目名稱、項(xiàng)目小組成員名字及他們的批號(hào)和注冊(cè)號(hào)、提交日期、總頁(yè)數(shù)(每頁(yè)文檔都要有頁(yè)碼)。n 問(wèn)題陳述的簡(jiǎn)要描述。n 分析和設(shè)計(jì),這需要E/R圖、類定義和具有有意義字段名的表結(jié)構(gòu)。n 用于測(cè)試的樣本數(shù)據(jù)和程序清單。所有這些信息以及新的程序描述和任何有益于程序理解的其它注釋都應(yīng)整理并添加到文檔文件中,這樣就能對(duì)接管該程序或項(xiàng)目且必須重新理解其工作機(jī)制的其他人提供幫助。n 參見(jiàn)文檔范例開(kāi)發(fā)文檔 項(xiàng)目任務(wù)書(shū) Java聊天室系統(tǒng)項(xiàng)目的任務(wù)進(jìn)度計(jì)劃任務(wù)名稱工作人員工作時(shí)間任務(wù)描述需求分析開(kāi)發(fā)組2007年7月29日2007年7月31日根據(jù)用戶提出的需求,制訂比較詳細(xì)的需求分析報(bào)告文檔系統(tǒng)設(shè)計(jì)開(kāi)發(fā)組2007年8月1日2007年8月4日項(xiàng)目進(jìn)展報(bào)告(每個(gè)階段提交一份報(bào)告) 項(xiàng)目進(jìn)展報(bào)告項(xiàng)目名稱Java聊天室系統(tǒng)項(xiàng)目經(jīng)理報(bào)告名稱需求分析報(bào)告項(xiàng)目所處階段需求分析階段時(shí)間段2007年7月29日2007年7月31日工作總結(jié)經(jīng)過(guò)項(xiàng)目組的詳細(xì)分析和討論,確定主要功能需求如下:用戶注冊(cè) 用戶登錄在線用戶列表用戶公聊用戶私聊文件傳遞問(wèn)題與對(duì)策1. 問(wèn)題:文件傳送通過(guò)點(diǎn)對(duì)點(diǎn)還是通過(guò)服務(wù)器中轉(zhuǎn)。 對(duì)策:文件傳送通過(guò)點(diǎn)對(duì)點(diǎn)。 原因:個(gè)人變更記錄 個(gè)人變更記錄所屬項(xiàng)目變更標(biāo)題變更內(nèi)容說(shuō)明變更內(nèi)容以及相關(guān)技術(shù)。執(zhí)行人日期用戶界面檢查表 用戶界面檢查表設(shè)計(jì)要素重要性檢查項(xiàng)適合于檢查結(jié)果合適性非常重要用戶界面是否與軟件的功能相融洽?用戶界面是否適合于用戶的應(yīng)用環(huán)境?解釋:如果否定的話,意味著用戶不能有效地使用這個(gè)軟件,是不可原諒的缺陷。這個(gè)缺陷是需求分析錯(cuò)誤造成的。評(píng)審測(cè)試容易理解非常重要(1)界面元素有錯(cuò)別字,或者措詞含糊、邏輯混亂。(2)消息框的提示文字和按鈕在語(yǔ)義上不連貫。(3)確認(rèn)消息框、告警消息框、通知消息框、過(guò)程消息框的風(fēng)格混淆在一起。解釋:如果出現(xiàn)如此低級(jí)的缺陷,說(shuō)明開(kāi)發(fā)人員根本沒(méi)有把用戶界面放在心上,用戶很反感這種不敬業(yè)的態(tài)度。是不可原諒的缺陷。評(píng)審測(cè)試重要(1) 對(duì)于常用的功能,用戶能否不必閱讀手冊(cè)就能使用嗎?(2) 是否所有界面元素提供了充分而必要的提示?(3) 界面結(jié)構(gòu)和工作流程匹配嗎?(4) 提供聯(lián)機(jī)幫助嗎?解釋:如果實(shí)現(xiàn)上述要求,說(shuō)明界面的細(xì)節(jié)做得很好。評(píng)審測(cè)試及時(shí)反饋信息重要(1) 是否提供進(jìn)度條、動(dòng)畫(huà)等反映正在進(jìn)行的比較耗時(shí)間的過(guò)程?(2) 是否為重要的操作返回必要的結(jié)果信息?解釋:如果否定的話,說(shuō)明用戶界面不夠?qū)I(yè)。測(cè)試防錯(cuò)處理非常重要(1) 執(zhí)行破壞性的操作之前,是否獲得用戶的確認(rèn)?(2) 輸入數(shù)據(jù)或者遞交數(shù)據(jù)時(shí),是否進(jìn)行相應(yīng)的數(shù)據(jù)校驗(yàn)(檢查數(shù)據(jù)是否合法)(3) 是否根據(jù)用戶的權(quán)限自動(dòng)隱藏或者禁用某些功能?解釋:如果否定的話,說(shuō)明開(kāi)發(fā)人員沒(méi)有防錯(cuò)處理的常識(shí),是不可原諒的缺陷。測(cè)試可選是否提供Undo功能用以撤銷不期望的操作?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明界面的細(xì)節(jié)做得很好。測(cè)試一致性重要(1) 同類的界面元素是否有相同的視感和相同的操作方式?(2) 是否符合廣大用戶使用同類軟件的習(xí)慣?解釋:如果否定的話,說(shuō)明用戶界面不夠?qū)I(yè)。評(píng)審測(cè)試個(gè)性化可選是否在具備必要的“一致性”的前提下,設(shè)計(jì)了與眾不同的、讓用戶記憶深刻的界面?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明界面很有創(chuàng)意。評(píng)審測(cè)試合理布局可選(1) 界面的布局符合軟件的功能邏輯嗎?(2) 界面元素是否在水平或者垂直方向?qū)R?(3) 界面元素的尺寸是否合理?行、列的間距是否保持一致?(4) 是否恰當(dāng)?shù)乩么绑w和控件的空白,以及分割線條?(5) 窗口切換、移動(dòng)、改變大小時(shí),界面正常嗎?解釋:如果否定的話,說(shuō)明用戶界面不夠?qū)I(yè)。評(píng)審測(cè)試合理色彩重要(1) 界面的色調(diào)是否讓人感到和諧、滿意?(2) 重要的對(duì)象是否用醒目的色彩表示?(3) 色彩使用是否符合行業(yè)的習(xí)慣?(4) 是否可以讓色盲、色弱人員使用?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明界面細(xì)節(jié)很好。評(píng)審測(cè)試適應(yīng)用戶群體可選(1) 初學(xué)者和專家都有合適的方式操作這個(gè)界面嗎?(2) 色盲或者色弱的用戶能正常使用該界面嗎?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明界面細(xì)節(jié)很好。測(cè)試國(guó)際化重要(1) 度量單位、日期格式、人的名字等是否讓用戶誤解?(2) 翻譯文字是否地道,是否符合讀者習(xí)慣?評(píng)審測(cè)試最少步驟最高效率重要是否用合理的最少步驟實(shí)現(xiàn)常用的操作,獲得高效率?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明界面細(xì)節(jié)很好。測(cè)試可復(fù)用重要用戶界面的原型、代碼、文檔是否可以被復(fù)用?解釋:如果實(shí)現(xiàn)該要求,說(shuō)明軟件的需求分析、設(shè)計(jì)、實(shí)現(xiàn)做得很好。開(kāi)發(fā)團(tuán)隊(duì)內(nèi)部評(píng)估軟件總體設(shè)計(jì)文檔 0. 文檔介紹0.1 文檔目的與范圍編寫(xiě)該文檔的目的在于明確java聊天系統(tǒng)的用戶需求,使得軟件開(kāi)發(fā)人員與用戶對(duì)待開(kāi)發(fā)軟件的需求有統(tǒng)一的、無(wú)二義性的認(rèn)識(shí)。該文檔所描述的內(nèi)容,可作為軟件確認(rèn)測(cè)試的依據(jù)。該文檔的讀者為用戶代表、軟件分析人員、開(kāi)發(fā)管理人員和測(cè)試人員。0.2 讀者對(duì)象閱讀對(duì)象:一般大眾0.3 參考文獻(xiàn)提示:列出本文檔的所有參考文獻(xiàn)(可以是非正式出版物),格式如下:標(biāo)識(shí)符 作者,文獻(xiàn)名稱,出版單位(或歸屬單位),日期參見(jiàn)java聊天室系統(tǒng)需求說(shuō)明書(shū)0.4 術(shù)語(yǔ)與縮寫(xiě)解釋縮寫(xiě)、術(shù)語(yǔ)解 釋1. 系統(tǒng)概述提示:(1)說(shuō)明本系統(tǒng)“是什么”,(2)描述本系統(tǒng)的主要功能。 java聊天室系統(tǒng)是一個(gè)基于客戶機(jī)/服務(wù)器結(jié)構(gòu)的兩層的聊天室系統(tǒng),客戶端(前臺(tái))包括用戶注冊(cè),用戶登錄,多人聊天,私聊,發(fā)送附件,傳送文件等,采用JAVA編寫(xiě)代碼,服務(wù)端(后臺(tái))進(jìn)行對(duì)客戶端信息的各種處理,并使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)。2. 設(shè)計(jì)約束提示:(1)需求約束。體系結(jié)構(gòu)設(shè)計(jì)人員從需求文檔(如用戶需求說(shuō)明書(shū)和軟件需求規(guī)格說(shuō)明書(shū))中提取需求約束,例如: 本系統(tǒng)應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范 軟件、硬件環(huán)境(包括運(yùn)行環(huán)境和開(kāi)發(fā)環(huán)境)的約束 接口/協(xié)議的約束 用戶界面的約束 軟件質(zhì)量的約束,如正確性、健壯性、可靠性、效率(性能)、易用性、清晰性、安全性、可擴(kuò)展性、兼容性、可移植性等等。(2)隱含約束。有一些假設(shè)或依賴并沒(méi)有在需求文檔中明確指出,但可能會(huì)對(duì)系統(tǒng)設(shè)計(jì)產(chǎn)生影響,設(shè)計(jì)人員應(yīng)當(dāng)盡可能地在此處說(shuō)明。例如對(duì)用戶教育程度、計(jì)算機(jī)技能的一些假設(shè)或依賴,對(duì)支撐本系統(tǒng)的軟件硬件的假設(shè)或依賴等。3. 開(kāi)發(fā)與運(yùn)行環(huán)境提示:說(shuō)明本系統(tǒng)應(yīng)當(dāng)在什么樣的環(huán)境下開(kāi)發(fā)和運(yùn)行,有什么強(qiáng)制要求和建議?類別標(biāo)準(zhǔn)配置最低配置開(kāi)發(fā)環(huán)境測(cè)試環(huán)境運(yùn)行環(huán)境4. 軟件的總體設(shè)計(jì)提示: (1)將系統(tǒng)分解為若干子系統(tǒng),繪制各種結(jié)構(gòu)圖(例如層次結(jié)構(gòu)圖、數(shù)據(jù)流圖),說(shuō)明各子系統(tǒng)的主要功能。(盡可能簡(jiǎn)單明了,但是能夠闡述清楚系統(tǒng)的結(jié)構(gòu))。(2)說(shuō)明“如何”以及“為什么”(how and why)如此分解系統(tǒng)。(3)說(shuō)明各子系統(tǒng)如何協(xié)調(diào)工作,從而實(shí)現(xiàn)原系統(tǒng)的功能。4.1 結(jié)構(gòu)圖A在確定本系統(tǒng)的基本結(jié)構(gòu)后,本系統(tǒng)劃分的五個(gè)子模塊的功能如下: 注冊(cè)模塊 提交用戶注冊(cè)信息給服務(wù)器,將服務(wù)器返回的結(jié)果顯示給用戶; 登錄模塊 提交用戶登錄信息給服務(wù)器;根據(jù)服務(wù)器返回的結(jié)果決定用戶是否可以登錄; 聊天實(shí)現(xiàn)模塊 發(fā)送消息,附件,文件等信息給服務(wù)器,接收服務(wù)端發(fā)來(lái)的信息進(jìn)行相應(yīng)處理。 后臺(tái)服務(wù)模塊接收客房端發(fā)來(lái)的各種信息,進(jìn)行相應(yīng)的處理。 數(shù)據(jù)庫(kù)模塊 響應(yīng)服務(wù)器的指令對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種查詢或更新操作,將結(jié)果返回給服務(wù)器。5. 軟件體系的面向?qū)ο笤O(shè)計(jì)5.1用例圖5.2 類圖類圖一: 注冊(cè) 類圖二:登錄 類圖三:聊天 6. 數(shù)據(jù)庫(kù)設(shè)計(jì)概述6.1 數(shù)據(jù)庫(kù)環(huán)境說(shuō)明提示: 說(shuō)明所采用的數(shù)據(jù)庫(kù)系統(tǒng),設(shè)計(jì)工具,編程工具,有關(guān)配置等6.2 數(shù)據(jù)庫(kù)命名規(guī)則提示:說(shuō)明表、字段等命名規(guī)則6.3 安全性設(shè)計(jì)說(shuō)明提示:考慮用戶密碼、訪問(wèn)權(quán)限等等E/R圖6.4 表匯總因?yàn)橄到y(tǒng)只需要一張用戶記錄表,所以定義了一個(gè)數(shù)據(jù)庫(kù)User,在庫(kù)中定義了一張表customer,用來(lái)存貯用戶信息,以驗(yàn)證用戶登錄和記錄用戶注冊(cè).l 定義用戶信息表(customer)字段數(shù)據(jù)類型長(zhǎng)度能否為空cNamechar10NOT NULLcSexchar30NOT NULLcJobchar20NULLcPasswordchar20NOT NULLvQuestionvarchar20NOT NULLvAnswervarchar30NULLcE_mailchar20NULL7. 用戶界面設(shè)計(jì)概述提示:說(shuō)明界面設(shè)計(jì)要素,注意事項(xiàng),界面原型等。1、注冊(cè)界面控制條件值預(yù)期結(jié)果實(shí)際結(jié)果結(jié)論整理按鈕“Register”表中沒(méi)有同一被點(diǎn)擊插入表中按鈕“ReWrite”None被點(diǎn)擊清除內(nèi)容按鈕“GoOut”None被點(diǎn)擊退出2、登陸界面控制條件值預(yù)期結(jié)果實(shí)際結(jié)果結(jié)論整理按鈕”Enter”表中存在并且PassWord正確被點(diǎn)擊進(jìn)入聊天室,并且名字顯示在標(biāo)題上按鈕”Register”None被點(diǎn)擊進(jìn)入注冊(cè)界面按鈕”ReWrite”None被點(diǎn)擊清除所填內(nèi)容按鈕”GoOut”None被點(diǎn)擊退出8. 綜合考慮8.1 穩(wěn)定性和可擴(kuò)展性提示:在“軟件”生命周期內(nèi),判斷哪些需求是不變的,預(yù)測(cè)哪些需求可能發(fā)生的變化。在總體設(shè)計(jì)的時(shí)候,既要使總體結(jié)構(gòu)穩(wěn)定,又要適應(yīng)需求變化。8.2 性能分析提示:(1)本系統(tǒng)應(yīng)當(dāng)具備哪些性能指標(biāo)才能滿足用戶的需求?(2)如何實(shí)現(xiàn)性能指標(biāo)?8.3 復(fù)用和移植提示:(1)本系統(tǒng)復(fù)用了什么東西(說(shuō)明出處)?如何解決被復(fù)用成果的質(zhì)量問(wèn)題?(2)本系統(tǒng)中哪些東西是可以被將來(lái)的系統(tǒng)復(fù)用的?有什么構(gòu)思?(3)如何使本系統(tǒng)的功能代碼和用戶界面代碼區(qū)分開(kāi)來(lái)8.4 防錯(cuò)與出錯(cuò)處理提示:(1)如何預(yù)防系統(tǒng)出錯(cuò)?(2)如果系統(tǒng)出錯(cuò)了,如何處理以減少危害?8.5 其它測(cè)試計(jì)劃 1. 測(cè)試范圍提示:系統(tǒng)測(cè)試小組應(yīng)當(dāng)根據(jù)項(xiàng)目的特征確定測(cè)試類型和主要內(nèi)容。一般地,系統(tǒng)測(cè)試的主要類型包括功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性(security)測(cè)試、安裝與反安裝測(cè)試等。測(cè)試類型測(cè)試內(nèi)容、描述2. 測(cè)試方法提示:例如黑盒測(cè)試和白盒測(cè)試,解說(shuō)方法。3. 測(cè)試環(huán)境與測(cè)試輔助工具測(cè)試環(huán)境測(cè)試輔助工具4. 測(cè)試完成準(zhǔn)則提示:對(duì)于非嚴(yán)格系統(tǒng)可以采用“基于測(cè)試用例”的準(zhǔn)則: (1)功能性測(cè)試用例通過(guò)率達(dá)到100;(2)非功能性測(cè)試用例通過(guò)率達(dá)到95時(shí)。對(duì)于嚴(yán)格系統(tǒng),應(yīng)當(dāng)補(bǔ)充“基于缺陷密度”的規(guī)則:(3)相鄰n個(gè)CPU小時(shí)內(nèi)“測(cè)試期缺陷密度”全部低于某個(gè)值m。例如n大于10,m小于等于1。5. 人員與任務(wù)表任務(wù)描述時(shí)間人員6. 問(wèn)題與對(duì)策7. 本計(jì)劃審批意見(jiàn)提示:如果公司有測(cè)試經(jīng)理的話,本計(jì)劃需要測(cè)試經(jīng)理的審批。項(xiàng)目經(jīng)理審批意見(jiàn):測(cè)試經(jīng)理審批意見(jiàn):測(cè)試報(bào)告 測(cè)試報(bào)告項(xiàng)目名稱Java聊天室系統(tǒng)測(cè)試任務(wù)描述用戶注冊(cè)功能測(cè)試人員張三測(cè)試時(shí)間2007-8-07測(cè)試環(huán)境和工具Windows XP測(cè)試用例或測(cè)試內(nèi)容結(jié)果說(shuō)明用戶名長(zhǎng)度小于6位(1)無(wú)bug(2)發(fā)現(xiàn)bug (3)已消除bug未對(duì)用戶名做長(zhǎng)度檢查測(cè)試總結(jié)Java編碼規(guī)范 1 介紹(Introduction) n 為什么要有編碼規(guī)范(Why Have Code Conventions)編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原因:- 一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù)- 幾乎沒(méi)有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開(kāi)發(fā)人員來(lái)維護(hù)- 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼- 如果你將源碼作為產(chǎn)品發(fā)布,就需要確任它是否被很好的打包并且清晰無(wú)誤,一如你已構(gòu)建的其它任何產(chǎn)品 為了執(zhí)行規(guī)范,每個(gè)軟件開(kāi)發(fā)人員必須一致遵守編碼規(guī)范。每個(gè)人。n 1.2 版權(quán)聲明(Acknowledgments)本文檔反映的是Sun MicroSystems公司,Java語(yǔ)言規(guī)范中的編碼標(biāo)準(zhǔn)部分。主要貢獻(xiàn)者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel。本文檔現(xiàn)由Scott Hommel維護(hù),有關(guān)評(píng)論意見(jiàn)請(qǐng)發(fā)至2 文件名(File Names) 這部分列出了常用的文件名及其后綴。n 2.1 文件后綴(File Suffixes)Java程序使用下列文件后綴:文件類別文件后綴Java源文件.javaJava字節(jié)碼文件.classn 2.2 常用文件名(Common File Names)常用的文件名包括:文件名用途GNUmakefilemakefiles的首選文件名。我們采用gnumake來(lái)創(chuàng)建(build)軟件。README概述特定目錄下所含內(nèi)容的文件的首選文件名3 文件組織(File Organization) 一個(gè)文件由被空行分割而成的段落以及標(biāo)識(shí)每個(gè)段落的可選注釋共同組成。超過(guò)2000行的程序難以閱讀,應(yīng)該盡量避免。“Java源文件范例”提供了一個(gè)布局合理的Java程序范例。n 3.1 Java源文件(Java Source Files)每個(gè)Java源文件都包含一個(gè)單一的公共類或接口。若私有類和接口與一個(gè)公共類相關(guān)聯(lián),可以將它們和公共類放入同一個(gè)源文件。公共類必須是這個(gè)文件中的第一個(gè)類或接口。Java源文件還遵循以下規(guī)則:- 開(kāi)頭注釋(參見(jiàn)“開(kāi)頭注釋”)- 包和引入語(yǔ)句(參見(jiàn)“包和引入語(yǔ)句”)- 類和接口聲明(參見(jiàn)“類和接口聲明”) 3.1.1 開(kāi)頭注釋(Beginning Comments)所有的源文件都應(yīng)該在開(kāi)頭有一個(gè)C語(yǔ)言風(fēng)格的注釋,其中列出類名、版本信息、日期和版權(quán)聲明: /* * Classname * * Version information * * Date * * Copyright notice */ 3.1.2 包和引入語(yǔ)句(Package and Import Statements)在多數(shù)Java源文件中,第一個(gè)非注釋行是包語(yǔ)句。在它之后可以跟引入語(yǔ)句。例如: package java.awt; import java.awt.peer.CanvasPeer; 3.1.3 類和接口聲明(Class and Interface Declarations)下表描述了類和接口聲明的各個(gè)部分以及它們出現(xiàn)的先后次序。參見(jiàn)“Java源文件范例”中一個(gè)包含注釋的例子。類/接口聲明的各部分注解1類/接口文檔注釋(/*/)該注釋中所需包含的信息,參見(jiàn)“文檔注釋”2類或接口的聲明3類/接口實(shí)現(xiàn)的注釋(/*/)如果有必要的話該注釋?xiě)?yīng)包含任何有關(guān)整個(gè)類或接口的信息,而這些信息又不適合作為類/接口文檔注釋。4類的(靜態(tài))變量首先是類的公共變量,隨后是保護(hù)變量,再后是包一級(jí)別的變量(沒(méi)有訪問(wèn)修飾符,access modifier),最后是私有變量。5實(shí)例變量首先是公共級(jí)別的,隨后是保護(hù)級(jí)別的,再后是包一級(jí)別的(沒(méi)有訪問(wèn)修飾符),最后是私有級(jí)別的。6構(gòu)造器7方法這些方法應(yīng)該按功能,而非作用域或訪問(wèn)權(quán)限,分組。例如,一個(gè)私有的類方法可以置于兩個(gè)公有的實(shí)例方法之間。其目的是為了更便于閱讀和理解代碼。4 縮進(jìn)排版(Indentation) 4個(gè)空格常被作為縮進(jìn)排版的一個(gè)單位。縮進(jìn)的確切解釋并未詳細(xì)指定(空格 vs. 制表符)。一個(gè)制表符等于8個(gè)空格(而非4個(gè))。n 4.1 行長(zhǎng)度(Line Length)盡量避免一行的長(zhǎng)度超過(guò)80個(gè)字符,因?yàn)楹芏嘟K端和工具不能很好處理之。注意:用于文檔中的例子應(yīng)該使用更短的行長(zhǎng),長(zhǎng)度一般不超過(guò)70個(gè)字符。n 4.2 換行(Wrapping Lines)當(dāng)一個(gè)表達(dá)式無(wú)法容納在一行內(nèi)時(shí),可以依據(jù)如下一般規(guī)則斷開(kāi)之:- 在一個(gè)逗號(hào)后面斷開(kāi)- 在一個(gè)操作符前面斷開(kāi)- 寧可選擇較高級(jí)別(higher-level)的斷開(kāi),而非較低級(jí)別(lower-level)的斷開(kāi)- 新的一行應(yīng)該與上一行同一級(jí)別表達(dá)式的開(kāi)頭處對(duì)齊- 如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn)8個(gè)空格。 以下是斷開(kāi)方法調(diào)用的一些例子: someMethod(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5); var = someMethod1(longExpression1, someMethod2(longExpression2, longExpression3); 以下是兩個(gè)斷開(kāi)算術(shù)表達(dá)式的例子。前者更好,因?yàn)閿嚅_(kāi)處位于括號(hào)表達(dá)式的外邊,這是個(gè)較高級(jí)別的斷開(kāi)。 longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6; /PREFFER longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6; /AVOID 以下是兩個(gè)縮進(jìn)方法聲明的例子。前者是常規(guī)情形。后者若使用常規(guī)的縮進(jìn)方式將會(huì)使第二行和第三行移得很靠右,所以代之以縮進(jìn)8個(gè)空格 /CONVENTIONAL INDENTATION someMethod(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) . /INDENT 8 SPACES TO AVOID VERY DEEP INDENTS private static synchronized horkingLongMethodName(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) . if語(yǔ)句的換行通常使用8個(gè)空格的規(guī)則,因?yàn)槌R?guī)縮進(jìn)(4個(gè)空格)會(huì)使語(yǔ)句體看起來(lái)比較費(fèi)勁。比如: /DONT USE THIS INDENTATION if (condition1 & condition2) | (condition3 & condition4) |!(condition5 & condition6) /BAD WRAPS doSomethingAboutIt(); /MAKE THIS LINE EASY TO MISS /USE THIS INDENTATION INSTEAD if (condition1 & condition2) | (condition3 & condition4) |!(condition5 & condition6) doSomethingAboutIt(); /OR USE THIS if (condition1 & condition2) | (condition3 & condition4) |!(condition5 & condition6) doSomethingAboutIt(); 這里有三種可行的方法用于處理三元運(yùn)算表達(dá)式: alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; 5 注釋(Comments) Java程序有兩類注釋: 實(shí)現(xiàn)注釋(implementation comments) 文檔注釋(document comments)實(shí)現(xiàn)注釋是那些在C+中見(jiàn)過(guò)的,使用/*.*/和/界定的注釋。文檔注釋(被稱為“doc comments”)是Java獨(dú)有的,并由/*.*/界定。文檔注釋可以通過(guò)javadoc工具轉(zhuǎn)換成HTML文件。實(shí)現(xiàn)注釋用以注釋代碼或者實(shí)現(xiàn)細(xì)節(jié)。文檔注釋從實(shí)現(xiàn)自由(implementation-free)的角度描述代碼的規(guī)范。它可以被那些手頭沒(méi)有源碼的開(kāi)發(fā)人員讀懂。注釋?xiě)?yīng)被用來(lái)給出代碼的總括,并提供代碼自身沒(méi)有提供的附加信息。注釋?xiě)?yīng)該僅包含與閱讀和理解程序有關(guān)的信息。例如,相應(yīng)的包如何被建立或位于哪個(gè)目錄下之類的信息不應(yīng)包括在注釋中。在注釋里,對(duì)設(shè)計(jì)決策中重要的或者不是顯而易見(jiàn)的地方進(jìn)行說(shuō)明是可以的,但應(yīng)避免提供代碼中己清晰表達(dá)出來(lái)的重復(fù)信息。多余的注釋很容易過(guò)時(shí)。通常應(yīng)避免那些代碼更新就可能過(guò)時(shí)的注釋。注意:頻繁的注釋有時(shí)反映出代碼的低質(zhì)量。當(dāng)你覺(jué)得被迫要加注釋的時(shí)候,考慮一下重寫(xiě)代碼使其更清晰。注釋不應(yīng)寫(xiě)在用星號(hào)或其他字符畫(huà)出來(lái)的大框里。注釋不應(yīng)包括諸如制表符和回退符之類的特殊字符。n 5.1 實(shí)現(xiàn)注釋的格式(Implementation Comment Formats)程序可以有4種實(shí)現(xiàn)注釋的風(fēng)格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。5.1.1 塊注釋(Block Comments)塊注釋通常用于提供對(duì)文件,方法,數(shù)據(jù)結(jié)構(gòu)和算法的描述。塊注釋被置于每個(gè)文件的開(kāi)始處以及每個(gè)方法之前。它們也可以被用于其他地方,比如方法內(nèi)部。在功能和方法內(nèi)部的塊注釋?xiě)?yīng)該和它們所描述的代碼具有一樣的縮進(jìn)格式。塊注釋之首應(yīng)該有一個(gè)空行,用于把塊注釋和代碼分割開(kāi)來(lái),比如: /* * Here is a block comment. */ 塊注釋可以以/*-開(kāi)頭,這樣indent(1)就可以將之識(shí)別為一個(gè)代碼塊的開(kāi)始,而不會(huì)重排它。 /*- * Here is a block comment with some very special * formatting that I want indent(1) to ignore. * * one * two * three */ 注意:如果你不使用indent(1),就不必在代碼中使用/*-,或?yàn)樗丝赡軐?duì)你的代碼運(yùn)行indent(1)作讓步。參見(jiàn)“文檔注釋”5.1.2 單行注釋(Single-Line Comments)短注釋可以顯示在一行內(nèi),并與其后的代碼具有一樣的縮進(jìn)層級(jí)。如果一個(gè)注釋不能在一行內(nèi)寫(xiě)完,就該采用塊注釋(參見(jiàn)“塊注釋”)。單行注釋之前應(yīng)該有一個(gè)空行。以下是一個(gè)Java代碼中單行注釋的例子: if (condition) /* Handle the condition. */ . 5.1.3 尾端注釋(Trailing Comments)極短的注釋可以與它們所要描述的代碼位于同一行,但是應(yīng)該有足夠的空白來(lái)分開(kāi)代碼和注釋。若有多個(gè)短注釋出現(xiàn)于大段代碼中,它們應(yīng)該具有相同的縮進(jìn)。以下是一個(gè)Java代碼中尾端注釋的例子: if (a = 2) return TRUE; /* special case */ else return isPrime(a); /* works only for odd a */ 5.1.4 行末注釋(End-Of-Line Comments)注釋界定符“/”,可以注釋掉整行或者一行中的一部分。它一般不用于連續(xù)多行的注釋文本;然而,它可以用來(lái)注釋掉連續(xù)多行的代碼段。以下是所有三種風(fēng)格的例子: if (foo 1) / Do a double-flip. . else return false; / Explain why here. /if (bar 1) / / / Do a triple-flip. / . / /else / return false; / n 5.2 文檔注釋(Documentation Comments)注意:此處描述的注釋格式之范例,參見(jiàn)“Java源文件范例”若想了解更多,參見(jiàn)“How to Write Doc Comments for Javadoc”,其中包含了有關(guān)文檔注釋標(biāo)記的信息(return, param, see):/javadoc/writingdoccomments/index.html若想了解更多有關(guān)文檔注釋和javadoc的詳細(xì)資料,參見(jiàn)javadoc的主頁(yè):/javadoc/index.html文檔注釋描述Java的類、接口、構(gòu)造器,方法,以及字段(field)。每個(gè)文檔注釋都會(huì)被置于注釋定界符/*.*/之中,一個(gè)注釋對(duì)應(yīng)一個(gè)類、接口或成員。該注釋?xiě)?yīng)位于聲明之前: /* * The Example class provides . */ public class Example . 注意頂層(top-level)的類和接口是不縮進(jìn)的,而其成員是縮進(jìn)的。描述類和接口的文檔注釋的第一行(/*)不需縮進(jìn);隨后的文檔注釋每行都縮進(jìn)1格(使星號(hào)縱向?qū)R)。成員,包括構(gòu)造函數(shù)在內(nèi),其文檔注釋的第一行縮進(jìn)4格,隨后每行都縮進(jìn)5格。若你想給出有關(guān)類、接口、變量或方法的信息,而這些信息又不適合寫(xiě)在文檔中,則可使用實(shí)現(xiàn)塊注釋(見(jiàn)5.1.1)或緊跟在聲明后面的單行注釋(見(jiàn)5.1.2)。例如,有關(guān)一個(gè)類實(shí)現(xiàn)的細(xì)節(jié),應(yīng)放入緊跟在類聲明后面的實(shí)現(xiàn)塊注釋中,而不是放在文檔注釋中。文檔注釋不能放在一個(gè)方法或構(gòu)造器的定義塊中,因?yàn)镴ava會(huì)將位于文檔注釋之后的第一個(gè)聲明與其相關(guān)聯(lián)。6 聲明(Declarations) n 6.1 每行聲明變量的數(shù)量(Number Per Line)推薦一行一個(gè)聲明,因?yàn)檫@樣以利于寫(xiě)注釋。亦即, int level; / indentation level int size; / size of table 要優(yōu)于,int level, size; 不要將不同類型變量的聲明放在同一行,例如: int foo, fooarray; /WRONG! 注意:上面的例子中,在類型和標(biāo)識(shí)符之間放了一個(gè)空格,另一種被允許的替代方式是使用制表符: intlevel; / indentation level intsize; / size of table ObjectcurrentEntry; / currently selected table entry n 6.2 初始化(Initialization)盡量在聲明局部變量的同時(shí)初始化。唯一不這么做的理由是變量的初始值依賴于某些先前發(fā)生的計(jì)算。n 6.3 布局(Placement)只在代碼塊的開(kāi)始處聲明變量。(一個(gè)塊是指任何被包含在大括號(hào)“”和“”中間的代碼。)不要在首次用到該變量時(shí)才聲明之。這會(huì)把注意力不集中的程序員搞糊涂,同時(shí)會(huì)妨礙代碼在該作用域內(nèi)的可移植性。 void myMethod() int int1 = 0; / beginning of method block if (condition) int int2 = 0; / beginning of if block . 該規(guī)則的一個(gè)例外是for循環(huán)的索引變量 for (int i = 0; i maxLoops; i+) . 避免聲明的局部變量覆蓋上一級(jí)聲明的變量。例如,不要在內(nèi)部代碼塊中聲明相同的變量名: int count; . myMethod() if (condition) int count = 0; / AVOID! . . n 6.4 類和接口的聲明(Class and Interface Declarations)當(dāng)編寫(xiě)類和接口是,應(yīng)該遵守以下格式規(guī)則:- 在方法名與其參數(shù)列表之前的左括號(hào)“(”間不要有空格- 左大括號(hào)“”位于聲明語(yǔ)句同行的末尾- 右大括號(hào)“”另起一行,與相應(yīng)的聲明語(yǔ)句對(duì)齊,除非是一個(gè)空語(yǔ)句,“”應(yīng)緊跟在“”之后 class Sample extends Object int ivar1; int ivar2; Sample(int i, int j) ivar1 = i; ivar2 = j; int emptyMethod() . - 方法與方法之間以空行分隔 7 語(yǔ)句(Statements) n 7.1 簡(jiǎn)單語(yǔ)句(Simple Statements)每行至多包含一條語(yǔ)句,例如: argv+; / Correct argc-; / Co
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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至2030年食品級(jí)滑石粉項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年輕蠟項(xiàng)目投資價(jià)值分析報(bào)告
- 新型鋁基軸瓦材料項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- 冷彎?rùn)C(jī)項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- GPS電子探空儀項(xiàng)目風(fēng)險(xiǎn)識(shí)別與評(píng)估綜合報(bào)告
- 2025年滾筒式球磨機(jī)行業(yè)深度研究分析報(bào)告
- 2025年含金銅項(xiàng)目投資可行性研究分析報(bào)告
- 植物園森林度假項(xiàng)目可行性研究報(bào)告申請(qǐng)備案
- 年產(chǎn)3萬(wàn)套垃圾中轉(zhuǎn)箱項(xiàng)目可行性研究報(bào)告
- 區(qū)域市場(chǎng)拓展合同模板
- 2024年北師大版六年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試卷(各地真題)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 經(jīng)理層年度任期經(jīng)營(yíng)業(yè)績(jī)考核及薪酬辦法
- 2024年高考英語(yǔ)新聞報(bào)道閱讀理解訓(xùn)練歷年真題
- 2024高考物理廣東卷押題模擬含解析
- 青少年農(nóng)業(yè)科普館建設(shè)方案
- 新測(cè)繪法解讀
- 提高感染性休克集束化治療達(dá)標(biāo)率
- 譯林版七年級(jí)下冊(cè)英語(yǔ)單詞默寫(xiě)表
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)簡(jiǎn)便計(jì)算大全600題及答案
- 2016-2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年考點(diǎn)試題甄選合集含答案解析
評(píng)論
0/150
提交評(píng)論