軟件工程(張海藩)第3章.ppt
《軟件工程(張海藩)第3章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程(張海藩)第3章.ppt(60頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第3章需求分析,3.1需求分析的任務(wù)3.2與用戶溝通獲取需求的方法3.3分析建模與規(guī)格說明3.4實(shí)體-聯(lián)系圖3.5數(shù)據(jù)規(guī)范化3.6狀態(tài)轉(zhuǎn)換圖3.7其他圖形工具3.8驗(yàn)證軟件需求3.9小結(jié),1,如何準(zhǔn)確有效地得到用戶的需求,,為什么要進(jìn)行需求分析,在需求階段修復(fù)一個(gè)錯(cuò)誤的費(fèi)用是編碼階段的1/5到1/10,是維護(hù)階段修復(fù)費(fèi)用的1/100到1/200。因此,我們可以認(rèn)為,設(shè)計(jì)錯(cuò)誤的修復(fù)費(fèi)用要遠(yuǎn)遠(yuǎn)高于編碼錯(cuò)誤的修復(fù)費(fèi)用。,通過“分析”,理解用戶的各種問題,通過“規(guī)格說明”把問題表達(dá)出來。要求大家:(1)掌握具體的步驟和方法(2)提高分析問題和解決問題的能力(3)熟練運(yùn)用一些圖形工具,2,基本概念開發(fā)過程的兩大階段(1)正確地確定問題(2)為問題尋找合適的解答目的澄清用戶的各種需求基本任務(wù)用戶和軟件人員雙方一起來充分理解用戶的要求,并把雙方共同的理解明確地表達(dá)成一份書面文檔——軟件需求規(guī)格說明書。,3,在軟件生命期的每個(gè)階段中,分析階段是面向“問題”的,它主要是對(duì)用戶的業(yè)務(wù)活動(dòng)進(jìn)行分析,明確在用戶的業(yè)務(wù)環(huán)境中,軟件系統(tǒng)應(yīng)該“做什么”。,4,,需求分析的任務(wù),確定對(duì)系統(tǒng)的綜合要求,1.確定系統(tǒng)的功能要求提出系統(tǒng)必須完成的全部所有功能2.確定系統(tǒng)的性能要求(1)系統(tǒng)的響應(yīng)時(shí)間(2)系統(tǒng)需要的存儲(chǔ)容量(3)后援存儲(chǔ)器容量、系統(tǒng)重新啟動(dòng)(4)系統(tǒng)的安全性和可靠性3.確定系統(tǒng)的運(yùn)行要求(1)支持系統(tǒng)運(yùn)行的軟件環(huán)境(2)工具軟件和系統(tǒng)軟件(3)支持系統(tǒng)運(yùn)行的硬件環(huán)境(4)外存儲(chǔ)器、通信接口、輸入和輸出4.確定系統(tǒng)的擴(kuò)充要求,5,分析系統(tǒng)的數(shù)據(jù)要求建立數(shù)據(jù)模型(層次方框圖、Warnier圖)導(dǎo)出系統(tǒng)的邏輯模型數(shù)據(jù)流圖實(shí)體—聯(lián)系圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)字典主要的處理算法修正系統(tǒng)開發(fā)計(jì)劃,,6,需求分析的過程需求分析階段可分為四個(gè)過程:調(diào)查研究、分析與綜合、書寫需求分析的文檔和評(píng)審。(1)調(diào)查研究目的:通過各種途徑獲取用戶需求信息產(chǎn)生《用戶需求說明書》角色與職責(zé):需求分析員調(diào)查、分析用戶的需求,客戶與最終用戶提供必要需求信息,7,(2)分析與綜合從信息流和信息結(jié)構(gòu)出發(fā),逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設(shè)計(jì)上的約束,分析它們是否滿足功能要求。(3)書寫需求分析文檔軟件需求說明書數(shù)據(jù)要求說明書初步的用戶手冊(cè)修改、完善與確定軟件開發(fā)實(shí)施計(jì)劃,8,(4)需求分析的評(píng)審系統(tǒng)定義的目標(biāo)是否與用戶的要求一致系統(tǒng)需求分析階段提供的文檔資料是否齊全文檔中的所有描述是否完整、清晰、準(zhǔn)確反應(yīng)用戶要求與所有其它系統(tǒng)成分的重要接口是否都已經(jīng)描述,9,需求獲取的方法系統(tǒng)分析員建立需求的過程中所遇到的困難⑴分析員與領(lǐng)域?qū)<医涣鞯倪^程中,容易產(chǎn)生誤解⑵大型系統(tǒng)有時(shí)會(huì)有不同的用戶群體,他們往往會(huì)提出相互矛盾的要求,分析員要尋求令所有用戶滿意的答案很難⑶需求永遠(yuǎn)不會(huì)穩(wěn)定。系統(tǒng)工程環(huán)境一旦改變,用戶對(duì)軟件的需求也會(huì)改變,而且這種需求往往無法預(yù)測(cè)。,10,訪談訪談?dòng)姓皆L談和非正式訪談兩種形式。非正式訪談以一種較自由的形式,交換對(duì)問題的看法,主要是了解問題的性質(zhì)、需要解決的方案、所需的人數(shù)和能力,關(guān)注客戶的目標(biāo)和收益。正式訪談將根據(jù)一些事先準(zhǔn)備好的議題全面展開討論,得出結(jié)論性的意見。,11,情景(場(chǎng)景)分析是從軟件系統(tǒng)的一個(gè)交互情景示例中得到需求分析信息,然后將其以形式化方式表示出來。情景分析是用戶在某種程度上演示產(chǎn)品的應(yīng)用“樣本”,通過交互實(shí)例片斷細(xì)節(jié)(情景)的描述,實(shí)現(xiàn)對(duì)某個(gè)目標(biāo)產(chǎn)品的表述。每個(gè)情景可能包含一個(gè)或多個(gè)交互,它們能在不同的細(xì)節(jié)層次上提供不同類型的情景信息。情景開始于一個(gè)框架,在導(dǎo)出過程中,細(xì)節(jié)被逐漸增加,直到產(chǎn)生交互的一個(gè)完整的描述。,12,場(chǎng)景(情景)內(nèi)容通常,一個(gè)場(chǎng)景(情景)可能包括:①在場(chǎng)/情景開始部分有一個(gè)系統(tǒng)狀態(tài)描述;②一個(gè)關(guān)于標(biāo)準(zhǔn)事件流的描述;③一個(gè)關(guān)于哪兒會(huì)出錯(cuò),以及如何處理錯(cuò)誤的描述;④有關(guān)其他可能在同一時(shí)間進(jìn)行的活動(dòng)的信息;⑤在場(chǎng)/情景完成后系統(tǒng)狀態(tài)的描述。,13,面向數(shù)據(jù)流自頂向下求精結(jié)構(gòu)化分析方法(SA)就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法?!敖Y(jié)構(gòu)化分析”(“StructuredAnalysis”)是一個(gè)簡(jiǎn)單實(shí)用,使用廣泛的方法。它適用于分析大型的數(shù)據(jù)處理系統(tǒng),尤其是企事業(yè)管理方面的系統(tǒng),這個(gè)方法通常與設(shè)計(jì)階段的結(jié)構(gòu)化設(shè)計(jì)方法(SD)銜接起來。,14,軟件工程技術(shù)中,控制復(fù)雜性的兩個(gè)基本手段是“分解”和“抽象”。分解:把大問題分割成若干個(gè)小問題,然后分別解決。,15,對(duì)于一個(gè)復(fù)雜的系統(tǒng)(比如銀行管理系統(tǒng))如何理解和表達(dá)它的功能呢?SA方法使用了“自頂向下逐層分解”的方法。,16,“逐層分解”體現(xiàn)了分解和抽象的原則,它使我們不至于一下子陷入細(xì)節(jié),而是有控制地逐步地了解更多的細(xì)節(jié),這是有助于理解問題的。無論系統(tǒng)多么復(fù)雜,分析工作都可以有計(jì)劃有步驟、有條不紊地來進(jìn)行,系統(tǒng)規(guī)模再大,分析工作的復(fù)雜程度不會(huì)隨之增大,而只是多分解幾層而已,所以SA方法有效地控制了復(fù)雜性。,18,描述方式SA方法采用了介于形式語言和自然語言之間的描述方式。用SA方法獲得的需求說明書由以下幾部分組成:一套分層的數(shù)據(jù)流圖一本數(shù)據(jù)字典一組小說明補(bǔ)充材料,19,“數(shù)據(jù)流圖”描述系統(tǒng)的分解,即描述系統(tǒng)由哪些部分組成,每個(gè)部分之間有什么樣的聯(lián)系等;“數(shù)據(jù)字典”描述系統(tǒng)中的每一個(gè)數(shù)據(jù);“小說明”詳細(xì)描述系統(tǒng)中的每一個(gè)加工;“補(bǔ)充材料”是根據(jù)需要對(duì)系統(tǒng)的補(bǔ)充。以上就可以明確而完整地描述一個(gè)系統(tǒng)的功能,20,結(jié)構(gòu)化分析方法在描述上的特點(diǎn):盡量采用圖形表示,比較形象、直觀和易于理解。,21,系統(tǒng)的分析過程理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前人工系統(tǒng)的具體模型從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充,22,小說明SA方法的基本思想:將一個(gè)大型復(fù)雜的系統(tǒng)逐層分解成許多個(gè)足夠簡(jiǎn)單的基本加工,然后分別理解每個(gè)基本加工,并為每個(gè)基本加工詳盡地寫下“小說明”,再將所有這些“小說明”組織起來,就得到了整個(gè)系統(tǒng)的說明書。,23,小說明中應(yīng)精確地描述用戶要求一個(gè)加工“做什么”,這包括加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率、出錯(cuò)處理等等。其中最基本的部分是加工邏輯。,24,注意對(duì)一個(gè)加工應(yīng)描述的是用戶要求這個(gè)加工“做什么”,而不是用編程語言來描述具體的加工過程。,25,快速原型法基本思想:在很短的時(shí)間內(nèi)建立起一個(gè)只包含基本數(shù)據(jù)庫和一些基本功能的原型給用戶使用,然后根據(jù)用戶意見對(duì)原型進(jìn)行修改,直到滿意為止。,26,,,短時(shí)間內(nèi)建立原型,,用戶滿意,,,修改,完善原型,,,否,,是,完成原型,27,結(jié)構(gòu)化分析模型的體系結(jié)構(gòu),28,實(shí)體-聯(lián)系圖實(shí)體“實(shí)體”是信息世界中描述客觀事物的概念。實(shí)體可以是現(xiàn)實(shí)世界的人、物、抽象的概念、事物之間的聯(lián)系等。如一個(gè)人,一件物品,一個(gè)部門,一種思想等都可以是實(shí)體。(實(shí)體有總體和個(gè)體之分)2.屬性“屬性”是指實(shí)體具有的某種特性。屬性是對(duì)實(shí)體的進(jìn)一步描述。如學(xué)生實(shí)體可由學(xué)號(hào)、姓名、年齡、性別、系、年級(jí)等屬性來刻畫。(屬性有屬性名和屬性值的概念),29,3.聯(lián)系現(xiàn)實(shí)世界里的事物總是存在著這樣或那樣的聯(lián)系,這種聯(lián)系必然要在信息世界中得到反映。在信息世界中,事物之間的聯(lián)系可分為兩類:一是實(shí)體內(nèi)部的聯(lián)系,如組成實(shí)體的各屬性之間的關(guān)系;另一是實(shí)體之間的聯(lián)系,這里我們主要討論實(shí)體與實(shí)體之間的聯(lián)系,30,系統(tǒng)建模的一個(gè)重要方面是定義系統(tǒng)處理的數(shù)據(jù)的邏輯結(jié)構(gòu)。實(shí)體—關(guān)系模型描述數(shù)據(jù)實(shí)體、關(guān)聯(lián)以及實(shí)體屬性。該模型用實(shí)體-關(guān)系圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。實(shí)體彼此間的聯(lián)系分為三類:一對(duì)一(1:1)聯(lián)系,一對(duì)多(1:N)聯(lián)系,多對(duì)多(M:N)聯(lián)系。,31,設(shè)A,B為兩個(gè)包含若干個(gè)體的總體,其間建立了某種聯(lián)系,其聯(lián)系方式可分為三類:一對(duì)一聯(lián)系、一對(duì)多聯(lián)系(包括多對(duì)一聯(lián)系)、多對(duì)多聯(lián)系。,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A,B,,,1:n,n:m,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A,B,33,一對(duì)一聯(lián)系:如果對(duì)于A中的每一個(gè)實(shí)體,B中至多有一個(gè)實(shí)體與其對(duì)應(yīng);B中的每一個(gè)實(shí)體也至多對(duì)應(yīng)A中的一個(gè)實(shí)體,則稱A與B是一對(duì)一的,記作1:1。比如:,學(xué)校,校長(zhǎng),,領(lǐng)導(dǎo),,,1,1,工廠,廠長(zhǎng),,管理,,,1,1,科室主任,病區(qū),,負(fù)責(zé),,,1,1,屬性1,屬性n,,,屬性1,屬性n,,,校名,屬性n,,,屬性1,,校址,,姓名,,職稱,,屬性1,,屬性n,,屬性1,,屬性n,,屬性1,,屬性n,,屬性1,,屬性n,,34,,一對(duì)多聯(lián)系:如果對(duì)于A中的一個(gè)實(shí)體,B中有一個(gè)以上的實(shí)體與之對(duì)應(yīng);B中的每一個(gè)實(shí)體至多對(duì)應(yīng)A中的一個(gè)實(shí)體,則稱A與B是一對(duì)多的,記作1:n。比如:,學(xué)校,班級(jí),,下設(shè),,,1,n,工廠,車間,,有,,,1,n,病區(qū),醫(yī)生,,擁有,,,1,n,屬性1,屬性n,,,屬性1,屬性n,,,屬性1,屬性n,,,校名,,校址,,屬性1,,屬性n,,屬性1,,屬性n,,班名,,人數(shù),,屬性1,,屬性n,,屬性1,,屬性n,,35,多對(duì)多聯(lián)系(M∶N)如果A中有實(shí)體對(duì)應(yīng)B中一個(gè)以上實(shí)體;B中也有實(shí)體對(duì)應(yīng)A中一個(gè)以上實(shí)體,則稱A與B為多對(duì)多的,記作m:n。比如:,學(xué)生,課程,,選課,,,m,n,項(xiàng)目,職工,,參加,,,m,n,醫(yī)生,病人,,診治,,,m,n,成績(jī),,屬性1,屬性n,,,記錄,,學(xué)號(hào),,姓名,,屬性1,,屬性n,,屬性1,,屬性n,,課程號(hào),,課程名,,屬性1,,屬性n,,屬性1,,屬性n,,36,實(shí)體——矩形框——聯(lián)系——菱形框——屬性——橢圓形——,4.符號(hào),,,,37,4.如何設(shè)計(jì)E-R圖考察客觀事物及其聯(lián)系,抽象出實(shí)體,并一一命名(不能重名)根據(jù)需求確定實(shí)體的屬性根據(jù)屬性外在的聯(lián)系,描述實(shí)體間的聯(lián)系先作出局部E-R圖,再綜合產(chǎn)生總體E-R圖??傮wE-R圖不是各局部E-R圖的簡(jiǎn)單拼合,而是有可能增加了某些聯(lián)系,也有可能減少了某些聯(lián)系,38,4.實(shí)例一個(gè)學(xué)生管理系統(tǒng)的實(shí)體-關(guān)系圖【步驟】(1)考察客觀事物及其聯(lián)系,抽象出實(shí)體,并一一命名(不能重名)實(shí)體:教師,學(xué)生,課程(2)根據(jù)需求確定實(shí)體的屬性教師:教工號(hào),姓名,性別,職稱,職務(wù)學(xué)生:學(xué)號(hào),姓名,性別,系,年級(jí)課程:課程號(hào),課名,學(xué)時(shí),學(xué)分,39,(3)根據(jù)屬性外在的聯(lián)系,描述實(shí)體間的聯(lián)系教:教師教課程學(xué):學(xué)生學(xué)課程(4)畫出E-R圖,40,,狀態(tài)轉(zhuǎn)換圖,狀態(tài)模型是一種描述系統(tǒng)對(duì)內(nèi)部或者外部事件響應(yīng)的行為模型。它描述系統(tǒng)狀態(tài)和事件,以及事件引發(fā)系統(tǒng)在狀態(tài)間的轉(zhuǎn)換。狀態(tài)模型一般采用狀態(tài)轉(zhuǎn)換圖(狀態(tài)圖)標(biāo)記方法。狀態(tài)圖提供了行為建模機(jī)制。狀態(tài)圖描述了系統(tǒng)中某些復(fù)雜對(duì)象的狀態(tài)變化,主要有狀態(tài)、變遷和事件三種描述。,41,(1)狀態(tài),狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。系統(tǒng)對(duì)事件的響應(yīng)可以是做一個(gè)(或一系列)動(dòng)作,也可以只是改變系統(tǒng)本身的狀態(tài),還可以既改變狀態(tài)又做動(dòng)作。狀態(tài)圖中定義的狀態(tài)有:初態(tài)、終態(tài)和中間狀態(tài);在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)可以有若干個(gè)。(2)事件事件是引起系統(tǒng)做動(dòng)作或轉(zhuǎn)換狀態(tài)的控制信息,42,(4)實(shí)例,【一】電話系統(tǒng)狀態(tài)圖,43,【二】CPU分配的進(jìn)程狀態(tài)轉(zhuǎn)換圖,運(yùn)行,等待,就緒,,,,,t1,t2,t3,t4,44,【三】一個(gè)復(fù)印機(jī)控制軟件簡(jiǎn)化的狀態(tài)圖,缺紙,45,其他圖形工具(一)層次方框圖層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。,46,(二)Warnier圖由法國專家Warnier提出用樹形結(jié)構(gòu)描繪信息表明了信息的邏輯組織結(jié)構(gòu),47,(三)IPO圖描述輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)形式:左邊框——輸入數(shù)據(jù)中間框——主要處理右邊框——輸出數(shù)據(jù),48,驗(yàn)證軟件需求驗(yàn)證軟件需求的正確性一致性:所有的需求一致,任何一條不能和別的沖突完整性:應(yīng)考慮到用戶要求的所有功能和性能現(xiàn)實(shí)性:在現(xiàn)有技術(shù)的基礎(chǔ)上應(yīng)能實(shí)現(xiàn)需求有效性:能解決用戶遇到的問題驗(yàn)證軟件需求的方法用于需求分析的軟件工具RSL(需求陳述語言)PSL/PSA(問題陳述語言/問題陳述分析程序),,49,結(jié)構(gòu)化分析步驟,⑴問題描述⑵畫分層的數(shù)據(jù)流圖⑶決定哪些部分需要計(jì)算機(jī)化和怎樣計(jì)算機(jī)化⑷數(shù)據(jù)細(xì)節(jié)描述⑸定義處理邏輯⑹定義物理資源⑺確定輸入/輸出規(guī)格說明,確定有關(guān)數(shù)值⑻確定硬件需求⑼根據(jù)結(jié)構(gòu)化分析模型,建立系統(tǒng)規(guī)格說明文檔,50,,,用結(jié)構(gòu)化分析方法分析圖書館系統(tǒng)【問題描述】①一個(gè)圖書館藏有圖書和期刊雜志兩大類書籍,每種圖書/雜志可以有多冊(cè)。②圖書館可以維護(hù)(注冊(cè)、更新和刪除)圖書資料。③圖書館管理員負(fù)責(zé)與借書者打交道。④借書者可以預(yù)約目前借不到的書或雜志。⑤所有人員都可以瀏覽圖書館的圖書信息和各種告示。⑥系統(tǒng)能在流行的技術(shù)環(huán)境下運(yùn)行,有一個(gè)良好的圖形交互界面。⑦系統(tǒng)應(yīng)具有良好的可擴(kuò)展性。,51,【功能分析】①瀏覽功能:所有人員都可以瀏覽圖書館的圖書信息。②借還功能:借書者可以借/續(xù)借、還、預(yù)約圖書。③圖書管理功能:圖書管理人員可以做錄入、更新和銷毀等圖書信息維護(hù)工作。④借書者管理:系統(tǒng)管理人員可以進(jìn)行注冊(cè)、更改、注銷借書者信息等維護(hù)工作。,52,【建立數(shù)據(jù)流圖】,分析圖書館系統(tǒng)有哪些外部用戶,即角色。圖書館系統(tǒng)主要有一般瀏覽者、借書者、一般管理員和系統(tǒng)管理員四類外部用戶。,53,【借/還功能數(shù)據(jù)流圖】,54,,【維護(hù)功能數(shù)據(jù)流圖】,55,【借書功能細(xì)化的數(shù)據(jù)流圖】,56,【建立實(shí)體-關(guān)系圖】,圖書館系統(tǒng)有“圖書”和“借書者”兩個(gè)實(shí)體。在數(shù)據(jù)流圖的分析中發(fā)現(xiàn)“圖書”實(shí)體,沒有真正區(qū)別借書和預(yù)約的關(guān)系。借書者是借一本具體的書,即“書目”,而預(yù)約圖書指的是此類書,而不是指具體的某冊(cè)書目。因此,要用“標(biāo)題”實(shí)體區(qū)分二者,即預(yù)約的是書的“標(biāo)題”,而不是“書目”。外部實(shí)體除了“借書者”,還有“系統(tǒng)管理員”。因此,必須考慮有嚴(yán)格授權(quán)進(jìn)入的權(quán)限。,57,【圖書館系統(tǒng)實(shí)體-關(guān)系圖】,58,【建立狀態(tài)轉(zhuǎn)換圖】,圖書可借條件:圖書館庫存的該圖書的可借冊(cè)數(shù)(n)大于預(yù)約該圖書的借書者數(shù)目(m)。,59,,【建立數(shù)據(jù)字典】,圖書館系統(tǒng)的圖書信息分為“標(biāo)題”和“書目”。標(biāo)題描述抽象的書的信息,書目則是具體的每一本書的信息。,60,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件工程 張海藩
鏈接地址:http://kudomayuko.com/p-11547217.html