軟件工程-原理方法與應用_第1頁
軟件工程-原理方法與應用_第2頁
軟件工程-原理方法與應用_第3頁
軟件工程-原理方法與應用_第4頁
軟件工程-原理方法與應用_第5頁
已閱讀5頁,還剩134頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件工程--原理方法與應用Speaker:適用于公司介紹/新品發(fā)布/融資宣講/商務路演不管饕餮的時間怎樣吞噬著一切,我們要在這一息尚存的時候,努力博取我們的聲譽,使時間的鐮刀不能傷害我們?!勘葋啞居ⅰ坷脮r間是一個極其高級的規(guī)律。---恩格斯敢于浪費哪怕一個鐘頭時間的人,說明他還不懂得珍惜生命的全部價值?!_爾文【英】遇到矛盾冷靜些,碰到困難堅強些,了解情況全面些,處理問題慎重些,遭到諷刺忍耐些,受到委曲克制些,工作繁忙細致些,待人接物熱情些。

內(nèi)向不自卑,禮貌不低俗,倔強不蠻橫,堅強不霸道,執(zhí)著不固執(zhí),隨和不隨波,謙遜不過分,忍讓有分寸,寬容不遷就,謹慎不畏縮,活躍不輕浮,穩(wěn)重不高傲。

做人要五有:有強健的身體;有正當?shù)穆殬I(yè);有精湛的技能;有豐富的知識;有公道愛人的熱心!

做人難,做事難,面對千難萬阻,要提升自我。如果事有勉強,應該敢于說“不”;如果是正當利益,則應當仁不讓;甚至有時還得來點霸王硬上弓,要有“臉皮厚”的時候,也要有“頭皮硬”的時候。任世事浮華,惟愿在日出日落的光陰里,靜靜收集庭院檐下的花香與鳥語,在細水長流的歲月里撒播微笑與善良,在薄如蟬翼的時光里執(zhí)筆畫心簡靜如水,珍藏生活中點點滴滴的感動和絲絲縷縷的幸福。軟件工程--原理方法與應用軟件工程--原理方法與應用Speaker:適用于公司介紹/新品發(fā)布/融資宣講/商務路演不管饕餮的時間怎樣吞噬著一切,我們要在這一息尚存的時候,努力博取我們的聲譽,使時間的鐮刀不能傷害我們?!勘葋啞居ⅰ坷脮r間是一個極其高級的規(guī)律。---恩格斯敢于浪費哪怕一個鐘頭時間的人,說明他還不懂得珍惜生命的全部價值。——達爾文【英】遇到矛盾冷靜些,碰到困難堅強些,了解情況全面些,處理問題慎重些,遭到諷刺忍耐些,受到委曲克制些,工作繁忙細致些,待人接物熱情些。

內(nèi)向不自卑,禮貌不低俗,倔強不蠻橫,堅強不霸道,執(zhí)著不固執(zhí),隨和不隨波,謙遜不過分,忍讓有分寸,寬容不遷就,謹慎不畏縮,活躍不輕浮,穩(wěn)重不高傲。

做人要五有:有強健的身體;有正當?shù)穆殬I(yè);有精湛的技能;有豐富的知識;有公道愛人的熱心!

做人難,做事難,面對千難萬阻,要提升自我。如果事有勉強,應該敢于說“不”;如果是正當利益,則應當仁不讓;甚至有時還得來點霸王硬上弓,要有“臉皮厚”的時候,也要有“頭皮硬”的時候。任世事浮華,惟愿在日出日落的光陰里,靜靜收集庭院檐下的花香與鳥語,在細水長流的歲月里撒播微笑與善良,在薄如蟬翼的時光里執(zhí)筆畫心簡靜如水,珍藏生活中點點滴滴的感動和絲絲縷縷的幸福。課程安排理論內(nèi)容:基本原理、方法和技術形式:講授、自學、討論實踐內(nèi)容:構造一個應用系統(tǒng)(包括分析、設計、編碼、測試)形式:分組、分階段文檔、編碼、集成軟件工程的主要內(nèi)容軟件工程的基本概念軟件開發(fā)模型軟件開發(fā)各階段的任務、技術、方法傳統(tǒng)方法、面向?qū)ο蠓椒ㄜ浖こ坦芾碥浖|(zhì)量保證軟件工程環(huán)境第一章緒論軟件與軟件危機軟件工程學傳統(tǒng)軟件工程和面向?qū)ο筌浖こ誊浖こ痰膽密浖绦颉④浖c軟件產(chǎn)品獨唱-->小合唱-->合唱-->萬人大合唱

