軟件架構(gòu)和設(shè)計培訓(xùn)
培訓(xùn)班型: 企業(yè)內(nèi)訓(xùn)、公開課
課程長度: 2天/12小時
培訓(xùn)日期: 待定
培訓(xùn)地點: 博學(xué)國際教育培訓(xùn)中心
環(huán)境要求: 投影儀、白板、大白紙
培訓(xùn)形式: 實例講授,現(xiàn)場演、練、及時溝通
培訓(xùn)資料: 培訓(xùn)教材
課程內(nèi)容
認(rèn)證描述:
課程概述:軟件架構(gòu)(software architecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。軟件架構(gòu)是一個系統(tǒng)的草圖。軟件體系結(jié)構(gòu)是構(gòu)建計算機(jī)軟件實踐的基礎(chǔ)。
授課對象:1、企業(yè)信息化*負(fù)責(zé)人;軟件開發(fā)*負(fù)責(zé)人、技術(shù)骨干、軟件設(shè)計全過程的項目經(jīng)理;
2、軟件開發(fā)企業(yè)的需求分析師、系統(tǒng)架構(gòu)師、需求分析資深開發(fā)人員。
課程內(nèi)容:
*章:
一、以構(gòu)架為中心的開發(fā)過程——UP統(tǒng)一軟件過程
◆全面說明UP統(tǒng)一軟件過程的內(nèi)容,包括角色,工件,和活動(業(yè)務(wù)、需求等九大科目)
◆講解軟件開發(fā)所經(jīng)歷的從業(yè)務(wù)建模(領(lǐng)域建模)、到需求建模(用例建模)、進(jìn)而到架構(gòu)建模、 行為(應(yīng)用)建模、數(shù)據(jù)建模,*到測試建模的整個過程
◆闡述迭代模型,詳細(xì)講解RUP的先啟階段和精化階段的迭代內(nèi)容
二、軟件構(gòu)架導(dǎo)論
◆闡述軟件構(gòu)架是什么,講解為什么需要軟件構(gòu)架,闡述構(gòu)架基線的概念
◆介紹迭代開發(fā)各個階段需要解決的各類關(guān)鍵風(fēng)險,并分析構(gòu)架基線是如何規(guī)避項目開發(fā)風(fēng)險的
◆回顧RUP的分析設(shè)計過程,說明構(gòu)架分析、設(shè)計在其中的關(guān)鍵位置
◆介紹構(gòu)架設(shè)計的相關(guān)理論(元模型體系),以及業(yè)界主流的構(gòu)架體系模型
三、構(gòu)架風(fēng)格與模式
◆闡述構(gòu)架風(fēng)格的概念,介紹常見的相關(guān)構(gòu)架風(fēng)格
◆講解構(gòu)架模式和框架,以及如何應(yīng)用構(gòu)架模式與框架來創(chuàng)建健壯的構(gòu)架
◆重點講述層次模式,深入探討應(yīng)用層次模式來幫助開發(fā)系統(tǒng)初始的構(gòu)架層
四、軟件構(gòu)架分析
◆分析關(guān)鍵的抽象概念在構(gòu)架分析中的核心作用;介紹如何使用分析模式、GRASP模式來精化實體模型
◆講解如何開發(fā)系統(tǒng)的界面導(dǎo)航圖來框定系統(tǒng)的主體功能行為
◆闡述構(gòu)架機(jī)制的概念,深入說明分析機(jī)制,講解如何使用分析機(jī)制來修飾分析類之設(shè)計約束
◆介紹*的代碼注釋技術(shù),講解如何使用ejb3.0的annotation來修飾設(shè)計約束(分析機(jī)制特征),并利用已有框架直接進(jìn)入實現(xiàn)
第二章:
五、軟件構(gòu)架(邏輯)設(shè)計
◆闡述軟件構(gòu)架設(shè)計所面臨的挑戰(zhàn),說明構(gòu)架設(shè)計的質(zhì)量目標(biāo):可維護(hù)性、可擴(kuò)展性、可重用性、互操作性等;講解構(gòu)架設(shè)計相關(guān)的一些原則
◆選擇構(gòu)架級技術(shù)方案的指南,講解如何針對系統(tǒng)特征來確定構(gòu)架級技術(shù)方案
◆介紹SEI-ATAM構(gòu)架折衷分析方法;并講解構(gòu)架設(shè)計如何反作用于系統(tǒng)行為
◆闡述設(shè)計模型的組織結(jié)構(gòu),說明如何進(jìn)行構(gòu)架級的分包,以及劃分子系統(tǒng)、定義接口等
◆AOP面向方面的軟件開發(fā)技術(shù);講解如何使用AOP來實現(xiàn)最為靈活的設(shè)計機(jī)制
六、面向?qū)ο笤O(shè)計原則與模式
◆講解面向?qū)ο笤O(shè)計中的最重要的原則,包括類的設(shè)計原則和包的設(shè)計原則
◆結(jié)合實例闡述在實際設(shè)計,特別是構(gòu)架設(shè)計中,應(yīng)用設(shè)計原則的方法、途徑;說明如何平臺相關(guān)的細(xì)節(jié)和應(yīng)用的分離,如何應(yīng)用封裝,抽象(abstraction)的原則等
◆闡述軟件構(gòu)造中的冗余,說明在構(gòu)架設(shè)計中如何識別和利用復(fù)用機(jī)會;
七、J2EE/Java Lite與dot.Net構(gòu)架框架、以及基于服務(wù)的構(gòu)架SOA
◆系統(tǒng)地闡述業(yè)務(wù)密集型軟件系統(tǒng)的主流分層構(gòu)架設(shè)計途徑:從表示層設(shè)計、應(yīng)用控制邏輯設(shè)計、到業(yè)務(wù)邏輯層的工作流設(shè)計、以及業(yè)務(wù)服務(wù)構(gòu)件設(shè)計,最終到數(shù)據(jù)訪問層設(shè)計
◆介紹當(dāng)前業(yè)務(wù)軟件主流構(gòu)架應(yīng)用框架以及中間件體系 ◆J2EE重量級方案(以J2EE核心構(gòu)架模式為主)
◆Java Lite輕量級方案(圍繞Struts+Spring+Hibernate)
◆闡述SOA構(gòu)架設(shè)計方案,說明SOA是一種獨立性強(qiáng)、依賴性弱,具有更優(yōu)可復(fù)用性的基于構(gòu)件CBD的構(gòu)架開發(fā)方案;介紹實現(xiàn)SOA的常用技術(shù):Web Services;介紹,基于SOA的JBoss構(gòu)架實例
第三章:
八、軟件構(gòu)架(物理)設(shè)計
◆闡述源碼的并行開發(fā)管理,進(jìn)而講解構(gòu)件視圖(實施模型)的概念
◆闡述軟件系統(tǒng)中的并發(fā)需求,進(jìn)而講解進(jìn)程視圖的概念(即通常說的物理設(shè)計視圖)
九、軟件構(gòu)架(數(shù)據(jù))設(shè)計與對象持久化
◆講解對業(yè)務(wù)密集系統(tǒng)意義重大的數(shù)據(jù)庫設(shè)計與數(shù)據(jù)建模
◆闡述對象持久化的概念,描述持久化機(jī)制,包括對應(yīng)的分析、設(shè)計和實施等機(jī)制
◆闡述Object-Relationship Mapping對象關(guān)系映射的概念,結(jié)合實例說明實現(xiàn)對象關(guān)
十、軟件構(gòu)架文檔與構(gòu)架質(zhì)量評估
◆ 進(jìn)一步深入闡述4+1視圖的概念,講解RUP的軟件構(gòu)架文檔
◆說明軟件構(gòu)架文檔的內(nèi)容,并給出編寫軟件構(gòu)架文檔,和用它來指導(dǎo)目標(biāo)系統(tǒng)開發(fā)指南
十一、項目開發(fā)目錄結(jié)構(gòu)與配置管理
◆講解如何定義項目開發(fā)目錄結(jié)構(gòu),以支持團(tuán)隊的協(xié)作開發(fā)
◆講解如何使用配置管理工具來支持項目開發(fā)目錄結(jié)構(gòu)的共享使用