




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 題目:點餐系統(tǒng)的設(shè)計與實現(xiàn)學(xué) 號 2015122103498 姓 名:鞏金明(40%)專 業(yè): 15信管一班 負責(zé)內(nèi)容:大部分代碼編寫(含關(guān)鍵部分)學(xué) 號 2015122103523 姓 名:樓軒宇(30%) 專 業(yè): 15信管一班 負責(zé)內(nèi)容:需求分析以及總體設(shè)計 學(xué) 號 2015122103539 姓 名:郭新波(30%) 專 業(yè): 15信管一班 負責(zé)內(nèi)容:詳細設(shè)計以及小部分代碼編寫論文完成日期:二一七年六月四日1、系統(tǒng)需求分析客戶端功能需求分析:登錄、注冊:使用者想要運行系統(tǒng)必須登錄,如果未申請賬號能夠通過注冊模塊申請;菜譜查詢:查詢目前餐廳店菜單列表數(shù)據(jù);詳情查詢:可以查詢一個菜的全部
2、數(shù)據(jù),有價格、介紹和數(shù)量;在線點餐:支持用戶在線下單點餐;選擇座位:支持使用者在Android手機上選座位;我的訂單:支持使能夠查看自己已經(jīng)下單的數(shù)據(jù),能夠刪掉自己的訂單;人工服務(wù):客戶端可以呼叫服務(wù)員;服務(wù)端功能分析:登錄模塊:管理員登錄使用系統(tǒng);菜譜管理:管理員能夠查看當(dāng)前界面的數(shù)據(jù),能夠添加、修改或者刪除一個菜譜數(shù)據(jù);用戶管理:管理員能夠查看到當(dāng)前系統(tǒng)已經(jīng)存在的用戶信息,能夠刪掉一個用戶信息;原材料管理:管理員可以查看當(dāng)前系統(tǒng)的原材料信息,可以添加、修改或者刪除一個原材料信息,原材料庫存較低時會警報;訂單管理:管理員可以查看到當(dāng)前的所有訂單信息,可以修改訂單狀態(tài),例如把一個進行中的訂單修
3、改為已經(jīng)完成;具體的系統(tǒng)功能全部作用如下圖:點餐系統(tǒng)后臺部分前臺部分點餐個人信息我的訂單人工服務(wù)登錄注冊人工服務(wù)管理菜譜管理訂單管理用戶信息管理原材料管理登錄退出2、目標(biāo)可行性分析智能手機的出現(xiàn)減少了很多方面的限制,具有很多優(yōu)勢,人們可以隨時隨地的傳遞信息,訂購商品,不論時間不論地點,正是這個優(yōu)點使得智能手機能夠受到越來越多人是喜愛,比如,用戶智能手機點餐速度迅速比傳統(tǒng)的點餐要快的多,大大提高了效率。1.經(jīng)濟可行性由于世界經(jīng)濟水平的突飛猛進,科技水平得到了前所未有的巨大發(fā)展,社會正步入一個嶄新的網(wǎng)路信息時期。因為社會持續(xù)發(fā)展的生活與工作水平,人們的非物質(zhì)需求正在逐漸增加,伴隨出現(xiàn)的就是網(wǎng)絡(luò)技術(shù)
4、的持續(xù)進步,當(dāng)代社會網(wǎng)絡(luò)應(yīng)用變得愈加廣泛,人們之間的相互溝通日趨廣泛、交流也愈加簡便,所有這些,使得人們的生產(chǎn)生活方式發(fā)生了巨大轉(zhuǎn)變。是故,由于網(wǎng)絡(luò)技術(shù)的進步,電商領(lǐng)域逐漸發(fā)展,極大程度上改變了人們的購物方式。在如今這個年代,幾乎所有計算機使用者都能夠進行網(wǎng)上購物的操作,而且往往樂此不疲。從長久的角度來想,安卓點餐系統(tǒng)的開發(fā)與應(yīng)用還是存在很大的經(jīng)濟前景。2.技術(shù)可行性技術(shù)可行性一般是因為現(xiàn)在已經(jīng)存在的的技術(shù)因素而控制的,比如,是否可以進行平穩(wěn)的功能開發(fā),軟、硬件功能會不會達到系統(tǒng)所規(guī)定的條件。如今這個時代,是網(wǎng)絡(luò)資源化的時代,網(wǎng)絡(luò)資源爆發(fā)式增長,這引起了所有其他相關(guān)技術(shù)的進步,所以對于技術(shù)條件
5、來說是能夠?qū)崿F(xiàn)的。本系統(tǒng)單個用java語言,使用ssh技術(shù)與MySQL數(shù)據(jù)庫進行開發(fā),上述技術(shù)在現(xiàn)在已經(jīng)很廣泛且很成熟,已經(jīng)無數(shù)次被應(yīng)用于軟件與系統(tǒng)研究中,所有,這個系統(tǒng)對科學(xué)水平來說是能夠?qū)崿F(xiàn)的。3、系統(tǒng)流程分析為了使得完成的軟件能夠平穩(wěn)運行,完善了系統(tǒng)流程的所有環(huán)節(jié)。對每個流程要用到的關(guān)鍵技術(shù)也做了充分準(zhǔn)備,如下圖:4、總體設(shè)計4.1 系統(tǒng)設(shè)計原則系統(tǒng)設(shè)計和系統(tǒng)編碼是一個統(tǒng)一的整體,每一部分都不可缺少。在系統(tǒng)設(shè)計中制定良好的編碼規(guī)范和開發(fā)流程,能夠確保無二義性,使得開發(fā)順利進行,這也能提高開發(fā)這的開發(fā)效率。此外,在進行系統(tǒng)設(shè)計過程中,還應(yīng)該遵循的主要原則如下。1、適用性原則好的系統(tǒng)開發(fā)出來
6、首先要能夠完成基本的功能,即滿足用戶的要求,這是軟件開發(fā)的首要目的。如果開發(fā)出來的軟件不能滿足用戶的需求,那么此軟件注定是失敗的開發(fā)。在此基礎(chǔ)上還要考慮軟件的的操作性,要能保證軟件在運行環(huán)境下沒有bug,能讓用戶操作起來簡單,明了,還要功能全面易用化。不應(yīng)該只考慮軟件的收益,否則必將面臨很大的問題。2、可靠性安全性原則隨著計算機網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)除了帶人人們便利之外也帶開了很多安全隱患,如,隱私安全、個人財產(chǎn)安全等等,雖然此次開發(fā)的系統(tǒng)簡單,但是安全問題是每個系統(tǒng)都必須考慮的問題。網(wǎng)上訂餐系統(tǒng)中既要保護用戶個人信息的安全,保證不被泄露,還要保證他們的財產(chǎn)安全。只有具備安全措施的系統(tǒng)才能夠讓用戶放
7、心。3、可擴展性原則現(xiàn)在的科技發(fā)展速度之快,不僅是研發(fā)的快,更新?lián)Q代的速度也令人驚訝,科技技術(shù)不斷退陳舊新,因此,為了適應(yīng)時代的發(fā)展速度,系統(tǒng)的可擴展能力也是開發(fā)過程中要考慮的事情。那么如何提高系統(tǒng)的可擴展性呢?這里就充分體現(xiàn)了設(shè)計在開發(fā)中的重要作用。在軟件設(shè)計的過程中,將網(wǎng)上訂餐系統(tǒng)劃分成不同的功能模塊,并降低模塊之間的耦合度來提高系統(tǒng)的擴展性。4.2 系統(tǒng)設(shè)計目標(biāo)在系統(tǒng)開發(fā)之前要對系統(tǒng)進行需求分析,功能概括,難點解析等等的工作,之后對于系統(tǒng)大概要完成什么目標(biāo),系統(tǒng)的界面和設(shè)計等問題的思考來滿足用戶的要求。系統(tǒng)設(shè)計過程中將系統(tǒng)分解為很多不同的小的系統(tǒng),然后對分成的小的系統(tǒng)的功能、技術(shù)進行分析
8、討論,制定規(guī)定,在之后的開發(fā)中,先開發(fā)小的系統(tǒng)之后進行整合,逐步完成開發(fā)。本系統(tǒng)是設(shè)計目標(biāo)是建立一個基于Android技術(shù)的點餐系統(tǒng),可以滿足用戶對手機訂餐的需求。根據(jù)需求分析還有自己的生活體會,在線點餐系統(tǒng)一定要有以下基本的要求。(1)界面看著新穎活力、大方美觀,吸引用戶。(2)具有易調(diào)試性和沒有bug性。(3)用戶能夠方便的查看所有的食品信息和單個用戶的詳細信息內(nèi)容。 (4)具有操作方便、功能完善的管理功能。4.3 系統(tǒng)總體結(jié)構(gòu)設(shè)計系統(tǒng)的總體結(jié)構(gòu)設(shè)計是在軟件開發(fā)之前必須要做好的一件基本工作,作為一個優(yōu)秀的程序員不僅要有很強的編碼能力,對于系統(tǒng)的總體結(jié)構(gòu)的設(shè)計也要很精通。做好系統(tǒng)的總體結(jié)構(gòu)設(shè)
9、計會讓系統(tǒng)開發(fā)順利進行,做到事半功倍。在此次系統(tǒng)的總體結(jié)構(gòu)設(shè)計過程中,系統(tǒng)分為客戶端和服務(wù)端,客戶端是可以在安卓智能手機上使用的,服務(wù)端采用Servlet提供服務(wù),持久化層采用MySQL,因為MySQL的安裝和配置都適合小型的系統(tǒng)。在進行系統(tǒng)的總體設(shè)計之后緊接著就是數(shù)據(jù)庫的需求設(shè)計。系統(tǒng)整體框架采用C/S模式,即客戶端/服務(wù)器模式,其中客戶端一方面與用戶交互,提供良好的用戶界面,另一方面與服務(wù)器端進行數(shù)據(jù)交換。服務(wù)器端向客戶端提供數(shù)據(jù)。管理員可以對數(shù)據(jù)進行增,刪,改,查等操作。5、系統(tǒng)詳細設(shè)計與實現(xiàn)5.1登模塊的實現(xiàn)本系統(tǒng)使用前用戶需要登錄驗證,在登錄界面中,通過繼承一個Activity來實現(xiàn)
10、,界面上的控件用到了EditText、Button和CheckBox等等組件, EditText主要用來實現(xiàn)用戶帳號和密碼的輸入。登錄過程中用戶需要輸入賬號與密碼,并且經(jīng)由登錄按鈕來表達登錄意圖,意圖表達完成,系統(tǒng)會經(jīng)由HTTP的過程將帳號與密碼發(fā)送到服務(wù)器端驗證,并返回服務(wù)端的驗證結(jié)果,如果驗證正確那么提示使用者登錄完成,然后自行轉(zhuǎn)入主界面;如果錯誤,那么提示使用者登錄失敗。該界面具有保存密碼成功,假如使用者在登錄時勾選了“保存密碼”復(fù)選框,則下次再進入到本界面用戶將不需要再次輸入密碼,而只需要點擊登錄按鈕即可實現(xiàn)登錄操作,記住密碼的過程是通過Android平臺提供的SharedPrefer
11、ences來實現(xiàn)的。當(dāng)然如果用戶還沒有登錄賬號,則能夠通過“注冊”選項鏈接到用戶注冊界面,從而注冊一個新號碼;具體的實現(xiàn)效果如圖所示:實現(xiàn)的核心代碼如下:loginActivity 的 doInBackground 的方法發(fā)起url請求,發(fā)送用戶名,密碼protected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + "ServletService?Action=login" urlString += "&a
12、mp;loginid=" + etLoginID.getText() + "&passwords=" + etPassword.getText();String json = httpHelper.HttpRequest(urlString);return json;loginActivity 的 onPostExecute 的方法 獲取服務(wù)器返回json,驗證密碼是否正確loginActivity 的 dealLogin 是當(dāng)密碼驗證成功后 跳轉(zhuǎn)到DishesListActivityOnLineUser model = new OnLineUser();
13、/設(shè)置登陸成功的用戶屬性model.setId(jsonObject.getInt("id");model.setLoginid(etLoginID.getText().toString();model.setName(jsonObject.getString("name");application.setLoginUser(model);/彈出提示框toastUtil.show(model.getName() + ",登錄成功");/跳轉(zhuǎn)到登陸成功頁面intent = new Intent(LoginActivity.this, D
14、ishesListActivity.class);startActivity(intent);5.2菜譜模塊的實現(xiàn)用戶成功登陸進入系統(tǒng)之后可以查看到當(dāng)前系統(tǒng)所有菜譜信息,包括菜譜的圖片、名稱、單價和詳細介紹信息,系統(tǒng)用了一個ListView組件來顯示系統(tǒng)的菜譜信息,同時用戶也可以通過界面左上角的搜索按鈕來搜索菜譜信息,用戶點擊一條信息之后可以查看一個菜譜的詳細介紹。具體的實現(xiàn)效果如圖所示:實現(xiàn)的核心代碼如下:/請求獲取列表數(shù)據(jù)的代碼Overrideprotected String doInBackground(String. params) String json = null;serverU
15、rl = AppConstant.getUrl(getApplicationContext() + "ServletService?Action=getdisheslist&shopid="+ shopid;BaseUtil.LogII(serverUrl);json = httpHelper.HttpRequest(serverUrl);return json;/解析列表數(shù)據(jù),并設(shè)置適配器的代碼list = new ArrayList<dishes>();if (!TextUtils.isEmpty(result.trim() list = gson.
16、fromJson(result, new TypeToken<List<dishes>>() .getType(); else toastUtil.show("沒有數(shù)據(jù)");adapter = new DishesAdapter(DishesListActivity.this, list);listview1.setAdapter(adapter);點擊listview中的一項,會跳轉(zhuǎn)到詳情頁面,這其中會根據(jù)id去調(diào)用webservice查詢數(shù)據(jù)庫獲取到詳情數(shù)據(jù)/界面點擊跳轉(zhuǎn)的代碼listview1.setOnItemClickListener(ne
17、w OnItemClickListener() Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) intent = new Intent(DishesListActivity.this, GoodDetailActivity.class);intent.putExtra("id", list.get(position).getId();startActivity(intent););menu的實現(xiàn),設(shè)置menu按鍵的彈出事件public
18、 boolean onCreateOptionsMenu(Menu menu) super.onCreateOptionsMenu(menu);menu.add(0, 99, 0, "人工服務(wù)").setIcon(R.drawable.icon_application);menu.add(0, 100, 0, "注銷登錄").setIcon(R.drawable.icon_application);menu.add(0, 101, 0, "個人信息").setIcon(R.drawable.icon_application);menu
19、.add(0, 106, 0, "我的訂單").setIcon(R.drawable.icon_application);menu.add(0, 102, 0, "退出").setIcon(R.drawable.icon_application);return true;menu選中觸發(fā)的事件參考o(jì)nOptionsItemSelected 方法選中 人工服務(wù) 按鈕后,會執(zhí)行humanServices方法private void humanServices() final String arg = new String6;for (int i = 0; i
20、 < arg.length; i+) argi = (i + 1) + "號桌"new AlertDialog.Builder(this).setTitle("選擇服務(wù)桌號").setItems(arg, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) new loadhumanServicesAsyncTask().execute(argwhich);).show();分類按鈕點擊的代碼處理,使
21、用AlertDialog彈出框?qū)崿F(xiàn)tvTopTitleRight.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) new AlertDialog.Builder(DishesListActivity.this).setTitle("選擇分類").setSingleChoiceItems(s, curIndex, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterfac
22、e dialog, int which) curIndex = which;dialog.dismiss();shopid = listShop.get(curIndex).getId();new loadAsyncTask().execute();).setNegativeButton("取消", null).show(););5.3在線下單模塊的實現(xiàn)用戶在餐廳菜譜列表當(dāng)中點擊一個Item可以進入到詳細的介紹頁面,該頁面詳細描述了所選擇的的餐廳菜式信息,包括圖片、介紹和價格等信息。同時用戶可以在該界面進行下單,下單前需要輸入數(shù)量,然后點擊“提交”按鈕來提交訂單;具體的實現(xiàn)
23、效果如圖所示:圖14 在線下單界面實現(xiàn)的核心代碼如下:/通過url請求獲取詳情數(shù)據(jù)protected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + "ServletService?Action=getOneRow"urlString = urlString + "&ID=" + params0 + "&Table=dishes"String json = http
24、Helper.HttpRequest(urlString);return json;/解析返回的json字符串,把數(shù)據(jù)展示到界面上protected void onPostExecute(String result) super.onPostExecute(result);dialog.dismiss();if (result.trim().length() > 0) try jsonArray = new JSONArray(result);jsonObject = jsonArray.getJSONObject(0);(TextView) findViewById(R.id.tvTo
25、pTitleCenter).setText(jsonObject.getString("title");(TextView) findViewById(R.id.tvTopTitleCenter).setTextSize(16);if (!TextUtils.isEmpty(jsonObject.getString("img_url") asyncImageLoader.loadBitmap(serverUrl + "UploadFile/" + jsonObject.getString("img_url"),im
26、ageView1);String intro = "單價:¥" + jsonObject.getString("price") + "n"intro += "數(shù)量:" + jsonObject.getString("amount") + "n"intro += "簡介:" + jsonObject.getString("intro") + "n配料:" + jsonObject.getString("bur
27、dennames");tvIntro.setText(intro); catch (JSONException e) e.printStackTrace();下單操作 使用post請求,提交數(shù)據(jù),實現(xiàn)代碼如下/提交訂單的代碼protected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + "ServletService"Map<String, Object> map = new HashMap&l
28、t;String, Object>();map.put("Action", "createorder");map.put("dishesid", id);map.put("userid", user.getId();map.put("username", user.getName();map.put("amount", etAmount.getText();String result = httpHelper.HttpPost(urlString, map);retur
29、n result;/判斷訂單提交后,webservice的返回值,提示訂單是否提交成功protected void onPostExecute(String result) super.onPostExecute(result);dialog.dismiss();if (result != null && result.trim().equals("1") toastUtil.show("下單成功"); else if (result.trim().equals("-1") toastUtil.show("原
30、料不足,下單失敗"); else toastUtil.show("下單失敗");5.4用戶訂單模塊的實現(xiàn)用戶的下單信息將會被記錄到服務(wù)端中,用戶可以隨時通過智能手機菜單鍵來打開查看自己已經(jīng)下過的訂單信息,包括菜式信息、下單數(shù)量、選擇的座位、下單時間和當(dāng)前的訂單狀態(tài),同時用戶也可以長按一條訂單信息來彈出刪除菜單,用戶可以刪除一條訂單信息。實現(xiàn)的核心代碼如下:/通過url請求獲取我的訂單數(shù)據(jù)protected String doInBackground(String. params) String json = null;serverUrl = AppConstant
31、.getUrl(getApplicationContext() + "ServletService?Action=getmyorderslist&userid="+ user.getId();json = httpHelper.HttpRequest(serverUrl);return json;/解析返回的json字符串,把數(shù)據(jù)展示到界面上jsonArray = new JSONArray(result);for (int i = 0; i < jsonArray.length(); i+) jsonObject = jsonArray.getJSONObj
32、ect(i);orders model = new orders();model.setId(jsonObject.getInt("id");model.setAmount(jsonObject.getDouble("amount");model.setCreatetime(jsonObject.getString("createtime"); model.setPrice(jsonObject.getDouble("price");model.setUsername(jsonObject.getString(&q
33、uot;title");model.setImg_url(jsonObject.getString("img_url");model.setStatus(jsonObject.getInt("status");list.add(model);/設(shè)置listview的適配器adapter = new OrdersAdapter(MyOrdersListActivity.this, list);listview1.setAdapter(adapter);取消訂單界面,是通過彈出框?qū)崿F(xiàn),實現(xiàn)代碼如下/設(shè)置彈出取消訂單的提示框new AlertDial
34、og.Builder(this).setTitle("選擇操作").setItems(arg, new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) switch (which) case 0:/ 取消new deleteAsyncTask().execute(list.get(position).getId() + "");).show();取消訂單實現(xiàn)代碼/發(fā)送取消訂單的url請求protected St
35、ring doInBackground(String. params) serverUrl = AppConstant.getUrl(getApplicationContext() + "ServletService?Action=cancelOrders&ID="+ params0;String json = httpHelper.HttpRequest(serverUrl);return json;/判定webservice的返回值,提示是否取消成功protected void onPostExecute(String result) super.onPostE
36、xecute(result);dialog.dismiss();if (result != null && result.trim().length() > 0) toastUtil.show("取消成功");new loadAsyncTask().execute(); else toastUtil.show("取消失敗");5.5服務(wù)端模塊的實現(xiàn)服務(wù)端模塊具有兩方面作用,其一是給客戶端提供數(shù)據(jù)服務(wù)接口,客戶端調(diào)用服務(wù)端的接口來得到數(shù)據(jù)庫里面的菜譜、訂單等所有數(shù)據(jù),然后顯示在客戶端界面上。服務(wù)端存在另外一個作用:保證信息的動態(tài)維護,比如菜譜信息維護、用戶信息維護、訂單信息維護以及菜譜類型信息維護。比如管理員能夠于服務(wù)端依據(jù)真實狀況增加一個菜式數(shù)據(jù)、刪除一個菜式數(shù)據(jù)等操作。5.5.1人工服務(wù)模塊的實現(xiàn)使用者在前臺呼叫人工服務(wù)的操作不可以馬上執(zhí)行,需要管理員于后臺進行信息管理審核以確認(rèn)它的操作性,管理員單擊后臺界面中的“人工服務(wù)”進入用戶人工服務(wù)處理頁面,該頁面會顯示近期所以的用戶呼叫的人工服務(wù)。人工服務(wù)處理頁面顯示的是呼叫人,呼叫時間等信息。人工服務(wù)主要通過從h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復(fù)合材料 課件知識點1 新型復(fù)合材料
- 大數(shù)競賽試題及答案
- 水穩(wěn)施工技術(shù)交底
- 2025年 邯鄲魏縣選聘村級黨務(wù)工作者考試筆試試卷附答案
- 新人培訓(xùn)小組總結(jié)報告
- 2025年中國木制砧板行業(yè)市場全景分析及前景機遇研判報告
- 公司培訓(xùn)規(guī)劃
- 常見牛養(yǎng)殖疾病的防治方法探討
- 神經(jīng)外科相關(guān)課件
- 美麗鄉(xiāng)村培訓(xùn)講義
- 陜西省專業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會精神解讀與高質(zhì)量發(fā)展》20學(xué)時題庫及答案
- 學(xué)習(xí)通《科研誠信與學(xué)術(shù)規(guī)范》課后及考試答案
- PFMEA模板完整版文檔
- 病房床頭卡模板
- 2022年西雙版納傣族自治州景洪教師進城考試筆試題庫及答案解析
- 公路改建工程邊施工邊通車安全專項施工方案
- 施工總平面圖布置圖及說明
- 道路交通安全法律法規(guī)知識測試題
- 國際籃聯(lián)記錄表
- 煤礦培訓(xùn):自救器課件
- 空心玻璃微珠項目資金申請報告寫作模板+
評論
0/150
提交評論