版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件體系結(jié)構(gòu)設(shè)計與構(gòu)建劉欽2013 秋1主要內(nèi)容體系結(jié)構(gòu)設(shè)計體系結(jié)構(gòu)構(gòu)建 體系結(jié)構(gòu)文檔化體系結(jié)構(gòu)驗證2體系結(jié)構(gòu)設(shè)計3體系結(jié)構(gòu)設(shè)計過程(簡化版)邏輯設(shè)計.5.6.7.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計;物理設(shè)計完善體系結(jié)構(gòu)設(shè)計;添加構(gòu)件接口; 迭代過程3-74體系結(jié)構(gòu)設(shè)計過程.5.6.7.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計; 完善體系結(jié)構(gòu)設(shè)計;添加構(gòu)件接口;迭代過程3-75體系結(jié)構(gòu)需求簡單系統(tǒng)功能需
2、求非功能性需求質(zhì)量性能約束接口項目約束復(fù)雜產(chǎn)品開發(fā)團隊市場大小項目預(yù)算項目進(jìn)度項目風(fēng)險開發(fā)環(huán)境開發(fā)技術(shù)商業(yè)產(chǎn)品6實踐案例1. 需求Use Case Mo. a) 概要功能需求:10 個功能 b) 非功能性需求 "$ 安全需求:Security13 約束:IC2 "$ 2. 項目約束 & a)開發(fā)技術(shù):Java % #!b)時間較為緊張 c)開發(fā)人員:不熟悉 Web 技術(shù)7體系結(jié)構(gòu)設(shè)計過程.5.6.7.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計; 完善體系結(jié)構(gòu)設(shè)計;添加構(gòu)件接口
3、;迭代過程3-78實踐案例分層風(fēng)格協(xié)議不變情況下易于修改能夠促進(jìn)并行開發(fā)9體系結(jié)構(gòu)設(shè)計過程1.2.3.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;1.2.依據(jù)概要功能需求與體系結(jié)構(gòu)風(fēng)格建立初始設(shè)計使用非功能性需求與項目約束評價和改進(jìn)初始設(shè)計.依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計;完善體系結(jié)構(gòu)設(shè)計; 添加構(gòu)件接口;迭代過程3-710將需求分配到子系統(tǒng)和模塊考慮功能的相同性不同任務(wù),但是相同功能考慮可復(fù)用性結(jié)構(gòu)、數(shù)據(jù)、行為的可復(fù)用性11實踐案例Use Case Mo. 銷售與退貨 "$ 產(chǎn)品調(diào)整、入庫、出庫與庫存分析 "$
4、會員發(fā)展與禮品贈送 & % 銷售策略#! 12基本功能銷售庫存會員銷售策略用戶13銷售是否只用到Sale的數(shù)據(jù)14功能對應(yīng)邏輯包銷售SalesUI, Sales, SalesData庫存CommodityUI, Commodity, CommodityData會員MemberUI, Member, MemberData銷售策略PromotionUI, Promotion, PromotionData調(diào)整用戶UserUI, User, UserData連鎖超市管理系統(tǒng)的改進(jìn)概要功能設(shè)計15功能對應(yīng)邏輯包銷售SalesUI, Sales, SalesData;Commodity, Comm
5、odityData; Member, MemberData; Promotion, PromotionData; User, UserData;庫存CommodityUI, Commodity, CommodityData Sales, SalesData會員MemberUI, Member, MemberData Sales, SalesDataCommodity, CommodityData銷售策略PromotionUI, Promotion, PromotionData調(diào)整用戶UserUI, User, UserData初步設(shè)計方案 一16初步設(shè)計方案二17體系結(jié)構(gòu)設(shè)計過程1.2.3.分
6、析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;1.2.依據(jù)概要功能需求與體系結(jié)構(gòu)風(fēng)格建立初始設(shè)計使用非功能性需求與項目約束評價和改進(jìn)初始設(shè)計.依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計;完善體系結(jié)構(gòu)設(shè)計; 添加構(gòu)件接口;迭代過程3-718初步設(shè)計的分析(1) 能夠滿足項目約束:分層風(fēng)格能促進(jìn)并行開發(fā),從而縮短開發(fā)時間;分層風(fēng)格可以使用 Java 技術(shù),而不使用 Web 技術(shù)。(2) 無法滿足安全需求(Security13)和網(wǎng)絡(luò)分布約束(IC2),所以需要改進(jìn):為使其滿足安全需求,可以增加用戶登錄與驗證功能,可以建立專門的三個模塊 (Presenta
7、tion、Logic、Data),也可以將該功能并入用戶管理功能, 即為 userui, user, userdata 三個模塊增加新的職責(zé)。為滿足網(wǎng)絡(luò)分布約束,需要將模塊分布到客戶端和服務(wù)器組成的網(wǎng)絡(luò) 上??梢詫?Prensentation 層模塊部署在客戶端,將 Logic 層和 Data 層的模塊部署在服務(wù)器端。也可將 Prensentation 層和 Logic 層模塊部署在客戶端,將 Data 層的模塊部署在服務(wù)器端。一旦相鄰 兩層被部署到網(wǎng)絡(luò)兩端,那么它們之間的交互就無法通過程序調(diào)用來完成,可以考慮將簡單 的程序調(diào)用轉(zhuǎn)化為遠(yuǎn)程方法調(diào)用 RMI。19連鎖超市管理系統(tǒng)最終的軟件體系結(jié)構(gòu)
8、邏輯設(shè)計方案20體系結(jié)構(gòu)設(shè)計過程.5.6.7.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;邏輯設(shè)計物理包設(shè)計原則依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計;完善體系結(jié)構(gòu)設(shè)計; 添加構(gòu)件接口;迭代過程3-7物理設(shè)計21Package Design PrinciplesReuse-Release Equivalency Principle Common Closure Principle Common Reuse PrincipleAcyclic Dependencies Principles Stable Dependencies Principl
9、esStable Abstractions PrinciplesCohesion Reuse && ChangeCoupling Compile &&Link22Reuse-Release Equivalency Principle (REP)重用發(fā)布等價原則The unit of reuse is the unit of release It is about reusing softwareReusable software is external software, you use it but somebody else maintains it.The
10、re is no difference between commercial and non-commercial external software for reuse.23REP in Project?Utility Package? Tools Package?24REP SummaryGroup components (classes) for reusersSingle classes are usually not reusableSeveral collaborating classes make up a packageClasses in a package should f
11、orm a reusable and releasable moduleModule provides coherent functionalityReduces work for the reuser25Common Closure Principle (共同封閉原則)Classes which change together belong togetherMinimize the impact of change for the programmer.When a change is needed, it is good for the programmerif the change af
12、fects as few packages as possible, because of compile and link time and revalidation26in Project?接口數(shù)據(jù)傳遞對 象?數(shù)據(jù)持久化連接?27SummaryGroup classes with similar closure togetherpackage closed for anticipated changesConfines changes to a few packages Reduces package release frequencyReduces work for the progra
13、mmer28Common Reuse Principle (CRP)共同重用原則Classes in packages should be reused togetherPackages should be focused, users shoulduse all classes from a package29CRP SummaryGroup classes according to common reuseavoid unnecessary dependencies for usersFollowing the CRP often leads to splitting packagesGe
14、t more, smaller and more focused packagesReduces work for the reuser30Tradeoffs Betweenand CRPsimultaneously be satiThe CRP makes life easy for reusers, whereas the life easier for maintainers.makesThestrives to make packages as large as possible, whereasthe CRP tries to make packages very small.Ear
15、ly in a project, architects may set up the package structuresuch thatdominates and development and maintenance isaided. Later, as the architecture stabilizes, the architects mayrefactor the package structure to external reusers.ize CRP for the31The Acyclic Dependencies Principle (ACP)無環(huán)依賴原則The depen
16、dency structure for packages must be a Directed Acyclic Graph (DAG)Stabilize and release a project in piecesOrganize package dependencies in a top- down hierarchy32Dependencies are a DAG33Dependency Cycles Breaking a Cycle: 1st Way34Dependency Cycles Breaking a Cycle: 2nd Way35ACP in project?層次式風(fēng)格和主
17、程序/子路徑風(fēng)格通常不會發(fā)生面向?qū)ο笫斤L(fēng)格尤其要注意C/S的MVC風(fēng)格可能會發(fā)生基于數(shù)據(jù)流、事件/消息、數(shù)據(jù)共享進(jìn)行交互的體系結(jié)構(gòu)風(fēng)格通常不會發(fā)生36Stable Dependencies Principle (SDP)穩(wěn)定依賴原則Dependencies should point in the direction of stabilityStability:corresponds to effort required tochange a packageStable package: hard to change within the projectStability can be quan
18、tified37SDP Example38SDP in Project?39Stable Abstractions Principle (SAP)文檔抽象原則Stable packages should be abstract packages. Unstable packages should be concrete packages. Stable packages contain high level design.Making them abstract opens them for extension but closes them for modifications (OCP).S
19、ome flexibility is left in the stable hard-to- change packages.40包設(shè)計的過程迭代的過程先原則對把可能一同變化的類組織成包進(jìn)行發(fā)布,隨著系統(tǒng)的不斷增長,我們開始關(guān)注創(chuàng)建可重用的元素,于是開始使用 CRP 和 REP 來指導(dǎo)包的組合。最后使用 ADP、SDP、SAP 對包圖進(jìn)行度量,去掉不好的依賴。41SAP in Project?抽象接口包42體系結(jié)構(gòu)設(shè)計過程.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計;1.2.3.開發(fā)包(構(gòu)件)設(shè)計運行時
20、的進(jìn)程物理部署5.6.7.完善體系結(jié)構(gòu)設(shè)計;添加構(gòu)件接口; 迭代過程3-743初始物理包44(1) Presentation 層與 Logic 層被置于客戶端,Data 層被置于服務(wù)器端,那么 Logic 層的開發(fā)包依賴于 Data 層的開發(fā)包是不可能的。a) 可以考慮使用 RMI 技術(shù),RMI 技術(shù)會將 Data 層開發(fā)包分解為置于客戶端的dataservice 接口包和置于服務(wù)器的 data 開發(fā)包。這樣一來,Logic 層開發(fā)包依賴于 dataservice 包,dataservice 和 data 層的開發(fā)包都依賴于 RMI 類庫包。(2) 所有的 Data 層開發(fā)包都需要進(jìn)行數(shù)據(jù)持久
21、化(例如讀寫數(shù)據(jù)庫、讀寫文件等),所以它們會有一些重復(fù)代碼,可以將重復(fù)代碼獨立為新的開發(fā)包然后所有的Data 層開發(fā)包都依賴于databaseutility,databaseutility 會依賴于JDBC 類庫包或者 IO 類 庫包。細(xì)節(jié)考慮45(3) 所有的 Presentation 層開發(fā)包都需要使用圖形類型建立界面,都要依賴于圖形界 面類庫包。(4) 此外,Presentation 層實現(xiàn)時,由mainui 包負(fù)責(zé)整個頁面之間的跳轉(zhuǎn)邏輯。其它 各包負(fù)責(zé)各自頁面自身的功能。細(xì)節(jié)考慮465) 在分層風(fēng)格的典型設(shè)計中,不希望高層直接依賴于低層,而是為低層建立接口包, 實現(xiàn)依賴倒置原則(參見1
22、5.2.3),所以應(yīng)該調(diào)整為:各Prensentatin 層開發(fā)包(調(diào) 用)依賴于Logic 層接口包 businesslogicaservice 包,Logic 層開發(fā)包(實現(xiàn))依賴 于Logic 層接口包 businesslogicaservice 包。(6) 在分層風(fēng)格的典型設(shè)計中,Presentation 層與 Logic 層之間、Logic 層與 Data 層之 間可能會傳遞復(fù)雜數(shù)據(jù)對象,那么相鄰兩層都需要使用數(shù)據(jù)對象聲明,所以需要將 數(shù)據(jù)對象聲明單獨獨立為開發(fā)包(VO 包與 PO 包),或者將數(shù)據(jù)對象聲明放入接口 包(VO 包放入 Logic 接口包,PO 包獨立)。細(xì)節(jié)考慮47(
23、7) 開發(fā)包的循環(huán)依賴現(xiàn)象需要消除,對此可以使用依賴倒置原則(參見 15.2.3) 將 循環(huán)依賴變?yōu)閱蜗蛞蕾?a) Sales與Commodity:將部分Commodity類抽象接口commodityInfoService置入Sales 包,這樣 Commodity 單向依賴于 Sales(實現(xiàn)接口+調(diào)用)。b) Sales 與 Member:將部分 Member 類抽象接口置入 Sales 包,這樣Member 單向依賴于 Sales(實現(xiàn)接口+調(diào)用)。(8) 在 Logic 層中,一些關(guān)于初始化和業(yè)務(wù)邏輯層上下文的工作被分配到 utilitybl包中去。細(xì)節(jié)考慮48連鎖超市管理系統(tǒng)開發(fā)包圖
24、(客戶端)49連鎖超市管理系統(tǒng)開發(fā)包圖(服務(wù)器端)50進(jìn)程圖51部署圖52體系結(jié)構(gòu)設(shè)計過程.5.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計; 完善體系結(jié)構(gòu)設(shè)計;1.2.完善軟件體系結(jié)構(gòu)設(shè)計細(xì)化軟件體系結(jié)構(gòu)設(shè)計6.7.添加構(gòu)件接口;迭代過程3-753常見完善的方面:啟動、現(xiàn)場初始化、監(jiān) 控、環(huán)境建立與維護、清理現(xiàn)場完善啟動和網(wǎng)絡(luò)鏈接54細(xì)化salesbl模塊55數(shù)據(jù)定義接口的數(shù)據(jù)對象關(guān)鍵類的重要數(shù)據(jù)結(jié)構(gòu)VO 、POJO56Java EntitiesAn entity is an object that r
25、epresents a persistent business entity such as an account or a customer.No logic / business methodsEntities must persist between the sessions or transactions that use them.Entities are stored in files or databases Entities are beansSimple or EJB.57POJO(Plain Old Java Objects)= Simple Java EntitiesEx
26、ample: AEntitypublic classextends Entity private String first; private String last;private Address address; private Phone phone;public Phone getPhone() return phone; public void setPhone(Phone p) phone = p; / etc.58Value ObjectsA value object holds the attributes of one or more entities in public fi
27、elds.Pass value objects, not entities, between layers.Implementation of Serializable should be consideredValue objects can update and create entities. Entities can create value objects.59Example:VOpublic classVO extends ValueObject public String first;public String last; public int addressOid; publi
28、c String street;public String apartment; public String city;public String state ; public String zip; public int phoneOid; public String phone; public void update(per) . () . publicmake60Address Book Entities61項目實踐VO :View層與Logic之間的數(shù)據(jù)傳遞Customer(VIP)VO、CommodityVO、SaleLineItemVO、PaymentVO、GiftVOPOJO:L
29、ogic與Data層之間的數(shù)據(jù)傳遞SalesPO、SaleLineItemPO、CustomerPO、CommodityPO、PaymentPO、GiftPO62持久化對象 UserPO的細(xì)化public class UserPO implements Serializable int id;String name; String password; UserRole role;public UserPO(int i, String n, String p, UserRole r) id = i; name = n; password = p; role = r;public String g
30、etName() return name;public int getID() return id;public String getPassword() return password; public UserRole getRole() return role;63數(shù)據(jù)持久化的細(xì)化64體系結(jié)構(gòu)設(shè)計過程.5.6.7.分析關(guān)鍵需求和項目約束;通過選擇體系結(jié)構(gòu)風(fēng)格;進(jìn)行軟件體系結(jié)構(gòu)邏輯(抽象)設(shè)計;依賴邏輯設(shè)計進(jìn)行軟件體系結(jié)構(gòu)(實現(xiàn))設(shè)計; 完善體系結(jié)構(gòu)設(shè)計;添加構(gòu)件接口;迭代過程3-765構(gòu)件初步設(shè)計根據(jù)分配的需求確定模塊對外接口初步設(shè)計關(guān)鍵類編寫接口規(guī)范66確定模塊對外接口67
31、接口規(guī)范示例編寫接口規(guī)范68體系結(jié)構(gòu)構(gòu)件69體系結(jié)構(gòu)構(gòu)建包創(chuàng)建重要文件的創(chuàng)建定義構(gòu)件之間的接口關(guān)鍵需求的實現(xiàn)70包的創(chuàng)建71重要文件的創(chuàng)建可選數(shù)據(jù)文件系統(tǒng)文件配置文件72文件列表73SalesBLService的定義public interface SalesBLService /銷售界面得到商品和商品促銷的信息public CommodityVO getCommodityByID(int id); public ArrayList<CommodityPromotionVO>getCommodityPromotionListByID(intcommodityID);/銷售界面得到會
32、員的信息public MemberVO getMember ();/銷售的步驟public ResultMessage addMember(int id);public ResultMessage addCommodity(int id, int quantity); public doublegetTotal(int mode);public double getChange(double payment); public void endSales();74關(guān)鍵需求的實現(xiàn)實現(xiàn)一些關(guān)鍵功能需求。比如連鎖超市系統(tǒng)中銷售用例就是 一個最關(guān)鍵的用例。它所覆蓋的面最廣,如果銷售用例可以實現(xiàn)的話,其它
33、用例的實現(xiàn)就比 較有信心了。而且這個需求需要做到端到端的實現(xiàn)。比如,連鎖超市系統(tǒng)中存在客戶端和服務(wù)器端。那么我們就需要在客戶端通過GUI 界面 發(fā)出指令,通過客戶端的業(yè)務(wù)邏輯處理,訪問服務(wù)器端的數(shù)據(jù),對數(shù)據(jù)進(jìn)行修改。只有這樣 才能表明當(dāng)前的體系結(jié)構(gòu)可以勝任功能性需求。對原型的非功能性指標(biāo)進(jìn)行估算和驗證。如果出 現(xiàn)不符合非功能性需求和項目約束的情況,我們還需要重新對體系結(jié)構(gòu)設(shè)計進(jìn)行調(diào)整。比如,連鎖超市系統(tǒng)中我們用文件來保存數(shù)據(jù),而當(dāng)數(shù)據(jù)越來越多,特別是銷售記 錄要 保存 1 年。這時候,客戶端跨網(wǎng)絡(luò)對服務(wù)器上文件的查找就比較慢,可能會使得我們不滿足 實時性的要求。這時候,可能我們就要調(diào)整體系結(jié)構(gòu)
34、中數(shù)據(jù)存儲的方案,比如換成數(shù)據(jù)庫。 或者在客戶端的邏輯層和數(shù)據(jù)層之間,加設(shè)數(shù)據(jù)映射層。在客戶端運行初始化時,將數(shù)據(jù)從 服務(wù)器端載入到客戶端的內(nèi)存中去。75體系結(jié)構(gòu)集成與測試76集成的策略當(dāng)體系結(jié)構(gòu)中原型各個模塊的代碼都編寫完成并經(jīng)過單元測試之后,需要將所有模塊組 合起來形成整個軟件原型系統(tǒng),這就是集成。集成的目的是為了逐步讓各個模塊合成為一個 系統(tǒng)來工作,從而驗證整個系統(tǒng)的功能、性能、可靠性等需求。對于被集成起來的系統(tǒng)一般 主要是通過其暴露出來的接口,偽裝一定的參數(shù)和輸入,進(jìn)行黑盒測試。根據(jù)從模塊之間集成的先后順序,一般有下列幾種常見的集成策略:大爆炸式增量式自頂向下式自底向上式三明治式持續(xù)集
35、成77自頂向下集成的優(yōu)點:ll按深度優(yōu)先可以首先實現(xiàn)和驗證一個完整的功能需求;只需最頂端一個驅(qū)動(Driver);llll利于故障。自頂向下集成的缺點:llll樁的開發(fā)量大;底層驗證被推遲,且底層組件測試不充分。自頂向下78自底向上集成的優(yōu)點:是對底層組件行為較早驗證; 底層組件開發(fā)可以并行;樁的工作量少;利于故障。自底向上集成的缺點: 驅(qū)動的開發(fā)工作量大;對的驗證被推遲,設(shè)計上的錯誤不能被及時發(fā)現(xiàn)。自頂向下79持續(xù)集成一種增量集成方法,但它提倡盡早集成和頻繁集成。盡早集成是指不需要總是等待一個模塊開發(fā)完成才把它集成起來,而是在開發(fā)之初就利 用Stub 集成起來。頻繁集成是指開發(fā)者每次完成一些開發(fā)任
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湘教新版九年級生物上冊月考試卷含答案
- 2025年北師大新版九年級地理下冊月考試卷含答案
- 2025年華東師大版九年級生物上冊階段測試試卷含答案
- 2025年冀教版九年級歷史下冊階段測試試卷含答案
- 2025年冀教版選擇性必修1歷史下冊階段測試試卷
- 2025年上教版七年級生物下冊階段測試試卷
- 2025年外研版九年級歷史上冊月考試卷
- 二零二五版離婚協(xié)議書起草與子女撫養(yǎng)權(quán)維護服務(wù)合同4篇
- 二零二五版借貸房屋買賣合同糾紛調(diào)解服務(wù)合同4篇
- 二零二五版木結(jié)構(gòu)建筑能耗數(shù)據(jù)采集與分析合同4篇
- 電力系統(tǒng)動態(tài)仿真與建模
- 蝦皮shopee新手賣家考試題庫及答案
- 四川省宜賓市2023-2024學(xué)年八年級上學(xué)期期末義務(wù)教育階段教學(xué)質(zhì)量監(jiān)測英語試題
- 價值醫(yī)療的概念 實踐及其實現(xiàn)路徑
- 2024年中國華能集團燃料有限公司招聘筆試參考題庫含答案解析
- 《紅樓夢》中的男性形象解讀
- 安全生產(chǎn)技術(shù)規(guī)范 第49部分:加油站 DB50-T 867.49-2023
- 《三國演義》中的語言藝術(shù):詩詞歌賦的應(yīng)用
- 腸外營養(yǎng)液的合理配制
- 消防安全教育培訓(xùn)記錄表
- 2023年河南省新鄉(xiāng)市鳳泉區(qū)事業(yè)單位招聘53人高頻考點題庫(共500題含答案解析)模擬練習(xí)試卷
評論
0/150
提交評論