|||簡單程序較復雜程序軟件軟件定義:軟件=程序+數(shù)據(jù)+文檔程序:按事先設計的功能和性能需求執(zhí)行的指令序列數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結構文檔:與程序開發(fā)、維護和使用有關的圖文材料軟件的特征軟件是邏輯的,而不是物理的軟件開發(fā)與人關系密切軟件開發(fā)成本大軟件生產(chǎn)是簡單的拷貝軟件不會磨損和老化軟件受環(huán)境影響大軟件維護易產(chǎn)生新的問題軟件開發(fā)的發(fā)展過程計算機應用發(fā)展軟件數(shù)量多規(guī)模大軟件成本高質(zhì)量低個體化軟件開發(fā)方法軟件維護困難軟件危機軟件工程軟件危機定義計算機軟件的開發(fā)和維護過程所遇到的一系列嚴重問題表現(xiàn)對軟件開發(fā)成本和進度的估算很不準確用戶很不滿意質(zhì)量很不可靠沒有適當?shù)奈臋n軟件成本比重上升供不應求:軟件開發(fā)生產(chǎn)率跟不上計算機應用迅速深入的趨勢硬件/軟件成本變化趨勢

硬件

軟件

100%0%195519701985軟件技術進步落后于需求增長軟件危機原因客觀:軟件本身特點邏輯部件規(guī)模龐大主觀:不正確的開發(fā)方法忽視需求分析錯誤認為:軟件開發(fā)=程序編寫輕視軟件維護軟件危機解決途徑組織管理工程項目管理方法技術措施軟件開發(fā)技術與方法軟件工具軟件工程學的范疇軟件工程學指導計算機軟件開發(fā)和維護的工程學科工程管理+開發(fā)技術軟件開發(fā)技術軟件開發(fā)方法學軟件工具軟件工程環(huán)境軟件工程管理軟件管理學軟件經(jīng)濟學軟件度量學兩種程序設計方法程序設計的兩次飛躍結構化程序設計程序=數(shù)據(jù)結構+算法面向?qū)ο蟪绦蛟O計程序=對象+消息面向過程和面向?qū)ο蟮木幋a存款取款利息結算帳戶余額帳戶余額利息結算存款取款軟件工程--原理方法與應用全文共139頁,當前為第1頁。軟件工程--原理方法與應用全文共139頁,當前為第2頁。軟件工程--原理方法與應用全文共139頁,當前為第3頁。軟件工程--原理方法與應用全文共139頁,當前為第4頁。軟件工程--原理方法與應用全文共139頁,當前為第5頁。軟件工程--原理方法與應用全文共139頁,當前為第6頁。軟件工程--原理方法與應用全文共139頁,當前為第7頁。軟件工程--原理方法與應用全文共139頁,當前為第8頁。軟件工程--原理方法與應用全文共139頁,當前為第9頁。軟件工程--原理方法與應用全文共139頁,當前為第10頁。軟件危機原因客觀:軟件本身特點邏輯部件規(guī)模龐大主觀:不正確的開發(fā)方法忽視需求分析錯誤認為:軟件開發(fā)=程序編寫輕視軟件維護軟件工程--原理方法與應用全文共139頁,當前為第11頁。軟件危機解決途徑組織管理工程項目管理方法技術措施軟件開發(fā)技術與方法軟件工具軟件工程--原理方法與應用全文共139頁,當前為第12頁。軟件工程學的范疇軟件工程學指導計算機軟件開發(fā)和維護的工程學科工程管理+開發(fā)技術軟件開發(fā)技術軟件開發(fā)方法學軟件工具軟件工程環(huán)境軟件工程管理軟件管理學軟件經(jīng)濟學軟件度量學軟件工程--原理方法與應用全文共139頁,當前為第13頁。兩種程序設計方法程序設計的兩次飛躍結構化程序設計程序=數(shù)據(jù)結構+算法面向?qū)ο蟪绦蛟O計程序

=對象

+消息

軟件工程--原理方法與應用全文共139頁,當前為第14頁。面向過程和面向?qū)ο蟮木幋a存款取款利息結算帳戶余額帳戶余額利息結算存款取款軟件工程--原理方法與應用全文共139頁,當前為第15頁。兩類軟件工程方法傳統(tǒng)軟件工程軟件分析

總體設計

詳細設計

面向過程的編碼

測試

面向?qū)ο筌浖こ誊浖治雠c對象抽取

對象詳細設計

面向?qū)ο蟮木幋a

測試

軟件工程--原理方法與應用全文共139頁,當前為第16頁。軟件工程的應用軟件工程指導中小型軟件軟件工程指導大型軟件軟件工程的成就軟件工程的局限軟件工程--原理方法與應用全文共139頁,當前為第17頁。第二章軟件開發(fā)模型傳統(tǒng)開發(fā)模型瀑布模型(waterfallmodel)快速原型模型(rapidprototypemodel)演化開發(fā)模型增量模型(incrementalmodel)螺旋模型(spiralmodel)面向?qū)ο箝_發(fā)模型構件集成模型(componentintegrationmodel)

