導航:首頁 > 研究方法 > 將分析類映射到設計類的方法

將分析類映射到設計類的方法

發布時間:2022-05-11 03:26:00

1. 求教 UML中概念類/分析類/設計類 三者聯系與區別。

概念類:描述現實世界的實體與概念,重點反映現實世界問題域。
分析類:是概念層次的東西,與具體實現技術無關(java還是.net),分為邊界類、控制類、實體類, 分析用於獲取系統中主要的「職責簇」,他們代表系統的原型類,是系統必須處理的主要抽象概念的「第一個關口」。分析類是跨越需求和設計實現的橋梁
分析類的三高
1.高於設計實現,在為需求考慮系統實現的時候,可以不必理會復雜的設計要求。如應用的設計模式,系統框架等。
2.高於語言實現,在需求考慮系統的時候,可以不必理會採用哪一種特性的語言來編碼。
3.高於實現方式,在為需求考慮系統實現的時候,可以不考慮採用哪一種具體的實現方式。

設計類:
設計類是系統實施中一個或多個對象的抽象;設計類所對應的對象取決於實施語言。

2. 軟體設計化結構包括哪些設計方法

1數據流的類型

在需求分析階段,用SA方法產生了數據流圖。結構化的設計能方便地將數據流圖(DataFlowDiagram,DFD)轉換成軟體結構圖。DFD中從系統的輸入數據流到系統的輸出數據流的一連串連續變換形成了一條信息流。根據數據流類型不同,可分為變換型和事務型2類,事務型和變換型數據流的設計步驟基本是大同小異,它們之間主要差別就是從數據流圖到軟體結構的映射方法不同。因此,在進行軟體結構設計時,首先對數據流圖進行分析,然後判斷屬於那一種類型,根據不同的數據流類型,通過一系列映射,把數據流程圖轉換為軟體結構圖。基本流程見圖1.

1.1變換型數據流

信息在沿著輸入通路進入系統,同時由外部形式變換成內部形式進入系統的信息,通過變換中心經加工處理,以後再沿著輸出通路變換成外部形式離開系統。當數據流具有了信息流的這種特徵時這種信息流就叫作變換型數據流。變換型數據流的DFD可明顯地分為三大部分:邏輯輸入、變換中心(主加工)、邏輯輸出。變換型數據流結構見圖2.邏輯輸入:可以從數據流圖上的物理輸入開始,一步一步向系統中間移動,一直到數據流不再被看作是系統的輸入為止,則其前一個數據流就是系統的邏輯輸入。可以認為邏輯輸入就是離物理輸入端最遠的,且仍被看作是系統輸入的數據流。變換中心:多股數據流匯集的地方往往是系統的中心變換部分。
邏輯輸出:從物理輸出端開始,一步一步地向系統中間移動,就可以找到離物理輸出端最遠,且仍被看作是系統輸出的數據流。
圖片 [轉到圖文版]
圖1數據流程圖轉換為軟體結構圖基本流程
圖片 [轉到圖文版]
圖2變換型數據流結構

1.2事務型數據流

信息在沿著輸入通路進入系統,由外部形成內部形式後到達事務中心。通常事務中心位於幾條處理路徑的起點,從數據流程圖上很容易標識出來,因為事務處理中心一般會有「發射中心」的特徵。因為事務流有明顯的事務中心,所以各式各樣活動流都以事務中心為起點呈輻射狀流出。事務型數據流結構見圖3.
圖片 [轉到圖文版]
圖3事務型數據流結構

事務中心主要完成下述任務:接收輸入數據(輸入數據又稱為事務);分析每個事務以確定它的類型;根據事務類型選取一條活動通路。通常,事務中心前面的部分叫作接收路徑,發射中心後面各條發散路徑叫作事務處理路徑。對於每條處理路徑來講,還應該確定它們自己的流特徵。
2映射過程

任何一個設計過程都不是統一、固定不變的,設計的要求越高,往往需要設計者在方法上不但具有超強的判斷能力還要有規則性的創造精神。根據不同類型,分析其映射過程。
2.1變換型數據流到軟體結構圖映射

