999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對軟件工程課中數據流圖教學的探討

2014-05-30 10:48:04彭立
新校園·上旬刊 2014年7期
關鍵詞:教學

彭立

摘 要:數據流圖是軟件工程實踐中一種非常重要的建模工具。因為缺乏足夠的重視,加之沒有全面掌握數據流圖的畫法,學生對該知識點的掌握情況往往不盡如人意。本文對數據流圖的教學進行了探討,強調了數據流圖對整個項目開發的重要性,闡明了數據流圖中各種元素的含義以及繪圖的原則。

關鍵詞:軟件工程;數據流圖;教學;繪圖原則

一、引言

軟件工程是人們為了應對軟件危機而提出并研究的一門學科,對于大型軟件的開發和維護,它具有極其重要的指導作用,因而一直以來都是高校計算機專業的必修課。軟件工程提出了軟件生命周期這個概念,而需求分析是軟件生命周期中最為重要的一個階段,因為這個階段工作的好壞決定了開發出的系統是否滿足用戶的要求。在該階段,分析員需要建立系統的邏輯模型,其中包括系統的功能模型。無論是采用結構化分析方法還是面向對象分析方法,數據流圖都是功能建模的最好工具,原因有二:一方面,數據流圖中的符號少而簡單,且易于理解和掌握,對于用戶而言也是如此;另一方面,數據流圖描繪了數據從輸入到輸出的過程中所經歷的變換,使系統的功能可從一個比較高的層面被展現出來,從而便于分析員和用戶之間的交流。數據流圖對需求分析的重要性決定了它是軟件工程教學中的一項重要內容,教師往往會花大量的時間對該知識點進行講解。盡管如此,筆者從作業、課程設計和畢業設計等方面發現許多學生對該知識點的掌握情況并不理想。究其原因主要有兩點:一是沒有真正意識到數據流圖對整個項目開發的重要性;二是沒有全面掌握數據流圖的畫法。本文從這兩方面原因入手,就如何抓好數據流圖的教學進行了探討。

二、數據流圖對整個項目開發的重要性

因為數據流圖只是在一個比較抽象的層面對軟件系統的功能進行描述,學生很難認識到它對整個項目開發的重要性,他們往往覺得繪制數據流圖只是做做樣子而已,流圖的質量無關緊要。為了糾正學生的錯誤認識,教師在教學中應跟學生講清楚并強調以下事實。

數據流圖的重要性主要體現在需求分析階段,在該階段,數據流圖被用于建立系統的完整邏輯模型,它明確了系統的邊界以及數據在系統內部流動及變換的邏輯過程。通過繪制分層數據流圖,系統的所有功能以一種由抽象到具體的方式被展現出來。數據流圖是分析員和用戶之間交流的工具。通過數據流圖,分析員表達了他們對用戶需求的理解,用戶能判斷分析員是否真正理解了他們的需求。數據流圖是需求規格說明書的重要組成部分,在描述業務流程較為復雜的功能項時,它具有文字說明所無法比擬的優勢,而需求規格說明書是系統設計和測試的主要依據。

除了在需求分析階段,數據流圖在軟件生命周期的其它階段也能發揮作用。可行性研究是一個簡化和壓縮了的分析和設計過程,在該階段,數據流圖能被用于建立系統的高層邏輯模型。在總體設計階段,基于自動化邊界劃分,數據流圖能幫助設計人員確定系統的物理實現方案,此外,若采用結構化設計方法,從數據流圖能直接導出系統的體系結構。在系統測試中,數據流圖能指導測試人員設計測試用例。

三、數據流圖的畫法

1.數據流圖中的元素

在講授數據流圖的畫法之前,首先要讓學生弄清楚圖中各種元素的含義。流圖中的元素有5種:源點、終點、數據流、加工、數據存儲。

(1)源點和終點。源點和終點是與系統存在數據交換的外部實體,它們可以是人,也可以是其它系統。其中,源點為系統提供輸入,終點接收系統的輸出。

(2)數據流。數據流代表了流圖中不同元素之間傳遞的數據,它具有一定的數據結構,更具體地說,它是由若干個數據項按一定的方式(例如順序、選擇和循環或這三種方式的組合)組織而成。

(3)加工。將接收到的輸入流變換成輸出流,這種變換主要體現在以下幾個方面:

*數據的轉移。例如將數據從一個文件取出來,存入另一個文件。

*執行計算。例如根據所采購的商品的數量和單價計算總價。

*做出判斷。例如根據用戶名和密碼判斷當前登陸的用戶是否合法。

*基于內容和業務規則劃分數據流。例如將某個訂單劃分為可供貨的訂單或不可供貨的訂單。