形式化開發(fā)模型轉(zhuǎn)換模型(transformationalmodel)凈室模型(cleanroommodel)軟件工程--原理方法與應用全文共139頁,當前為第18頁。軟件生存周期計劃時期問題定義可行性分析開發(fā)時期需求分析軟件設計編碼測試運行時期軟件維護軟件工程--原理方法與應用全文共139頁,當前為第19頁。瀑布模型問題定義可行性研究需求分析軟件設計編碼測試維護計劃時期開發(fā)時期運行時期軟件工程--原理方法與應用全文共139頁,當前為第20頁。瀑布模型特點階段的順序性和依賴性推遲實現(xiàn)的觀點質(zhì)量保證存在問題不適合需求模糊的系統(tǒng)軟件工程--原理方法與應用全文共139頁,當前為第21頁??焖僭湍P托枨蠓治鲈烷_發(fā)最終系統(tǒng)設計原型評價最終系統(tǒng)實現(xiàn)用戶反饋軟件工程--原理方法與應用全文共139頁,當前為第22頁??焖僭湍P吞攸c快速開發(fā)工具循環(huán)低成本種類漸進型拋棄型軟件工程--原理方法與應用全文共139頁,當前為第23頁。增量模型規(guī)格說明設計實現(xiàn)和集成交付客戶規(guī)格說明設計實現(xiàn)和集成交付客戶規(guī)格說明設計實現(xiàn)和集成交付客戶規(guī)格說明設計實現(xiàn)和集成交付客戶增量1增量2增量3增量n軟件工程--原理方法與應用全文共139頁,當前為第24頁。增量模型增量小而可用的軟件特點在前面增量的基礎上開發(fā)后面的增量每個增量的開發(fā)可用瀑布或快速原型模型迭代的思路軟件工程--原理方法與應用全文共139頁,當前為第25頁。螺旋模型軟件工程--原理方法與應用全文共139頁,當前為第26頁。螺旋模型特點瀑布模型+快速原型+風險分析迭代過程一個螺旋式周期

確定目標,選擇方案,選定完成目標的策略

風險角度分析該策略

啟動一個開發(fā)階段

評價前一步的結果,計劃下一輪的工作

軟件工程--原理方法與應用全文共139頁,當前為第27頁。構件集成模型軟件工程--原理方法與應用全文共139頁,當前為第28頁。構件集成模型特點面向?qū)ο蠡跇嫾烊诤下菪P吞卣髦С周浖_發(fā)的迭代方法

軟件重用軟件工程--原理方法與應用全文共139頁,當前為第29頁。面向?qū)ο蟮幕靖拍顚ο驩bject類Class繼承Inheritance消息Message面向?qū)ο髮ο?類+繼承+消息通信軟件工程--原理方法與應用全文共139頁,當前為第30頁。對象Object客觀世界中的實體狀態(tài)(靜態(tài)屬性Attributes)操作(動態(tài)行為Methods)對象::=<ID,MS,DS,MI>IdentifierMethodSetDataStructureMessageInterface軟件工程--原理方法與應用全文共139頁,當前為第31頁。對象的特點以數(shù)據(jù)為中心對象是主動的實現(xiàn)數(shù)據(jù)封裝本質(zhì)上有并行性模塊獨立性好軟件工程--原理方法與應用全文共139頁,當前為第32頁。類Class和實例Instance類相同屬性和行為的對象的抽象實例特定類所描述的一個具體對象軟件工程--原理方法與應用全文共139頁,當前為第33頁。子類直接繼承父類的數(shù)據(jù)和操作繼承的傳遞性,單繼承、多重繼承繼承(Inheritance)家具桌子椅子衣柜床椅子的實例軟件工程--原理方法與應用全文共139頁,當前為第34頁。多態(tài)性Polymorphism概念不同類層次共享一個方法名相同的參數(shù)特征和返回值類型多種不同實現(xiàn)C++中虛函數(shù)實現(xiàn)動態(tài)聯(lián)編軟件工程--原理方法與應用全文共139頁,當前為第35頁。重載Overloading函數(shù)重載同一作用域多個名字相同的函數(shù)參數(shù)特征不同靜態(tài)聯(lián)編運算符重載軟件工程--原理方法與應用全文共139頁,當前為第36頁。消息Message對象間的交互手段形式:Message:[dest,op,para]DestinationObjectOperationParameters軟件工程--原理方法與應用全文共139頁,當前為第37頁。轉(zhuǎn)換模型形式化規(guī)格說明與需求比較后修正變換2變換1變換n測試形式化開發(fā)記錄系統(tǒng)需求目標系統(tǒng)軟件工程--原理方法與應用全文共139頁,當前為第38頁。轉(zhuǎn)換模型特點形式化軟件開發(fā)方法