(1)設計軟體結構的頂層和第1層。設計一個主模塊,並用系統的名字為它命名,作為系統的頂層。第1層為每個邏輯輸入設計一個輸入模塊,它的功能是為主模塊提供數據;為每一個邏輯輸出設計一個輸出模塊,它的功能是將主模塊提供的數據輸出;為中心變換設計一個變換模塊,它的功能是將邏輯輸入轉換成邏輯輸出。主模塊控制和協調第1層的輸入模塊、變換模塊和輸出模塊的工作。
(2)設計軟體結構的下層結構。每個邏輯輸入模塊有2個下屬模塊:一個接收數據;另一個把數據變換成上級模塊所需要的數據格式。而接收數據模塊又是輸入模塊,又要重復上述工作。如此循環下去,直到輸入模塊已經涉及到物理輸入端為止。同樣,每個邏輯輸出模塊有2個下屬模塊:一個是將上級模塊提供的數據變換成輸出的形式;另一個是將它們輸出。對於每一個邏輯輸出,在數據流程圖上向物理輸出端方向移動,遇到物理輸出為止。設計中心變換模塊的下層模塊沒有通用的方法,一般應參照數據流程圖的中心變換部分和功能分解的原則來考慮如何對中心變換模塊進行分解。
變換型數據流轉換後的初始軟體結構圖見圖4.
圖片 [轉到圖文版]
圖4變換型數據流轉換後的初始軟體結構圖

2.2事務型數據流到軟體結構圖映射

事務型數據處理問題的工作機理是接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然後給出結果。
(1)設計軟體結構的頂層和第1層。軟體結構圖的頂層是系統的事務控制模塊。第1層是由事務流輸入分支和事務分類處理分支映射得到的程序結構。也就是說,第1層通常是由兩部分組成:取得事務和處理事務。
(2)設計軟體結構的下層結構。設計事務流輸入分支的方法與變換分析中輸入流的設計方法類似,從事務中心變換開始,沿輸入路徑向物理輸入端移動。每個接收數據模塊的功能是向調用它的上級模塊提供數據,它需要有兩個下屬模塊:一個接收數據;另一個把這些數據變換成它的上級模塊所需要的數據格式。接收數據模塊又是輸入模塊,也要重復上述工作。如此循環下去,直到輸入模塊已經涉及到物理輸入端為止。
事務處理分支結構映射成一個分類控制模塊,它控制下層的處理模塊。對每個事務建立一個事務處理模塊。如果發現在系統中有類似的事務,就可以把這些

3. 面向對象程序設計技術

