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