形式化需求規(guī)格說明

變換技術程序自動生成技術

確保正確軟件工程--原理方法與應用全文共139頁,當前為第39頁。凈室模型需求收集盒結構規(guī)約形式化設計統(tǒng)計性使用測試正確性證明代碼生成與檢查測試計劃認證需求收集盒結構規(guī)約形式化設計統(tǒng)計性使用測試正確性證明代碼生成與檢查測試計劃認證需求收集盒結構規(guī)約形式化設計統(tǒng)計性使用測試正確性證明代碼生成與檢查測試計劃認證增量1增量2增量n軟件工程--原理方法與應用全文共139頁,當前為第40頁。凈室模型凈室思想在分析和設計階段消除錯誤在“潔凈”狀態(tài)下實現(xiàn)軟件制作形式化盒結構表示分析和設計正確性驗證增量模型軟件工程--原理方法與應用全文共139頁,當前為第41頁。小結軟件開發(fā)模型是不斷發(fā)展的各種軟件開發(fā)模型各有優(yōu)缺點選用時不必拘泥與某種模型可組合多種模型也可根據(jù)實際創(chuàng)建新的模型軟件工程--原理方法與應用全文共139頁,當前為第42頁。第三章軟件需求分析需求分析的任務與步驟需求獲取的常用方法分析建模軟件需求說明結構化分析方法面向?qū)ο蠓治龇椒ㄜ浖こ?-原理方法與應用全文共139頁,當前為第43頁。需求分析的任務和步驟需求分析的任務建立分析模型

編寫需求說明

需求分析的步驟需求獲取

需求提煉

需求描述

需求驗證

軟件工程--原理方法與應用全文共139頁,當前為第44頁。需求獲取的常用方法聯(lián)合分析小組

用戶代表、領域?qū)<液拖到y(tǒng)分析員客戶訪談

充分準備,尋找共同語言循循序漸進、逐步逼近

問題分析與確認

多個來回軟件工程--原理方法與應用全文共139頁,當前為第45頁。分析建模結構化分析模型面向?qū)ο蠓治瞿P头治瞿P兔枋龉ぞ逥FD、DD和PSPECCFD、CSPEC和STDE-R圖

用例圖,對象-關系圖,對象-行為圖

軟件工程--原理方法與應用全文共139頁,當前為第46頁。結構化分析模型加工說明數(shù)據(jù)對象說明CFD,STD圖DFD圖E-R圖DD控制說明軟件工程--原理方法與應用全文共139頁,當前為第47頁。面向?qū)ο蠓治瞿P蛯傩?、操作、協(xié)作者對象-行為模型對象-關系模型類/對象模型使用實例軟件工程--原理方法與應用全文共139頁,當前為第48頁。分析模型描述工具結構化分析工具DFD、DD和PSPECCFD、CSPEC和STDE-R圖

面向?qū)ο蠓治龉ぞ哂美龍D,類對象圖對象-關系圖對象-行為圖軟件工程--原理方法與應用全文共139頁,當前為第49頁。數(shù)據(jù)流圖DFD描述系統(tǒng)邏輯模型信息在系統(tǒng)中的流動和處理用途交流信息的工具結構化分析和設計的工具

軟件工程--原理方法與應用全文共139頁,當前為第50頁。數(shù)據(jù)流圖DFD組成符號圓框代表加工箭頭代表數(shù)據(jù)流向方框代表源點和終點雙杠表示數(shù)據(jù)文件或數(shù)據(jù)庫分層從高層到低層分解前后的數(shù)據(jù)流必須一致命名數(shù)據(jù)流處理軟件工程--原理方法與應用全文共139頁,當前為第51頁。領書單

進書通知

購書單

缺書單

DFD練習—售書系統(tǒng)學生教材購銷系統(tǒng)書庫保管員軟件工程--原理方法與應用全文共139頁,當前為第52頁。領書單進書通知

進書通知

購書單缺書單

DFD練習—售書系統(tǒng)1銷售2采購書庫保管員學生F1教材存量表

F2缺書登記表