*過濾或匯總數據記錄以產生新的數據流。例如過濾掉班級學生記錄中女生的記錄,只保留男生的記錄;或者將不同班級的學生記錄組合在一起構成全年級的學生記錄。

(4)數據存儲。數據存儲是為加工存放數據的地方。例如文件和表都可看成是數據存儲。加工可對數據存儲進行讀寫刪改操作。數據存儲和數據流的不同之處在于,前者存放的是靜態數據,而后者中的數據是動態數據。

2.繪制數據流圖的原則

為了繪制有效的數據流圖,必須掌握繪圖的原則。在軟考中,有關數據流圖的試題很多都涉及到繪圖原則,因此在教學中,教師應通過案例教學法跟學生講清楚每一條原則。通過查找資料,筆者總結了一套完整的繪圖原則,現分兩部分說明如下。

(1)總的原則

①為流圖中的每一個元素采用合適的命名。數據流或數據存儲的名字應反映其全部內容,而不僅僅是它的某些成分,一般采用名詞或名詞短語。加工的名字應反映它全部的功能,而不僅僅是它的部分功能,最好是由一個及物動詞加上一個賓語組成。絕不要用“如果,則”這樣的聲明作為加工的名字。源點和終點的名字可采用它們在問題域中習慣使用的名字。

②流圖中每個元素都必須有名字,與數據存儲相連的數據流除外。

③加工的輸入數據流和輸出數據流不能同名,即使它們有相同的結構。

④每一個加工至少有一個輸入數據流和一個輸出數據流。

⑤所有的數據流必須以一個加工開始或者結束。

根據以上原則,可發現圖1中有5處錯誤:數據流X不應出現在流圖中;數據流H不應出現在流圖中;加工2的的輸入數據流和輸出數據流同名,都為Z;加工4只有輸入數據流;加工5只有輸出數據流。

圖1 數據流圖繪圖原則例1

⑥流圖中不可夾帶控制流。這條原則指出數據流圖不能和程序流程圖混為一談。數據流圖中的加工代表的都是對數據的處理,數據流的方向反映的是數據流動的方向,而不是加工執行的順序。程序流程圖中所包含的步驟既可以是對數據的處理,也可以是控制轉移,圖中的箭頭線指明了步驟執行的順序。圖2中的兩張流圖違背了該原則。(a)中的“取下一張卡片”并不代表數據流動,而是表明“檢查卡片合理性”結束后,應由“操作員”取出下一張卡片,所以它是控制流。類似地,(b)中的“每月第一天”也不代表數據流動,它只是“計算工資”的激發條件。

圖2 數據流圖繪圖原則例2

⑦為了避免流圖中出現線條交叉,同一個源點、終點或數據存儲均可在不同位置多次出現,對于相同的源點或終點,要在其符號的右下方畫小斜線,對于相同的數據存儲,要在其符號左邊畫豎線。

⑧若某個數據存儲只被一個加工訪問,它應隱含在該加工內部,而不應出現在流圖中。

⑨保持數據守恒。一個加工的輸出流中的數據項要么來自該加工的輸入流,要么是該加工所產生的數據。例如:某個加工有兩個輸入流“學生信息”和“教材”,其輸出流為“訂書單”,其中,學生信息=學號+姓名,教材=教材ISBN+教材價格,訂書單=教材ISBN+教材價格+教材數量;若該加工能根據“學生信息”計算出“教材數量”,則對其而言數據是守恒的。

⑩自頂向下逐層分解,繪出分層數據流圖。對于一個大型的軟件系統,若在一張流圖中畫出其所有的數據流和加工,則該圖將極其龐大復雜且難以理解。而繪制分層數據流圖是控制畫圖復雜性的最好方法。一套分層數據流圖可分為頂層、中間層和底層三個層次。頂層中的流圖只有一張,它明確了系統的邊界。該圖中只有一個加工,它代表整個系統,它的輸入流代表了系統的輸入數據,它的輸出流代表了系統的輸出數據。底層中的每一張流圖由一些無需分解的加工組成,這些加工都已足夠簡單,稱為基本加工。中間層位于底層和頂層之間。中間層的每一張流圖是對其上層父圖中某個加工的細化,它包含的每一加工可能還會繼續分解,從而形成子圖。

(2)繪制分層數據流圖的原則

①保持父圖與子圖的平衡。對于父圖中任意一個加工,其輸入數據流(或輸出數據流)必須與其分解后產生的子圖的輸入數據流(或輸出數據流)保持“一致”。這并不意味著兩者在數量上和名稱上必須完全相同,而意味著兩者所包含的數據項在數量上和名稱上必須完全相同。在圖3中,(b)為(a)中的加工“開領書單”細化后得到的子圖,若“發票”包含的數據項=“學生”包含的數據項+“教材”包含的數據項,則(a)和(b)是平衡的。

