




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件體系結(jié)構(gòu)大作業(yè)報告姓 名: 劉敏 學(xué) 號: 1305110145 班 級: 軟件工程1303班 院 系: 數(shù)學(xué)與計算機(jī)學(xué)院 日 期: 2016-06-04 任課教師: 丁月華 目錄一、 引言··································
2、;···························031.1、 軟件名稱·····················
3、·································031.2、 軟件作用···············&
4、#183;······································031.3、編寫目的·········
5、83;··············································031.4、定義··&
6、#183;·················································&
7、#183;·······031.5、運(yùn)行環(huán)境········································
8、83;···············031.6、參考資料·································
9、;·······················03二、 系統(tǒng)需求分析·························
10、····························042.1、任務(wù)概述····················
11、183;···································042.1.1、目標(biāo)············
12、3;··········································042.1.2、用戶特點·····
13、3;·············································042.1.3、假定和約束··
14、83;··············································042.2、需求規(guī)定··
15、;··················································
16、;····042.2.1、對功能的規(guī)定···········································
17、83;···042.2.2、輸入輸出要求············································&
18、#183;··05三、 系統(tǒng)設(shè)計分析·············································
19、183;·······053.1、概要設(shè)計········································
20、3;···············053.1.1、基本設(shè)計概念和處理流程·······························
21、83;·····053.1.2、系統(tǒng)數(shù)據(jù)說明··········································&
22、#183;····053.1.3、系統(tǒng)出錯處理設(shè)計··········································
23、83;063.2、詳細(xì)設(shè)計················································
24、;········063.2.1、系統(tǒng)類圖········································
25、;···········063.2.2、功能·····································&
26、#183;·················083.2.3、設(shè)計模式······························&
27、#183;····················09四、 系統(tǒng)實現(xiàn)···························
28、3;·····························144.1、實驗截圖···················
29、·····································144.2、部分代碼示例···········
30、·········································16五、 實驗總結(jié)·······
31、83;·················································22A
32、ndroid軟件-天天動聽一、 引言1.1、 軟件名稱天天動聽(音樂播放器)1.2、 軟件作用該款A(yù)PP是仿天天動聽軟件做出來的,其中實現(xiàn)了天天動聽音樂播放器的部分功能,讀取手機(jī)里面的音樂并播放分類、排列歌曲和自己設(shè)置皮膚。1.3、 編寫目的隨著越來越多的音樂播放軟件的橫行,現(xiàn)在需要一款不一樣的音樂播放軟件,雖然該軟件的功能還存在很大的不足,但會在后來慢慢補(bǔ)充進(jìn)的。而且對于android初學(xué)者來說,自己動手編寫一款音樂播放器對自己能力的提升有很大的幫助,能更好地掌握學(xué)到的知識。1.4、定義我的音樂:指讀取到的本機(jī)上的所有音樂。我的最愛:指對我的音樂中自己喜歡的音樂進(jìn)行標(biāo)注后,該音樂進(jìn)入到我的最
33、愛這一分類中。文件夾:指讀取到的音樂的路徑,音樂在內(nèi)存卡中的位置。歌手:指歌曲的歌唱者,在該功能塊中是根據(jù)歌手進(jìn)行分類的。專輯:指歌曲是根據(jù)歌曲還是錄音或是其他等分類的。更多:指在首頁的翻頁功能,翻頁后就有許多小功能塊,這些功能塊用來進(jìn)行系統(tǒng)設(shè)置。1.5、 運(yùn)行環(huán)境安裝有SDK 的Eclipse環(huán)境下,用虛擬機(jī)進(jìn)行運(yùn)行1.6、 參考資料參考書籍:l 軟件架構(gòu)設(shè)計 溫昱 電子工業(yè)出版社 2007-3l 面向模式的軟件體系結(jié)構(gòu) 卷1:模式系統(tǒng) Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sornmerlad, Michael Stal著
34、, 1996. 譯者:賁可榮 郭福亮 等)l 面向模式的軟件體系結(jié)構(gòu) 卷2:用于并發(fā)和網(wǎng)絡(luò)化對象的模式 Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann, 著, 1996.l 面向模式的軟件體系結(jié)構(gòu) 卷3:資源管理模式 機(jī)械工業(yè)出版社 2005-10l 易學(xué)設(shè)計模式 人民郵電出版社參考網(wǎng)站:下載頻道:l 豆丁網(wǎng) 二、系統(tǒng)需求分析2.1、任務(wù)概述2.1.1、目標(biāo)讓編寫者編寫的這款軟件能更好的為其他人看懂,是其他人了解基本流程,是軟件測試時更方便。2.1.2、用戶特點任何喜歡聽音樂的用戶。2.1.3、假
35、定和約束假定此款音樂播放器不需要用戶登錄,任何人都可隨意使用,即沒有對用戶進(jìn)行約束;假定音樂播放器不需要連接網(wǎng)絡(luò),只能播放本地音樂,即對播放的音樂進(jìn)行了約束。2.2、需求規(guī)定2.2.1、對功能的規(guī)定播放功能:在我的音樂、我的最愛、文件夾、歌手、專輯這幾個功能分塊中都有播放音樂的功能。音樂分類:該軟件先讀取本機(jī)上的音樂,然后對其進(jìn)行分類,分別放在我的音樂、我的最愛、文件夾、歌手、專輯中。系統(tǒng)功能:對整個系統(tǒng)進(jìn)行設(shè)置,可以掃描歌曲、歌曲循環(huán)方式、換背景圖片等。2.2.2、 輸入輸出要求 本系統(tǒng)中只有在導(dǎo)航條出有輸入輸出的要求,輸入歌曲名稱,輸出歌曲信息。還有在睡眠功能處也有輸入輸出要求,輸入等待時
36、間,輸出:在剛剛輸入的等待時間內(nèi)就會退出系統(tǒng)。三、系統(tǒng)設(shè)計分析3.1、概要設(shè)計3.1.1、基本設(shè)計概念和處理流程3.1.2、系統(tǒng)數(shù)據(jù)說明該系統(tǒng)的數(shù)據(jù)均放在該工程目錄下的res文件夾中,如下圖所示: 3.1.3、系統(tǒng)出錯處理····················· ··········
37、183;············由于該系統(tǒng)并為具體完善,只能是現(xiàn)部分功能,還有許多功能沒有實現(xiàn),此款音樂播放軟件并不像酷狗音樂那么強(qiáng)大,因此出錯是在所難免的。比如該系統(tǒng)的導(dǎo)航條的功能就不能實現(xiàn),并不能夠?qū)崿F(xiàn)搜索的功能,還有在掃面歌曲這一塊也不能真正的掃面,掃面過后就閃退,最重要的是該APP不能連接網(wǎng)絡(luò)。雖然該APP有許多易錯模塊,但對于初步的實現(xiàn)功能還是可以的。3.2、詳細(xì)計化········
38、183;················································3.2.1、系統(tǒng)
39、類圖·················································
40、3;·····系統(tǒng)類圖是通過逆向工程導(dǎo)出來的,便于分析研究整個系統(tǒng)的制作過程,以及各類之間的關(guān)系可以一目了然的出現(xiàn)。由于該系統(tǒng)的整體類圖太大且太過復(fù)雜,現(xiàn)在只列出幾種3.2.2、功能以下介紹幾個重點功能。歡迎界面IPO圖描述表模塊編號:S1模塊名稱:歡迎界面模塊描述:歡迎界面,提示用戶進(jìn)入程序輸入?yún)?shù):無輸出參數(shù):無 主界面IPO圖描述表模塊編號:S2模塊名稱:主界面模塊描述:主界面,用戶進(jìn)入程序后所展示的功能界面輸入?yún)?shù):無輸出參數(shù):無 我的音樂IPO圖描述表模塊編號:S3模塊名稱:我的音樂界面所屬子系統(tǒng):主界面模塊描述:我的音樂功能,里面是
41、已讀取到的手機(jī)內(nèi)存中的音樂輸入?yún)?shù):無輸出參數(shù):無 導(dǎo)航條IPO圖描述表模塊編號:S4模塊名稱:導(dǎo)航條所屬子系統(tǒng):我的音樂界面模塊描述:用戶可在導(dǎo)航條里搜索需要查找的音樂輸入?yún)?shù):音樂歌曲名稱輸出參數(shù):該歌曲信息更多IPO圖描述表模塊編號:S5模塊名稱:更多所屬子系統(tǒng):主界面模塊描述:該功能是整個APP的系統(tǒng)設(shè)置,功能描述:在該界面中可以進(jìn)行掃描歌曲、列表循環(huán)設(shè)置、更換背景圖片、睡眠、系統(tǒng)詳細(xì)設(shè)置、退出這幾個方面的功能。3.2.3、 設(shè)計模式 設(shè)計模式是一套被反復(fù)使用、多人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性,更有助于
42、對框架結(jié)構(gòu)的理解。在此系統(tǒng)中,根據(jù)其逆向?qū)С龅念悎D和程序代碼分析可知,該系統(tǒng)中主要使用了如下幾種設(shè)計模式(現(xiàn)只列出其中幾種)單件模式(Singleton)意圖:確保一 個類只有一個實例,并提供一個全局訪問點適用性:1、當(dāng)類是能有一個實例且客戶可以從一個眾所周知的訪問點訪問它時。 2、當(dāng)這個唯一實例應(yīng)該通過子類化可拓展的,并且客戶應(yīng)該無需更改代碼就能使用一個拓展的實例結(jié)構(gòu)圖:在此系統(tǒng)中的單例代碼:Public class DatabaseHelper extends SQLiteOpenHelper ······private stat
43、ic DatabaseHelper mHelper;public static SQLiteDatabase getInstance(Context context) if (mDb = null) mDb = getHelper(context).getWritableDatabase();return mDb;······外觀模式(Facade)定義:為子系統(tǒng)中的各類(或結(jié)構(gòu)與方法)提供一個簡明一致的界面,隱藏子系統(tǒng)的復(fù)雜性,使系統(tǒng)更加容易使用。適用性:1、為一個復(fù)雜子系統(tǒng)提供一個簡單接口 2、提高子系統(tǒng)的獨(dú)立性 3、在層次化結(jié)構(gòu)
44、中,可以使用Façade模式定義系統(tǒng)中每一層的入口。結(jié)構(gòu)圖:在此系統(tǒng)中的代碼:外觀類:MusicUtilspublic class MusicUtils implements IConstants ······private static MusicInfoDao mMusicInfoDao;private static AlbumInfoDao mAlbumInfoDao;private static ArtistInfoDao mArtistInfoDao;private static FolderInfoDao mFo
45、lderInfoDao;private static FavoriteInfoDao mFavoriteDao;······public static List<ArtistInfo> queryArtist(Context context) if(mArtistInfoDao = null) mArtistInfoDao = new ArtistInfoDao(context);Uri uri = MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI;ContentResolver
46、cr = context.getContentResolver();if (mArtistInfoDao.hasData() return mArtistInfoDao.getArtistInfo(); else List<ArtistInfo> list =getArtistList(cr.query(uri,proj_artist,null, null, MediaStore.Audio.Artists.NUMBER_OF_TRACKS+ " desc");mArtistInfoDao.saveArtistInfo(list);return list;pub
47、lic static List<AlbumInfo> queryAlbums(Context context)······public static ArrayList<MusicInfo>queryMusic(Context context) ······public static List<MusicInfo> queryFavorite(Context context) ·····
48、183;public static List<FolderInfo> queryFolder(Context context)············子系統(tǒng):該子系統(tǒng)中有五個子類MusicInfoDao、AlbumInfoDao、ArtistInfoDao、FolderInfoDao、FavoriteInfoDao。模板方法模式(Template Method)定義:該模式首先定義特定的步驟的算法骨架,而將一些步驟延遲到子類中去實現(xiàn),使得子類可以不改變一個算法的結(jié)
49、構(gòu)即可從新定義該算法的某些特定步驟。適應(yīng)性:1、一次性實現(xiàn)一個算法的不變部分,并將可變的算法留給子類來實現(xiàn)。 2、各子類中公共的行為應(yīng)該被提取出來并集中一個公共父類中以避免代碼重復(fù)。 3、可以控制子類拓展。結(jié)構(gòu)圖:在此系統(tǒng)中的滿足該模式的UML類圖:備忘錄模式(Memento)定義:在不破壞封閉的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài),這樣以后就可以將該對象恢復(fù)到原先保存的狀態(tài)。適用性:1、功能比較復(fù)雜的,但是需要維護(hù)或記錄屬性歷史的類。 2、需要保存的屬性只是眾多屬性的一小部分。結(jié)構(gòu)圖:在此系統(tǒng)中滿足該模式的UML類圖:優(yōu)點:1、備忘錄模式使用備忘錄可以把原發(fā)者的內(nèi)部狀態(tài)
50、保存起來,使得只有很“親密的”的對象可以訪問備忘錄中的數(shù)據(jù)。2、有時一些發(fā)起人對象的內(nèi)部信息必須保存在發(fā)起人對象以外的地方,但是必須要由發(fā)起人對象自己讀取,這時,使用備忘錄模式可以把復(fù)雜的發(fā)起人內(nèi)部信息對其他的對象屏蔽起來,從而可以恰當(dāng)?shù)乇3址庋b的邊界。3、本模式簡化了發(fā)起人類。發(fā)起人不再需要管理和保存其內(nèi)部狀態(tài)的一個個版本,客戶端可以自行管理他們所需要的這些狀態(tài)的版本。4、當(dāng)發(fā)起人角色的狀態(tài)改變的時候,有可能這個狀態(tài)無效,這時候就可以使用暫時存儲起來的備忘錄將狀態(tài)復(fù)原。缺點:1、如果發(fā)起人角色的狀態(tài)需要完整地存儲到備忘錄對象中,那么在資源消耗上面?zhèn)渫泴ο髸馨嘿F。 2、當(dāng)負(fù)責(zé)人角色將一個備
51、忘錄 存儲起來的時候,負(fù)責(zé)人可能并不知道這個狀態(tài)會占用多大的存儲空間,從而無法提醒用戶一個操作是否很昂貴。 3、當(dāng)發(fā)起人角色的狀態(tài)改變的時候,有可能這個協(xié)議無效。如果狀態(tài)改變的成功率不高的話,不如采取“假如”協(xié)議模式。迭代器模式(Iterator)意圖:提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內(nèi)部表示。適用性:1、訪問一個聚合對象的內(nèi)容而無需暴露它的內(nèi)部表示 2、支持對聚合對象的多種遍歷 3、為遍歷不同的聚合結(jié)構(gòu)提供一個統(tǒng)一的接口結(jié)構(gòu)圖:在此系統(tǒng)中滿足該模式的類及代碼:MusicUtils類public class MusicUtils implements ICons
52、tants ······public static ArrayList<MusicInfo> getMusicList(Cursor cursor) if (cursor = null) return null;ArrayList<MusicInfo> musicList = new ArrayList<MusicInfo>();while (cursor.moveToNext() ······Cursor.close();return m
53、usicList;·······MusicInfoDao類public class MusicInfoDao implements IConstants private List<MusicInfo> parseCursor(Cursor cursor) List<MusicInfo> list = new ArrayList<MusicInfo>();while(cursor.moveToNext() ······cursor.
54、close();return list;······ArtistInfoDao類public class ArtistInfoDao public List<ArtistInfo> getArtistInfo() ······Cursor cursor = db.rawQuery(sql, null);while(cursor.moveToNext() ······cursor.close();retur
55、n list;除以上幾個類中有該模式外,還有FavoriteInfoDao、FolderInfoDao、AlbumInfoDao等類中也有該模式。四、系統(tǒng)實現(xiàn)4.1、實驗截圖歡迎界面 主界面 我的音樂界面 播放界面 翻頁 掃描歌曲界面 換背景圖片界面 設(shè)置界面 4.2、部分代碼示例SuppressLint("HandlerLeak")public class MainContentActivity extends FragmentActivity implements IConstants public static final String ALARM_CLOCK_BRO
56、ADCAST = "alarm_clock_broadcast"public SlidingMenu mSlidingMenu;private List<OnBackListener> mBackListeners = new ArrayList<OnBackListener>();public MainFragment mMainFragment;private Handler mHandler;private MusicInfoDao mMusicDao;private SplashScreen mSplashScreen;private int
57、 mScreenWidth;public interface OnBackListener public abstract void onBack();Overrideprotected void onCreate(Bundle arg0) super.onCreate(arg0);DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);mScreenWidth = metric.widthPixels;initSDCard();IntentFi
58、lter filter = new IntentFilter();filter.addAction(ALARM_CLOCK_BROADCAST);registerReceiver(mAlarmReceiver, filter);setContentView(R.layout.frame_main);mSplashScreen = new SplashScreen(this);mSplashScreen.show(R.drawable.image_splash_background,SplashScreen.SLIDE_LEFT);/ set the Above ViewmMainFragmen
59、t = new MainFragment();getSupportFragmentManager().beginTransaction().replace(R.id.frame_main, mMainFragment).commit();/ configure the SlidingMenumSlidingMenu = new SlidingMenu(this);mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);mSlidingMenu.setMode(SlidingMenu.RIGHT);mSlidingMenu.set
60、ShadowWidthRes(R.dimen.shadow_width);mSlidingMenu.setShadowDrawable(R.drawable.shadow);mSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);mSlidingMenu.setFadeDegree(0.35f);mSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);mSlidingMenu.setMenu(R.layout.frame_menu);getSupportFr
61、agmentManager().beginTransaction().replace(R.id.frame_menu, new MenuFragment().commit();mMusicDao = new MusicInfoDao(this);mHandler = new Handler() Overridepublic void handleMessage(Message msg) super.handleMessage(msg);mSplashScreen.removeSplashScreen();getData();private void initSDCard() IntentFil
62、ter intentFilter = new IntentFilter();intentFilter.setPriority(1000);/ 設(shè)置最高優(yōu)先級intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);/ sd卡被插入,且已經(jīng)掛載intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);/ sd卡存在,但還沒/有掛載intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED);/ sd卡被移除intentFilter.addAction(Inte
63、nt.ACTION_MEDIA_SHARED);/ sd卡作為/ USB大容量存儲被共享,掛載被解除intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);/ sd卡已經(jīng)從sd卡插槽拔出,但是掛載點還沒解除/ intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);/ 開始掃描/ intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);/ 掃描完成intentFilter.addDataScheme("
64、;file");registerReceiver(sdCardReceiver, intentFilter);/ 注冊監(jiān)聽函數(shù)private void getData() new Thread(new Runnable() Overridepublic void run() if (mMusicDao.hasData() / 如果有數(shù)據(jù)就等三秒跳轉(zhuǎn)mHandler.sendMessageDelayed(mHandler.obtainMessage(), 3000); else MusicUtils.queryMusic(MainContentActivity.this,START_F
65、ROM_LOCAL);MusicUtils.queryAlbums(MainContentActivity.this);MusicUtils.queryArtist(MainContentActivity.this);MusicUtils.queryFolder(MainContentActivity.this);mHandler.sendEmptyMessage(1);).start();public void registerBackListener(OnBackListener listener) if (!mBackListeners.contains(listener) mBackL
66、isteners.add(listener);public void unRegisterBackListener(OnBackListener listener) mBackListeners.remove(listener);Overridepublic void onBackPressed() if (mSlidingMenu.isMenuShowing() mSlidingMenu.showContent(); else if (mBackListeners.size() = 0) / super.onBackPressed();/ 在activity中調(diào)用 moveTaskToBac
67、k (boolean nonRoot)方法即可將activity/ 退到后臺,注意不是finish()退出。/ 參數(shù)為false代表只有當(dāng)前activity是task根,指應(yīng)用啟動的第一個activity時,才有效;moveTaskToBack(true);for (OnBackListener listener : mBackListeners) listener.onBack();private final BroadcastReceiver sdCardReceiver = new BroadcastReceiver() Overridepublic void onReceive(Con
68、text context, Intent intent) String action = intent.getAction();if (action.equals("ent.action.MEDIA_REMOVED")/ 各種未掛載狀態(tài)| action.equals("ent.action.MEDIA_UNMOUNTED")| action.equals("ent.action.MEDIA_BAD_REMOVAL")| action.equals("andro
69、ent.action.MEDIA_SHARED") finish();Toast.makeText(MainContentActivity.this, "SD卡以外拔出,本地數(shù)據(jù)沒法初始化!",Toast.LENGTH_SHORT).show();public void showSleepDialog() if (MusicApp.mIsSleepClockSetting) cancleSleepClock();Toast.makeText(getApplicationContext(), "已取睡眠模式!",Toast.LENGT
70、H_SHORT).show();return;View view = View.inflate(this, R.layout.sleep_time, null);final Dialog dialog = new Dialog(this, R.style.lrc_dialog);dialog.setContentView(view);dialog.setCanceledOnTouchOutside(false);Window dialogWindow = dialog.getWindow();WindowManager.LayoutParams lp = dialogWindow.getAtt
71、ributes();dialogWindow.setGravity(Gravity.CENTER);/ lp.x = 100; / 新位置X坐標(biāo)/ lp.y = 100; / 新位置Y坐標(biāo)lp.width = (int) (mScreenWidth * 0.7); / 寬度/ lp.height = 400; / 高度/ 當(dāng)Window的Attributes改變時系統(tǒng)會調(diào)用此函數(shù),可以直接調(diào)用以應(yīng)用上面對窗口參數(shù)的更改,也可以用setAttributes/ dialog.onWindowAttributesChanged(lp);dialogWindow.setAttributes(lp);d
72、ialog.show();final Button cancleBtn = (Button) view.findViewById(R.id.cancle_btn);final Button okBtn = (Button) view.findViewById(R.id.ok_btn);final EditText timeEt = (EditText) view.findViewById(R.id.time_et);OnClickListener listener = new OnClickListener() Overridepublic void onClick(View v) if (v
73、 = cancleBtn) dialog.dismiss(); else if (v = okBtn) String timeS = timeEt.getText().toString();if (TextUtils.isEmpty(timeS)| Integer.parseInt(timeS) = 0) Toast.makeText(getApplicationContext(), "輸入無效!",Toast.LENGTH_SHORT).show();return;setSleepClock(timeS);dialog.dismiss();cancleBtn.setOnC
74、lickListener(listener);okBtn.setOnClickListener(listener);/ 設(shè)置睡眠鬧鐘 private void setSleepClock(String timeS) Intent intent = new Intent(ALARM_CLOCK_BROADCAST);PendingIntent pendingIntent = PendingIntent.getBroadcast(MainContentActivity.this, 0, intent, 0);/ 設(shè)置time時間之后退出程序int time = Integer.parseInt(t
75、imeS);long longTime = time * 60 * 1000L;AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);am.set(AlarmManager.RTC, System.currentTimeMillis() + longTime,pendingIntent);MusicApp.mIsSleepClockSetting = true;Toast.makeText(getApplicationContext(), "將在"+timeS+"分鐘后退出軟件", Toast.LENGTH_SHORT).show(); / 取消睡眠鬧鐘private vo
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度宅基地子女贈與及后續(xù)土地開發(fā)利用合同
- 2025年甘肅有色冶金職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案
- 2025年度房地產(chǎn)租賃合同管理及市場調(diào)控合同
- 2025年度三方委托付款與物流運(yùn)輸合同
- 2025年度XX小區(qū)供熱設(shè)施安全評估與供用熱力合同
- 2025年度養(yǎng)老機(jī)構(gòu)委托經(jīng)營管理協(xié)議
- 2025年度新能源汽車合伙項目退股協(xié)議書
- 2025年度學(xué)校學(xué)生資助項目合同協(xié)議
- 2025年度國際學(xué)校辦學(xué)許可引進(jìn)與轉(zhuǎn)讓合同
- 2025年湖北省鄂州市單招職業(yè)適應(yīng)性測試題庫帶答案
- 學(xué)生心理健康測量表
- GA745-2017銀行自助設(shè)備、自助銀行安全防范要求國標(biāo)
- 邯鄲市垃圾填埋場封場方案
- 2020閩教版信息技術(shù)四年級(下冊)全冊教案
- introduction to pipeline pilot在處理數(shù)據(jù)中的一些應(yīng)用
- 智能中臺數(shù)據(jù)底座解決方案
- 突發(fā)性聾診療指南 (2015版)
- 光伏發(fā)電工程施工組織設(shè)計施工工程光伏發(fā)電工程光伏發(fā)電施工組織設(shè)計
- 11鋼的表面淬火解析
- 導(dǎo)數(shù)應(yīng)用舉例
- 第三講文獻(xiàn)的形成與流布1
評論
0/150
提交評論