軟件工程--原理方法與應用全文共139頁,當前為第53頁。數(shù)據(jù)字典DDDFD中所有元素的定義的集合內(nèi)容數(shù)據(jù)流數(shù)據(jù)流分量數(shù)據(jù)存儲處理(一般不用DD描述)軟件工程--原理方法與應用全文共139頁,當前為第54頁。數(shù)據(jù)字典DD定義數(shù)據(jù)的方法自頂向下分解數(shù)據(jù)數(shù)據(jù)元素的組合方式順序:A+B選擇:[A|B]重復:1{A}5可選:(A)軟件工程--原理方法與應用全文共139頁,當前為第55頁。數(shù)據(jù)字典DDDD的用途分析階段的交流工具包含控制信息數(shù)據(jù)庫設計的基礎例子P41例3.6軟件工程--原理方法與應用全文共139頁,當前為第56頁。加工說明加工說明PSPEC說明DFD中的每個加工描述工具結構化語言判定表判定樹軟件工程--原理方法與應用全文共139頁,當前為第57頁。加工說明—例子結構化語言P42-43,例3.7,3.8判定樹P44,例3.9判定表P44,例3.9軟件工程--原理方法與應用全文共139頁,當前為第58頁。CFD和CSPEC適合實時系統(tǒng)的分析與DFD和PSPEC類似和DFD與PSPEC配合使用表示控制流和控制加工軟件工程--原理方法與應用全文共139頁,當前為第59頁。CFD和DFD的關系

數(shù)據(jù)條件控制輸入加工激活信號控制輸出輸入數(shù)據(jù)加工模型PSPEC控制模型CSPEC輸出數(shù)據(jù)

控制輸入軟件工程--原理方法與應用全文共139頁,當前為第60頁。CFD的符號表示控制信息或事件引用控制說明軟件工程--原理方法與應用全文共139頁,當前為第61頁。DFD和CFD例子---DFD信號半分鐘數(shù)據(jù)光電管采集計數(shù)傳送工控機處理實時數(shù)據(jù)顯示班數(shù)據(jù)處理半小時數(shù)據(jù)班數(shù)據(jù)軟件工程--原理方法與應用全文共139頁,當前為第62頁。DFD和CFD例子---CFD翻屏人工驅(qū)動信息時鐘半小時半分鐘某型號累加物品經(jīng)過信號半分鐘數(shù)據(jù)光電管采集計數(shù)傳送工控機處理實時數(shù)據(jù)顯示班數(shù)據(jù)處理半小時數(shù)據(jù)班數(shù)據(jù)軟件工程--原理方法與應用全文共139頁,當前為第63頁。STD描述軟件狀態(tài)變遷符號表示矩形---系統(tǒng)狀態(tài)箭頭---狀態(tài)轉(zhuǎn)變方向規(guī)則表達式---事件/觸發(fā)行為狀態(tài)1狀態(tài)2事件/觸發(fā)行為軟件工程--原理方法與應用全文共139頁,當前為第64頁。STD例子20秒到/翻屏生成最新數(shù)據(jù)/翻屏半小時到/工控處理半分鐘到/傳送空閑/采集物品經(jīng)過/計數(shù)采集PLC計數(shù)傳送工控處理實時翻屏軟件工程--原理方法與應用全文共139頁,當前為第65頁。E-R圖用于對復雜數(shù)據(jù)的用作數(shù)據(jù)分析和建模實體、屬性和關系組成符號0:11:10:m1:m軟件工程--原理方法與應用全文共139頁,當前為第66頁。E-R圖例子電話機生產(chǎn)廠商經(jīng)銷商用戶生產(chǎn)購買使用經(jīng)銷軟件工程--原理方法與應用全文共139頁,當前為第67頁。用例圖用例:系統(tǒng)和外部角色的交互符號表示:

系統(tǒng)名稱系統(tǒng)用例名用例角色關聯(lián)軟件工程--原理方法與應用全文共139頁,當前為第68頁。UseCase圖例子保險商務系統(tǒng)簽定保險單銷售統(tǒng)計客戶統(tǒng)計客戶保險銷售員軟件工程--原理方法與應用全文共139頁,當前為第69頁。用例之間的關系擴展關系使用關系組合關系《擴展》簽保險單簽汽車購買契約《使用》《使用》簽保險單簽汽車保險單簽房屋保險單軟件工程--原理方法與應用全文共139頁,當前為第70頁。對象-關系圖從E-R圖演變而來描述對象間關系學生書出版商購買來自1:10:m1:11:1軟件工程--原理方法與應用全文共139頁,當前為第71頁。對象-行為圖描述對象的動態(tài)行為對象狀態(tài)轉(zhuǎn)換圖事件軌跡圖事件流圖軟件工程--原理方法與應用全文共139頁,當前為第72頁。對象狀態(tài)轉(zhuǎn)換圖例子加紙紙用完故障修復打印故障打印完成接到打印命令就緒打印缺紙故障軟件工程--原理方法與應用全文共139頁,當前為第73頁。事件軌跡圖例子[打印機忙]保存文件[打印機就緒]打印文件打印文件打印文件計算機打印服務器打印隊列打印機軟件工程--原理方法與應用全文共139頁,當前為第74頁。事件流圖例子[打印機忙]保存文件[打印機就緒]打印文件打印文件計算機打印隊列打印服務器打印機軟件工程--原理方法與應用全文共139頁,當前為第75頁。軟件需求說明(SRS)引言信息描述功能描述行為描述質(zhì)量保證接口描述其它軟件工程--原理方法與應用全文共139頁,當前為第76頁。結構化分析方法基本步驟自頂向下,功能分解分層DFD由后向前,定義數(shù)據(jù)和加工DD,PSPEC根據(jù)需要,分析復雜數(shù)據(jù)和動態(tài)模型E-R圖,CFD,CSPEC,STD編寫SRS軟件工程--原理方法與應用全文共139頁,當前為第77頁。DFD的復審父圖和子圖不平衡未區(qū)分局部文件和局部外部項分解的速度太快不遵守加工編號規(guī)則軟件工程--原理方法與應用全文共139頁,當前為第78頁。面向?qū)ο蠓治龇椒ɑ静襟E定義系統(tǒng)的用例領域分析,建立類對象模型建立對象-關系模型建立對象-行為模型編寫SRS軟件工程--原理方法與應用全文共139頁,當前為第79頁。定義用例回答問題—發(fā)現(xiàn)角色使用系統(tǒng)主要功能的人是誰?