可視化編程 可視化編程,亦即可視化程序設計:以「所見即所得」的編程思想為原則,力圖實現編程工作的可視化,即隨時可以看到結果,程序與結果的調整同步。 可視化編程是與傳統的編程方式相比而言的,這里的「可視」,指的是無須編程,僅通過直觀的操作方式即可完成界面的設計工作,是目前最好的Windows應用程序開發工具。 可視化編程語言的特點主要表現在兩個方面:一是基於面向對象的思想,引入了控制項的概念和事件驅動;二是程序開發過程一般遵循以下步驟,即先進行界面的繪制工作,再基於事件編寫程序代碼,以響應滑鼠、鍵盤的各種動作。 可視化編程十問 1. 什麼是可視化程序設計? 可視化(Visual)程序設計是一種全新的程序設計方法,它主要是讓程序設計人員利用軟體本身所提供的各種控制項,像搭積木式地構造應用程序的各種界面。 2. 可視化程序設計有哪些優點? 可視化程序設計最大的優點是設計人員可以不用編寫或只需編寫很少的程序代碼,就能完成應用程序的設計,這樣就能極大地提高設計人員的工作效率。 3. 能夠進行可視化程序設計的語言有哪些? 能進行可視化程序設計的語言很多,比較常用的有微軟的Visual Basic、Visual C++、中文Visual Foxpro、Borland公司的Delphi等。 4. 可視化程序設計中有哪些基本概念? 主要的幾個基本概念有表單、組件、屬性、事件、方法等。 5. 什麼是表單(Form)? 表單是指進行程序設計時的窗口,我們主要是通過在表單中放置各種部件(如命令按鈕、復選框、單選框、滾動條等)來布置應用程序的運行界面。 6. 什麼是組件? 所謂組件,就是組成程序運行界面的各種部件,如:命令按鈕、復選框、單選框、滾動條等。 7. 什麼是屬性? 屬性就是組件的性質。它說明組件在程序運行的過程中是如何顯示的、組件的大小是多少、顯示在何處、是否可見、是否有效…… 8. 屬性可以分成哪幾類? 屬性可分成三類,設計屬性:是在進行設計時就可發揮作用的屬性;運行屬性:這是在程序運行過程中才發揮作用的屬性;只讀屬性:是一種只能查看而不能改變的屬性。 9. 什麼是事件? 事件就是對一個組件的操作。如用滑鼠點擊一個命令按鈕,在這里,點擊滑鼠就稱為一個事件(Click事件)。 10. 什麼是方法? 方法就是某個事件發生後要執行的具體操作,類似以前的程序。例如當我們用滑鼠單擊「退出」命令按鈕時,程序就會通過執行一條命令而結束運行,命令的執行過程就叫方法。 面向對象程序設計 1.歷史回顧 1967年挪威計算中心的Kisten Nygaard和Ole Johan Dahl開發了Simula67語言,它提供了比子程序更高一級的抽象和封裝,引入了數據抽象和類的概念,它被認為是第一個面向對象語言。20世紀70年代初,Palo Alto研究中心的Alan Kay所在的研究小組開發出Smalltalk語言,之後又開發出Smalltalk-80,Smalltalk-80被認為是最純正的面向對象語言,它對後來出現的面向對象語言,如Object-C,C++,Self,Eiffl都產生了深遠的影響。隨著面向對象語言的出現,面向對象程序設計也就應運而生且得到迅速發展。之後,面向對象不斷向其他階段滲透,1980年Grady Booch提出了面向對象設計的概念,之後面向對象分析開始。1985年,第一個商用面向對象資料庫問世。1990年以來,面向對象分析、測試、度量和管理等研究都得到長足發展。 實際上,「對象」和「對象的屬性」這樣的概念可以追溯到20世紀50年代初,它們首先出現於關於人工智慧的早期著作中。但是出現了面向對象語言之後,面向對象思想才得到了迅速的發展。過去的幾十年中,程序設計語言對抽象機制的支持程度不斷提高:從機器語言到匯編語言,到高級語言,直到面向對象語言。匯編語言出現後,程序員就避免了直接使用0-1,而是利用符號來表示機器指令,從而更方便地編寫程序;當程序規模繼續增長的時候,出現了Fortran、C、Pascal等高級語言,這些高級語言使得編寫復雜的程序變得容易,程序員們可以更好地對付日益增加的復雜性。但是,如果軟體系統達到一定規模,即使應用結構化程序設計方法,局勢仍將變得不可控制。作為一種降低復雜性的工具,面向對象語言產生了,面向對象程序設計也隨之產生。 2.面向對象程序設計的基本概念 面向對象程序設計中的概念主要包括:對象、類、數據抽象、繼承、動態綁定、數據封裝、多態性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現。 1)對象 對象是運行期的基本實體,它是一個封裝了數據和操作這些數據的代碼的邏輯實體。 2)類 類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。 3)封裝 封裝是將數據和代碼捆綁到一起,避免了外界的干擾和不確定性。對象的某些數據和代碼可以是私有的,不能被外界訪問,以此實現對數據和代碼不同級別的訪問許可權。 4)繼承 繼承是讓某個類型的對象獲得另一個類型的對象的特徵。通過繼承可以實現代碼的重用:從已存在的類派生出的一個新類將自動具有原來那個類的特性,同時,它還可以擁有自己的新特性。 5)多態 多態是指不同事物具有不同表現形式的能力。多態機制使具有不同內部結構的對象可以共享相同的外部介面,通過這種方式減少代碼的復雜度。 6)動態綁定 綁定指的是將一個過程調用與相應代碼鏈接起來的行為。動態綁定是指與給定的過程調用相關聯的代碼只有在運行期才可知的一種綁定,它是多態實現的具體形式。 7)消息傳遞 對象之間需要相互溝通,溝通的途徑就是對象之間收發信息。消息內容包括接收消息的對象的標識,需要調用的函數的標識,以及必要的信息。消息傳遞的概念使得對現實世界的描述更容易。 3.面向對象語言 一個語言要稱為面向對象語言必須支持幾個主要面向對象的概念。根據支持程度的不同,通常所說的面向對象語言可以分成兩類:基於對象的語言,面向對象的語言。 基於對象的語言僅支持類和對象,而面向對象的語言支持的概念包括:類與對象、繼承、多態。舉例來說,Ada就是一個典型的基於對象的語言,因為它不支持繼承、多態,此外其他基於對象的語言還有Alphard、CLU、Euclid、Mola。面向對象的語言中一部分是新發明的語言,如Smalltalk、Java,這些語言本身往往吸取了其他語言的精華,而又盡量剔除他們的不足,因此面向對象的特徵特別明顯,充滿了蓬勃的生機;另外一些則是對現有的語言進行改造,增加面向對象的特徵演化而來的。如由Pascal發展而來的Object Pascal,由C發展而來的Objective-C,C++,由Ada發展而來的Ada 95等,這些語言保留著對原有語言的兼容,並不是純粹的面向對象語言,但由於其前身往往是有一定影響的語言,因此這些語言依然寶刀不老,在程序設計語言中佔有十分重要的地位。 4.面向對象程序設計的優點 面向對象出現以前,結構化程序設計是程序設計的主流,結構化程序設計又稱為面向過程的程序設計。在面向過程程序設計中,問題被看作一系列需要完成的任務,函數(在此泛指常式、函數、過程)用於完成這些任務,解決問題的焦點集中於函數。其中函數是面向過程的,即它關注如何根據規定的條件完成指定的任務。 在多函數程序中,許多重要的數據被放置在全局數據區,這樣它們可以被所有的函數訪問。每個函數都可以具有它們自己的局部數據。下圖顯示了一個面向過程程序中函數和數據的關系。 圖1 面向過程程序設計中函數和數據的關系示例 這種結構很容易造成全局數據在無意中被其他函數改動,因而程序的正確性不易保證。面向對象程序設計的出發點之一就是彌補面向過程程序設計中的一些缺點:對象是程序的基本元素,它將數據和操作緊密地連結在一起,並保護數據不會被外界的函數意外地改變。下圖顯示了一個面向對象程序中對象與函數和數據的關系。 圖2 面向對象程序設計中函數和數據的關系示例 比較面向對象程序設計和面向過程程序設計,還可以得到面向對象程序設計的其他優點: 1)數據抽象的概念可以在保持外部介面不變的情況下改變內部實現,從而減少甚至避免對外界的干擾; 2)通過繼承大幅減少冗餘的代碼,並可以方便地擴展現有代碼,提高編碼效率,也減低了出錯概率,降低軟體維護的難度; 3)結合面向對象分析、面向對象設計,允許將問題域中的對象直接映射到程序中,減少軟體開發過程中中間環節的轉換過程; 4)通過對對象的辨別、劃分可以將軟體系統分割為若干相對為獨立的部分,在一定程度上更便於控制軟體復雜度; 6)以對象為中心的設計可以幫助開發人員從靜態(屬性)和動態(方法)兩個方面把握問題,從而更好地實現系統; 7)通過對象的聚合、聯合可以在保證封裝與抽象的原則下實現對象在內在結構以及外在功能上的擴充,從而實現對象由低到高的升級。 面對對象的程序設計方法 在數據輸入模塊內部設計中,採用面向對象的設計方法。[6]面向對象的基本概念如下: 對象:對象是要研究的任何事物。從一本書到一家圖書館,單的整數到整數列龐大的資料庫、極其復雜的自動化工廠、太空梭都可看作對象,它不僅能表示有形的實體,也能表示無形的(抽象的)規則、計劃或事件。對象由數據(描述事物的屬性)和作用於數據的操作(體現事物的行為)構成一獨立整體。從程序設計者來看,對象是一個程序模塊,從用戶來看,對象為他們提供所希望的行為。在對內的操作通常稱為方法。 類:類是對象的模板。即類是對一組有相同數據和相同操作的對象的定義,一個類所包含的方法和數據描述一組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實例。類可有其子類,也可有其它類,形成類層次結構。 消息:消息是對象之間進行通信的一種規格說明。一般它由三部分組成:接收消息的對象、消息名及實際變元。 面向對象主要特徵: 封裝性:封裝是一種信息隱蔽技術,它體現於類的說明,是對象的重要特性。封裝使數據和加工該數據的方法(函數)封裝為一個整體,以實現獨立性很強的模塊,使得用戶只能見到對象的外特性(對象能接受哪些消息,具有那些處理能力),而對象的內特性(保存內部狀態的私有數據和實現加工能力的演算法)對用戶是隱蔽的。封裝的目的在於把對象的設計者和對象者的使用分開,使用者不必知曉行為實現的細節,只須用設計者提供的消息來訪問該對象。 繼承性:繼承性是子類自動共享父類之間數據和方法的機制。它由類的派生功能體現。一個類直接繼承其它類的全部描述,同時可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類只有一父類)和多重繼承(一個類有多個父類)。類的對象是各自封閉的,如果沒繼承性機制,則類對象中數據、方法就會出現大量重復。繼承不僅支持系統的可重用性,而且還促進系統的可擴充性。 多態性:對象根據所接收的消息而做出動作。同一消息為不同的對象接受時可產生完全不同的行動,這種現象稱為多態性。利用多態性用戶可發送一個通用的信息,而將所有的實現細節都留給接受消息的對象自行決定,如是,同一消息即可調用不同的方法。例如:Print消息被發送給一圖或表時調用的列印方法與將同樣的Print消息發送給一正文文件而調用的列印方法會完全不同。多態性的實現受到繼承性的支持,利用類繼承的層次關系,把具有通用功能的協議存放在類層次中盡可能高的地方,而將實現這一功能的不同方法置於較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在OOPL中可通過在派生類中重定義基類函數(定義為重載函數或虛函數)來實現多態性。 綜上可知,在面對對象方法中,對象和傳遞消息分別表現事物及事物間相互聯系的概念。類和繼承是是適應人們一般思維方式的描述範式。方法是允許作用於該類對象上的各種操作。這種對象、類、消息和方法的程序設計範式的基本點在於對象的封裝性和類的繼承性。通過封裝能將對象的定義和對象的實現分開,通過繼承能體現類與類之間的關系,以及由此帶來的動態聯編和實體的多態性,從而構成了面向對象的基本特徵。 面向對象設計是一種把面向對象的思想應用於軟體開發過程中,指導開發活動的系統方法,是建立在「對象」概念基礎上的方法學。對象是由數據和容許的操作組成的封裝體,與客觀實體有直接對應關系,一個對象類定義了具有相似性質的一組對象。而每繼承性是對具有層次關系的類的屬性和操作進行共享的一種方式。所謂面向對象就是基於對象概念,以對象為中心,以類和繼承為構造機制,來認識、理解、刻畫客觀世界和設計、構建相應的軟體系統。。按照Bjarne STroustRUP的說法,面向對象的編程範式: l 決定你要的類; 2 給每個類提供完整的一組操作; 3 明確地使用繼承來表現共同點。 由這個定義,我們可以看出:面向對象設計就是「根據需求決定所需的類、類的操作以及類之間關聯的過程」。 面向對象設計方法的特點和面臨的問題 面向對象設計方法以對象為基礎,利用特定的軟體工具直接完成從對象客體的描述到軟體結構之間的轉換。這是面向對象設計方法最主要的特點和成就。面向對象設計方法的應用解決了傳統結構化開發方法中客觀世界描述工具與軟體結構的不一致性問題,縮短了開發周期,解決了從分析和設計到軟體模塊結構之間多次轉換映射的繁雜過程,是一種很有發展前途的系統開發方法。 但是同原型方法一樣, 面向對象設計方法需要一定的軟體基礎支持才可以應用,另外在大型的MIS開發中如果不經自頂向下的整體劃分,而是一開始就自底向上的採用面向對象設計方法開發系統,同樣也會造成系統結構不合理、各部分關系失調等問題。所以面向對象設計方法和結構化方法目前仍是兩種在系統開發領域相互依存的、不可替代的方法。

