




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
農業物聯網工程設計與實施項目六物聯網應用軟件設計6.4軟件需求分析----3面向對象的分析方法3面向對象的分析方法結構化分析方法中,對事物的分析是從過程側面或屬性側面來描述的,在認識現實世界事物的整個過程中,把事物內部的處理過程或事物的屬性作為描述的核心來處理,以功能為中心來實現,有別于人類認識事物的方式,分析與設計之間需要進行思維方式的轉換。一般地,結構化分析方法常常用于規模較小的系統的分析。面向對象分析方法中,從事物的組成部件及每個部件的屬性、功能等整體來認識事物,也就是將現實世界的事物的屬性和過程一起進行描述,與人類認識世界的方式是一致的,便于系統的擴展。一般適用于較大規模的系統分析。面向對象的方法學可以用下式來表述:OO=Objects+Classes+Inheritance+Communicationwithmessages項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法對于常規的軟件系統的需求分析文檔的描述,常常借助于這幾種描述方法的綜合:首先采用面向對象方法分析和提煉,并通過功能分解的方法分解成若干子系統;其中的子系統功能可以選用結構化分析方法;而其中涉及到數據部分的需求則借助于信息模型輔助。一、面向對象需求分析方法的任務和步驟二、軟件系統的面向對象分析三、UML及其支持工具簡介項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法一、面向對象需求分析方法的任務和步驟面向對象有五大要素:對象、類、繼承、聚合、消息。面向對象分析(ObjectOrientedAnalysis,OOA),包含面向對象的需求分析和系統分析,就是通過上述這些要素,讓分析人員在解空間直接模擬問題空間中的對象,為需求建?;顒犹峁┲庇^、自然的語言支持和方法學指導,以便消減運用結構化分析方法帶來的語義斷層和鴻溝。OOA的核心是利用面向對象的概念和方法為系統需求建造模型。包含兩個可以重疊的步驟:用面向對象的方法對現實世界的問題進行分析;用面向對象的工具對分析結果進行描述。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法一、面向對象需求分析方法的任務和步驟OOA的主要任務是分析和理解問題領域,找出描述問題域和系統責任所需要的類及對象,分析它們的內部構成和外部關系,建立OOA模型。為此,OOA需完成的任務可分解為:(1)系統工程師和用戶必須充分溝通,以了解基本的用戶需求;(2)必須標識類(即定義其屬性和操作);(3)必須定義類的層次;(4)應當表達對象與對象之間的關系(即對象的連接);(5)必須模型化對象的行為;(6)反復地做任務①~⑤,直到模型建成。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法一、面向對象需求分析方法的任務和步驟面向對象需求分析的基本過程通常包括5個步驟:1、問題域分析:分析應用領域的業務范圍、業務規則和業務處理過程,確定系統的責任、范圍和邊界,確定系統的需求。2、發現和定義對象和類:識別對象和類,確定它們的內部特征,即屬性和操作3、識別對象的外部聯系:在發現和定義對象與類的過程中,需要同時識別對象和類、類與類之間的各種外部聯系,即結構性的靜態聯系和行為性的動態聯系,包括一般與特殊、整體與部分、實例連接、消息連接等聯系。4、建立系統的靜態結構模型:分析系統的行為,建立系統的靜態結構模型,并將其用圖形和文字說明表示出來,如繪制類圖、對象圖、系統與子系統結構圖等,編制相應的說明文檔。5、建立系統的動態結構模型:分析系統的行為,建立系統的動態行為模型,并將其用圖形和文字說明表示出來,如繪制用例圖、交互圖、活動圖、狀態圖等,編制相應的說明文檔。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析與傳統的面向數據流的結構化方法以功能為導向的分析不同,面向對象的分析OOA以對象類作為分析的基礎,借助于面向對象方法,構建的是面向類的模型。一般地,可通過對象模型、用例(功能)模型、動態行為模型和物理實現模型來表達分析結果。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析面向對象分析過程,通常需要首先建立四種形式的模型:用類和對象表示的對象(靜態)模型;由用例和場景表示的用例(功能)模型;由狀態機圖和交互圖表示的動態行為模型;由構件圖和部署圖表示的物理實現模型。根據所解決問題類型的不同,這四類模型的重要性也有所不同。這四種模型從四個不同的角度描述目標系統,從不同側面反映系統的實質內容,總體可以全面反映對目標系統的需求。其中對象(靜態)模型是上述分析階段幾個模型的核心,是動態模型和功能模型的框架。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析不同的面向對象方法建模的步驟各有不同,有些方法從建立對象模型入手,而有些方法從建立用例模型入手,在使用各種工具輔助建模時,用例視圖一般位于瀏覽器的最頂部,預示著一般地建議首先建立用例模型,當然工具本身并不限制必須先建立用例模型。目前普遍的做法是從用例建模開始(尤其是對新項目),在實際建模時往往在幾個模型之間交替進行,多次迭代和反復。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析用例(功能)模型往往是從用戶需求的角度來描述系統,指明系統應該“做什么”,直接反映用戶對目標系統的需求,描述數據在系統中的變換過程以及系統的功能。通常,用例模型由一組用例圖和數據流圖組成,數據流圖主要起輔助作用。面向對象方法強調圍繞對象而不是圍繞功能來構造系統。對象模型是面向對象方法最基礎、最核心,也是最重要的模型,用于表示靜態的、結構化的系統的“數據”性質。該模型主要關心系統中對象的結構、屬性與操作以及對象與對象之間關系的映射。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析動態模型可以借助于交互(順序圖或通信圖)或狀態機(狀態圖或活動圖)進行建模。交互主要用于對共同工作的群體對象的行為建模,而狀態機則是對單個對象的行為建模。當問題系統涉及交互作用和時序時,如用戶界面交互和過程控制,動態模型是重點。物理實現模型關注的是系統實現過程的建模,常常用構件圖和部署圖表示靜態的物理實現模型,用交互圖和狀態機描述動態實現模型。物理實現模型從實現子系統和實現元素(即構件)的角度來表現系統實現的物理組成。實現模型與設計模型的映射既可以非常緊密也可以非常松散,但最好是保持一對一的映射關系(即一個設計包對應一個設計子系統,這樣可以保證從設計到源代碼的可追溯性更容易些)。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析面向對象建模技術所建立的四種模型,分別從四個不同側面描述所要開發的系統,這四種模型相互補充、相互配合,使我們對系統的認識更加全面:由于對象模型中類、對象、接口等定義做事情的實體,是軟件的基本組成單元,因此,對象模型是必須建立的,是核心模型之一,為其他三種模型奠定了基礎;用例(功能)模型指明系統應該“做什么”,從用戶的角度描述系統功能,是整個后續工作的基礎,也是測試與驗收的依據;項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法二、軟件系統的面向對象分析面向對象建模技術所建立的四種模型,分別從四個不同側面描述所要開發的系統,這四種模型相互補充、相互配合,使我們對系統的認識更加全面(續):動態模型明確規定什么時候(即在何種狀態下接受什么事件的觸發)做什么事情,當問題涉及交互作用和時序(如用戶交互和過程控制)時,動態模型尤為重要;物理實現模型通過構件圖和部署圖描述系統實現和分析設計中的對應關系。通常,我們依靠場景描述完成這四種模型的集成。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介1、定義:UML是用來對軟件系統進行可視化描述、規范定義、構造和文檔化的建模語言??梢暬P偷慕樵O計人員、開發人員、用戶和專家之間的交流提供了便利。規范定義意味著UML建立的模型是準確的、無二義的、完整的。構造意味著可以將UML模型映射到代碼實現。文檔化是指UML可以為系統的體系結構以及系統的所有細節建立文檔。項目六物聯網應用軟件設計6.4軟件需求分析UML結構事物行為事物分組事物注釋事物事物依賴關聯泛化實現關系圖結構圖行為圖交互圖規范說明修飾通用劃分擴展機制:版型、標記值、約束公共機制命名范圍可見性實現規則執行完整性基本構造塊命名范圍可見性實現規則執行完整性類圖對象圖構件圖實現包圖部署圖復合結構圖用例圖活動圖狀態機圖順序圖通信圖定時圖交互概覽圖項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介2、UML的主要特點有:統一的標準;面向對象;可視化,表示能力強大;獨立于過程;易于掌握應用。3、UML不是一個獨立的軟件工程方法,而是面向對象軟件工程方法中的一個部分。UML是一種標準的系統分析和建模語言,適用于包括系統軟件、企業信息管理系統、Web應用、嵌入式實時系統等對各類軟件系統的建模。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介4、UML不是程序設計語言,不能用來直接書寫程序,實現系統5、UML應用覆蓋了從需求分析到測試的軟件生存周期各階段。(1)需求分析階段:該階段使用UML用例圖來描述用戶的需求。通過用例建模,可以描述對系統感興趣的外部角色及其對系統的功能要求(用例圖)。(2)系統分析階段:該階段主要關心問題域中的基本概念(例如,抽象、類和對象等)和機制,需要識別這些類以及它們相互間的關系,可以用UML的邏輯視圖和動態視圖來描述。類圖描述系統的靜態結構,通信圖(UML1.0中為協作圖)、順序圖、活動圖和狀態圖描述系統的動態行為。在這個階段只為問題域的類建模,而不定義軟件系統的解決方案細節。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介(3)系統設計階段:該階段把系統分析階段的結果擴展成技術解決方案,加入新的類來定義軟件系統的技術方案細節,引入具體的類來處理用戶接口、數據庫的訪問、通信和并行性等問題(4)編碼階段:該階段的任務是把來自設計階段的類轉換成某種面向對象程序設計語言實現的代碼。(5)測試階段:UML模型可作為測試用例的依據,測試小組使用不同的UML圖作為測試工作的依據:單元測試(類圖和類規格說明);集成測試(構件圖和通信圖);系統測試使用用例圖來驗證系統的行為,驗收測試由用戶進行,用與系統測試類似的方法,驗證系統是否滿足在分析階段確定的所有需求。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介6、UML用模型來描述系統的結構、靜態特征結構以及動態特征行為,從不同的角度為系統建模,形成不同的視圖。每個視圖代表完整系統描述中的一個對象,表示這個系統中的一個特定的方面,每個視圖又由一組圖構成,每幅圖包含了強調系統中某一方面的信息。在UML中提供了靜態圖和動態圖,共計13種(UML1.0中共9種圖,UML2.0版本中,新增4類圖,另外有幾種圖形有所變化),以及5種視圖。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介6.1靜態圖(1)類圖(classdiagram)描述了類、接口、協作以及它們之間的關系。在面向對象系統建模中,類圖是最常用的圖,類圖描述了系統的靜態結構。(2)對象圖(objectdiagram)描述了對象以及對象之間的關系,對象圖也描述了系統在某個時刻的靜態結構。(3)用例圖(usecasediagram)描述了用例、參與者以及它們之間的關系,用例圖用來描述系統的功能。(4)構件圖(componentdiagram)描述模型元素之間的組織結構和依賴關系,構件圖描述了實現系統的元素的組織。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介6.1靜態圖(續)(5)部署圖(deploymentdiagram)描述系統環境元素的配置(6)包圖(PackageDiagram)描述能作為一個集合進行命名和處理的建模元素組織,包的存在只是為了幫助組織模型的元素,在系統運行時不出現,完全是組織設計的機制。(7)組合結構圖(CompositeStructureDiagram)展示類或協作的內部結構。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介6.2動態圖(1)狀態圖(statechartdiagram)描述系統元素的狀態條件和響應。(2)順序圖(sequencediagram)按時間順序描述系統元素之間交互(3)通信圖(communicationdiagram)按時間和空間的順序描述系統元素間的交互和關系,UML1.0中為協作圖(Collaborationdiagram)。(4)活動圖(activitydiagram)描述系統元素的活動。(5)計時圖(TimingDiagram)主要用于表示交互過程中不同對象狀態改變的定時約束。(6)交互概覽圖(InteractionOverviewDiagram)是將活動圖和順序圖綜合在一起的圖,并沒有引入新的建模元素,其組成元素包括活動圖和順序圖兩種元素。項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介需求需求分析階段系統分析階段系統設計階段用例圖活動圖類圖(簡單格式)類圖(復雜格式)順序圖狀態圖通信圖圖2.24UML中主要圖之間的關系項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UML及其支持工具簡介項目六物聯網應用軟件設計6.4軟件需求分析7.視圖(1)用例視圖(usecaseview)表示系統的功能性需求。用例視圖使用用例圖來描述,用活動圖來進一步描述其中的用例。(2)邏輯視圖(logicalview)表示系統的概念設計和子系統結構等。用類圖、對象圖、邏輯結構圖和包圖描述系統靜態結構,用狀態圖、順序圖、通信圖(UML1.0版本中的協作圖)和活動圖描述系統動態行為,邏輯視圖又稱為結構模型視圖。(3)進程視圖(processview)表示系統的動態行為及其并發性,使用狀態圖、順序圖、通信圖、活動圖、計時圖、構件圖和部署圖來描述動態行為,又稱為行為模型視圖。(4)實現視圖(implementationview)表示系統實現的代碼結構和行為特征,用構件圖來描述,又稱構件視圖。(5)部署視圖(deploymentview)用于定義硬件結點的物理結構。表示實現環境和構件被部署到物理結構中的映射,部署視圖用部署圖來描述項目六物聯網應用軟件設計6.4軟件需求分析3面向對象的分析方法三、UM及其L支持工具簡介8、支持工具:目前,已有很多工具支持UML2.0標準進行建模和設計開發/網站提供了一個截止2015年8月全球UML相關工具一覽表,其中重點推薦24種工具,其他還有107種,共包含131種支持UML的工具。項目六物聯網應用軟件設計6.4軟件需求分析農業物聯網工程設計與實施項目六物聯網應用軟件設計6.4軟件需求分析----2結構化分析方法2結構化分析方法結構化分析方法是一種面向數據流的傳統軟件開發方法,起源于結構化程序設計語言。該方法將待解決的問題看作一個系統,從而用系統科學的思想方法(抽象、分解、模塊化)來分析和解決問題。其核心思想是自頂向下的分解。結構化需求分析方法通常需要建立的模型包括:業務流程圖;數據流圖;數據字典;結構化語言、判定表或判定樹描述的加工邏輯;此外,還可以根據需要通過實體聯系圖和狀態轉換圖來作補充。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法一、自頂向下逐層分解的分析策略對于復雜的大項目,傳統的策略是把復雜的問題“化整為零,各個擊破”,這就是我們通常所說的“分解”。在分解中要充分體現“抽象”的原則。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——步驟30項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——步驟(1)建立當前系統的物理模型(2)抽象出當前系統的邏輯模型(去掉模型中非本質因素,抽取出固有的、不依賴于運行環境而變化的本質因素)(3)建立目標系統的邏輯模型(分析比較目標系統與當前系統邏輯上的差別,將改變的部分抽象為加工)(4)作進一步的補充和優化(5)建立目標系統的物理模型(可多個)(6)估算物理模型的成本和進度(7)選擇一個物理模型作為目標系統的需求(8)將結構化規格說明組裝:DFD+DD+小說明項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖(2)數據流圖(3)數據字典(4)結構化語言、判定表和判定樹等(5)實體聯系(EntityRelationship,ER)圖(6)狀態轉換圖項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖業務流程指在組織內部“流轉”的一系列相關的活動,接收信息、資金、人員、技術等各種投入要素,產生業務部門所期望的包括產品、服務或某種決策結果。業務流程圖是一種系統分析人員都懂的共同語言(規定的符號及連線),用來描述系統組織結構、業務流程的,其繪制是按照業務的實際處理步驟和過程進行的,是分析業務流程的重要步驟。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖作用主要表現在以下幾個方面:(1)制做流程圖的過程是全面了解業務處理的過程,是進行系統分析的依據。(2)它是系統分析員、管理人員、業務操作人員相互交流思想的工具。(3)系統分析員可直接在業務流程圖上擬出可以實現計算機處理的部分。(4)用它可分析出業務流程的合理性。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖作用主要表現在以下幾個方面:(1)制做流程圖的過程是全面了解業務處理的過程,是進行系統分析的依據。(2)它是系統分析員、管理人員、業務操作人員相互交流思想的工具。(3)系統分析員可直接在業務流程圖上擬出可以實現計算機處理的部分。(4)用它可分析出業務流程的合理性。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖業務流程圖常用符號表示及其含義業務流程圖示例項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖表示系統邏輯模型,以直觀的圖形清晰地描述系統中數據的流動和處理過程,是分析員與用戶之間極好的通信工具。沒有任何具體的物理元素,它只是描述數據在軟件中流動和被處理的邏輯過程。4種基本元素:源點或者終點、加工、數據流、數據存儲用途:一是作為交流信息的工具供有關人員審查確認和供用戶理解和評價;二是作為分析和設計的工具用于描述系統所完成的功能,同時輔助物理系統設計;項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖數據流圖中的附加符號及含義項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖----畫數據流圖的步驟:
第一步,先找外部實體(可以是人、物或其他軟件系統),找到外部實體,則系統與外部世界的界面就得以確定,系統的源點和終點也就找到了;
第二步,找出外部實體的輸入和輸出數據流;
第三步,在圖的邊上畫出系統的外部實體;
第四步,從外部實體的輸出流(源點)出發,按照系統的邏輯需要,逐步畫出一系列變換數據的加工,直到找到外部實體處所需的輸入流(終點),形成數據流的封閉;
第五步,按照上述原則進行檢查和修改。最后按照上述步驟畫出所有子圖。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖----畫數據流圖時需要遵循的基本原則:1)數據流圖中所有的符號必須是前面所述的四種基本符號和附加符號;2)數據流圖的主圖(頂層)必須含有前面所述的四種符號,缺一不可;3)數據流圖主圖上數據流必須封閉在外部實體之間。(外部實體可以是一個,也可以是多個);4)加工(變換數據處理)至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果;5)任何一個數據流子圖必須與他父圖上的一個加工相對應,父圖中有幾個加工,就可能有幾張子圖,兩者的輸入數據流和輸出數據流必須一致,即所謂“平衡”;6)圖上的每個元素都必須有名字(流向數據存儲或從數據存儲流出的數據流除外)。7)數據流圖中不可夾帶控制流;初畫時可以忽略瑣碎的細節,以集中精力于主要數據流。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖----畫數據流圖時需要注意:只考慮數據流的靜態關系,不考慮其動態關系(如啟動、停止等與時間有關的問題),也不考慮出錯處理問題;只考慮常規狀態,不考慮異常狀態,這兩點(動態關系和異常)一般留在設計階段解決;畫數據流圖與畫程序流程圖有本質的區別,數據流圖只描述“做什么”,不描述“怎么做”和做的順序,而程序流程圖表示對數據進行加工的控制和細節;不能期望數據流圖一次畫成,而是要經過多次反復才能完成。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖----畫數據流圖時需要注意:多層數據流圖中,一般分為頂層、中間層、底層。層次編號是按頂層、1層、2層……次序編排的。逐層分解時,按照自頂向下逐層分解,并且應該逐步增加細節。在分層細畫時,必須保持信息的持續性,父圖和子圖要平衡;每次只細化一個加工。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(2)數據流圖----分層時應注意的問題:1.
編號規則1)子圖的編號就是父圖中相應加工的編號。
2)子圖中加工的編號由父圖號、小數點、局部號連接而成。2.父圖和子圖的平衡所謂“平衡”是指子圖的所有輸入數據流必須是父圖中相應加工的輸入,子圖的所有輸出數據流必須是父圖中相應加工的輸出。3.加工分解的原則自然性:概念上合理、清晰;均勻性:理想的分解是將一個問題分解成大小均勻的幾個部分;分解度:一般每一個加工每次分解最多不要超過7個子加工,應分解到基本加工為止。合理使用文件:當文件作為某些加工之間的交界面時,文件必須畫出來,一旦文件作為數據流圖中的一個獨立成份畫出來了,那么同其他成份之間的聯系也應同時表達出來。項目六物聯網應用軟件設計6.4軟件需求分析例:考察下圖中子父圖的平衡圖a父圖13AnTBCM22子圖2.12.32.2NPSTQ顯然,圖a中子圖與父圖不平衡。3124365定貨單提貨單父圖33.13.23.3客戶帳號數量提貨單子圖如果有如下數據條目:訂貨單=客戶+賬號+數量則子、父圖平衡。項目六物聯網應用軟件設計6.4軟件需求分析數據流圖父圖與子圖的不平衡項目六物聯網應用軟件設計6.4軟件需求分析父圖與子圖的平衡項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(3)數據字典關于數據的信息的集合,也就是對數據流圖中所包含元素的定義的集合。數據流圖和數據字典共同構成系統的邏輯模型。內容包括:數據流、數據流分量(數據基本項)、數據存儲(文件)、加工(處理)。項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(3)數據字典--數據項描述示例數據項也稱數據元素,具有獨立邏輯含義的最小數據單位。在數據字典中對其定義包括:數據項的名稱、編號、別名、簡述;數據項的取值范圍;數據項的長度。例:數據項定義數據項編號:A03-04數據項名稱:庫存量別
名:數量簡
述:某種配件的庫存數量長
度:6個字節取值范圍:0-999999項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(3)數據字典---數據流描述示例表明系統中數據的邏輯流向,可以是數據項或數據結構,包括:數據流的名稱及編號;簡述;數據流的來源;數據流的去向;數據流的組成;數據流的流通量;高峰期流通量。例:數據流定義編
號:D03-08數據流名稱:發貨單簡
述:銷售科為用戶開出的發貨單數據流來源:“開發貨單”處理功能數據流去向:數據存儲“訂貨單存檔”數據流組成:發貨單數據結構流
通
量:150份/天高峰流通量:70份/每天上午9:00-11:00項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(3)數據字典---處理邏輯(加工)描述示例僅對數據流程圖(DFD)中最底層的處理邏輯加以說明。包括:處理邏輯名稱及編號;簡述;輸入;處理過程;輸出;處理頻率。例:處理邏輯定義處理邏輯編號:P03-01;處理邏輯名稱:驗收訂貨單簡述:確定用戶的訂貨單是否填寫正確輸入的數據流:訂貨單,來源:外部實體“用戶”處理:檢驗定貨單數據,查明是否符合供貨范圍輸出的數據流:合格的訂貨單,去向:處理邏輯“確定發貨量”;不合格的訂貨單,去向:外部項“用戶”處理頻率:50次/天項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(3)數據字典---數據存儲描述示例數據流的暫?;蛴谰帽4娴牡胤桨ǎ簲祿鎯Φ木幪?;名稱;簡述;組成;關鍵字相關的處理例:數據存儲定義數據存儲編號:F03—08數據存儲名稱:庫存賬簡
述:存放配件的歷年庫存和單價數據存儲組成:配件編號+配件名稱+單價+庫存量+備注關
鍵
字:配件編號相關聯的處理:P2(“確定發貨量”),P3(“開發貨單、修改庫存”)項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)結構化語言、判定表和判定樹等加工邏輯是對數據流圖中每個加工所作的說明。描述加工邏輯一般用結構化語言、判定表和判定樹。結構化語言判定表判定樹項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——1結構化語言結構化語言介于自然語言與程序設計語言之間的語言;它既有結構化程序的清晰易讀的優點,又有自然語言簡單易懂的優點54項目六物聯網應用軟件設計6.4軟件需求分析例
某數據流圖中有“下崗職工重新分配工作”的加工,指的是重新分配工作時,要根據下崗職工的年齡,文化程度,性別等情況分配不同的工作。如果年齡在25歲以下者,初中文化程度脫產學習,高中文化程度當電工;年齡在25歲至40歲之間者,中學文化程度男性當鉗工,女性當車工,大學文化程度的當技術員。年齡在40歲至50歲之間者,中學文化程度當交通協管員,大學文化程度當技術員。用結構化語言編寫該加工的邏輯說明。2.3.2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——1結構化語言項目六物聯網應用軟件設計6.4軟件需求分析If年齡〈=25thenif文化程度=初中then脫產學習endifif文化程度=高中then電工endifendifif25〈年齡〈=40thenif文化程度=中學thenif性別=男then鉗工
else車工
endifendifif文化程度=大學then技術員endifendifif40〈年齡〈=50thenif文化程度=中學then交通協管員endifif文化程度=大學then技術員endifendif結構化語言編寫該加工的邏輯說明2.3.2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——1結構化語言項目六物聯網應用軟件設計6.4軟件需求分析結構化語言的特點關鍵字的固定語法,它提供了結構化控制結構、數據說明和模塊化的特點。自然語言的自由語法,它描述處理特點。數據說明的手段。應該既包括簡單的數據結構,有包括復雜的數據結構。模塊定義和調用技術,應該提供各種接口描述模式。2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——1結構化語言項目六物聯網應用軟件設計6.4軟件需求分析判定表當算法中包含多重嵌套的條件選擇時,用程序流程圖、盒圖、PAD圖或結構化語言都不易清楚地描述;判定表卻能清晰地表示復雜的條件組合與應做的動作之間的對應關系。2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——2判定表項目六物聯網應用軟件設計6.4軟件需求分析一張判定表由4部分組成:左上部列出所有條件;左下部是所有可能做的動作;右上部是表示各種條件組合的一個矩陣;右下部是和每種條件組合相對應的動作。2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——2判定表
條件類別條件組合
操作定義操作執行項目六物聯網應用軟件設計6.4軟件需求分析例:若年交易額4萬元以上,且最近3個月無欠款的顧客,可享受10%的折扣;若近3個月有欠款,是本公司5年以上老顧客,可享受5%的折扣;若不是老顧客,只有2%的折扣;年訂貨量不足4萬元者無折扣。2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——2判定表項目六物聯網應用軟件設計6.4軟件需求分析12345678C1:交易額>=4萬YYYYNNNNC2:最近3個月無拖欠YYNNYYNNC3:與本公司交易>=5年YNYNYNYNA1:折扣率10%√√A2:折扣率5%√A3:折扣率2%√A4:無折扣√√√√用判定表來表示顧客的折扣率判定樹判定樹是判定表的變種,也能清晰地表示復雜的條件組合與應做的動作之間的對應關系;多年來判定樹一直受到人們的重視,是一種比較常用的系統分析和設計的工具。2結構化分析方法二、結構化分析的步驟和工具——加工邏輯描述工具(4)——3判定樹項目六物聯網應用軟件設計6.4軟件需求分析判定樹的左邊為樹根,從左向右依次排列各條件,左邊的條件比右邊的優先考慮。根據每個條件的取值不同,樹可以產生很多分支,各分支的最右端(即樹梢)為不同的條件取值狀態下采取的行動。一般形式為:根條件行動或策略項目六物聯網應用軟件設計6.4軟件需求分析客戶折扣率交易額<4萬元0%交易額>=4萬元3個月無欠款3個月y有欠款10%5年以上老顧客新顧客5%3%用判定樹來表示顧客的折扣率項目六物聯網應用軟件設計6.4軟件需求分析主持人對甲、乙、丙三人說:“這里有三頂紅帽子,兩頂白帽子?,F在用布蒙上你們的眼睛,給你們每人戴上一頂帽子,然后請你們依次睜開眼睛,能正確說出自己所戴帽子的顏色者有獎?!睅昝弊雍螅啄孟虏己罂戳似渌麅扇说拿弊诱f:“我不知道?!比缓?,乙解開布看了其他兩人的帽子后說:“我不知道。”輪到丙時,他沒有拿下布就正確地說出了自己所戴帽子的顏色。試問:丙戴的是什么帽子?他是怎樣得出結論的?一個游戲——判定表項目六物聯網應用軟件設計6.4軟件需求分析1234567甲RRRRWWW乙RRWWRRW丙RWRWRWR甲不知
乙不知
丙
項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(5)實體聯系(EntityRelationship,ER)圖現有的系統應用中,80%以上的軟件都會用到數據,因此,大量軟件的設計中都會涉及到數據庫內容的需求分析和設計。數據庫需求分析的任務是調查、收集、分析并定義用戶對數據庫的各種要求,是整個數據庫設計的基礎和起點.該階段的需求工作主要從以下三個方面進行:(1)信息需求(2)處理需求(3)使用需求指需要從數據庫中獲得的信息的內容和性質包括數據庫的安全性、完整性、一致性等限制;輸入/輸出格式和多用戶方面的限制等;響應速度、故障回復等性能要求;指用戶要求系統完成的功能、處理時間、方式等項目六物聯網應用軟件設計6.4軟件需求分析2結構化分析方法二、結構化分析的步驟和工具——工具(5)實體聯系圖ER圖用于數據建模,描述系統中數據之間的關系;(6)狀態轉換圖狀態轉換圖用于行為建模,描述系統接收哪些外部事件,以及在外部事件的作用下的狀態遷移情況。這兩種圖形根據需要選擇使用項目六物聯網應用軟件設計6.4軟件需求分析2.3.2結構化分析方法二、結構化分析的步驟和工具——工具(1)業務流程圖(2)數據流圖(3)數據字典(4)結構化語言、判定表和判定樹等(5)實體聯系(EntityRelationship,ER)圖(6)狀態轉換圖69項目六物聯網應用軟件設計6.4軟件需求分析農業物聯網工程設計與實施項目六物聯網應用軟件設計6.4軟件需求分析----1軟件需求分析的內容和方法1997年IEEE在《軟件工程標準詞匯表》中對需求的定義為:(1)用戶為解決某一問題或為達到某個目標所需要的條件或能力;(2)系統或系統部件為滿足合同、標準、規格說明或其他正式的強制性文檔所必須具有的條件或能力;(3)對(1)和(2)中所描述的條件或能力的文檔化說明。上述定義表明,需求的概念涵蓋了用戶角度(系統的外部行為)和開發人員角度(系統的內部特征)兩個方面,其中的關鍵在于需求一定要文檔化?;救蝿帐菧蚀_地回答“系統必須做什么?”這個問題。項目六物聯網應用軟件設計6.4軟件需求分析1軟件需求分析的內容和方法一、需求分析的內容通常,軟件需求包含3個不同的層次,業務需求、用戶需求、功能需求和非功能需求,它們之間的關系如圖2-11所示。項目六物聯網應用軟件設計6.4軟件需求分析1軟件需求分析的內容和方法業務需求定義項目的遠景和范圍,反映組織機構或客戶對系統、產品高層次的目標要求,在項目視圖與范圍文檔中予以說明;用戶需求反映用戶使用該系統需要完成的任務,一般在用例圖或用例(Scenario)描述的文檔中說明;功能需求定義開發人員必須實現的功能,從而完成業務需求;非功能需求是功能需求的補充,說明系統在操作、設計和開發方面的一些約束。質量屬性是通過多種角度對產品的特定進行描述,從而放映產品功能。值得注意的是,需求并未包括設計細節、實現細節、項目計劃或測試信息,需求只關注究竟想開發什么。項目六物聯網應用軟件設計6.4軟件需求分析1軟件需求分析的內容和方法二、常見的需求分析方法包括:1)功能分析方法。將系統看作若干功能模塊的組合,每個模塊又可以分解為子功能,繼續這個過程,直到模塊可以直接實現,這時分解架構已經是系統的雛形,比較適合于需求相對固定,系統規模不是特別大的情況。2)結構化分析方法。從系統中數據變化的角度分析系統變化過程,使用數據流圖來輔助描述分析過程,問題空間和解空間需要進行映射或轉換。3)信息建模法。專門針對系統中數據量較大的特性而提供的一種分析方法,比較典型的數據建模方法是采用實體聯系ER模型,然后再ER模型基礎上,根據需求分析功能、控制、決策等內容4)面向對象分析方法。項
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦后勤服務合同協議書
- 保潔員工合同協議書
- 餐桌合作協議書合同模板
- 衡山文化城策劃書
- 木飾面安裝合同協議書
- 安全施肥課件視頻
- 家政服務線上服務平臺運營規劃及策略設計
- 橋梁護軌扣件項目可行性研究報告評審方案設計2025年標準案例范文
- 2025年摔跤場地罩行業深度研究分析報告
- 中國蛭石防火涂料項目商業計劃書
- 青島版信息技術第二冊《第二單元 信息隱私與安全 1 個人隱私好習慣》教學設計
- Unit6RainorShine課文知識填空2024-2025學年人教版英語七年級下冊
- 三力老人測試題及答案
- 更換外窗施工方案
- 四年級下冊道德與法制全冊電子教案備課
- 《食源性疾病》課件
- JJF(鄂)149-2025 電力行業碳計量技術規范 火電機組碳排放量化
- 2025年春統編版語文一年級下冊第八單元單元任務群整體公開課一等獎創新教學設計
- 新疆三校生考試真題語文
- 《房顫教學查房》課件
- 危重患者護理課件(完整版)
評論
0/150
提交評論