需要借助于系統(tǒng)完成日常工作的人是誰?

誰來維護、管理系統(tǒng),保證系統(tǒng)正常工作?

系統(tǒng)控制的硬件設備有哪些?

系統(tǒng)需要和哪些其它系統(tǒng)接口?

對系統(tǒng)產(chǎn)生的結果感興趣的人和事是哪些?

軟件工程--原理方法與應用全文共139頁,當前為第80頁。定義用例回答問題—發(fā)現(xiàn)用例角色需要從系統(tǒng)中獲得哪種功能?需要角色做什么?

角色需要讀取、產(chǎn)生、刪除、修改或存儲系統(tǒng)中的某種信息嗎?

系統(tǒng)中發(fā)生的事件需要通知角色嗎?角色需要通知系統(tǒng)某件事嗎?這些事件能干什么?

系統(tǒng)需要輸入/輸出的是什么信息?這些輸入/輸出信息從哪兒來

?到哪兒去?

系統(tǒng)當前的實現(xiàn)要解決的問題是什么?

軟件工程--原理方法與應用全文共139頁,當前為第81頁。領域分析

目的發(fā)現(xiàn)或創(chuàng)建可廣泛應用的類,以便復用

分析特定的應用領域

形式公共對象、類、子集合和框架等軟件工程--原理方法與應用全文共139頁,當前為第82頁。類對象建模(一)確定分析模型中的類對象考察系統(tǒng)用例匯總名詞、名詞短語得到候選對象確定類對象必要的信息、需求、服務多個屬性、公共操作軟件工程--原理方法與應用全文共139頁,當前為第83頁。類對象建模(二)定義類結構與層次一般----特殊整體----部分定義主題和子系統(tǒng)高層抽象軟件工程--原理方法與應用全文共139頁,當前為第84頁。例子電話話筒按鍵連接線話機人電話人教師大學生小學生學生中學生軟件工程--原理方法與應用全文共139頁,當前為第85頁。建立對象—關系模型步驟復審需求描述和用例陳述找出表示關系的動詞或動詞短語用線連接起來,箭頭表示方向給連接命名,標上基數(shù)軟件工程--原理方法與應用全文共139頁,當前為第86頁。對象-關系圖例子1:10:11:11:10:11:m1:11:11:m0:m1:11:10:m1:11:11:m1:11:m1:11:m1:1部門流水線工序材料在制品1:m不良品指標數(shù)據(jù)1:m1:1規(guī)格實時數(shù)據(jù)軟件工程--原理方法與應用全文共139頁,當前為第87頁。建立對象行為模型基本過程評估用例,理解系統(tǒng)中的交互序列找出驅(qū)動交互序列的事件為每個用例創(chuàng)建事件軌跡為對象創(chuàng)建狀態(tài)轉(zhuǎn)換圖軟件工程--原理方法與應用全文共139頁,當前為第88頁。第四章軟件設計概述軟件設計的任務軟件設計的基本概念模塊化設計設計需要處理的問題設計文檔及其復審軟件工程--原理方法與應用全文共139頁,當前為第89頁。軟件設計的任務分析模型設計模型設計文檔回答Howtodo?可以分為概要設計、詳細設計軟件設計包括數(shù)據(jù)設計體系結構設計接口設計過程設計軟件工程--原理方法與應用全文共139頁,當前為第90頁。軟件設計的任務數(shù)據(jù)設計信息模型軟件數(shù)據(jù)結構體系結構設計定義軟件部件間的關系接口設計軟件內(nèi)部、外部及與人之間的通信過程設計軟件組件的過程性描述軟件工程--原理方法與應用全文共139頁,當前為第91頁。軟件設計的基本概念模塊(module)與構件(component)模塊:定義輸入、輸出和特性的程序?qū)嶓w構件:可重復使用的軟件組件抽象(abstract)與細化(refinement)抽象:分層次考慮和處理問題(數(shù)據(jù)和過程)細化:從高到低的逐步分解過程信息隱藏對其它模塊隱藏模塊內(nèi)部的數(shù)據(jù)和過程軟件復用Designwithreuse,designforreuse

