軟件詳細(xì)設(shè)計、建模與編檔培訓(xùn)
?
??????????????????
???????????????????????
軟件詳細(xì)設(shè)計、建模與編檔?培訓(xùn)
????????????????????????
???????????????????????
培訓(xùn)目標(biāo):
????????????????????????? 加強學(xué)員的程序設(shè)計開發(fā)思想
?????????????????????????
理解軟件設(shè)計的基本原理
?????????????????????????
了解各種設(shè)計方法及其基本應(yīng)用
?????????????????????????
理解模式的本質(zhì)含義,以及模式的 “藍(lán)圖”
?????????????????????????
學(xué)習(xí)設(shè)計的基本原則,面向?qū)ο笤O(shè)計原則
?????????????????????????
學(xué)習(xí)系統(tǒng)化設(shè)計的范圍和方法
?????????????????????????
能夠在以后的實際工作中,自己構(gòu)造出有效的設(shè)計
?????????????????????????
學(xué)習(xí)應(yīng)用設(shè)計的關(guān)鍵問題:擴展,復(fù)用,性能,可靠,可測試性
?????????????????????????
學(xué)習(xí)運用對現(xiàn)有代碼進(jìn)行逆向,設(shè)計進(jìn)行重構(gòu)
???????????????????????
???????????????????????
培訓(xùn)內(nèi)容:
?????????????????????????????
分析設(shè)計問題的引入一個案例中的設(shè)計問題
???????????????????????????????
思考
???????????????????????????????
為什么設(shè)計
???????????????????????????????
設(shè)計什么
???????????????????????????????
如何描述設(shè)計-采用UML建模
???????????????????????????????
展望后續(xù)的路線圖
?????????????????????????????
軟件組成原理軟件架構(gòu)的基本結(jié)構(gòu)
???????????????????????????????
層次框架
???????????????????????????????
功能子系統(tǒng)
???????????????????????????????
模塊劃分
???????????????????????????????
集成單元
???????????????????????????????
不同設(shè)計粒度的貫穿思考:從程序到架構(gòu)
???????????????????????????????
通用設(shè)計原則
?????????????????????????????
需求分析基于用例的捕獲功能需求
???????????????????????????????
識別Actor和用例
???????????????????????????????
正確書寫用例文檔
???????????????????????????????
識別用例的關(guān)系
???????????????????????????????
確定非功能需求:
???????????????????????????????
性能
???????????????????????????????
可靠性
???????????????????????????????
可維護(hù)性
???????????????????????????????
可擴展性
???????????????????????????????
案例實踐:利用UML圖對需求進(jìn)行建模
?????????????????????????????
領(lǐng)域分析 什么是領(lǐng)域類
???????????????????????????????
如何識別領(lǐng)域類
???????????????????????????????
領(lǐng)域類在軟件中處于什么層次,
???????????????????????????????
領(lǐng)域類的粒度如何把握
???????????????????????????????
建立領(lǐng)域類,屬性,關(guān)系
?????????????????????????????
軟件設(shè)計策略可擴展性設(shè)計策略
???????????????????????????????
可靠性設(shè)計策略
???????????????????????????????
性能設(shè)計策略
???????????????????????????????
可維護(hù)性設(shè)計策略
???????????????????????????????
易用性設(shè)計策略
???????????????????????????????
通過案例,思考設(shè)計策略如何應(yīng)用
?????????????????????????????
設(shè)計原則在設(shè)計中的應(yīng)用單一職責(zé)原則
???????????????????????????????
開放封閉原則
???????????????????????????????
依賴倒置原則
???????????????????????????????
接口分離原則
???????????????????????????????
里氏替換原則
???????????????????????????????
如何進(jìn)行職責(zé)劃分?如何識別變化?
???????????????????????????????
并防止過度設(shè)計
?????????????????????????????
子系統(tǒng)與模塊設(shè)計軟件系統(tǒng)邊界和外部系統(tǒng)接口的定義
???????????????????????????????
劃分子系統(tǒng)原則
???????????????????????????????
子系統(tǒng)功能模塊的分解
???????????????????????????????
子系統(tǒng)間的通信接口的設(shè)計
???????????????????????????????
如何應(yīng)對系統(tǒng)內(nèi)部緊耦合、高內(nèi)聚
???????????????????????????????
案例實踐:子系統(tǒng)與模塊設(shè)計
?????????????????????????????
層次設(shè)計典型的層次模式
???????????????????????????????
各個層次劃分方法的適應(yīng)性
???????????????????????????????
層次之間的依賴關(guān)系
???????????????????????????????
案例實踐:層次設(shè)計
?????????????????????????????
類設(shè)計與建模識別類,
???????????????????????????????
確定類的屬性和方法
???????????????????????????????
設(shè)計類之間的泛化
???????????????????????????????
設(shè)計類之間的關(guān)聯(lián)(聚合、組合、連接)
???????????????????????????????
類設(shè)計的常見問題于解決方法
???????????????????????????????
類的職責(zé)劃分與對象交互設(shè)計
???????????????????????????????
案例實踐:類設(shè)計與建模
?????????????????????????????
程序處理流程設(shè)計處理流程的組成
???????????????????????????????
采用活動圖建模流程
???????????????????????????????
理解處理過程的組成:活動、狀態(tài)、轉(zhuǎn)移
???????????????????????????????
案例實踐:處理流程設(shè)計與建模
?????????????????????????????
狀態(tài)分析、設(shè)計與建模理解狀態(tài)圖組成:活動、狀態(tài)、決策點、同步
???????????????????????????????
針對需求識別狀態(tài)
???????????????????????????????
為狀態(tài)建模
???????????????????????????????
把狀態(tài)轉(zhuǎn)化為設(shè)計
???????????????????????????????
案例:狀態(tài)分析、設(shè)計與建模
?????????????????????????????
詳細(xì)設(shè)計轉(zhuǎn)化為代碼詳細(xì)設(shè)計轉(zhuǎn)化代碼結(jié)構(gòu)
???????????????????????????????
詳細(xì)設(shè)計與代碼的同步方式
???????????????????????????????
結(jié)構(gòu)設(shè)計與代碼關(guān)系
???????????????????????????????
交互設(shè)計與代碼關(guān)系
?????????????????????????????
設(shè)計評審與歸檔設(shè)計文檔撰寫
???????????????????????????????
設(shè)計文檔的評審與基線
???????????????????????????????
設(shè)計文檔的版本管理
???????????????????????????????
設(shè)計文檔的變更控制
?????????????????????????????
分析代碼,對詳細(xì)設(shè)計進(jìn)行重構(gòu),優(yōu)化設(shè)計分析并初步重構(gòu)一個案例
???????????????????????????????
重構(gòu)準(zhǔn)備
???????????????????????????????
理解重構(gòu)原則
???????????????????????????????
學(xué)習(xí)重構(gòu)名錄
???????????????????????????????
構(gòu)筑測試體系
???????????????????????????????
選擇重構(gòu)工具
???????????????????????????????
分析代碼
???????????????????????????????
把握優(yōu)秀程序結(jié)構(gòu)的風(fēng)格
???????????????????????????????
把握如何觀察代碼
???????????????????????????????
發(fā)現(xiàn)代碼的壞味道
???????????????????????????????
重構(gòu)設(shè)計和代碼
???????????????????????????????
重新組織函數(shù)與屬性
???????????????????????????????
重新組織對象關(guān)系
???????????????????????????????
簡化表達(dá)式
???????????????????????????????
組織繼承體系
???????????????????????????????
讓重構(gòu)成為習(xí)慣
???????????????????????????????
案例:基于現(xiàn)有系統(tǒng)進(jìn)行代碼重構(gòu)實戰(zhàn)
?
?
?
?