B002软体工程综观档案.ppt
軟體工程綜觀;為何需要軟體工程 ;軟體工程的重要性;軟體開發的生命周期;軟體規格的建立;分析需求後,軟體功能已確定,接著「系統設計」。
對軟體功能提出解決方案,同時設計軟體架構。
複雜系統的開發可以切割成多個子系統再進行開發。
同時由不同的開發者進行開發,最後再進行整合。
可縮短期程,避免在發生錯誤時影響整個系統。;規格產出後需檢視其中各子系統的關連性與介面設計是否合適
模糊的規格需再次定義。;專案發展(Project development);循序專案開發過程 (Sequential PLC);需求工程 (Requirements Engineering);需求獲得策略;應用系統的需求;需求分析流程;分析方法;語意資料模型 (Semantic data model):描述資料的型態與資料之間的關係。
圖示說明:
矩形代表所描述的資料項目
相連的橢圓形代表資料項目的資料屬性
菱形代表所連接的資料項目的關係
1:M代表一對多的關係,例如一張訂單可能會產生多筆製造單。
;需求的定義;描述需求規格常見的方式;需求決定方法;專案開始及系統分析階段;系統設計與實作;系統模型 (System Model);邏輯模型與實體模型;處理 (Process) 的概念;資料流程圖(Data Flow Diagram,DFD);資料流程圖的表示法;資料流程圖繪製的規則;處理邏輯描述;Level-0 DFD;資料塑模 (Data modeling);資料塑模的方法;資料塑模常用的方法;系統設計;設計的流程;設計的流程;常見的系統模型;物件導向和軟體系統的設計;函數導向的設計;函數導向設計的基本觀念[1];函數導向設計的步驟;資料流程圖轉換成函數;軟體設計的實務;處理設計;處理設計的指引;耦合 (Coupling) 的種類;控制耦合(control coupling):模組之間因交換控制資訊而產生耦合。
共用耦合(common coupling):模組使用全域資料(global data)而產生耦合。
內容耦合(content coupling):模組可以直接引用其他模組內部的內容。
;模組內涵的設定;有模型再寫程式是軟體開發的正常流程;軟體設計與開發流程[1];處理設計 (Process design);處理設計的考量;結構圖 (Structure charts);結構圖的圖示;結構圖的慣用表示圖案;從資料流程圖到結構圖;使用者介面設計;物件導向技術有兩個主要的影響:應用系統的資料模型與應用系統的開發。
資料模型的影響來自???新的資料庫應用。
系統開發的影響來自於軟體工程及圖型化使用者介面(GUL Graphical User Interface)的進展。
;物件導向軟體工程;物件導向軟體工程;物件導向軟體工程;OO基本概念;OO基本觀念;OO基本概念;OO基本概念;物件導向程式設計;物件與類別;「物件」是什麼?;物件圖示[1];方法與屬性;「類別」是什麼?;程式語言的物件與類別;程式中的類別與物件觀念;物件的建立;物件的成員與類別的成員;物件的成員與類別的成員[1];物件導向資料模型;物件與類別之間的關係;程式語言的資料模型;封裝(Encapsulation);繼承(Inheritance);多載(override);物件導向軟體開發;物件導向分析;需求分析;使用案例塑模;領域模型 (Domain model);使用案例;物件導向設計;物件導向設計[1];Booch物件導向設計的4個步驟;RDD(RDD (responsibility-driven design)的六個步驟;OOA與OOD;抽象類別與具體類別;抽象設計;塑模(modeling);視覺化塑模;UML的歷史;軟體的開發;瀑布模型的階段區隔清楚
然而實際開發時有許多無法控制的因素,以致很難清楚劃分階段。
所以發展出改良的開發流程
;漸進式的軟體開發流程
分析初步需求後即進行系統設計開發、完成系統初版、測試與修改,直到最終版產出。
似乎有很高的效率,但有管理盲點存在
需視軟體特性選擇合適的開發流程
;
RUP(Rational Unified Process)
RUP是物件導向式的開發方法。
運用RUP需先確定開發模式與流程。
RUP專案有四個階段:
1 開始階段(inception):評估專案是否要進行下一階段。
2 細化階段(elaboration):發展USE CASES,並構思軟體系統架構。
3 建造階段(construction phase):編程以完成大部份功能。
4 轉換階段(Transition phase):軟體產品交付。
;敏捷性的開發方式(agile development)
XP(Extreme Programming) 、 FDD(Feature Driv
原创力文档

文档评论(0)