4. 寫出消息映射,類型識別,類的動態創建的思想

實體框架生成一個從ObjectContext派生的類,該類表示概念模型中的實體容器。(該派生類的名稱即是概念模型文件中的EntityContainer的名稱。)該類公開SaveChanges方法,該方法觸發對基礎資料庫的更新。這些更新操作可以使用系統自動生成的SQL語句(默認),也可以使用開發人員所指定的存儲過程。無論是否使用存儲過程來更新資料庫,用於創建、更新和刪除實體的應用程序代碼都是一樣的。注意:如果沒有將實體類型的插入、更新或刪除這三種操作全部映射到存儲過程,則在運行時執行的情況下未映射的操作將失敗且會引發UpdateException。下面的過程假定您已在實體設計器中打開一個.edmx文件。將插入操作映射到存儲過程將插入操作映射到存儲過程在實體設計器圖面上或在「模型瀏覽器」窗口中,右擊要映射插入操作的實體類型,然後選擇「存儲過程映射」。此時將出現「映射詳細信息」窗口的「將實體映射到函數」視圖。單擊「」。在下拉列表中選擇插入操作要映射到的存儲過程。窗口中填充的是實體屬性與存儲過程參數之間的默認映射。通過單擊相應屬性欄位並從下拉列表中選擇適當屬性,修改每個存儲過程參數對應的映射。注意:所有實體鍵都必須具有映射。如果存儲過程使用INSERT語句,則實體鍵通常映射到插入新行時創建的主鍵。下面幾個步驟介紹如何將存儲過程返回的數據映射到實體屬性。單擊「」。該欄位即變為可編輯狀態。鍵入包含存儲過程返回的數據的參數名稱。單擊對應於參數名稱的屬性欄位。該欄位將變成一個下拉屬性列表。選擇返回的數據要映射到的屬性。注意:對於整數值輸出參數,「受影響的行數參數」復選框處於啟用狀態。如果在調用插入操作時針對某參數選中該復選框且返回的值為零,將引發。對每個返回值和未映射屬性重復步驟5到8。現在,所選實體類型的插入操作已映射到存儲過程。將更新操作映射到存儲過程將更新操作映射到存儲過程在實體設計器圖面上或在「模型瀏覽器」窗口中,右擊要映射插入操作的實體類型,然後選擇「存儲過程映射」。此時將出現「映射詳細信息」窗口的「將實體映射到函數」視圖。單擊「」。在下拉列表中選擇更新操作要映射到的存儲過程。窗口中填充的是實體屬性與存儲過程參數之間的默認映射。通過單擊相應屬性欄位並從下拉列表中選擇適當屬性,修改每個存儲過程參數對應的映射。對於每個屬性,都可以選中在「使用原始值」[UseOriginalValue]列中的復選框。通過「使用原始值」[UseOriginalValue]選項,可以使用並發控制。如果選中某個屬性的「使用原始值」[UseOriginalValue]選項,則從資料庫讀取的該屬性的值將傳遞給指定的存儲過程參數。請注意,屬性的原始值和當前值都可以傳遞給不同的參數。注意:映射更新操作時,可以將存儲過程返回的數據映射到實體屬性。下面幾個步驟介紹如何將存儲過程返回的數據映射到實體屬性。單擊「」。該欄位即變為可編輯狀態。鍵入包含存儲過程返回的數據的參數名稱。單擊對應於參數名稱的屬性欄位。在下拉列表中選擇返回的數據要映射到的屬性。注意:對於整數值輸出參數,「受影響的行數參數」復選框處於啟用狀態。如果在調用更新操作時針對某參數選中該復選框且返回的值為零,將引發。可以選擇對每個返回值重復步驟6到9。現在,所選實體類型的更新操作已映射到存儲過程。將刪除操作映射到存儲過程將刪除操作映射到存儲過程在實體設計器圖面上或在「模型瀏覽器」窗口中,右擊要映射插入操作的實體類型,然後選擇「存儲過程映射」。此時將出現「映射詳細信息」窗口的「將實體映射到函數」視圖。單擊「」。在下拉列表中選擇刪除操作要映射到的存儲過程。窗口中填充的是實體屬性與存儲過程參數之間的默認映射。通過單擊相應屬性欄位並從下拉列表中選擇適當屬性,修改每個存儲過程參數對應的映射。注意:必須將關聯映射到存儲過程參數。在屬性下拉列表中,可以選擇關聯。注意:對於整數值輸出參數,「受影響的行數參數」復選框處於啟用狀態。另請參見任務演練:將一個實體映射到存儲過程(實體數據模型工具)

