<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當前位置:首頁>軟件介紹>erp系統(tǒng)軟件設(shè)計 查詢:
               
          erp系統(tǒng)軟件設(shè)計

            軟件架構(gòu)邏輯

            框架從層次結(jié)構(gòu)上分主要分為:表示層、服務層、業(yè)務層、數(shù)據(jù)層

            ◆表示層

            表示層由UI(UserInterface)和UI控制邏輯組成。

            c選用wpf+智能客戶端,b選用asp.netmvc

            WPF的出現(xiàn)解決了三個問題:

            (1)更快速的去開發(fā)更豐富的用戶體驗:使用WPF,可以在更加快速的時間內(nèi)開發(fā)出來更加豐富的界面,滿足用戶的需求。WPF借助XAML來利用標記而不是編程語言(如C#)來構(gòu)造精美逼真的用戶界面(UI),只要稍微具備一些HTML基礎(chǔ)知識,就可以快速地掌握XAML中的大部分內(nèi)容。

            (2)消除用戶界面差異:wpf可以以IE為宿主的?;騍ilverlight

            (3)軟件開發(fā)團隊的協(xié)作問題:在軟件團隊中,我們比較熟悉Developer、DBA、Tester、ITPro、Architect等。Designer可能往往被我們忽視,但實際上,Designer的工作成果才是與客戶距離最近的。而且Designer與Developer如何配合工作,是很多團隊所頭疼的,而WPF正可以解決此問題。

            智能客戶端的優(yōu)勢

            1)充分利用終端設(shè)備的優(yōu)勢

            2)能夠調(diào)用wcf

            3)支持在線和離線兩種狀態(tài)

            4)能夠如同Web應用程序一般簡單方便的部署

            asp.netmvc內(nèi)置AJAX支持。

            本身含的MVC(模型-視圖-控制器)和本系統(tǒng)MVVM(Model-View-ViewModel)就是雙胞胎,在demo里已經(jīng)有很好的集成

            *注:因xaml和html是標記語言,此層大部分可用代碼生成器生成。

            ◆服務層

            采用微軟的WCF,WindowsCommunicationFoundation(WCF)是Microsoft為構(gòu)建面向服務的應用提供的分布式通信編程框架平臺,是.NETFramework3.5的重要組成部分。使用該框架,開發(fā)人員可以構(gòu)建跨平臺、安全、可靠和支持事務處理的企業(yè)級互聯(lián)應用解決方案。WCF從一開始就是工程化的,能夠簡化應用程序的開發(fā)與部署,降低開發(fā)成本。用于構(gòu)建面向服務的應用程序,不管這些程序是獨立的桌面應用程序,還是Web應用程序和服務,還是高端的企業(yè)應用程序。

            ◆邏輯、業(yè)務層

            業(yè)務層封裝了實際業(yè)務邏輯,包含數(shù)據(jù)驗證,事物處理,權(quán)限處理等業(yè)務相關(guān)操作,是整個應用系統(tǒng)的核心。因此設(shè)計一個能夠真實反映實際需要的業(yè)務層是非常必要的,我們將實際業(yè)務具體分為業(yè)務數(shù)據(jù)與業(yè)務操作兩部分。

            l業(yè)務數(shù)據(jù)

            DomainModel則是根據(jù)實際業(yè)務按照現(xiàn)實方式用OO思想建模,這樣很適合業(yè)務復雜的系統(tǒng)。通常采用自定義數(shù)據(jù)實體(CustomDataEntity)方式表達。自定義數(shù)據(jù)實體,有著良好的性能,編譯時的類型檢查,數(shù)據(jù)表現(xiàn)方式非常直觀符合實際業(yè)務的操作方式等優(yōu)點,但需要自己定義維護類,在分布式環(huán)境下需要自己編寫序列化方法。

            此階段負責數(shù)據(jù)交換(傳輸)的業(yè)務實體被稱之為DTO(DataTransferObject)。

            DTO要能夠支持:數(shù)據(jù)綁定、數(shù)據(jù)驗證、歷史記錄、級聯(lián)觸發(fā)、合并集合、序列化與反序列化,要實現(xiàn)一個大的遞歸,從其中的任何一個對象開始,能夠找出整個傳遞的所有數(shù)據(jù)。

            (1)、數(shù)據(jù)的綁定支持。要實現(xiàn)IEditableObject接口,對于狀態(tài)的變化要實現(xiàn)INotifyPropertyChanged接口,這樣才能夠?qū)崿F(xiàn)數(shù)據(jù)的觸發(fā),這樣就要實現(xiàn)一個對象能夠找到其所有的集合,一個集合要能夠其所有的對象,這樣一樣,就必須實現(xiàn)從對象、集合、對象的遞歸,再深入一點,就實現(xiàn)了數(shù)據(jù)的級聯(lián)觸發(fā),實現(xiàn)了雙向數(shù)據(jù)觸發(fā)、綁定。數(shù)據(jù)源的每個屬性變更,要能夠在界面上反映出來,綁定界面的改變,能夠記錄到后臺的數(shù)據(jù)源,并且要能夠支持回滾。對于容納這些數(shù)據(jù)的ObservableCollection集合也支持綁定處理。

            (2)、數(shù)據(jù)驗證。實現(xiàn)IDataErrorInfo接口

            (3)對于歷史記錄。當實現(xiàn)IEditableObject這個接口,則必然實現(xiàn)了歷史記錄。能夠找到集合的所有更改的記錄,包括刪除的記錄。對于單個對象而言是能夠得到歷史記錄和當前數(shù)據(jù),對于集合而言,則能夠找出差異集,同時,集合也要具備集合回滾的功能。

            (4)級聯(lián)觸發(fā),則是在實現(xiàn)數(shù)據(jù)綁定的基礎(chǔ)上的,對于常見的主從結(jié)構(gòu),當從對象的一個屬性改變了,要能夠自動通知其所在的集合、集合再通知所在的對象數(shù)據(jù)改變了,如果是多層結(jié)構(gòu),則能夠自動的從最底層開始一路通知到頂層。

            (5)合并集合、集合的處理。集合的處理與數(shù)據(jù)綁定是直接相當?shù)摹?shù)據(jù)源找出差異集之后,要對差異集進行處理,處理完之后,要對原始集合進行更進一步的處理,要把兩個集合進行合并處理,主要是為了同步引用。

            (6)同時,另外要實現(xiàn)的就是Data與SDO之間的轉(zhuǎn)換以及其他格式的數(shù)據(jù)與SDO、Data數(shù)據(jù)之間的數(shù)據(jù)轉(zhuǎn)換,比如BinaryXmlTextKey文件等,最基本的是SDO與Data之間的轉(zhuǎn)換,這些轉(zhuǎn)換根據(jù)需要,有時候是單向的,有時候是雙向的,根據(jù)業(yè)務需求而定。

            (7)序列化與反序列化,主要是涉及到Binary和XML序列化。

            l業(yè)務操作

            業(yè)務操作負責對業(yè)務數(shù)據(jù)進行各種業(yè)務相關(guān)的處理,例如驗證,流向,整合,事物,權(quán)限等,但它不負責有關(guān)對數(shù)據(jù)源的操作。

            采用整合業(yè)務數(shù)據(jù)與業(yè)務方式來操作,將業(yè)務數(shù)據(jù)與相關(guān)的業(yè)務操作封裝在一起稱為業(yè)務實體,業(yè)務實體作為統(tǒng)一的業(yè)務層為表示層提供服務,同時也負責作為DTO在各個層次間傳輸,這樣完整的DomainModel設(shè)計方式,每個業(yè)務實體都可以做為一個單獨組件形式存在,對于組件化復用有著莫大的好處。

            ◆數(shù)據(jù)層

            數(shù)據(jù)層的宗旨就是為數(shù)據(jù)源提供一個可供外界訪問的接口,我們應該選用一種能夠提供數(shù)據(jù)源無關(guān)的抽象數(shù)據(jù)訪問接口并通過在其下掛接各種不同的DataProviador來訪問數(shù)據(jù)源的數(shù)據(jù)層組件,這樣做便于移植到不同的數(shù)據(jù)源上。

            從紛繁蕪雜的關(guān)系數(shù)據(jù)模型中抽象出概念模型。這樣開發(fā)人員可以只需著眼概念模型,而不必要去關(guān)心紛繁蕪雜的關(guān)系數(shù)據(jù)模型,從而提高開發(fā)效率。那么如何能夠做到這一點?

            答案就是:Linq和ADO.NETEntityFramework

            lLINQ幾乎支持你所期望的所有數(shù)據(jù)源:數(shù)據(jù)對象、SQLServer數(shù)據(jù)庫、XML和數(shù)據(jù)集,當然也支持ADO.NETEntity(LINQtoEntities),LINQ有如下優(yōu)勢:

            1、無需復雜學習過程即可上手

            下面我給出一個簡單的C#示例。

            String[]QueryString=

            {One,Two,Three,Four,Five};

            要想查找其中長度大于3的字符串,你可以使用以下查詢語句:

            varThisQuery=

            fromStringValue

            inQueryString

            whereStringValue.Length3

            selectStringValue;

            2、編寫更少代碼即可創(chuàng)建完整應用。

            3、更快開發(fā)錯誤更少的應用程序。

            4、無需求助奇怪的編程技巧就可合并數(shù)據(jù)源。

            5、讓新開發(fā)者開發(fā)效率更高。

            lADO.NETEntityFramework包括

            1.實體數(shù)據(jù)模型(EntityDataModel),開發(fā)人員通過EDM抽象出非常合適的模型。

            2.非常強大的client-viewmappping引擎,用于映射數(shù)據(jù)關(guān)系

            3.EntitySQL語言和LINQ查詢對EDMschemas的全面支持

            4.ojbectserviceslayer供您選擇以何種方式去處理查詢結(jié)果。比如(行,列或作為對象)。

            5.提供一個開放的模型使ADO.NETEntityFramework可以處理其他的數(shù)據(jù)存儲。

            6.EntityFramework實現(xiàn)了樂觀的并發(fā)模式(OptimisticConcurrencyModel)

            7.事務處理

            三、具體功能簡述

            3.1工作流解決方案

            工作流引擎:該部分為工作流模型的核心部分,用于生成、管理、角度和監(jiān)控工作流的各個活動執(zhí)行情況,并實現(xiàn)相應的人機交互。由于采用XPDL等語言定義的工作流文件記載了相應的業(yè)務邏輯,隱藏工作流引擎通過解析該文件來了解業(yè)務流轉(zhuǎn)的邏輯。然后依據(jù)某種運行模式按照解析出來的業(yè)務邏輯進行驅(qū)動,最終實現(xiàn)業(yè)務流程的流轉(zhuǎn)。

            工作流定義接口:通過該接口可以進行工作流程的分析、建模、描述和歸檔等工作,并將設(shè)計完畢的業(yè)務流程生成工作流引擎能夠識別的語言。

            工作流客戶接口:處理工作流運行過程中需要人為參與的操作。

            工作流調(diào)用應用程序接口:工作流引擎調(diào)用外部應用程序的規(guī)范。

            工作流引擎協(xié)作接口:不同工作流引擎之間的協(xié)作。

            工作流管理監(jiān)控接口:監(jiān)控和管理工作流所有實例狀態(tài)。

            3.2多語言用戶自定義標簽方案

            數(shù)據(jù)庫結(jié)構(gòu)

            

            3.3消息發(fā)布訂閱系統(tǒng)方案

            使用WCF創(chuàng)建發(fā)布訂閱系統(tǒng)有多種不同的方式,

            (1)使用回調(diào)契約的發(fā)布訂閱系統(tǒng)

            (2)使用MSMQ實際通用組播的發(fā)布訂閱系統(tǒng)

            (3)使用流的發(fā)布訂閱系統(tǒng)

            方法1,2適合通知數(shù)據(jù)量較大并且發(fā)布頻率比較低的應用場景。

            當通知的數(shù)據(jù)量較小而且發(fā)布頻率又較高時,應該使用方法3。

            3.4報表打印方案

            四、系統(tǒng)平臺支撐組件

            lWpf(UI)

            lAsp.netmvc(UI)

            lClickOnce(智能客戶端??勺詣由?,離線操作)

            lLinq(借助于LINQ技術(shù),我們可以使用一種類似SQL的語法來查詢?nèi)魏涡问降臄?shù)據(jù),普通開發(fā)人員不必學習MsSql,mysql,orcale,access等數(shù)據(jù)庫語法,節(jié)省開發(fā)時間)

            lADO.NETEntity(讓應用程序可以用完全對象化的方法連接與訪問數(shù)據(jù)庫,修改Provider就可遷移到不同的數(shù)據(jù)庫)

            lIIS6或以上

            lWindowsserver2003或以上

            lWCF(服務層)

            lUnity(是微軟模式與實踐團隊開發(fā)的一個輕量級、可擴展的依賴注入反轉(zhuǎn)控制容器)

            lSQLServerCompactEdition(用作智能客戶端離線操作)

            lWF(MicrosoftWindowsWorkflowFoundation是一個可擴展框架,用于在Windows平臺上開發(fā)工作流解決方案)

            五、系統(tǒng)網(wǎng)絡結(jié)構(gòu)

            


          領(lǐng)導如何關(guān)注和參與初級固定資產(chǎn)管理軟件下載培養(yǎng)董小英:免費供應商管理軟件提升企業(yè)創(chuàng)新能力
          環(huán)境工程質(zhì)量管理軟件系統(tǒng)有哪些消防行業(yè)湖北工程建設(shè)總承包公司的工程管理OA系統(tǒng)案例分析
          供應商招投標監(jiān)管系統(tǒng)下載解決固定資產(chǎn)管理軟件下載懶散問題的“良方”
          在線招投標公司項目管理系統(tǒng)的設(shè)計與實現(xiàn)用友T6中小企業(yè)管理軟件T6V6.0 all in one免費版
          鋼結(jié)構(gòu)行業(yè)桂林三建股份有限公司的工程項目管理OA系統(tǒng)案例分析隧道行業(yè)公投建設(shè)集團隧道工程公司的工程項目管理OA系統(tǒng)案例分析
          水電行業(yè)河南海外工程建設(shè)公司的工程項目管理OA系統(tǒng)案例分析用友軟件教程
          施工項目進度計劃軟件裝飾行業(yè)深圳大紅點裝飾公司工程管理OA系統(tǒng)案例分析
          用友財務軟件教程用友erp系統(tǒng)下載(工業(yè)行業(yè))
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 好男人一区二区三区在线观看 | 黄色A片免费观看 | 波多野结衣一区二区精品系列11 | 日韩爱操视频 | 国产黄视频在线看 | 2025国产精品久久 | 国产精品精品国产婷婷这里Aⅴ | 韩国av三级片麻豆 | 无码无套少妇毛多18PXXXX | 免费操B网站 |