軟件工程--原理方法與應用全文共139頁,當前為第92頁。模塊化設計(modulardesign)分解(decomposition)模塊獨立性(moduleindependence)自頂向下(top—downdesign)自底向上(bottom—updesign)軟件工程--原理方法與應用全文共139頁,當前為第93頁。分解(decomposition)C(P1+P2)>C(P1)+C(P2) E(P1+P2)>E(P1)+E(P2)

C為問題的復雜度,E為解題需要的工作量

模塊數(shù)接口成本最小成本區(qū)M軟件開發(fā)工作量總成本模塊成本軟件工程--原理方法與應用全文共139頁,當前為第94頁。模塊獨立性(moduleindependence)內(nèi)聚(cohesion)模塊內(nèi)部各成分之間耦合(coupling)一個模塊與其它模塊之間模塊的獨立性高

塊內(nèi)聯(lián)系強

塊間聯(lián)系弱

軟件工程--原理方法與應用全文共139頁,當前為第95頁。內(nèi)聚1234567

弱強低內(nèi)聚中內(nèi)聚高內(nèi)聚

軟件工程--原理方法與應用全文共139頁,當前為第96頁。內(nèi)聚cohesion1.偶然性內(nèi)聚

coincidentalcohesion2.邏輯性內(nèi)聚

logicalcohesion3.時間性內(nèi)聚

temporalcohesion4.過程性內(nèi)聚

proceduralcohesion5.通訊性內(nèi)聚

communicationalcohesion6.順序性內(nèi)聚

sequentialcohesion7.功能性內(nèi)聚functionalcohesion軟件工程--原理方法與應用全文共139頁,當前為第97頁。邏輯性模塊

讀入分數(shù)平均/最高?計算平均分計算最高分輸出結果軟件工程--原理方法與應用全文共139頁,當前為第98頁。耦合coupling1.非直接耦合nodirectcoupling

2.數(shù)據(jù)耦合datacoupling

3.特征耦合

stampcoupling

4.控制耦合controlcoupling

5.外部耦合

externalcoupling6.公共耦合

commoncoupling7.內(nèi)容耦合

contentcoupling軟件工程--原理方法與應用全文共139頁,當前為第99頁。弱耦合數(shù)據(jù)耦合非直接耦合模塊2模塊1模塊4模塊3特征耦合(參數(shù)表傳遞數(shù)據(jù)結構)軟件工程--原理方法與應用全文共139頁,當前為第100頁。公共耦合DCBANL軟件工程--原理方法與應用全文共139頁,當前為第101頁。自定向下和自底向上設計自頂向下頂層開始逐步分解由底向上選擇關鍵部分先設計擴展到整個系統(tǒng)軟件工程--原理方法與應用全文共139頁,當前為第102頁。設計需要處理的問題協(xié)同設計誰最合適設計系統(tǒng)的某一方面?

如何使組內(nèi)成員相互了解別人的設計?

如何協(xié)調(diào)設計組件使整個系統(tǒng)統(tǒng)一?

用戶界面設計讓用戶駕馭軟件,不是軟件駕馭用戶

減少用戶的記憶

保持界面的一致性

并發(fā)系統(tǒng)設計怎樣確保同時執(zhí)行的組件間對共享數(shù)據(jù)的一致性

軟件工程--原理方法與應用全文共139頁,當前為第103頁。并發(fā)處理(順序執(zhí)行)1、

組件1查詢X是否為空。2、

組件1被告知X不為空。3、

組件2查詢X是否為空。4、

組件2被告知X不為空。5、

組件1出棧,刪除最后一個元素。6、組件2想出棧,但X已為空,系統(tǒng)進入非法狀態(tài)。

軟件工程--原理方法與應用全文共139頁,當前為第104頁。并發(fā)處理1、

組件1詢問棧X是否為空。2、

組件1被告知棧X不為空。3、

組件2詢問棧X是否為空。4、

組件2被告知棧X不為空。5、

組件1出棧,刪去最后一個元素,并鎖住棧X。6、

組件2想出棧,但被告知X已上鎖。7、

另一個組件加了一個元素到棧X中。8、

組件2被告知X已開鎖(由于外部進程或者因為組件2再次嘗試)9、 組件2出棧。

軟件工程--原理方法與應用全文共139頁,當前為第105頁。軟件設計文檔軟件設計說明書1)