5. 系統分析與設計的方法

系統分析與設計的方法主要包括結構化生命周期法(又稱瀑布法)、原型化方法(迭代法)、面向對象方法。
按時間過程來分,開發方法分為生命周期法和原型法,實際上還有許多處於中間狀態的方法。原型法又按照對原型結果的處理方式分為試驗原型法和演進原型法。試驗原型法只把原型當成試驗工具,試了以後就拋掉,根據試驗的結論做出新的系統。演進原型法則把試好的結果保留,成為最終系統的一部分。
按照系統的分析要素,可以把開發方法分為三類:
①面向處理方法(Processing Oriented ,簡稱PO)。
②面向數據方法(Data Oriented ,簡稱DO)。
③面向對象的方法(Object Oriented ,簡稱OO)。

6. 怎麼將面向對象的分析模型轉化為設計模型

(1)與功能模型的關系:對象模型展示了功能模型中的動作者、數據存儲和流的結構,動態模型展示了執行加工的順序。 (2)與對象模型的關系:功能模型展示了類上的操作和每個操作的變數,因此它也表示了類之間的「供應者一客戶"關系;動態模型展示了

7. 面向對象分析與設計的簡介

OOAD(Object Orient Analysis & Design,面向對象的分析和設計,面向對象分析與設計)是現代軟體企業廣為採用的一項有效技術。OOAD方法要求在設計中要映射現實世界中指定問題域中的對象和實體,例如:顧客、汽車和銷售人員等。這就需要設計要盡可能地接近現實世界,即以最自然的方式表述實體。所以面向對象技術的優點即為能夠構建與現實世界相對應的問題模型,並保持他們的結構、關系和行為為模式。
大師說:沒有不變的需求,世上的軟體都改動過3次以上,唯一一個只改動過兩次的軟體的擁有者已經死了,死在去修改需求的路上。
目前眾多的軟體項目有什麼樣的問題呢?早些時候上ERP的企業在企業發展的時候發現原有的ERP系統需要改進,可是要改進或者是更改現有的ERP系統,唯一的方法就是重新開發一個ERP系統。這對於企業來說是筆不小的支出。此時,落後的信息系統就成為制約企業發展的重要因素。是什麼原因造成了這種情況呢?主要的因素是傳統的系統分析是在假定需求不變的情況下進行的,這樣可以把企業的資源配置到最優的程度。可是在現代瞬息萬變的社會,一個企業固守舊有模式,勢必會在競爭中處於劣勢(因此現在也出現了組件化的ERP,這是題外話)。既然企業的需求是變化的、不穩定的,那麼以變化的需求為基礎建立起來的企業信息系統當然也就不穩定了。這時候,有個問題就產生了,前面我們已經說過,需求是項目的根本,既然需求都是不穩定的,那麼何以建立起穩定的企業信息系統呢?
要回答這個問題,首先要比較面向過程和面向對象的開發方法的差別,傳統的面向過程的開發方法在前20年大行其道,為中國企業的信息化建設立下了汗馬功勞。之所以稱為面向過程,是因為開發的焦點集中於過程,開發者集中於以函數為核心的過程,例如前些年很多人試圖編寫一些通用轉賬函數來滿足銀行的需求。面向過程的開發語言包括:Cobol、Pascal、C及C的變形語言。面向對象的概念是在近10年才進入中國的,而它的思想至今也沒有真正意義上得到普及。簡單的說,面向對象就是面向世界,世界上的任何事物都是對象,因此面向對象是很自然的思想,是符合我們的思維習慣的。面向對象的語言包括了Smalltalk、C++、Java,還有Object Pascal,以及剛剛誕生的C#。
需求是不穩定的,那麼需求之中是不是沒有穩定的東西呢?有的,就是對象。世界都是由對象組成的,而對象都是持久的,例如動物、植物已經有相當長的時間。雖然對象也在變化,動物,植物也在不斷的進化。但對象在一個相當長的時期內都存在,動植物的存在時間肯定比任何一家企業長久。面向對象的開發方法的精髓就是從企業的不穩定需求中分析出企業的穩定對象,以企業對象為基礎來組織需求、構架系統。這樣得出的系統就會比傳統的系統要穩定得多,因為企業的模式一旦變化,只需要將穩定的企業對象重新組織就行了。這種開發的方法就被稱為OOAD(Object Orient Analysis & Design 面向對象的分析和設計),而分析出的企業對象就被稱為Common Business Object。

