![軟件工程完整(全)課件_第1頁](http://file4.renrendoc.com/view/97d26553f2516e055e7843fd7f7059b4/97d26553f2516e055e7843fd7f7059b41.gif)
![軟件工程完整(全)課件_第2頁](http://file4.renrendoc.com/view/97d26553f2516e055e7843fd7f7059b4/97d26553f2516e055e7843fd7f7059b42.gif)
![軟件工程完整(全)課件_第3頁](http://file4.renrendoc.com/view/97d26553f2516e055e7843fd7f7059b4/97d26553f2516e055e7843fd7f7059b43.gif)
![軟件工程完整(全)課件_第4頁](http://file4.renrendoc.com/view/97d26553f2516e055e7843fd7f7059b4/97d26553f2516e055e7843fd7f7059b44.gif)
![軟件工程完整(全)課件_第5頁](http://file4.renrendoc.com/view/97d26553f2516e055e7843fd7f7059b4/97d26553f2516e055e7843fd7f7059b45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《軟件工程》
哈爾濱工業(yè)大學(xué)韓靜萍SoftwareEngineering2023/9/3《軟件工程》哈爾濱工業(yè)大學(xué)韓靜萍Soft在一些人眼里,今天的軟件開發(fā)似乎已成為簡單的事情,已有了不少很好的開發(fā)工具和軟件庫,軟件開發(fā)人員訓(xùn)練有素,都強烈渴望去編寫很酷的軟件,可以在幾天的時間里編寫出一個相當復(fù)雜的軟件。但為什么有一些軟件能夠得到用戶的喜歡,而另一些則不能?為什么有些軟件能夠在市場上成功,而有些則受到冷落?由此可見,開發(fā)軟件并不一定難,難就難在如何開發(fā)有用的軟件。微軟凌小寧博士2023/9/3在一些人眼里,今天的軟件開發(fā)似乎已微我最大的心得是,一個產(chǎn)品一定要找到能夠真正適用的場合,不能只是為了技術(shù)而從事技術(shù)為了研究而進行研究,卻不管用戶對你所研究的技術(shù)和產(chǎn)品有沒有需求。否則,無論你的技術(shù)是多么優(yōu)秀,多么先進,恐怕你的產(chǎn)品在市場上都無法獲得成功。微軟張益肇博士2023/9/3我最大的心得是,一個產(chǎn)品一定要找到能夠微軟張軟件工程是計算機科學(xué)與技術(shù)專業(yè)的一門專業(yè)核心課程。通過本課程的學(xué)習(xí),使學(xué)生掌握系統(tǒng)的軟件開發(fā)理論、技術(shù)和方法,使用正確的工程方法開發(fā)出成本低、可靠性好并在機器上能高效運行的軟件,為今后從事軟件開發(fā)和維護打下堅實的基礎(chǔ)。課程的性質(zhì)、目的與任務(wù)2023/9/3軟件工程是計算機科學(xué)與技術(shù)專業(yè)的一門專課程的本課程比較全面、系統(tǒng)地介紹軟件工程的概念、技術(shù)與方法。主要內(nèi)容包括:軟件工程概述、軟件生存周期及軟件需求分析、軟件設(shè)計方法、軟件測試技術(shù)等。
通過本課程的學(xué)習(xí),使學(xué)生能真正的從中了解軟件開發(fā)的整個過程。為了讓學(xué)生真正得以實踐,結(jié)合實際軟件開發(fā)項目,讓學(xué)生從問題定義開始,經(jīng)過可行性研究、需求分析、概要設(shè)計、詳細設(shè)計、編碼直到最后要對自己開發(fā)的軟件還要進行測試,這樣一個軟件開發(fā)過程,從而使學(xué)生掌握軟件開發(fā)的基本技能。課程主要內(nèi)容2023/9/3本課程比較全面、系統(tǒng)地介紹軟件工程的概念、技術(shù)課程主學(xué)習(xí)本課程的基本要求本課程是繼程序設(shè)計課程之后,對提高學(xué)生軟件開發(fā)能力有重要作用的一門課程。要求學(xué)生在學(xué)習(xí)本課程前應(yīng)掌握信息管理系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、結(jié)構(gòu)化程序設(shè)計、面向?qū)ο蟪绦蛟O(shè)計以及程序設(shè)計方法論。通過本課程的學(xué)習(xí),為學(xué)生后期的畢業(yè)設(shè)計環(huán)節(jié)奠定了良好的基礎(chǔ)。2023/9/3學(xué)習(xí)本課程的基本要求本課程是繼程序設(shè)計課程之后,對提章學(xué)時章學(xué)時章學(xué)時章學(xué)時12349413222421021442284122總學(xué)時48=40(講授)+8(課程設(shè)計)各章學(xué)時安排2023/9/3章學(xué)時章學(xué)時章學(xué)時章學(xué)時123494132224210214第一章軟件工程概述水利工程建筑工程機械工程…
…軟件工程本章將對軟件的地位和作用、軟件的特點、軟件的發(fā)展、軟件的危機以及軟件工程學(xué)科的形成、軟件生期等方面的問題和基本概念傳統(tǒng)工程新興工程氣象工程生物工程2023/9/3第一章軟件工程概述水利工程建筑工程機械工程……軟件工程1.1軟件的概念與特點1、軟件softwaresoft+ware軟制品(軟體)軟件是計算機系統(tǒng)中與硬件相互依存的另一部分。它包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。2023/9/31.1軟件的概念與特點1、軟件softwaresoft+w2、軟件特點.
軟件是一種邏輯實體,而不是具體的物理實體.
軟件的生產(chǎn)與硬件不同.在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題磨合調(diào)整磨損用壞修改點實際曲線理想曲線硬件失效率曲線時間失效率時間失效率軟件失效率曲線2023/9/32、軟件特點.軟件是一種邏輯實體,而不是具體的物理實體..
軟件的成本相當昂貴軟件技術(shù)的發(fā)展落后于需求時間軟件復(fù)雜性軟件需求差距軟件技術(shù)硬、軟件成本比例的變化年份成本%軟件1950197019851995硬件2023/9/3.軟件的成本相當昂貴軟件技術(shù)的發(fā)展落后于需求時間軟件復(fù)雜3、軟件的分類1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應(yīng)用軟件2023/9/33、軟件的分類1、按軟件的功能進行劃分系支應(yīng)2023/8/3支撐軟件一般類型:文本編輯程序文本格式化程序支持需求分析:PSL/PSA問題描述語言關(guān)系數(shù)據(jù)庫管理系統(tǒng)支持設(shè)計:圖形軟件包結(jié)構(gòu)化流程圖繪圖程序支持測試:靜態(tài)分析器測試覆蓋檢驗程序支持實現(xiàn):編輯程序連接編輯程序支持管理:標準檢驗程序庫管理程序2023/9/3支撐軟件一般類型:支持需求分析:支持設(shè)計:支持測試:支持實現(xiàn)2、按軟件的規(guī)模進行劃分
按開發(fā)軟件所需的人力、時間以及完成的源代碼行數(shù)。類別參加人數(shù)研制期限產(chǎn)品規(guī)模(源代碼行數(shù))微型小型中型大型甚大型極大型112-55-20100-10002000-50001-4周1-6周1-2年2-3年4-5年5-10年約500行約2000行5000-50000行5萬-10萬行100萬行1000萬行2023/9/32、按軟件的規(guī)模進行劃分按開發(fā)軟件所需的
3、按軟件開發(fā)劃分軟件項目開發(fā)軟件產(chǎn)品開發(fā)2023/9/33、按軟件開發(fā)劃分軟軟2023/8/31.2軟件工程的概念及范疇1、“軟件工程”----SoftwareEngineering于1968年NATO組織在德國召開的一次會議上提出是把軟件當作一種工業(yè)產(chǎn)品,要求“采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護”。2023/9/31.2軟件工程的概念及范疇1、“軟件工程”----Sof軟件工程學(xué)
軟件開發(fā)技術(shù)
軟件工程管理軟件開發(fā)方法學(xué)軟件工具軟件工程環(huán)境軟件工程管理學(xué)軟件經(jīng)濟學(xué)----軟件工程學(xué)的范疇2、軟件工程學(xué)2023/9/3軟件工程學(xué)軟件開發(fā)技術(shù)軟件工程管理軟件開發(fā)方法學(xué)
Wakeupeverydaywithafeelingofpassionforthedifferenttechnologywillmakeinpeople’sLife.微軟企業(yè)文化宗旨部分內(nèi)容
每天醒來的時候,要對技術(shù)給生活造成的改變始終擁有一份激情。2023/9/3Wakeupeverydaywi程序3、軟件的演變(即從傳統(tǒng)軟件開發(fā)到現(xiàn)代軟件開發(fā))軟件軟件產(chǎn)品傳統(tǒng)軟件開發(fā)現(xiàn)代軟件開發(fā)1975198920000.00016240營業(yè)額增長曲線802023/9/3程序3、軟件的演變(即從傳統(tǒng)軟件開發(fā)到現(xiàn)代軟件開發(fā))軟1.3軟件生存周期把軟件從產(chǎn)生、發(fā)展到成熟、直至衰亡為止(SWlifecycle)2023/9/31.3軟件生存周期把軟件從產(chǎn)生、發(fā)展到成熟、直至衰亡為止(特點:上一階段的變換結(jié)果是下一階段的變換的輸入,相鄰兩個階段具有因果關(guān)系,緊密相聯(lián)。需求分析問題定義可性行研究計劃時期概要設(shè)計詳細設(shè)計編碼測試開發(fā)時期運行與維護運行時期軟件生存周期模型(瀑布模型WaterfallModel)2023/9/3特點:需求分析問題定義可性行研究計劃概要設(shè)計詳細設(shè)計編原型模型(PrototypeModel)加工原型原型原型:是指模擬某種產(chǎn)品的原始模型快速分析和設(shè)計建造原型客戶評價原型1、原型系統(tǒng)僅包括未來系統(tǒng)的主要功能,以及系統(tǒng)的重要接口。2、為了盡快向用戶提供原型,開發(fā)原型系統(tǒng)時應(yīng)盡量使用
能縮短開發(fā)周期的語言和工具。2023/9/3原型模型(PrototypeModel)加工原型原型:
第二章問題的定義與可性行研究
當我們在著手做任何一件工作以前,必須明確工作的性質(zhì)、任務(wù),制定完成任務(wù)的計劃,這是非常必要的。同樣對于軟件產(chǎn)品的開發(fā),顯然也應(yīng)該解決好這樣類似的問題,明確該軟件產(chǎn)品開發(fā)的任務(wù),以及完成任務(wù)的價值從而制定出完成任務(wù)的計劃。那么問題的定義和可性行研究就是制定軟件系統(tǒng)的計劃的第一步。所以在軟件工程中把這一步稱為計劃時期2023/9/3第二章問題的定義與可性行研究當我開始問題定義可性行研究可行否?項目實施計劃終止項目的建議結(jié)束Y計劃時期的工作流程圖N2023/9/3開始問題定義可性行研究可行否?項目實施計劃終止項目的建議YWho為誰設(shè)計,用戶是誰?What要解決哪些問題?Why為什么要解決這些問題
3W
WinCE1.0
有用的軟件2023/9/3Who為誰設(shè)計,用戶是誰?What要解決哪些問題?Why2.1現(xiàn)狀調(diào)查和問題的定義目的:弄清楚用戶要求計算機解決什么問題任務(wù):編寫系統(tǒng)目標與規(guī)范說明書系統(tǒng)目標與規(guī)范說明書1、項目:教材銷售系統(tǒng)2、問題:人工銷售教材手續(xù)繁瑣,容易出錯3、項目目標:建立一個高效率、無差錯的計算機教材銷售系統(tǒng)4、項目范圍:利用現(xiàn)有的計算機,軟件開發(fā)費用不得超過2000元5、初步想法:建議在系統(tǒng)中增加對缺書的統(tǒng)計與采購功能6、可性行研究:建議進行大約10天的可性行研究,且研究費用不超過500元2023/9/32.1現(xiàn)狀調(diào)查和問題的定義目的:弄清楚用戶要求計算機解決2.2可行性研究與論證1、經(jīng)濟可行性:進行成本效益分析,評估項目的開發(fā)成本。基于計算機系統(tǒng)的成本由四部分組成1、購置軟、硬件及有關(guān)設(shè)備費用2、系統(tǒng)開發(fā)費用3、系統(tǒng)安裝和維護費用4、人員培訓(xùn)費用費用其論證的焦點是:圍繞著對系統(tǒng)開發(fā)的價值進行論證2023/9/32.2可行性研究與論證1、經(jīng)濟可行性:進行成本效益分析,舉例:關(guān)于開發(fā)CAD系統(tǒng)的軟件開發(fā)成本及效益分析
12345
年6040200成本-效益(萬元)該系統(tǒng)節(jié)省經(jīng)費該系統(tǒng)成本盈虧平衡點投資回收期---------成本及效益分析圖2023/9/3舉例:關(guān)于開發(fā)CAD系統(tǒng)的軟件開發(fā)成本及效益分析12、技術(shù)可行性:對系統(tǒng)的性能、可靠性、可維護性以及生產(chǎn)率等方面的信息進行評價。通過技術(shù)可行性的分析,將為新系統(tǒng)提交技術(shù)可行性評估。以指明為完成系統(tǒng)的功能和性能需要什么技術(shù)?需要哪些材料、方法、算法、或者過程等技術(shù)可行性分析方法---數(shù)學(xué)模型和優(yōu)化技術(shù)、概率和統(tǒng)計、排隊論、控制論等方法。2023/9/32、技術(shù)可行性:對系統(tǒng)的性能、可靠性、可維護性以及生產(chǎn)率可行性論證報告1、系統(tǒng)概述2、可行性分析3、擬訂開發(fā)計劃4、結(jié)論意見2023/9/3可行性1、系統(tǒng)概述2、可行性分析3、擬訂開發(fā)計劃4、結(jié)論意見2.3可行性分析所需工具(系流程圖與系統(tǒng)結(jié)構(gòu)圖)1、系統(tǒng)流程圖:是用來描述系統(tǒng)物理模型的一種傳統(tǒng)工具。流程符號含義流程符號含義數(shù)據(jù)加工符號換頁連接輸入/輸出符號磁帶符號連接點符號文檔符號人工操作多文檔符號2023/9/32.3可行性分析所需工具(系流程圖與系統(tǒng)結(jié)構(gòu)圖)1、系統(tǒng)流程符號含義流程符號含義顯示器或終端機控制流符號磁盤機或數(shù)據(jù)庫流程開始與結(jié)束2023/9/3流程符號含義流程符號含義顯示器或終端機控制流舉例庫存清單系統(tǒng)流程圖庫存清單程序定貨報告事務(wù)定貨信息結(jié)束報告生成程序零件庫2023/9/3舉例庫存清單系統(tǒng)流程圖庫存清單程序定貨報告事務(wù)定貨信息結(jié)束人工銷售教材流程圖結(jié)束學(xué)生申請購書購書證明檢索教材帳本是否有該教材購書單開購書發(fā)票和購書單購書發(fā)票到書庫領(lǐng)書2023/9/3人工銷售教材流程圖結(jié)束學(xué)生申請購購書證明檢索教材購書單開購計算機售書系統(tǒng)流程圖結(jié)束學(xué)生購書發(fā)票到書庫領(lǐng)書購書單終端審查并開發(fā)票11---學(xué)生各學(xué)期用書數(shù)據(jù)庫購書單22---教材存量數(shù)據(jù)庫2023/9/3計算機售書系統(tǒng)流程圖結(jié)束學(xué)生購書發(fā)票到書庫購書單終端審查并1練習(xí)設(shè)某城市招干考試成績統(tǒng)計系統(tǒng)??忌秩齻€專業(yè),不同專業(yè)考試科目不同:法律專業(yè)---考政治、語文、法律行政專業(yè)---考政治、語文、行政財經(jīng)專業(yè)---考政治、語文、財經(jīng)學(xué)每個考生在報名時登記姓名、地址、年齡和報考專業(yè)。報名后招干辦公室根據(jù)專業(yè)考生專業(yè)及地址在市區(qū)或郊區(qū)來編排準考證號碼和考場。考生參加考試后,輸入每個考生的各門課程的成績,并統(tǒng)計出每個考生三門課程的總成績。按準考證號的順序打印出考生考試成績單,分發(fā)給每個考生。各專業(yè)分別將考生按成績總分從高到低的次序排序,以便決定錄取名單。請畫出由下列文字描述的系統(tǒng)流程圖2023/9/3練習(xí)設(shè)某城市招干考試成績統(tǒng)計系統(tǒng)。請畫出由下列文字描述的2、系統(tǒng)結(jié)構(gòu)圖:系統(tǒng)工程師用結(jié)構(gòu)摸板開發(fā)的系統(tǒng)模型用戶界面處理輸入處理維護和自測試處理和控制功能輸出處理----結(jié)構(gòu)摸板----2023/9/32、系統(tǒng)結(jié)構(gòu)圖:系統(tǒng)工程師用結(jié)構(gòu)摸板開發(fā)的系統(tǒng)模型用戶界面處-------傳輸線的分類系統(tǒng)3、系統(tǒng)結(jié)構(gòu)環(huán)境圖(ACD-ArchitectureContextDiagram)
:ACD
可用于描述實現(xiàn)系統(tǒng)與系統(tǒng)運行環(huán)境之間的信息邊界。2023/9/3-------傳輸線的分類系統(tǒng)3、系統(tǒng)結(jié)構(gòu)環(huán)境圖(ACD傳輸線分類系統(tǒng)條形碼閱讀器傳輸線分配站操作員分配站操作員分類機構(gòu)主機條形碼線速指示器分路命令格式化報告數(shù)據(jù)查詢查詢及報告診斷數(shù)據(jù)-------傳輸線分類系統(tǒng)的ACD圖處理與控制功能區(qū)外部實體2023/9/3傳輸線條形碼傳輸線分配站分配站分類機構(gòu)主機條形碼線速分
ACD的層次結(jié)構(gòu)ABC2023/9/3ACD的層次結(jié)構(gòu)ABC2023/8/3作請畫出學(xué)生成績管理系統(tǒng)的ACD圖業(yè)2023/9/3作請畫出學(xué)生成績管理系統(tǒng)的業(yè)2023/8/3
第3章軟件需求分析軟件需求分析是軟件開發(fā)早期的一個重要階段。它在問題定義和可行性研究階段之后進行。需求分析的基本任務(wù)是軟件人員和用戶一起完全弄清用戶對系統(tǒng)的確切要求。這是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟,也是整個系統(tǒng)開發(fā)的基礎(chǔ)。軟件需求分析階段要求用需求規(guī)格說明書(SRS)
來表達用戶對系統(tǒng)的要求。規(guī)格說明書可用文字方式表示,也可用圖形表示。本章將介紹需求分析的任務(wù)、步驟、需求分析方法(面向數(shù)據(jù)流圖分析方法、面向?qū)ο蟮姆治龇椒ǎ?023/9/3第3章軟件需求分析軟件需求分析是軟件開發(fā)一、確定目標系統(tǒng)的具體要求1、確定系統(tǒng)的運行環(huán)境要求2、系統(tǒng)的性能要求3、系統(tǒng)功能3.1需求分析的任務(wù)硬件環(huán)境和軟件環(huán)境確定目標系統(tǒng)具備的所有功能2023/9/3一、確定目標系統(tǒng)的具體要求1、確定系統(tǒng)的運行環(huán)境要求2、系統(tǒng)舉例數(shù)據(jù)庫中存放的是職工的某學(xué)校醫(yī)療費管理系統(tǒng)所屬部門、職工號、姓名職工報銷時應(yīng)填寫:所屬部門、職工號、姓名、日期校內(nèi)門診、校外門診、住院費、子女醫(yī)療費醫(yī)療費分類:該校規(guī)定,每年每個職工的醫(yī)療費有一個限額(如80元),限額在年初確定,其限額規(guī)則如下:1、每個職工一年內(nèi)報銷的醫(yī)療費不超過限額時,全部報銷2、超額,則超出部分只可報銷90%,其余10%由職工個人負擔3、職工子女的醫(yī)療費也有限額(如40元)2023/9/3舉例數(shù)據(jù)庫中存放的是職工的某學(xué)校醫(yī)療費管理系統(tǒng)所屬部門、職工1、醫(yī)療費管理系統(tǒng)每天記錄當天報銷的若干職工或職工子女的醫(yī)療費的類別、金額。
2、在當天下班前讓系統(tǒng)自動結(jié)帳、統(tǒng)計當天報銷的醫(yī)療費總額,供出納員核對。
3、每筆帳要保存?zhèn)洳?,每天所報銷的費用要和各個職工已報銷的金額累計起來,以便檢查哪些職工已超額。
4、系統(tǒng)還要配有適當?shù)牟樵児δ堋?/p>
5、年終結(jié)算后,下一年度開始時要對數(shù)據(jù)庫文件進行初始化。
6、當職工調(diào)離本單位,職工調(diào)如本單位或在本單位內(nèi)部門間調(diào)動,數(shù)據(jù)庫文件應(yīng)能及時得到修改。
請完成對上述系統(tǒng)的需求分析用戶對系統(tǒng)的要求2023/9/31、醫(yī)療費管理系統(tǒng)每天記錄當天報銷的若干職工或職工子女的醫(yī)
該系統(tǒng)規(guī)模不太大,可以和用戶單位的其他管理系統(tǒng)使用相同的計算機硬件設(shè)備、相同的操作系統(tǒng)和相同的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。如果,可以使用漢化了的數(shù)據(jù)庫管理系統(tǒng),但在建立數(shù)據(jù)庫結(jié)構(gòu)時,凡是用英文名稱來代表字段名時,則必須在數(shù)據(jù)字典中予以說明。
1、確定系統(tǒng)的環(huán)境要求2023/9/31、確定系統(tǒng)的環(huán)境要求2023/8/33、系統(tǒng)的功能(1)具有表格形式屏幕的輸入格式(2)具有重復(fù)錄入數(shù)據(jù)的功能(3)具有查詢和統(tǒng)計匯總的功能(4)職工的調(diào)入和調(diào)出以及對數(shù)據(jù)庫的初始化2023/9/33、系統(tǒng)的功能(1)具有表格形式屏幕的輸入格式2023/2、系統(tǒng)性能要求(1)數(shù)據(jù)不能隨意更改2)保證數(shù)據(jù)的準確性
由于醫(yī)療費管理系統(tǒng)涉及到會計經(jīng)費問題,數(shù)據(jù)不能隨意更改但數(shù)據(jù)輸入又難免會出錯。因而在每輸入一個職工的醫(yī)療費后,屏幕提示“數(shù)據(jù)有誤嗎?”。若是在核對時有誤,可及時更改,避免輸入錯誤。一天報銷結(jié)束時,在數(shù)據(jù)存檔前,再讓出納員核對一下經(jīng)費總額,若出納員支出的金額總數(shù)有誤時,應(yīng)讓計算機顯示每筆帳目,供一一仔細核對,此時在允許修改一次。當正式登帳后,數(shù)據(jù)就絕對不允許在修改了,由此保證財務(wù)制度的嚴格性,保證數(shù)據(jù)的安全性。
2023/9/32、系統(tǒng)性能要求(1)數(shù)據(jù)不能隨意更改2)保證二、建立目標系統(tǒng)的邏輯模型
通常軟件軟件開發(fā)項目是要實現(xiàn)目標系統(tǒng)的物理模型,即確定待開發(fā)軟件系統(tǒng)的系統(tǒng)元素,并將功能和數(shù)據(jù)結(jié)構(gòu)分配到這些系統(tǒng)元素中。它是軟件實現(xiàn)的基礎(chǔ)。但是目標系統(tǒng)的物理模型是由它的邏輯模型經(jīng)實例化,即具體到某個業(yè)務(wù)領(lǐng)域而得到的。與物理模型不同,邏輯模型忽視機制和細節(jié),只描述系統(tǒng)要完成的功能和要處理的數(shù)據(jù)。為此,該階段的主要任務(wù)是,借助于當前系統(tǒng)的邏輯模型導(dǎo)出目標系統(tǒng)的邏輯模型,也就是解決目標系統(tǒng)“做什么”的問題。2023/9/3二、建立目標系統(tǒng)的邏輯模型通常軟件軟件開發(fā)用戶調(diào)查具體模型建立系統(tǒng)模型的工作流程邏輯抽象當前系統(tǒng)邏輯模型當前系統(tǒng)計算機化評審修改正式模型完善細節(jié)目標系統(tǒng)目標系統(tǒng)初始模型經(jīng)認可的問題需求系統(tǒng)模型用戶1、建立目標系統(tǒng)邏輯模型的步驟2023/9/3用戶具體模型建立系統(tǒng)模型的工作流程邏輯當前系統(tǒng)邏輯模型當前系圖形工具數(shù)據(jù)流圖數(shù)據(jù)字典2、建立目標系統(tǒng)邏輯模型的圖形工具2023/9/3圖形工具數(shù)據(jù)流圖數(shù)據(jù)字典2、建立目標系統(tǒng)邏輯模型的圖形----學(xué)生購買教材的具體模型
舉例請建立計算機售書系統(tǒng)的邏輯模型張秘書學(xué)生購書購書王會計發(fā)票李出納領(lǐng)書趙保管單申請證明書----學(xué)生購買教材的邏輯模型
審查有效性學(xué)生有效購書單開發(fā)票發(fā)票開領(lǐng)書單領(lǐng)書單發(fā)書購書單書2023/9/3----學(xué)生購買教材的具體模型舉例請建立計算機張購書----學(xué)生購買教材的邏輯模型
審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生完善目標系統(tǒng)并補充細節(jié),的出目標系統(tǒng)的正式邏輯模型2023/9/3----學(xué)生購買教材的邏輯模型審查并發(fā)票購書單各班三、需求規(guī)格說明書與評審軟件需求說明書----SRS(SoftwareRequirementSpecification)主要包括以下的內(nèi)容:SRS引言數(shù)據(jù)描述數(shù)據(jù)流圖數(shù)據(jù)字典功能描述性能描述特殊需求2023/9/3三、需求規(guī)格說明書與評審軟件需求說明書----SRS一、數(shù)據(jù)流圖
3.2面向數(shù)據(jù)流的方法----DFD(DataFlowDiagram)是用來描述系統(tǒng)邏輯模型的一種圖形工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。DFD2023/9/3一、數(shù)據(jù)流圖3.2面向數(shù)據(jù)流的方法----DFD儲戶檢驗付款登錄存折帳卡取款信息辦理取款手續(xù)的DFD圖檢驗不合格現(xiàn)款付款信息取款單存折2023/9/3儲檢驗付款登錄存折帳卡取款辦理取款手續(xù)的DFD圖檢驗不合1、數(shù)據(jù)流圖中的主要圖形元素------轉(zhuǎn)換數(shù)據(jù)流的處理過程
----
可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。箭頭向內(nèi)則表示寫入文件或查詢文件,箭頭向外則表示從文件中讀取數(shù)據(jù)或得到查詢結(jié)果數(shù)據(jù)轉(zhuǎn)換外部實體------位于軟件系統(tǒng)邊界之外的信息生產(chǎn)者或消費者數(shù)據(jù)流------在轉(zhuǎn)換之間有向流動的數(shù)據(jù)項或數(shù)據(jù)集合數(shù)據(jù)存儲文件2023/9/31、數(shù)據(jù)流圖中的主要圖形元素------轉(zhuǎn)換數(shù)據(jù)流的處理----
系統(tǒng)邏輯模型數(shù)據(jù)的加工或變換輸入輸出軟件系統(tǒng)外部實體外部實體……外部實體外部實體……輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流2023/9/3----系統(tǒng)邏輯模型數(shù)據(jù)的輸入輸出軟件外部實體外部實體…----學(xué)生購買教材的邏輯模型
審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生外部實體數(shù)據(jù)的加工2023/9/3----學(xué)生購買教材的邏輯模型審查并發(fā)票購書單各2、數(shù)據(jù)流圖中的其它圖形元素ABC------有A則B或者C,或者兩者都有*ABC+ABC------有A則B與C,或者兩者同時有------有A則B或C,但不會同時有B與C2023/9/32、數(shù)據(jù)流圖中的其它圖形元素ABC------有A則-----標識多個數(shù)據(jù)流與加工之間關(guān)系的符號------當A或B有一個存在就有CABC*ABC------只有當A與B都存在,則有C2023/9/3-----標識多個數(shù)據(jù)流與加工之間關(guān)系的符號------3、分層的數(shù)據(jù)流圖F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n
層第n+1
層第n+2
層2023/9/33、分層的數(shù)據(jù)流圖F0A0B0F11A0B0F12F13F人工銷售教材系統(tǒng)流程圖學(xué)生開購書證明購書證明開購書發(fā)票發(fā)票收書費領(lǐng)書單發(fā)書學(xué)生舉例2023/9/3人工銷售教材系統(tǒng)流程圖學(xué)生開購書購書開購書發(fā)票收書費學(xué)生教材購銷系統(tǒng)購書單領(lǐng)書單缺書單進書通知進書通知保管員1銷售購書單領(lǐng)書單學(xué)生缺書單進書通知2采購保管員第1
層第2
層教材存量表F1缺書登記表F2外部實體外部實體2023/9/3學(xué)教材購書單領(lǐng)書單缺書單進書通知進書通知保1購書單領(lǐng)書單學(xué)缺教材銷售子系統(tǒng)無效書單購書單1.3登記并開領(lǐng)書單1.2開發(fā)票1.1審查有效性1.4登記缺書1.5補售教材采購學(xué)生學(xué)生進書通知有效書單發(fā)票領(lǐng)書單暫缺書單1銷售購書單領(lǐng)書單缺書單進書通知2采購進書通知缺書登記表教材存量表學(xué)生保管員第2
層補售書單第3層教材存量表F1缺書登記表F2
F1書號單價數(shù)量各班用書表F3售書登記表F4外部項2023/9/3教材銷售子系統(tǒng)無效書單購書單1.411銷售購書單領(lǐng)書單缺書單進書通知2采購進書通知缺書登記表教材存量表學(xué)生保管員采購子系統(tǒng)
第2層第3
層缺書單2.3修改教材庫存和待購量銷售進書通知進書通知2.1按書號匯總?cè)睍?.2按出版社統(tǒng)計缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F22023/9/31購書單領(lǐng)書單缺書單進書通知2進書通知缺書登記表教材存量表學(xué).便于實現(xiàn).便于使用---采用逐步細化的擴展方法,可避免一次引入過多的細節(jié),有利于控制問題的復(fù)雜度;
---用一組圖代替一張總圖,方便用戶及
軟件開發(fā)人員閱讀。4、分層DFD圖的優(yōu)點2023/9/3.便于實現(xiàn).便于使用---采用逐步細化的擴展方法,.注意父圖和子圖的平衡5、畫分層DFD的指導(dǎo)原則發(fā)票1.3開領(lǐng)書單領(lǐng)書單(a)父圖1.3.1學(xué)生領(lǐng)書單1.3.21.3.3教材(a)子圖2023/9/3.注意父圖和子圖的平衡5、畫分層DFD的指導(dǎo)原則發(fā)票.區(qū)分局部文件和局部外部項.掌握分解的速度一般來說,每一個加工每次可分為2-4個子加工,最多不得超過7個。.遵守加工編號規(guī)則頂層加工不編號。第二層的加工編號為1,2,3,…,n號。第三層編號為1.1,1.2,1.3…n.1,n.2…等號,依此類推。2023/9/3.區(qū)分局部文件和局部外部項.掌握分解的速度1銷售購書單領(lǐng)書單缺書單進書通知2采購進書通知缺書登記表教材存量表學(xué)生保管員采購子系統(tǒng)
第2層第3
層缺書單2.3修改教材庫存和待購量銷售進書通知進書通知2.1按書號匯總?cè)睍?.2按出版社統(tǒng)計缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F2局部外部項局部文件2023/9/31購書單領(lǐng)書單缺書單進書通知2進書通知缺書登記表教材存量表學(xué)練請畫出學(xué)生成績管理系統(tǒng)的DFD
圖習(xí)2023/9/3練請畫出學(xué)生成績管理系統(tǒng)的習(xí)2023/8/3二、數(shù)據(jù)字典
----DD(DataDictionary)數(shù)據(jù)字典的任務(wù)是:對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。DD2023/9/3二、數(shù)據(jù)字典----DD(DataDictiona1、數(shù)據(jù)字典的定義數(shù)據(jù)流名:說明:簡要介紹作用即它產(chǎn)生的原因和結(jié)果。數(shù)據(jù)流來源:即該數(shù)據(jù)流來自何方。數(shù)據(jù)流去向:去向何處。數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)。每個數(shù)據(jù)量流通量:數(shù)據(jù)量、流通量。(1)數(shù)據(jù)流詞條的描述
數(shù)據(jù)流名:發(fā)票說明:用作學(xué)生已付書款的依據(jù)數(shù)據(jù)流來源:來自加工“審查并開發(fā)票”數(shù)據(jù)流去向:流向加工“開領(lǐng)書單”。數(shù)據(jù)流組成:學(xué)號+姓名+書號+單價總價+書費合計審查并開發(fā)票發(fā)票購書單
2023/9/31、數(shù)據(jù)字典的定義數(shù)據(jù)流名:(1)數(shù)據(jù)流詞條的描述數(shù)據(jù)元素名:類型:數(shù)字(離散值、連續(xù)值),文字(編碼類型)長度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)(2)
數(shù)據(jù)元素詞條的描述
年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金額=“00000000.01”..“999999999.99”……2023/9/3數(shù)據(jù)元素名:(2)數(shù)據(jù)元素詞條的描述年(3)數(shù)據(jù)文件詞條的描述
數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù)。輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)。存儲方式:順序,直接,關(guān)鍵碼。存取頻率:
…
…審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表2023/9/3(3)數(shù)據(jù)文件詞條的描述數(shù)據(jù)文件名:審查加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)
…
…(4)
加工邏輯詞條的描述
1.3審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表2023/9/3加工名:(4)加工邏輯詞條的描述1.3名稱:外部實體名簡要描述:什么外部實體有關(guān)數(shù)據(jù)流:數(shù)目:(5)外部實體詞條描述
1銷售購書單領(lǐng)書單缺書單進書通知2采購進書通知缺書登記表教材存量表學(xué)生保管員2023/9/3名稱:外部實體名(5)外部實體詞條描述2、數(shù)據(jù)字典定義符號符號含義例子
=被定義為+與[]x=a+b,則表示x
由a和
b
組成x=[a,b],則表示x
由a或由
b
組成{}或重復(fù)x={a},則表示x
由0個或多個a組成()可選
表示在兩個*
之間的內(nèi)容為詞條的注釋m{}n重復(fù)x=3{a}8,則表示x中至少出現(xiàn)3次a,最多出現(xiàn)8次*…*注釋符x=(a),則表示a在x中出現(xiàn),也可不出現(xiàn)2023/9/32、數(shù)據(jù)字典定義符號符號含義例子儲戶檢驗付款登錄存折帳卡取款信息--------辦理取款手續(xù)的DFD圖檢驗不合格現(xiàn)款付款信息取款單存折練習(xí)請為下列給出的DFD
圖編寫DD2023/9/3儲檢驗付款登錄存折帳卡取款--------辦理取款手續(xù)的日期年月日摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點名稱:帳號:開戶日:性質(zhì):印密:-------存折格式2023/9/3日期摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點名稱:帳號:開戶日日期(年月日)摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點名稱:帳號:開戶日:性質(zhì):印密:存折=戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}20戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質(zhì)=“1”..“6”印密=“0”存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金額金額=“00000000.01”..“999999999.99”……2023/9/3日期(年月日)摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點名稱:3、數(shù)據(jù)字典的實現(xiàn)數(shù)據(jù)字典的實現(xiàn)人工方法自動方法將每一字典中的詞條寫在一張卡片上,由專人管理和維護利用“字典管理程序”在計算機中對字典進行管理和維護。2023/9/33、數(shù)據(jù)字典的實現(xiàn)數(shù)據(jù)字典的實現(xiàn)人工方法自動方法將每一字三、加工說明
----(ProcessSpecification)加工說明是:對DFD中每個加工給予說明。它是從系統(tǒng)功能的角度對DFD作出了注解,與DD一樣是DFD必不可缺少的輔助資料。PS2023/9/3三、加工說明----(ProcessSpecific加工說明組成輸入數(shù)據(jù)加工邏輯輸出數(shù)據(jù)加工說明描述工具結(jié)構(gòu)化語言判定表判定樹描述把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工過程,是加工說明的主體。2023/9/3加工說明組成輸入加工輸出加工說明結(jié)構(gòu)化判定判定----學(xué)生購買教材的邏輯模型
審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生2023/9/3----學(xué)生購買教材的邏輯模型審查并發(fā)票購書單各自然語言+結(jié)構(gòu)化形式結(jié)構(gòu)化語言選擇結(jié)構(gòu)如果<條件><策略>
If<condition><policy>如果<條件>
則<策略1>
否則<策略2>情況1<條件><策略1>……情況n<條件><策略n>If<condition>
then<policy1>Otherwise<policy2>case1<condition><policy1>……casen<condition><policyn>循環(huán)結(jié)構(gòu)對
…,<策略>重復(fù)以下<策略>直至<條件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>2023/9/3自然語言+結(jié)構(gòu)化形式結(jié)構(gòu)化語言選如果<條件>If<c例1:請寫出下列在DFD圖中給出的“統(tǒng)計晚婚職工”的加工說明CountLate-MarriageEmployeesLate-Marriage-CountRequest職工名冊文件Late-Marriage-List=List-Count+Name-ListName-List={Name}2023/9/3例1:請寫出下列在DFD圖中給出的“統(tǒng)計晚婚職工”CountLate-MarriageEmployeesPolicyForeachLate-Marriage-Countrequest:
Repeatthefollowing;Accessthestaffs-Record.
Ifstatusissingle,
IfsexismaieandAgeisover30orsexisfemaleandAgeisover26WriteNametoName-List.IncrementList-Count.
UntiltherearenomoreStaff-Records.CombineList-CountandName-List.WriteUpLate-Marriage-List.2023/9/3CountLate-MarriageEmploye----學(xué)生購買教材的系統(tǒng)邏輯模型
審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生例2:請為下列DFD中的“審查并開發(fā)票”加工點寫加工說明2023/9/3----學(xué)生購買教材的系統(tǒng)邏輯模型審查并發(fā)票購書單把學(xué)生學(xué)號和姓名寫到發(fā)票上按購書單上學(xué)生的年級和系、專業(yè)與班號
檢索“各班學(xué)生用書表”文件,獲得該生當年的書單
對
購書單上的每一書號
如果
書單上無此書號
則
把書號寫到出錯通知單上
否則
按書號檢索“教材存量表”文件,從而獲得該書的單價與庫存量
如果
庫存量〈購書單的數(shù)量
則
將書號寫到出錯通知單上
否則
將書號、單價、數(shù)量、總價等項寫入到發(fā)票上;更新存書量,并寫回“教材存量表”文件;累計書費合計
把書費合計寫到發(fā)票上對每張購書單2023/9/3把學(xué)生學(xué)號和姓名寫到發(fā)票上對每張購書單2023/8/3分房加工婚齡中級職稱晚婚正常分房優(yōu)先分房不分房分房加工邏輯判斷表采用表格的形式來表達具復(fù)雜判斷的加工邏輯1、一般職工婚后5年可參加分房2、中級以上職稱的職工婚后3年可參加分房3、符合正常分房條件的職工,若再符合晚婚條件可優(yōu)先分房2023/9/3分房婚齡中級職稱晚婚正常分房優(yōu)先分房不分房分房加工邏輯判斷表分房加工婚齡中級職稱晚婚正常分房優(yōu)先分房不分房123456說明條件婚齡>5年3-5年<3年(-)表示任意
(Y)條件滿足
(N)條件不滿足(*)選中的決策中級職稱-----------YN-----晚婚YNYN---------決策優(yōu)先分房**正常分房**不分房**2023/9/3分房婚齡中級職稱晚婚正常分房優(yōu)先分房不分房123456說判斷樹判斷樹是判斷表的圖形形式其適用場合與判斷表相同中級職稱不分房初婚分房決策>5年3-5年<3年優(yōu)先分房非中級職稱正常分房正常分房晚婚非晚婚晚婚非晚婚優(yōu)先分房不分房2023/9/3判斷樹判斷樹是判斷表的圖形形式中級不分房初婚>5年“檢查發(fā)貨單”的判斷表1234條件發(fā)貨單金額>$500>$500<=$500<=$500賒欠情況>60天<=60天>60天<=60天決策不發(fā)出批準書V發(fā)出批準書VVV發(fā)出發(fā)貨單VVV發(fā)出賒欠報告V2023/9/3“檢查發(fā)貨單”的判斷表1234條發(fā)貨單金額>$500>$5作業(yè)工資管理系統(tǒng)系統(tǒng)流程圖系統(tǒng)軟件模型部分數(shù)據(jù)字典一、對工資管理系統(tǒng)進行需求分析二、閱讀教課書的P27
頁2023/9/3作業(yè)工資管理系統(tǒng)系統(tǒng)流程圖系統(tǒng)軟件模型部分數(shù)據(jù)字典一、三、把下列用文字敘述的內(nèi)容請采判斷表和判斷樹描述出來設(shè)某旅游票預(yù)定系統(tǒng)中,在旅游旺季7-9、12月份,如果訂票超過50張,則優(yōu)惠票價的15%;50張以下,優(yōu)惠5%。在旅游淡季1-6,10、11月份,若訂票超過50張,則優(yōu)惠30%;50張以下,優(yōu)惠20%。2023/9/3三、把下列用文字敘述的內(nèi)容請采判斷表和判斷樹描述出來面向?qū)ο罄^承類3.3面向?qū)ο蟮男枨蠓治鲆?、面向?qū)ο蟮母拍?/p>
對象消息2023/9/3面向?qū)ο罄^承類3.3面向?qū)ο蟮男枨蠓治鲆弧⒚嫦驅(qū)ο蟮膶ο髮ο缶褪且粋€包含數(shù)據(jù)以及與這些數(shù)據(jù)有關(guān)的操作的集合。每個實體都是對象。對象數(shù)據(jù)操作代碼2023/9/3對對象就是一個包含數(shù)據(jù)以及與這些數(shù)據(jù)有關(guān)對象數(shù)類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象集合。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。類定義可視為一個具有類似特性與共同行為的對象摸板,可用來產(chǎn)生對象。可以說,類是對象的抽象,而對象是類的具體實例。2023/9/3類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象2023/8繼承是在一個已存有的類的基礎(chǔ)上建立一個新的類。并將已存在的類稱為--基類或父類;新建立的類稱為—派生類或子類。繼承基類派生類2023/9/3繼承是在一個已存有的類的基礎(chǔ)上建立一個新繼基對象繼承了類所有屬性------從類到對象的繼承costdimensionweightlocationcolor類:furniturecostdimensionweightlocationcolor對象:chair對象、類、繼承
2023/9/3對象繼承了類所有屬性------從類到對象的繼承cost類
對象繼承類的所有屬性和操作costdimensionweightlocationcolor類:furnitureBuySellWeightmovecostdimensionweightlocationcolor對象:chableBuySellWeightmovecostdimensionweightlocationcolor對象:chairBuySellWeightmove2023/9/3對象繼承類的所有屬性和操作cost類:furnitur------面向?qū)ο箢惖谋硎灸J?/p>
類名:
操作:屬性:2023/9/3------面向?qū)ο箢惖谋硎灸J筋惷?識別對象1、標識潛在對象找出通過分析過程中的所有名詞或名詞短語并合并同義詞。除去有動作含義的名詞,使它們將被描述為對象的操作。標識規(guī)則如下:(1)、外部實體(2)、事物(3)、位置(7)、聚焦對象(5)、事件(6)、角色(4)、組織機構(gòu)2023/9/3識別對象1、標識潛在對象找出通過分析過程中的二、面向?qū)ο蟮姆治龇椒?OOA)
ObjectOrientedAnalysisOOA的核心思想是利用OO的概念和方法對軟件需求建造模型,以使用戶需求逐步精確化、一致化、完全化。為此,OOA的方法步驟為:識別對象屬性及外部服務(wù)識別類及其結(jié)構(gòu)定義對象之間的消息傳遞2023/9/3二、面向?qū)ο蟮姆治龇椒?OOA)ObjectOr潛在對象理由用戶傳感器控制面板系統(tǒng)(SafeHomeSystem)傳感器編號密碼電話號碼傳感器事件警報器角色或外部實體外部實體外部實體聚焦對象概念實體概念實體概念實體事件外部實體例如:2023/9/3潛在對象理由用戶角色或外部實體例如:2023/8/32、篩選對象篩選對象規(guī)則如下:(1)、具有記憶自身狀態(tài)的能力(2)、有意義的操作(3)、多個屬性(5)、公共操作(6)、必須的需求(4)、公共屬性潛在對象理由用戶傳感器控制面板系統(tǒng))傳感器編號密碼電話號碼傳感器事件警報器角色或外部實體外部實體外部實體聚焦對象概念實體概念實體概念實體事件外部實體2023/9/32、篩選對象篩選對象規(guī)則如下:(1)、具有記憶自身狀態(tài)的能
第四章軟件設(shè)計基礎(chǔ)
Who為誰設(shè)計,用戶是誰?What要解決哪些問題?Why為什么要解決這些問題
3W2023/9/3第四章軟件設(shè)計基礎(chǔ)Who為誰設(shè)計,用戶是誰?W4.1軟件設(shè)計過程編碼測試設(shè)計信息描述功能描述行為描述其他需求總體結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計過程設(shè)計程序模塊集成并確認的軟件------軟件開發(fā)階段的信息流2023/9/34.1軟件設(shè)計過程編碼測試設(shè)計信息描述功能描述行為描述其他軟件設(shè)計任務(wù)制定規(guī)范4.2軟件設(shè)計的任務(wù)和步驟軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計處理方式設(shè)計數(shù)據(jù)結(jié)構(gòu)設(shè)計可靠性設(shè)計2023/9/3軟件設(shè)計任務(wù)制定規(guī)范4.2軟件設(shè)計的任務(wù)和步驟軟件系統(tǒng)軟件設(shè)計方法結(jié)構(gòu)化設(shè)計方法4.3軟件設(shè)計的方法面向?qū)ο蟮脑O(shè)計方法2023/9/3軟件設(shè)計方法結(jié)構(gòu)化設(shè)計方法4.3軟件設(shè)計的方法面向?qū)ο蟮囊?、模塊化設(shè)計與信息隱藏-----“模塊“又稱”構(gòu)件”一般指用一個名字調(diào)用的一段程序4.4軟件設(shè)計基礎(chǔ)模塊(module)模塊化設(shè)計(modulardesign)按適當?shù)脑瓌t把軟件劃分為一個個較小的、相關(guān)而又相對獨立的模塊。
邏輯功能狀態(tài)2023/9/3一、模塊化設(shè)計與信息隱藏-----“模塊“又稱”構(gòu)件”一般1、分解(decomposition)E(P1+P2)>E(P1)+E(P2)設(shè):C(x)
為復(fù)雜程度函數(shù)E(x)
為決定解決問題x所需的工作量(時間)函數(shù)
C(P1)>C(P2)E(P1)>E(P2)C(P1+P2)>C(P1)+C(P2)MagicalNumberSeven,PlusorMinusTwo,SomeLimitsonOurCapacityforProcessingInformation
ThePsychologicalReview,1956
G.A.Miller奇妙的數(shù)字7+2,人類信息處理能力的限度2023/9/31、分解(decomposition)E(P1+P2)>EC(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)軟件工程基本定理最小成本區(qū)M模塊成本接口成本總成本軟件開發(fā)工作量
模塊數(shù)2023/9/3C(P1+P2)>C(P1)+C(P2)軟件工程基本定理最小
每個模塊的實現(xiàn)細節(jié)對于其他模塊來說是隱藏的。也就是說,模塊中所包含的信息是不允許其他不需要這些信息的模塊使用的。2、信息隱藏(informationhiding)棧stack置空棧
makenull進棧
push退棧
pop2023/9/3每個模塊的實現(xiàn)細節(jié)對于其他模塊來說是隱藏3、模塊的獨立性(moduleindependence)模塊的獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。耦合
模塊之間的相對獨立性的度量。內(nèi)聚
模塊功能強度的度量。2023/9/33、模塊的獨立性(moduleindependence)(1)、內(nèi)聚(Cohesion)低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過程內(nèi)聚時間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強弱
內(nèi)聚性模塊獨立性2023/9/3(1)、內(nèi)聚(Cohesion)低功能信息通信過程時間邏輯巧偶然性內(nèi)聚MSTORERECN()TONREADMASTREFILEADD1TOX。。。。。。ABC當模塊內(nèi)各部之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散。則稱這種模塊為巧合內(nèi)聚模塊。2023/9/3偶然性內(nèi)聚MSTOREREC邏輯性內(nèi)聚這種模塊是把幾種功能組合在一起,每次調(diào)用時,則由傳遞給模塊的判定參數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。調(diào)用模塊判定讀一個記錄寫一個記錄被調(diào)用模塊2023/9/3邏輯性內(nèi)聚這種模塊是把幾種功SXYZWABCDSXYZWABCD2023/9/3SXYZWABCDSXYZWABCD2023/8/3信息性內(nèi)聚這種模塊能完成多個功能,各個功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一項功能有一個唯一的入口點。
符號表
查找登錄刪除修改2023/9/3信息性內(nèi)聚這種模塊能完成多個功能性內(nèi)聚如果一個模塊內(nèi)所有成分都完成一個功能則稱這樣的模塊為功能模塊。主控模塊錄入查詢打印低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過程內(nèi)聚時間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強弱
內(nèi)聚性模塊獨立性2023/9/3功能性內(nèi)聚如果一個模塊內(nèi)所有(2)、耦合耦合性是程序結(jié)構(gòu)中各個模塊之間相互關(guān)聯(lián)的度量它取決于各個模塊之間接口的復(fù)雜程度、調(diào)用模塊的方式以及那些信息通過接口。低非直接耦合數(shù)據(jù)耦合標記耦合控制耦合外部耦合公共耦合內(nèi)容耦合高弱強耦合性模塊獨立性2023/9/3(2)、耦合耦合性是程序結(jié)構(gòu)中各個模塊之間相公共耦合允許一組模塊訪問同一全局性的數(shù)據(jù)結(jié)構(gòu)。全局數(shù)據(jù)區(qū)ABCDEFB、C、E
為公共耦合2023/9/3公共耦合允許一組模塊訪問同一全局控制耦合如果一個模塊通過傳送開關(guān)、標志、名字等控制信息,明顯地控制選擇另一模塊的功能就是控制耦合。A模塊flagf1Bf2fn……2023/9/3控制耦合如果一個模塊通過傳以上給出了7種耦合類型,這只是從耦合的機制上所做的分類,按耦合的強弱程度的排列只是相對的關(guān)系。但它給設(shè)計人員在設(shè)計程序結(jié)構(gòu)時提供了一決策準則。實際上,開始時兩個模塊之間的耦合不只是一種類型,而是多種類型的混合。這就要求設(shè)計人員按照實際情況進行分析、比較和分析,逐步加以改進,以提高模塊的獨立性。2023/9/3以上給出了7種耦合類型,這只是從耦合2023/4.5結(jié)構(gòu)化設(shè)計方法(SD--StructuredDesign)
結(jié)構(gòu)化設(shè)計方法是基于模塊化、自頂向下細化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)基礎(chǔ)發(fā)展起來的。它所提供的方法和原則,主要是用來指導(dǎo)軟件的概要設(shè)計。它還提供了一種“結(jié)構(gòu)圖”的描述工具,是專門用來描述軟件的總體結(jié)構(gòu)的。
2023/9/34.5結(jié)構(gòu)化設(shè)計方法(SD--StructuredDe結(jié)構(gòu)化設(shè)計屬于面向數(shù)據(jù)流的設(shè)計方法。在軟件的需求分析階段,數(shù)據(jù)流是軟件開發(fā)人員考慮問題的出發(fā)點和基礎(chǔ)。數(shù)據(jù)流從系統(tǒng)的輸入端向輸出端,則要經(jīng)歷一系列的變換或處理。用來表現(xiàn)這個過程的數(shù)據(jù)流(DFD),實際上就是軟件系統(tǒng)的邏輯模型。面向數(shù)據(jù)流的設(shè)計要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將DFD圖映射(Mapping)---軟件系統(tǒng)的結(jié)構(gòu)。換句話說,這類設(shè)計方法,允許把用DFD圖表示的系統(tǒng)邏輯模型,很方便地轉(zhuǎn)換成對于軟件結(jié)構(gòu)的初始設(shè)計描述。結(jié)構(gòu)化設(shè)計方法中,軟件的結(jié)構(gòu)一律用SC圖來描述。2023/9/3結(jié)構(gòu)化設(shè)計屬于面向數(shù)據(jù)流的設(shè)計方法。2023/8/結(jié)構(gòu)化設(shè)計的目的使程序的結(jié)構(gòu)盡可能反映要解決的問題的結(jié)構(gòu)結(jié)構(gòu)化設(shè)計的任務(wù)完成目標系統(tǒng)的—系統(tǒng)結(jié)構(gòu)圖(SC)2023/9/3結(jié)構(gòu)化設(shè)使程序的結(jié)構(gòu)盡可能反結(jié)構(gòu)化設(shè)完成目標系統(tǒng)的—20目標系統(tǒng)的DFDSC圖---StructuredChart該圖常用來表示系統(tǒng)的軟件結(jié)構(gòu)。利用它可以清楚地表達軟件結(jié)構(gòu)中模塊間的層次調(diào)用關(guān)系和模塊之間的聯(lián)系。SD目標系統(tǒng)的SC2023/9/3目標系統(tǒng)的DFDSC圖---StructuredChASC
圖中的主要內(nèi)容1、模塊--在SC圖中用矩形框表示,并用名字來標記它--模塊調(diào)用關(guān)系2、模塊的調(diào)用關(guān)系和接口B調(diào)用模塊調(diào)用模塊A(查詢學(xué)生)B(查找學(xué)生記錄)數(shù)據(jù)信號控制信號學(xué)號查找成功信號--模塊間接口的表示2023/9/3ASC圖中的主要內(nèi)容1、模塊--在SC圖中用矩形框表示,并產(chǎn)生最佳解得到好的輸入計算最佳解輸出結(jié)果讀輸入編輯輸入好輸入好輸入解解原始輸入原始輸入編輯結(jié)果結(jié)果格式化顯示結(jié)果解格式化的解SC
圖的一般格式2023/9/3產(chǎn)生最佳解得到好的輸入計算最佳解輸出結(jié)果讀輸入編輯輸入好輸入1、在系統(tǒng)結(jié)構(gòu)圖中的模塊一、典型的系統(tǒng)結(jié)構(gòu)形式原子模塊:在系統(tǒng)結(jié)構(gòu)圖中通常是指不能再分割的底層模塊完全因子分解系統(tǒng)如果一個軟件系統(tǒng),它的全部實際加工(即數(shù)據(jù)計算或處理)都是由底層的原子模塊來完成,而其它所有非原子模塊僅僅執(zhí)行控制或協(xié)調(diào)功能。2023/9/31、在系統(tǒng)結(jié)構(gòu)圖中的模塊一、典型的系統(tǒng)結(jié)構(gòu)形式原子模塊:在傳入模塊AA傳入模塊從下屬模塊取得數(shù)據(jù),進行某些處理,再將其結(jié)果傳給上級模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸入數(shù)據(jù)流。在系統(tǒng)結(jié)構(gòu)圖中有四種類型的模塊:邏輯輸入數(shù)據(jù)流成績處理成績錄入2023/9/3傳入模塊AA傳入模塊從下屬模塊取得數(shù)據(jù),進行某些傳出模塊從上級模塊獲得數(shù)據(jù),進行某些處理,再將其結(jié)果傳給下屬模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸出數(shù)據(jù)流。傳出模塊DD邏輯輸出數(shù)據(jù)流成績處理成績輸出2023/9/3傳出模塊從上級模塊獲得數(shù)據(jù),進行某些處理,再將其變換模塊也叫加工模塊。它是從上級模塊獲得數(shù)據(jù),進行特定的處理,將其轉(zhuǎn)換為其他形式,再傳回上級模塊它所加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。變換模塊CB變換數(shù)據(jù)流審查并開發(fā)票發(fā)票購書單2023/9/3變換模塊也叫加工模塊。它是從上級模塊獲得數(shù)據(jù),進協(xié)調(diào)模塊對所有下屬模塊進行協(xié)調(diào)和管理的模塊。在一個好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。協(xié)調(diào)模塊YXYX2023/9/3協(xié)調(diào)模塊對所有下屬模塊進行協(xié)調(diào)和管理的模塊。在一2、典型的系統(tǒng)結(jié)構(gòu)形式之一(變換型系統(tǒng)結(jié)構(gòu)圖)取得數(shù)據(jù)iaeo變換數(shù)據(jù)給出數(shù)據(jù)傳入部分變換中心傳出部分--------具有變換型數(shù)據(jù)流圖2023/9/32、典型的系統(tǒng)結(jié)構(gòu)形式之一(變換型系統(tǒng)結(jié)構(gòu)圖)取得iaeo變主模塊C變換成D取得C給出D取得BB變換成CD變換成E給出E取得AA變換成BAABBBCCDCDED取得數(shù)據(jù)CD變換數(shù)據(jù)給出數(shù)據(jù)協(xié)調(diào)模塊變換模塊傳出模塊--------具有變換型系統(tǒng)結(jié)構(gòu)圖DFD--SC2023/9/3主模塊C變換成D取得C給出D取得BB變換成CD變換成E給出E3、典型的系統(tǒng)結(jié)構(gòu)形式之二(事務(wù)型系統(tǒng)結(jié)構(gòu)圖)“事務(wù)”引起、觸發(fā)或啟動某一動作或一串動作的任何數(shù)據(jù)、控制信號、事件或狀態(tài)的變化。由它接受一項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì)
選擇分配一個適當?shù)奶幚韱卧?,然后給出結(jié)果。2023/9/33、典型的系統(tǒng)結(jié)構(gòu)形式之二(事務(wù)型系統(tǒng)結(jié)構(gòu)圖)“事務(wù)”輸入------事務(wù)型數(shù)據(jù)流圖1ABC3DEFGH24567中心變換輸出邏輯輸入物理輸入邏輯輸出物理輸出2023/9/3輸入------事務(wù)型數(shù)據(jù)流圖1ABC3DEFGH2451ABC3DEFGH24567MT3邏輯輸入邏輯輸出CDCD,E,F456------事務(wù)型數(shù)據(jù)流圖(DFD)------事務(wù)型系統(tǒng)結(jié)構(gòu)圖(SC)2023/9/31ABC3DEFGH24567MT3邏輯輸入邏輯輸出CDCD事務(wù)中心輸入已分析的作業(yè)內(nèi)部表示的作業(yè)結(jié)果------事務(wù)型系統(tǒng)結(jié)構(gòu)(層次)圖輸出結(jié)果調(diào)度作業(yè)信息讀入作業(yè)分析作業(yè)事務(wù)1事務(wù)2事務(wù)3事務(wù)4操作2操作3操作4操作5操作6操作1細節(jié)2細節(jié)3細節(jié)4細節(jié)5細節(jié)6細節(jié)1細節(jié)7結(jié)果2023/9/3事務(wù)中心輸入已分內(nèi)部表示的作業(yè)結(jié)果------事務(wù)型系統(tǒng)結(jié)------簡化的事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)中心得到作業(yè)作業(yè)結(jié)果輸出結(jié)果分析調(diào)度事務(wù)1事務(wù)2事務(wù)32023/9/3------簡化的事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)中心得到作業(yè)作業(yè)結(jié)果二、從DFD圖導(dǎo)出SC圖的步驟開始細化修改SRS中的DFD圖判斷DFD圖的結(jié)構(gòu)類型是變換型嗎?F事務(wù)分析變換分析完善SC圖T對最終的SC圖進行評審結(jié)束2023/9/3二、從DFD圖導(dǎo)出SC圖的步驟開始細化修改SRS中判1、變換分析----是將具有變換型的DFD圖導(dǎo)出SC圖變換分析從物理輸入、物理輸出及變換中心進行由頂向下的分解得出各個分支的所有組成模塊在數(shù)據(jù)流圖上區(qū)分系統(tǒng)的邏輯輸入、邏輯輸出和變換中心部分,并標出它們的分界。進行一級分解,設(shè)計系統(tǒng)模塊結(jié)構(gòu)的頂層和第一層。進行二級分解,設(shè)計中、下層模塊。2023/9/31、變換分析----是將具有變換型的DFD圖導(dǎo)出SC圖變換(1)在DFD
圖上標出邏輯輸入、邏輯輸出和變換中心的分界AeBaCbDcEdPQRwuvwuvrp變換中心c,e邏輯輸入w,u邏輯輸出--------具有變換型數(shù)據(jù)流圖2023/9/3(1)在DFD圖上標出邏輯輸入、邏輯輸出和變換中心的分界(2)完成第第一級分解AabcPwuv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京課改版歷史七年級上冊第6課《春秋五霸》聽課評課記錄
- 湘教版數(shù)學(xué)九年級上冊5.1《總體平均數(shù)與方差的估計》聽評課記錄2
- 蘇科版九年級數(shù)學(xué)聽評課記錄:第82講期中期末串講
- 統(tǒng)編版七年級下冊道德與法治第四課 揭開情緒的面紗 聽課評課記錄(2課時)
- 華東師大版八年級上冊數(shù)學(xué)聽評課記錄《命題》
- 部編人教版道德與法治九年級下冊全冊集體備課聽課評課記錄
- 人教新課標地理七年級上冊《1.1地球和地球儀》聽課評課記錄
- 湘教版數(shù)學(xué)八年級下冊《2.7 正方形》聽評課記錄
- 2025年自動造型線合作協(xié)議書
- 華師大版歷史九年級上冊第3課《古代印度》聽課評課記錄
- 教育心理學(xué)智慧樹知到答案章節(jié)測試2023年浙江師范大學(xué)
- 共板法蘭風(fēng)管制作安裝
- 理論力學(xué)-運動學(xué)課件
- 2020年血液凈化感染控制操作規(guī)程課件
- 計算機輔助工藝設(shè)計課件
- 汽車銷售流程與技巧培訓(xùn)課件
- 管理學(xué)專業(yè):管理基礎(chǔ)知識試題庫(附含答案)
- 外周血細胞形態(tài)課件
- 2022年三級安全教育塔吊司機類試題及答案
- 地鐵工程結(jié)算審核的難點及要點分析
- 低壓開關(guān)柜基礎(chǔ)知識和IP防護等級具體要求
評論
0/150
提交評論