范圍

2)

數(shù)據(jù)設計

3)

體系結構設計4)

接口設計

5)

模塊的過程設計

6)其他

包括測試的考慮,確保設計滿足所有需求,設計約束和一些特殊注解等內(nèi)容。

軟件工程--原理方法與應用全文共139頁,當前為第106頁。設計復審(designreview)及早發(fā)現(xiàn)設計中的缺陷差錯的傳播復審的內(nèi)容概要設計復審

系統(tǒng)的總體結構,模塊劃分,內(nèi)外接口

詳細設計復審

各個模塊的具體設計

軟件工程--原理方法與應用全文共139頁,當前為第107頁。設計復審(designreview)復審的方式FormalreviewDesignreviewmeetingInformalreviewWalk-through軟件工程--原理方法與應用全文共139頁,當前為第108頁。第五章傳統(tǒng)的設計方法結構化設計模型結構化設計方法過程設計Jackson方法軟件工程--原理方法與應用全文共139頁,當前為第109頁。PSPEC結構化設計的內(nèi)容數(shù)據(jù)對象描述CFDDFDE-RDDCSPEC過程設計

接口設計體系結構設計數(shù)據(jù)設計軟件工程--原理方法與應用全文共139頁,當前為第110頁。結構化設計的內(nèi)容結構設計—概要設計體系結構設計SC圖接口設計SC圖數(shù)據(jù)庫設計物理數(shù)據(jù)模型過程設計—詳細設計模塊的處理過程N-S圖,PAD,PDL等軟件工程--原理方法與應用全文共139頁,當前為第111頁。描述工具—SC圖SC圖的組成符號(P88)矩形框來表示模塊

帶箭頭的連線表示模塊間的調(diào)用關系傳入和傳出模塊的數(shù)據(jù)流SC圖中的模塊符號傳入傳出變換源漏控制軟件工程--原理方法與應用全文共139頁,當前為第112頁。SC圖中的模塊調(diào)用簡單調(diào)用

選擇調(diào)用

循環(huán)調(diào)用ABCDABC軟件工程--原理方法與應用全文共139頁,當前為第113頁。面向數(shù)據(jù)流的設計方法DFD圖的類型

變換型結構

事務型結構

從DFD圖到SC圖的映射

復審DFD圖,必要時可再次進行修改或細化鑒別DFD圖的結構特征:事務?變換?按照規(guī)則,把DFD圖為初始的SC圖改進初始的SC圖軟件工程--原理方法與應用全文共139頁,當前為第114頁。變換結構的DFD變換中心傳入傳出信息傳入流傳出流

變換流時間軟件工程--原理方法與應用全文共139頁,當前為第115頁。事務型結構DFD事務中心接受路徑動作路徑軟件工程--原理方法與應用全文共139頁,當前為第116頁。同時存在兩類結構傳入變換傳出事務中心軟件工程--原理方法與應用全文共139頁,當前為第117頁。變換分析劃分DFD圖的邊界

建立初始SC圖的框架頂層都只含一個用于控制的主模塊

第一層包括傳入、傳出和中心變換三個模塊

分解SC圖的各個分支

分解實質(zhì)上是“映射”

軟件工程--原理方法與應用全文共139頁,當前為第118頁。例子—劃分DFDPEDCBAWRUVQabcdeprwuv傳入部分變換中心傳出部分軟件工程--原理方法與應用全文共139頁,當前為第119頁。第一級分解MEMTMCMAc,ec,eu,wu,w軟件工程--原理方法與應用全文共139頁,當前為第120頁。傳入分支的分解GetEAtoBReadDDtoEReadABtoCGetBGetCMAc,ecebbcaabddb軟件工程--原理方法與應用全文共139頁,當前為第121頁。傳出分支的分解WriteWUtoVWriteVPutUMEw,uwuuvv軟件工程--原理方法與應用全文共139頁,當前為第122頁。變換中心的分解MTRPQepc,prrw,u軟件工程--原理方法與應用全文共139頁,當前為第123頁。初始SC圖MCMTQPRMEWriteWPutUUtoVWriteVAtoBReadAGetBDtoEReadDBtoCGetCGetEMA軟件工程--原理方法與應用全文共139頁,當前為第124頁。事務分析在DFD圖上確定邊界事務中心接受部分(包括接受路徑)發(fā)送部分(包括全部動作路徑)

畫出SC圖框架

DFD圖的三個部分分別映射為事務控制模塊,接受模塊和動作發(fā)送模塊

分解和細化接受分支和發(fā)送分支

軟件工程--原理方法與應用全文共139頁,當前為第125頁。例子—劃分DFD傳入T變換傳出接受部分事務中心動作部分軟件工程--原理方法與應用全文共139頁,當前為第126頁。Example----

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論