圖3 數據流圖繪圖原則例3

②注意分解的速度。一般來說,一個加工最好分解為2~4個子加工,最多不得超過7個。

③遵守圖和加工的編號規則。頂層圖只有一張,圖中的加工也只有一個,該圖和圖中的加工都無需編號。0層圖(位于頂層圖下方)只有一張,該圖無需編號,圖中的加工編號分別是1,2,……,n。對于其余層次中的每一張流圖,其編號就是父圖中相應加工的編號,圖中加工的編號由圖號、圓點和序號組成,例如1.1,1.2,……,1.n。

四、結語

除了讓學生掌握數據流圖的畫法外,教師還應設法為學生提供更多的練習素材。考慮到教材上的習題太少且與實際脫節,教師應從網絡或其它途徑搜集習題和資料,并從中挑選難度適中的題目作為學生的練習素材。我們相信,學生只要樹立了對數據流圖重要性的正確認識,全面掌握了其畫法并勤于練習,他們就能在軟件項目開發中真正用好這個工具。

參考文獻:

[1]Donald S Le Vie,Jr.Understanding Data Flow Diagrams[EB/OL].http://ratandon.mysite.syr.edu/cis453/notes/DFD_over_Flowcharts.pdf.

[2]張海藩.軟件工程導論[M].北京:清華大學出版社,2008.

[3]Data flows:Note on Data-Driven Process Modeling[EB/OL].http://faculty.babson.edu/dewire/Readings/dfdintro.htm.

[4]張雅軍.淺析軟件工程中的數據流圖的畫法[J].天津職業院校聯合學報,2008,10(2):70-73.

猜你喜歡
教學
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
「微寫作」教學實踐的思考
“以讀促寫”在初中寫作教學中的應用
如何讓高中生物教學變得生動有趣
甘肅教育(2020年12期)2020-04-13 06:25:34
談高中音樂欣賞教學中的“聽、看、想、說、動”
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
對識譜教學的認識與思考
《可以預約的雪》教學探索與思考
中學語文(2015年6期)2015-03-01 03:51:42
對高等數學教學的一些思考
主站蜘蛛池模板: 久久精品国产电影| 99re精彩视频| 久久先锋资源| 一级福利视频| 99久久精品美女高潮喷水| 亚洲国产中文欧美在线人成大黄瓜 | 人妻丰满熟妇av五码区| 久久久久久国产精品mv| 成人无码一区二区三区视频在线观看| 国产午夜看片| 日日拍夜夜操| 亚洲欧美日韩综合二区三区| 无码福利视频| 亚洲一级毛片在线观播放| 亚洲欧美另类中文字幕| 精品成人免费自拍视频| 亚洲国产天堂在线观看| 午夜精品一区二区蜜桃| 在线无码九区| 国产人人射| 国产人前露出系列视频| 依依成人精品无v国产| 天堂中文在线资源| 激情在线网| 高清码无在线看| 激情五月婷婷综合网| 国产日韩精品欧美一区喷| 亚洲成人一区二区三区| 99热这里只有免费国产精品| 久久免费精品琪琪| 国产一区二区精品福利| 小说区 亚洲 自拍 另类| 亚洲第一中文字幕| 免费无遮挡AV| 伊人天堂网| 日韩av在线直播| 国产成人无码播放| 欧美午夜在线视频| 国产小视频a在线观看| 色噜噜狠狠狠综合曰曰曰| 国产极品美女在线观看| 综合亚洲网| 欧洲av毛片| 精品视频福利| 自慰高潮喷白浆在线观看| 欧美第二区| 热99re99首页精品亚洲五月天| 亚洲欧美另类中文字幕| 日本精品影院| 婷婷99视频精品全部在线观看| 区国产精品搜索视频| 亚洲婷婷在线视频| 免费一级成人毛片| 欧美亚洲综合免费精品高清在线观看 | 亚洲一级无毛片无码在线免费视频| 亚洲av色吊丝无码| 呦视频在线一区二区三区| 在线一级毛片| 大香伊人久久| 高潮毛片免费观看| 老司机精品久久| 全午夜免费一级毛片| 午夜日本永久乱码免费播放片| 亚洲欧洲日产国码无码av喷潮| 成人在线综合| 久久久波多野结衣av一区二区| 亚洲女同一区二区| 高h视频在线| 国内视频精品| 国产欧美日韩另类| 国产乱子精品一区二区在线观看| 亚洲高清无码久久久| WWW丫丫国产成人精品| 日韩免费无码人妻系列| 激情成人综合网| 久久香蕉国产线| 亚洲国产中文精品va在线播放| 18禁不卡免费网站| 亚洲精品中文字幕午夜| 亚洲免费福利视频| 国产va在线观看| 国产乱子伦视频三区|