8. 面向對象設計中,用例分析和類設計可以對應起來嗎。 比如說,我通過需求分析,獲得了25個用例,那麼我

按照OOP復用的思想來看應該是不能的。

用例其實更偏向於面向過程。
OOP(面向對象)的核心是分類,一個類就是一個,不應該有多個類別的東西交雜在一起。
它才提供了大大的復用性,可維護性以及擴展性。
使用OOP的的目的也就是這3個性能上。

試問如果你針對25個用例設計了25個類,那你可否復用?
比如我製作了一個具有拖動,收縮展開功能的「常見問題與解答」的界面效果,它的功能是
初始化為一個個問題,可以上下拖拉,點擊其中一個則展開它的內容,列出詳細的問題和回答,甚至可以跳轉到其他頁面。
那用類的思想就是:1.拖動類 2.伸縮類 3.UI控制

但凡我需要拖動,我在這個例子中直接把拖動類拿出來用就可以了。
可擴展性這方面細說太長,我希望你能理解。

但如果你以用例為核心設計,那我就認為難以將當中的一些東西加以復用,而且擴展功能將會十分麻煩。
比如我希望在上述的效果界面里,拖動的時候增加一個載入ing的提示功能,上下拉動的時候增加刷新效果,甚至可以左右拉動。

所以我不贊成用以用例為核心的這種思維。實際上用例思維更偏向於面向過程
面向過程就是,思路清晰,編寫快速,製作起來行雲流水一樣高效。
但面對復用,維護,擴展,簡直是一場噩夢——只要有這3個需求,就等於把整個代碼重新寫一次

