IC培訓
           
         

        軟件設計培訓

         
           班級規模及環境--熱線:4008699035 手機:15921673576/13918613812( 微信同號)
               堅持小班授課,為保證培訓效果,增加互動環節,每期人數限3到5人。
           上課時間和地點
        上課地點:【上?!浚和瑵髮W(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
        近開課時間(周末班/連續班/晚班):2025年3月24日........................(歡迎您垂詢,視教育質量為生命!)
           實驗設備
             ☆資深工程師授課
                
                ☆注重質量 ☆邊講邊練

                ☆合格學員免費推薦工作
                ★實驗設備請點擊這兒查看★
           質量保障

                1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
                2、課程完成后,授課老師留給學員手機和Email,保障培訓效果,免費提供半年的技術支持。
                3、培訓合格學員可享受免費推薦就業機會。

        課程大綱

        在課程中要逐一解決的問題:
        1、員工無法接手遺留系統,原因是代碼雜亂,可讀性差?
        2、團隊成員沒有設計模式知識與經驗,無法實施敏捷開發?
        3、系統難以重構,不利于產品的重用與二次開發?
        4、開發效率得不到保障,因為詳細設計人員不能理解架構文檔與詳細設計方案?
        5、設計方案難于應對需求變更?
        6、設計的系統架構缺乏可擴展性、可維護性和可測試性,不能合理地重用
        7、架構、設計、開發三個環節中各個角色不能理解設計意圖,很難溝通
        內容
        第一單元:?
        面向對象設計:?
        角色、職責與協作
        職責驅動設計面向對象設計的核心驅動力是對象的職責,合理的職責分配是卓越軟件設計的前提。只有合理地分辨對象的職責,才能夠定義良好的對象,并實現符合系統一致性的對象協作關系。?
        1、職責的層次?
        通過職責層次模型對需求進行分析,識別出業務價值、業務功能與業務實現。職責層次的分解可以有效地幫助設計者辨別職責。?
        (1)職責層次的識別?
        (2)職責層次與軟件架構層次之間的關系?
        (3)職責與概念、規約與實現?
        (4)案例分析:分析郵件服務器代碼暴露的問題,在可重用性、代碼可維護性、可擴展性等諸多方面著手,剖析代碼壞味道。通過分辨職責層次,來改善設計。并提出需求變更,從而引入對Observer模式、Strategy模式、Simple Factory模式、Mediator模式與Chain Of Responsibility模式的對比與分析;?
        (5)實戰演練:設計一個作業調度框架,它能夠根據指定的時間觸發作業,執行自定義任務。

        2、職責的分類?
        職責并不等于功能,也不等同于行為或方法。分析職責,應從對象的認知與行為入手。

        3、對象的角色?
        角色、職責與協作是三位一體的關系,角色是發起職責的對象,職責則應該是對象之間的協作。不同角色的對象,履行的職責是不同的。?
        (1)信息持有者:信息的格式;是否需要持久化;信息源的改變,是否需要更新;處理信息的方式;?
        (2)構造者:構造者與構造對象的關系;構造的方式;聚合與合成;?
        (3)服務提供者:主動告知,被動告知;獨立的行為;提供有業務價值的行為;?
        (4)協調者:如何委派和轉發請求;如何通知其他對象要做的工作;如何通知狀態的變化;?
        (5)控制者:控制者與被控制者的關系;控制的決策與邏輯;驅動其他對象;收集與決策有關的信息;?
        (6)案例:處理HTTP請求與應答,體現信息持有者角色;JMS對Queue的創建體現構造者角色;稅務報告的生成體現服務提供者角色;服務定位器體現協調者角色;內容驗證器體現控制者角色;

        4、職責與封裝的關系?
        缺乏合理的封裝,就會缺少正確的領域對象,從而導致領域信息散亂分布到系統各個方法,使得概念不夠清晰,導致職責混亂。

        5、模塊級的職責分配?
        (1)問題分析:模塊之間職責的分配,在面臨三種問題時,應該如何應對?通過對具體問題的分析,討論模塊之間的職責分配,以及對高內聚、松耦合的理解。同時,該問題分析還將引入Template Method模式;?
        (2)問題分析:錯誤的職責分配帶來的循環依賴問題,以及對包的復用原則的違背,提出解決辦法;?
        (3)模塊重用:對eBay模塊的分析,以及對某大型系統架構的演進,提出模塊重用的方式;

        6、原則與模式?
        (1)單一職責原則:分析該原則的核心思想,關注對象的變化點;?
        (2)案例分析:功能引擎中對功能對象的加載,如何體現職責分離帶來的好處;通過對案例分析引入Proxy模式;?
        (3)專家模式:專家模式的核心思想是信息的持有者是操作該信息的專家;?
        (4)案例分析:報表參數的處理方式,如何通過識別設計違背了專家模式,并依據專家模式對設計進行改進,從而巧妙地利用多態消除代碼壞味道,并進而通過引入Adapter模式處理模塊之間的依賴關系;?
        (5)自治對象:分析了自治對象的特征,分別包括:小完備,穩定空間,自我履行與獨立進化。
        (6)案例分析:用戶狀態機,給出了某金融系統中復雜的用戶狀態遷移,體現的復雜授權、登錄等業務邏輯,并由此引入State模式來簡化設計,體現自治對象的特征。
        第二單元?
        面向對象設計:?
        抽象與變化
        擴展式設計合理的職責分配并不能完全保證軟件設計的卓越,因為需求變化是軟件開發的常態,因此設計必須在一定程度滿足變化,保證系統的可擴展性。?
        1、抽象的意義?
        抽象的關鍵在于尋找多個對象(或行為)具有的共同特征,并對特性進行泛化。泛化的特征可以暴露在外,從而隔離內部的實現。?
        (1)用例分析:對用例和參與者的泛化;遵循的原則;?
        (2)案例分析:授權框架的設計,體現了對共同特征的提取,合理引入Chain Of Responsibility模式與Template Method模式;?
        (3)案例分析:項目管理模型的抽象,通過對多種項目管理過程進行分析,對各種模型概念進行分類,并抽象出模型的共同特征,從而簡化模型;

        2、識別變化?
        要保證設計的可擴展性,主要過程是識別變化點,然后對變化進行封裝。?
        (1)變化點:常見的變化點包括業務規則、算法策略、外部服務、硬件支持、命令請求、協議標準、數據格式、業務流程、系統配置、界面表現;?
        (2)案例分析:電子商務系統的Invoice業務規則,引入Specification模式;CIMS系統的機器加載策略,引入Strategy模式;短信服務,引入Facade模式與Adapter模式;人力資源系統考勤模塊,引入Gateway模式;?
        (3)案例分析:CQRS框架,對命令處理邏輯的包裝,引入Decorator模式,并通過分析變化點,引入另一種替代Decorator模式的設計。

        3、依賴解耦?
        處理變化的關鍵是要解除對具體對象的依賴。?
        (1)表驅動法?
        (2)配置與反射?
        (3)IoC容器?
        (4)慣例優于配置

        4、擴展式設計?
        擴展式設計分為三個步驟,分別為:分離職責各司其職,利用抽象統一接口,引用接口預留空白。擴展式設計可以有效地保證整個系統的可擴展性。
        (1)擴展式設計的步驟?
        (2)實戰演練:訂單處理,通過三次迭代逐步改進原有設計,并分別遵循專家模式、分離原則與擴展式設計,保證設計在修改小的前提下滿足需求變化。在設計演進中,討論對設計模式的合理運用,并引入Specification模式;?
        (3)案例分析:配置管理框架的設計,該框架能夠支持配置信息的多種存儲形態,包括文件、數據庫、LDAP等;支持多種獲取配置的方式,如Web服務,REST服務。配置管理框架的接口需要保證其統一性和一致性,同時在滿足可擴展要求下,提供接口的易用性。?
        (4)案例分析:消息隊列規范的設計。通過分析JMS、MSMQ、RabbitMQ和NServiceBus的設計,理解抽象的含義,例如理解面向接口設計、接口隔離原則、按意圖設計、Facade模式與企業集成模式。
        (5)實戰演練:CIMS基于消息的分布式架構。通過對服務的統一抽象,以及對消息處理的職責分配,建立一個協作合理的分布式架構。設計過程中會引入Command模式、Publisher – Subscriber模式、Message Bus模式、Message Translator模式、Lookup模式。
        第三單元?
        場景驅動設計:?
        利用場景建模
        設計過程無論進行怎樣的設計,都不能離開具體的場景。場景驅動設計的要義是基于場景有針對性地進行設計。場景既是設計的驅動力,又是設計的約束,從而獲得恰如其分的設計。?
        1、場景的目標層次?
        (1)概要目標:系統層次的場景劃分,每個概要目標可對應子系統的需求目標。通過概要目標引入領域驅動設計的Unbounded Context。?
        (2)用戶目標:業務層次的場景劃分,每個用戶目標對應各個子系統所提供的業務價值,并以服務的形式暴露給調用者。?
        (3)子功能:功能層次的場景劃分,每個子功能都對應于業務功能,并以領域對象或橫切關注點的方式,由服務調用。?
        (4)案例分析:電子商務系統的場景目標劃分,以層次模型的方式表現場景。

        2、場景的6W模型?
        (1)6W的內容:分別為who(對應于角色)、why(對應于業務價值)、when(對應于對象的協作)、what(對應于業務功能)、where(對應于場景邊界)和hoW(對應于業務實現);?
        (2)6W模型的設計驅動力:6W模型的關鍵是在場景邊界內,通過場景識別出角色,再以角色為設計入口,運用職責的層次模型識別出業務價值、業務功能和業務實現,從而根據職責模型獲得領域模型,再通過時序圖,處理對象之間的協作關系,進一步精煉出更為準確的領域模型。

        3、場景驅動設計演練?
        (1)實戰案例:某大型跨國公司的內部培訓系統,包括培訓計劃制訂,培訓實施以及員工職業生涯規劃等功能;?
        (2)對整個系統進行分析,識別場景的目標層次;?
        (3)劃分需求場景,運用6W模型進行場景驅動設計;?
        場景一:將培訓的Ticket分配給員工。在分配ticket時,需要指定deadline,以及取消票或deadline到期時的Action。同時,將該ticket的狀態設置為pending;?
        場景二:在接收到分配ticket的通知后,并在設定的deadline之前,拒絕該ticket。此時,會自動執行事先分配給ticket的取消票的action;?
        場景三:根據設定的trigger周期,定期掃描在當日滿足deadline條件的ticket;如果存在滿足deadline條件的ticket,且ticket的狀態不為accepted,則需要觸發事先指定給該ticket的action。?
        場景四:無論是nomination,還是接收ticket、取消ticket,或者deadline以及取消執行的action,只要是對ticket進行了處理,都需要記錄這次處理ticket的記錄,以便于未來對該票的跟蹤;?
        整個演練將完整介紹場景驅動設計的過程,并結合前面講解的職責驅動設計與擴展式設計,確保優良的設計。案例會引入對領域建模的考量,識別職責、識別變化點并封裝變化。設計會引入Strategy模式,Bridge模式、Repository模式、State模式以及Interceptor模式等,使設計滿足可重用性、可擴展性。

        4、軟件設計?
        整個設計過程是由場景來驅動,通過角色識別職責,然后遵循高內聚原則對對象進行封裝。合理的封裝還必須保證對象之間的協作是松耦合。其中,可通過識別變化點,利用抽象對變化進行封裝。卓越的軟件設計還需要不斷地演進,保證設計達到卓越的途徑是識別壞味道,然后通過重構對代碼進行改進;還可以運用探索式設計,對職責進行合理的分配。?
        (1)常見的壞味道:包括過長方法、過大的類、特性依戀、霰彈式修改、消息鏈、并行的繼承體系、中間人等;?
        (2)探索式方法:包括方法分組、觀察隱藏方法、尋找可以更改的決定、尋找內部關系、尋找主要職責、草稿式重構與關注當前工作。

        android開發板
        linux_android開發板
        fpga圖像處理
        曙海培訓實驗設備
        fpga培訓班
         
        本課程部分實驗室實景
        曙海實驗室
        實驗室
        曙海培訓優勢
         
          合作伙伴與授權機構



        Altera全球合作培訓機構



        諾基亞Symbian公司授權培訓中心


        Atmel公司全球戰略合作伙伴


        微軟全球嵌入式培訓合作伙伴


        英國ARM公司授權培訓中心


        ARM工具關鍵合作單位
          我們培訓過的企業客戶評價:
            曙海的andriod 系統與應用培訓完全符合了我公司的要求,達到了我公司培訓的目的。 特別值得一提的是授課講師針對我們公司的開發的項目專門提供了一些很好程序的源代碼, 基本滿足了我們的項目要求。
        ——上海貝爾,李工
            曙海培訓DSP2000的老師,上課思路清晰,口齒清楚,由淺入深,重點突出,培訓效果是不錯的,
        達到了我們想要的效果,希望繼續合作下去。
        ——中國電子科技集團技術部主任 馬工
            曙海的FPGA 培訓很好地填補了高校FPGA培訓空白,不錯??傊?,有利于學生的發展, 有利于教師的發展,有利于課程的發展,有利于社會的發展。
        ——上海電子,馮老師
            曙海給我們公司提供的Dsp6000培訓,符合我們項目的開發要求,解決了很多困惑我 們很久的問題,與曙海的合作非常愉快。
        ——公安部第三研究所,項目部負責人李先生
            MTK培訓-我在網上找了很久,就是找不到。在曙海居然有MTK驅動的培訓,老師經驗 很豐富,知識面很廣。下一個還想培訓IPHONE蘋果手機。跟他們合作很愉快,老師很有人情味,態度很和藹。
        ——臺灣雙揚科技,研發處經理,楊先生
            曙海對我們公司的iPhone培訓,實驗項目很多,確實學到了東西。受益無窮 ??!特別是對于那種正在開發項目的,確實是物超所值。
        ——臺灣歐澤科技,張工
            通過參加Symbian培訓,再做Symbian相關的項目感覺更加得心應手了,理 論加實踐的授課方式,很有針對性,非常的適合我們。學完之后,很輕松的就完成了我們的項目。
        ——IBM公司,沈經理
            有曙海這樣的DSP開發培訓單位,是教育行業的財富,聽了他們的課,茅塞頓開。
        ——上海醫療器械高等學校,羅老師
          我們新培訓過的企業客戶以及培訓的主要內容:
         

        一汽海馬汽車 DSP培訓
        蘇州金屬研究院 DSP培訓
        南京南瑞集團技術 FPGA培訓
        西安愛生技術集團 FPGA培訓,DSP培訓
        成都熊谷加世電氣 DSP培訓
        福斯賽諾分析儀器(蘇州) FPGA培訓
        南京國電工程 FPGA培訓
        北京環境特性研究所 達芬奇培訓
        中國科微系統與信息技術研究所 FPGA高級培訓
        重慶網視只能流技術開發 達芬奇培訓
        無錫力芯微電子股份 IC電磁兼容
        河北科研究所 FPGA培訓
        上海微小衛星工程中心 DSP培訓
        廣州航天航空 POWERPC培訓
        桂林航天工 DSP培訓
        江蘇五維電子科技 達芬奇培訓
        無錫步進電機自動控制技術 DSP培訓
        江門市安利電源工程 DSP培訓
        長江力偉股份 CADENCE 培訓
        愛普生科技(無錫 ) 數字模擬電路
        河南平高 電氣 DSP培訓
        中國航天員科研訓練中心 A/D仿真
        常州易控汽車電子 WINDOWS驅動培訓
        南通大學 DSP培訓
        上海集成電路研發中心 達芬奇培訓
        北京瑞志合眾科技 WINDOWS驅動培訓
        江蘇金智科技股份 FPGA高級培訓
        中國重工第710研究所 FPGA高級培訓
        蕪湖伯特利汽車安全系統 DSP培訓
        廈門中智能軟件技術 Android培訓
        上海科慢車輛部件系統EMC培訓
        中國電子科技集團第五十研究所,軟件無線電培訓
        蘇州浩克系統科技 FPGA培訓
        上海申達自動防范系統 FPGA培訓
        四川長虹佳華信息 MTK培訓
        公安部第三研究所--FPGA初中高技術開發培訓以及DSP達芬奇芯片視頻、圖像處理技術培訓
        上海電子信息職業技術--FPGA高級開發技術培訓
        上海點逸網絡科技有限公司--3G手機ANDROID應用和系統開發技術培訓
        格科微電子有限公司--MTK應用(MMI)和驅動開發技術培訓
        南昌航空大學--fpga 高級開發技術培訓
        IBM 公司--3G手機ANDROID系統和應用技術開發培訓
        上海貝爾--3G手機ANDROID系統和應用技術開發培訓
        中國雙飛--Vxworks 應用和BSP開發技術培訓

         

        上海水務建設工程有限公司--Alter/Xilinx FPGA應用開發技術培訓
        恩法半導體科技--Allegro Candence PCB 仿真和信號完整性技術培訓
        中國計量--3G手機ANDROID應用和系統開發技術培訓
        冠捷科技--FPGA芯片設計技術培訓
        芬尼克茲節能設備--FPGA高級技術開發培訓
        川奇光電--3G手機ANDROID系統和應用技術開發培訓
        東華大學--Dsp6000系統開發技術培訓
        上海理工大學--FPGA高級開發技術培訓
        同濟大學--Dsp6000圖像/視頻處理技術培訓
        上海醫療器械高等??茖W校--Dsp6000圖像/視頻處理技術培訓
        中航工業無線電電子研究所--Vxworks 應用和BSP開發技術培訓
        北京交通大學--Powerpc開發技術培訓
        浙江理工大學--Dsp6000圖像/視頻處理技術培訓
        臺灣雙陽科技股份有限公司--MTK應用(MMI)和驅動開發技術培訓
        滾石移動--MTK應用(MMI)和驅動開發技術培訓
        冠捷半導體--Linux系統開發技術培訓
        奧波--CortexM3+uC/OS開發技術培訓
        迅時通信--WinCE應用與驅動開發技術培訓
        海鷹醫療電子系統--DSP6000圖像處理技術培訓
        博耀科技--Linux系統開發技術培訓
        華路時代信息技術--VxWorks BSP開發技術培訓
        臺灣歐澤科技--iPhone開發技術培訓
        寶康電子--Allegro Candence PCB 仿真和信號完整性技術培訓
        上海天能電子有限公司--Allegro Candence PCB 仿真和信號完整性技術培訓
        上海亨通光電科技有限公司--andriod應用和系統移植技術培訓
        上海智搜文化傳播有限公司--Symbian開發培訓
        先先信息科技有限公司--brew 手機開發技術培訓
        鼎捷集團--MTK應用(MMI)和驅動開發技術培訓
        傲然科技--MTK應用(MMI)和驅動開發技術培訓
        中軟國際--Linux系統開發技術培訓
        龍旗控股集團--MTK應用(MMI)和驅動開發技術培訓
        研祥智能股份有限公司--MTK應用(MMI)和驅動開發技術培訓
        羅氏診斷--Linux應用開發技術培訓
        西東控制集團--DSP2000應用技術及DSP2000在光伏并網發電中的應用與開發
        科大訊飛--MTK應用(MMI)和驅動開發技術培訓
        東北農業大學--IPHONE 蘋果應用開發技術培訓
        中國電子科技集團--Dsp2000系統和應用開發技術培訓
        中國船舶重工集團--Dsp2000系統開發技術培訓
        晶方半導體--FPGA初中高技術培訓
        肯特智能儀器有限公司--FPGA初中高技術培訓
        哈爾濱大學--IPHONE 蘋果應用開發技術培訓
        昆明電器科學研究所--Dsp2000系統開發技術
        奇瑞汽車股份--單片機應用開發技術培訓


         
          曙海企業  
          備案號:滬ICP備08026168號 .(2014年7月11)...................
        友情鏈接:Cadence培訓 ICEPAK培訓 EMC培訓 電磁兼容培訓 sas容培訓 羅克韋爾PLC培訓 歐姆龍PLC培訓 PLC培訓 三菱PLC培訓 西門子PLC培訓 dcs培訓 橫河dcs培訓 艾默生培訓 robot CAD培訓 eplan培訓 dcs培訓 電路板設計培訓 浙大dcs培訓 PCB設計培訓 adams培訓 fluent培訓系列課程 培訓機構課程短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班培訓 南京 NS3培訓 OpenGL培訓 FPGA培訓 PCIE培訓 MTK培訓 Cortex訓 Arduino培訓 單片機培訓 EMC培訓 信號完整性培訓 電源設計培訓 電機控制培訓 LabVIEW培訓 OPENCV培訓 集成電路培訓 UVM驗證培訓 VxWorks培訓 CST培訓 PLC培訓 Python培訓 ANSYS培訓 VB語言培訓 HFSS培訓 SAS培訓 Ansys培訓 短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班 曙海 教育 企業 培訓課程 系列班 長期課程列表實踐課程高級課程學校培訓機構周末班 短期培訓系列課程培訓機構 曙海教育企業培訓課程 系列班
        在線客服