第一階段:
構架全(quan)景視(shi)圖——核心(xin)開發過程(cheng)
項目展示
展示(shi)以往成功實施UML&OOAD與UP的項目(mu)實例
以構架為中心的開發(fa)過(guo)程——UP統一(yi)軟件(jian)過(guo)程(cheng)
全面說明UP統一(yi)軟件過(guo)程(cheng)的內(nei)容(rong),包括角色,工件,和活動(dong)(業(ye)務、需求等九大科(ke)目);
講解(jie)軟(ruan)件開(kai)發所(suo)經(jing)歷的(de)從業務建(jian)(jian)模(mo)(mo)(領域建(jian)(jian)模(mo)(mo))、到需(xu)求建(jian)(jian)模(mo)(mo)(用(yong)例建(jian)(jian)模(mo)(mo))、進而到架、建(jian)(jian)模(mo)(mo)、行為(應用(yong))建(jian)(jian)模(mo)(mo)、數據建(jian)(jian)模(mo)(mo),后到測試建(jian)(jian)模(mo)(mo)的(de)整個過程
闡述(shu)迭代模(mo)型(xing),詳(xiang)細講解RUP的(de)先啟階(jie)段和(he)精(jing)化階(jie)段的(de)迭代內容
對比RUP重量級過程與(yu)輕量級過程XP、Agile
Process的差(cha)別,以(yi)及各自(zi)的適用范圍(wei)
講解UML
9種圖(tu)形(xing)及應用(yong)
用例驅動的(de)需求開發
對(dui)比用例(li)方(fang)法與傳(chuan)統需求開發方(fang)法的優劣;用例(li)模型在表達功能需求中的核心(xin)作用;
解釋(shi)收集信息的過程,解釋(shi)作用域專家的角(jiao)色
寫一個明確的problem
statements
確(que)定(ding)建(jian)設(she)和(he)維護(hu)數據字典的重要(yao)性
闡釋如何正確(que)使用用例(li)技術(shu)來捕獲客戶的功(gong)能(neng)需求;
需(xu)求建(jian)模實驗
通過一個簡(jian)化的(de)項(xiang)目實例(li),講解(jie)如(ru)何建立需求(用例(li))模(mo)型;針對選定的(de)項(xiang)目實例(li),指(zhi)導(dao)學員使用文檔、活(huo)動(dong)圖/序列圖等途徑(jing)詳述系統用例的規格
面向(xiang)對象分析
闡述(shu)從分析(xi)模型到設計模型,終到實(shi)施模型的整(zheng)個演化過程;
講解(jie)分(fen)(fen)析(xi)類(lei)(lei)的概(gai)念,說明邊界類(lei)(lei)、實體(ti)類(lei)(lei)和(he)控制類(lei)(lei)的劃分(fen)(fen)與職責分(fen)(fen)配方法
講解如何從用例(li)行(xing)為中識別(bie)分(fen)(fen)(fen)析類(lei),并將相關行(xing)為向分(fen)(fen)(fen)析類(lei)進行(xing)職(zhi)責分(fen)(fen)(fen)配;說明使用序(xu)列圖與(yu)協(xie)作(zuo)圖來幫助(zhu)用例(li)分(fen)(fen)(fen)析的途徑;
說明如何在(zai)較大規模的(de)系(xi)統中,將眾多(duo)的(de)分析(xi)類(lei)組織成分析(xi)包和服務包
面向(xiang)對象分析實驗(yan)
依照項目實例(li)(li)已(yi)建(jian)立的(de)需(xu)求(qiu)模(mo)型,講解進(jin)行(xing)用(yong)例(li)(li)分(fen)(fen)析的(de)過程;針對選(xuan)定的(de)項目實例(li)(li),識別分(fen)(fen)析類,使用(yong)序(xu)列圖或協(xie)作(zuo)圖來描述基于(yu)這些分(fen)(fen)析類來實現用(yong)例(li)(li)行(xing)為(wei)所代(dai)表的(de)系統功(gong)能需(xu)求(qiu);
第二階段:
構架分析
軟件構架導論
闡述軟件構(gou)架(jia)是什(shen)么(me),講解為什(shen)么(me)需要軟件構(gou)架(jia),闡述構(gou)架(jia)基線的概念;
介紹迭代開(kai)發(fa)各個(ge)階段需(xu)要(yao)解決(jue)的各類關鍵風險,分(fen)析(xi)構(gou)架基線(xian)是(shi)如何(he)規避項目開(kai)發(fa)風險的
回顧RUP的(de)分析設計(ji)過程,說明構架分析、設計(ji)在其(qi)中(zhong)的(de)關(guan)鍵位置;
介(jie)紹構(gou)架設(she)計的(de)相關(guan)理論(元模(mo)型(xing)體(ti)(ti)系(xi)),以及業界主流的(de)構(gou)架體(ti)(ti)系(xi)模(mo)型(xing)
構架風格與(yu)模式(shi)
闡述(shu)構(gou)架風格(ge)的概念,介紹常見的相關(guan)構(gou)架風格(ge);
講解構架模式和(he)框架,以(yi)及如何應用構架模式與框架來(lai)創建健壯的構架;
重點講述層(ceng)次模(mo)式,深入探討應(ying)用(yong)層(ceng)次模(mo)式來幫助(zhu)開發系統初(chu)始的構架層(ceng)
軟件構架(jia)分(fen)析
分(fen)(fen)析抽象概念在構架分(fen)(fen)析中的作(zuo)用;介紹(shao)如(ru)何使用分(fen)(fen)析模式、GRASP模式來(lai)精化實體模型;
講解如何開發系統的界面導航圖來框定系統的主體功能行為;
闡(chan)述構架機制(zhi)的(de)概念,深入說明分(fen)析(xi)機制(zhi),講解(jie)如何(he)使用分(fen)析(xi)機制(zhi)來修飾分(fen)析(xi)類之設計約(yue)束(shu);
介(jie)紹新的代碼注釋(shi)技術,講(jiang)解如(ru)何使用(yong)ejb3.0的(de)annotation來修飾設計(ji)約束(分析機制特征(zheng)),并利(li)用已有框架直接進(jin)入實現
第三階段:
構架(邏輯)設計
軟件構架(邏輯)設(she)計
闡述軟(ruan)件構(gou)(gou)架設(she)(she)計所面臨的(de)挑戰,說明構(gou)(gou)架設(she)(she)計的(de)質量目標(biao):可(ke)維(wei)護性、可(ke)擴(kuo)展性、可(ke)重用性、互操作(zuo)性等(deng);講解構(gou)(gou)架設(she)(she)計相關(guan)的(de)一些原則;
選擇構架級(ji)技術方案(an)的(de)指南(nan),講(jiang)解如何(he)針對系統特(te)征來確定構架級(ji)技術方案(an);
介(jie)紹(shao)SEI-ATAM構架(jia)折衷分(fen)析方法;并(bing)講解構架(jia)設計如(ru)何反作用于系統行為(wei);
闡(chan)述設計模型的組織結構,說(shuo)明如(ru)何(he)進行構架級(ji)的分包,以及劃分子系統、定(ding)義(yi)接口(kou)等;
AOP面向方面的軟件開發(fa)技術;講解如何使用AOP來實現為靈活的設計機制;
面(mian)向對象設計原(yuan)則(ze)與(yu)模(mo)式
講(jiang)解面向對象設計(ji)中的(de)重(zhong)要的(de)原則,包括類(lei)的(de)設計(ji)原則和包的(de)設計(ji)原則;
結合實例闡述在實際(ji)設(she)(she)計(ji)(ji),特(te)別是構(gou)架設(she)(she)計(ji)(ji)中,應(ying)用設(she)(she)計(ji)(ji)原則的方法、途徑;說(shuo)明保持平(ping)臺相(xiang)關的細節和應(ying)用的分離(li),如何應(ying)用封(feng)裝,抽象(abstraction)和委派(delegation)的原則等;
闡(chan)述軟件(jian)構造中(zhong)的(de)冗余,說明在構架設計中(zhong)如何識(shi)別和利(li)用復(fu)用機會;結(jie)構上的(de)去冗余途徑,
探(tan)討元數據驅動技術在產(chan)品二次開發上的應用策略;
J2EE/Java
Lite與(yu)dot.Net構(gou)(gou)架框架、以及基(ji)于服(fu)務(wu)的(de)構(gou)(gou)架SOA
系(xi)統(tong)地闡述業務密集型軟件(jian)系(xi)統(tong)的主流分層構(gou)架設(she)(she)計途徑:從(cong)表示層設(she)(she)計、應用(yong)控制邏輯設(she)(she)計、到(dao)業務邏輯層的工作流設(she)(she)計、以及業務服務構(gou)件(jian)設(she)(she)計,終到(dao)數據訪問層設(she)(she)計等;
介紹當前(qian)業務軟(ruan)件主流構架應用(yong)框架以及中間件體系,包(bao)括:
J2EE重量級方案(以J2EE核心(xin)構架模(mo)式為(wei)主)
Java
Lite輕量級方案(圍繞Struts+Spring+Hibernate)
dot.Net方案(以(yi)微軟的核心構架模(mo)式為主)
闡述SOA構架設計方(fang)案,說明SOA是一種獨立性(xing)強(qiang)、依賴性(xing)弱(ruo),具有更優良(liang)的可復(fu)用性(xing)的基于構件(jian)CBD的(de)構架開發方案;介紹實現SOA的常用技術(shu):Web
Services;
介紹(shao)基于SOA的JBoss構架實例(li);
第四階段:
構架(物理)設計與團隊(dui)協作
軟(ruan)件(jian)構架(jia)(物理)設(she)計
闡述源碼的(de)并行開發管理,進而(er)講解(jie)構(gou)件視(shi)圖(tu)(實施模型)的(de)概念;
闡述軟件(jian)系統中的并發(fa)需求,進而講解進程(cheng)視圖(tu)的概(gai)念(即(ji)通常說的物理設(she)計視圖(tu));
闡述(shu)軟件(jian)系統中(zhong)的(de)分布需求,進而講(jiang)解部署視圖(tu)的(de)概念(nian)(即通(tong)常說的(de)物理設計視圖(tu));
軟件構架(數據)設計(ji)與對象持久化
講解(jie)對業務密集系統意義重大的數(shu)據(ju)庫設計(ji)與數(shu)據(ju)建模;
闡述(shu)對象持久化的概念(nian),描述(shu)持久化機制,包括對應的分析、設計和(he)實施(shi)等機制;
闡述Object-Relationship
Mapping對象關(guan)系映射(she)的概念,結合實(shi)例說明實(shi)現(xian)對象關(guan)系映射(she)的途徑(jing)和方法,并(bing)給出基(ji)于Hibernate或ejb3.0的(de)持久化實現;
數(shu)據(ju)訪問模(mo)式(shi),例如在線訪問、Data
Access Object、Data
Transfer Object、離線數據(ju)模式(shi)等(deng)
軟件構(gou)架文檔(dang)與構(gou)架質量評估
進一步深入(ru)闡述4+1視圖的概(gai)念,講解RUP的軟件構(gou)架文檔;
說明軟件構架文檔(dang)的(de)內(nei)容,并給出編寫軟件構架文檔(dang),和用它來指(zhi)導目(mu)標系統(tong)開發的(de)指(zhi)南;
說明構(gou)架設(she)計(ji)流(liu)程(cheng)中,解決方案的(de)構(gou)思、概念設(she)計(ji)的(de)創建(jian)、邏(luo)輯設(she)計(ji)的(de)創建(jian)、物理設(she)計(ji)的(de)創建(jian)等如何對應到RUP的4+1視(shi)圖;
項目開發目錄(lu)結構配(pei)置管理
講解如何定義(yi)項目開(kai)發目錄結構,以支持團隊(dui)的協(xie)作開(kai)發;
講解如何使用配置管(guan)理(li)工(gong)具來(lai)支持項目開發目錄結構的(de)共享使用;
說明目錄結構的設計(ji)原則和方法;