9. 針對數據流的不同,可分別採用變換型和兩種映射方法

面向數據流的設計是以需求分析階段產生的數據流圖為基礎,按一定的步驟映射成軟體結構,因此「又稱結構化設計(StructuredDesign,簡稱SD)。該方法由美國IBM公司.Constantine和E.Yourdon等人於1974年提出,與結構化分析(SA)銜接,構成了完整的結構化分析與設計技術,是目前使用最廣泛的軟體設計方法之一。

10. 如何將matlab的演算法設計結果映射到晶元設計

這個流程比較復雜,首先你需要將你的演算法變成定點的演算法,然後考慮將它變成C語言的程序,晶元設計實用verilog或者是VHDL語言根據你的C語言做相應的設計。然後你就可以比對HDL的輸出跟matlab的結果了。

閱讀全文

與將分析類映射到設計類的方法相關的資料

熱點內容
魅藍攔截的信息在哪裡設置方法 瀏覽:402
雕刻牛字最簡單的方法 瀏覽:33
武漢戀愛挽回方法操作步驟 瀏覽:430
戒掉手機的四個方法 瀏覽:574
快速有效治療尖銳濕方法 瀏覽:225
最簡單的方法畫hellokitty 瀏覽:843
反滲透膜解決方法 瀏覽:485
扯麵的正確方法和技巧 瀏覽:494
文彥博樹洞取球方法好在哪裡 瀏覽:854
四川泡洋姜的正確泡水方法 瀏覽:497
黑檀手串的鑒別方法圖解 瀏覽:818
延遲滿足實驗研究方法 瀏覽:160
種植業污染解決方法 瀏覽:894
論文的研究方法有那些 瀏覽:124
孩子學習方法不對該如何 瀏覽:838
艾萊依真假鑒別方法 瀏覽:799
在家怎麼製作果凍方法 瀏覽:50
關於氮和硫的化學計算方法 瀏覽:627
手環核酸檢測方法 瀏覽:417
高層窗戶封閉的安裝方法 瀏覽:127