軟件工程課件(全)_第1頁
軟件工程課件(全)_第2頁
軟件工程課件(全)_第3頁
軟件工程課件(全)_第4頁
軟件工程課件(全)_第5頁
已閱讀5頁,還剩414頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2023/8/2《軟件工程》

哈爾濱工業(yè)大學(xué)韓靜萍SoftwareEngineering2023/7/31《軟件工程》哈爾濱工業(yè)大學(xué)2023/8/2在一些人眼里,今天的軟件開發(fā)似乎已成為簡單的事情,已有了不少很好的開發(fā)工具和軟件庫,軟件開發(fā)人員訓(xùn)練有素,都強(qiáng)烈渴望去編寫很酷的軟件,可以在幾天的時間里編寫出一個相當(dāng)復(fù)雜的軟件。但為什么有一些軟件能夠得到用戶的喜歡,而另一些則不能?為什么有些軟件能夠在市場上成功,而有些則受到冷落?由此可見,開發(fā)軟件并不一定難,難就難在如何開發(fā)有用的軟件。微軟凌小寧博士2023/7/31在一些人眼里,今天2023/8/2我最大的心得是,一個產(chǎn)品一定要找到能夠真正適用的場合,不能只是為了技術(shù)而從事技術(shù)為了研究而進(jìn)行研究,卻不管用戶對你所研究的技術(shù)和產(chǎn)品有沒有需求。否則,無論你的技術(shù)是多么優(yōu)秀,多么先進(jìn),恐怕你的產(chǎn)品在市場上都無法獲得成功。微軟張益肇博士2023/7/31我最大的心得是,一個產(chǎn)品一2023/8/2軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門專業(yè)核心課程。通過本課程的學(xué)習(xí),使學(xué)生掌握系統(tǒng)的軟件開發(fā)理論、技術(shù)和方法,使用正確的工程方法開發(fā)出成本低、可靠性好并在機(jī)器上能高效運(yùn)行的軟件,為今后從事軟件開發(fā)和維護(hù)打下堅(jiān)實(shí)的基礎(chǔ)。課程的性質(zhì)、目的與任務(wù)2023/7/31軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)2023/8/2本課程比較全面、系統(tǒng)地介紹軟件工程的概念、技術(shù)與方法。主要內(nèi)容包括:軟件工程概述、軟件生存周期及軟件需求分析、軟件設(shè)計(jì)方法、軟件測試技術(shù)等。

通過本課程的學(xué)習(xí),使學(xué)生能真正的從中了解軟件開發(fā)的整個過程。為了讓學(xué)生真正得以實(shí)踐,結(jié)合實(shí)際軟件開發(fā)項(xiàng)目,讓學(xué)生從問題定義開始,經(jīng)過可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼直到最后要對自己開發(fā)的軟件還要進(jìn)行測試,這樣一個軟件開發(fā)過程,從而使學(xué)生掌握軟件開發(fā)的基本技能。課程主要內(nèi)容2023/7/31本課程比較全面、系統(tǒng)地介紹軟件工程2023/8/2學(xué)習(xí)本課程的基本要求本課程是繼程序設(shè)計(jì)課程之后,對提高學(xué)生軟件開發(fā)能力有重要作用的一門課程。要求學(xué)生在學(xué)習(xí)本課程前應(yīng)掌握信息管理系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、結(jié)構(gòu)化程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)以及程序設(shè)計(jì)方法論。通過本課程的學(xué)習(xí),為學(xué)生后期的畢業(yè)設(shè)計(jì)環(huán)節(jié)奠定了良好的基礎(chǔ)。2023/7/31學(xué)習(xí)本課程的基本要求本課程是繼程序2023/8/2章學(xué)時章學(xué)時章學(xué)時章學(xué)時12349413222421021442284122總學(xué)時48=40(講授)+8(課程設(shè)計(jì))各章學(xué)時安排2023/7/31章學(xué)時章學(xué)時章學(xué)時章學(xué)時1234941322023/8/2第一章軟件工程概述水利工程建筑工程機(jī)械工程…

…軟件工程本章將對軟件的地位和作用、軟件的特點(diǎn)、軟件的發(fā)展、軟件的危機(jī)以及軟件工程學(xué)科的形成、軟件生期等方面的問題和基本概念傳統(tǒng)工程新興工程氣象工程生物工程2023/7/31第一章軟件工程概述水利工程建筑工程機(jī)械工2023/8/21.1軟件的概念與特點(diǎn)1、軟件softwaresoft+ware軟制品(軟體)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分。它包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。2023/7/311.1軟件的概念與特點(diǎn)1、軟件softw2023/8/22、軟件特點(diǎn).

軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體.

軟件的生產(chǎn)與硬件不同.在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損,老化問題磨合調(diào)整磨損用壞修改點(diǎn)實(shí)際曲線理想曲線硬件失效率曲線時間失效率時間失效率軟件失效率曲線2023/7/312、軟件特點(diǎn).軟件是一種邏輯實(shí)體,而不2023/8/2.

軟件的成本相當(dāng)昂貴軟件技術(shù)的發(fā)展落后于需求時間軟件復(fù)雜性軟件需求差距軟件技術(shù)硬、軟件成本比例的變化年份成本%軟件1950197019851995硬件2023/7/31.軟件的成本相當(dāng)昂貴軟件技術(shù)的發(fā)展落后2023/8/23、軟件的分類1、按軟件的功能進(jìn)行劃分系統(tǒng)軟件支撐軟件應(yīng)用軟件2023/7/313、軟件的分類1、按軟件的功能進(jìn)行劃分系支2023/8/2支撐軟件一般類型:文本編輯程序文本格式化程序支持需求分析:PSL/PSA問題描述語言關(guān)系數(shù)據(jù)庫管理系統(tǒng)支持設(shè)計(jì):圖形軟件包結(jié)構(gòu)化流程圖繪圖程序支持測試:靜態(tài)分析器測試覆蓋檢驗(yàn)程序支持實(shí)現(xiàn):編輯程序連接編輯程序支持管理:標(biāo)準(zhǔn)檢驗(yàn)程序庫管理程序2023/7/31支撐軟件一般類型:支持需求分析:支持設(shè)計(jì):2023/8/22、按軟件的規(guī)模進(jìn)行劃分

按開發(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/7/312、按軟件的規(guī)模進(jìn)行劃分2023/8/2

3、按軟件開發(fā)劃分軟件項(xiàng)目開發(fā)軟件產(chǎn)品開發(fā)2023/7/313、按軟件開發(fā)劃分軟軟2023/8/21.2軟件工程的概念及范疇1、“軟件工程”----SoftwareEngineering于1968年NATO組織在德國召開的一次會議上提出是把軟件當(dāng)作一種工業(yè)產(chǎn)品,要求“采用工程化的原理與方法對軟件進(jìn)行計(jì)劃、開發(fā)和維護(hù)”。2023/7/311.2軟件工程的概念及范疇1、“軟件工2023/8/2軟件工程學(xué)

軟件開發(fā)技術(shù)

軟件工程管理軟件開發(fā)方法學(xué)軟件工具軟件工程環(huán)境軟件工程管理學(xué)軟件經(jīng)濟(jì)學(xué)----軟件工程學(xué)的范疇2、軟件工程學(xué)2023/7/31軟件工程學(xué)軟件開發(fā)技術(shù)軟件工程管2023/8/2

Wakeupeverydaywithafeelingofpassionforthedifferenttechnologywillmakeinpeople’sLife.微軟企業(yè)文化宗旨部分內(nèi)容

每天醒來的時候,要對技術(shù)給生活造成的改變始終擁有一份激情。2023/7/31Wakeupeve2023/8/2程序3、軟件的演變(即從傳統(tǒng)軟件開發(fā)到現(xiàn)代軟件開發(fā))軟件軟件產(chǎn)品傳統(tǒng)軟件開發(fā)現(xiàn)代軟件開發(fā)1975198920000.00016240營業(yè)額增長曲線802023/7/31程序3、軟件的演變(即從傳統(tǒng)軟件開發(fā)到現(xiàn)2023/8/21.3軟件生存周期把軟件從產(chǎn)生、發(fā)展到成熟、直至衰亡為止(SWlifecycle)2023/7/311.3軟件生存周期把軟件從產(chǎn)生、發(fā)展到成2023/8/2特點(diǎn):上一階段的變換結(jié)果是下一階段的變換的輸入,相鄰兩個階段具有因果關(guān)系,緊密相聯(lián)。需求分析問題定義可性行研究計(jì)劃時期概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測試開發(fā)時期運(yùn)行與維護(hù)運(yùn)行時期軟件生存周期模型(瀑布模型WaterfallModel)2023/7/31特點(diǎn):需求分析問題定義可性行研究計(jì)劃概要設(shè)2023/8/2原型模型(PrototypeModel)加工原型原型原型:是指模擬某種產(chǎn)品的原始模型快速分析和設(shè)計(jì)建造原型客戶評價原型1、原型系統(tǒng)僅包括未來系統(tǒng)的主要功能,以及系統(tǒng)的重要接口。2、為了盡快向用戶提供原型,開發(fā)原型系統(tǒng)時應(yīng)盡量使用

能縮短開發(fā)周期的語言和工具。2023/7/31原型模型(PrototypeMode2023/8/2

第二章問題的定義與可性行研究

當(dāng)我們在著手做任何一件工作以前,必須明確工作的性質(zhì)、任務(wù),制定完成任務(wù)的計(jì)劃,這是非常必要的。同樣對于軟件產(chǎn)品的開發(fā),顯然也應(yīng)該解決好這樣類似的問題,明確該軟件產(chǎn)品開發(fā)的任務(wù),以及完成任務(wù)的價值從而制定出完成任務(wù)的計(jì)劃。那么問題的定義和可性行研究就是制定軟件系統(tǒng)的計(jì)劃的第一步。所以在軟件工程中把這一步稱為計(jì)劃時期2023/7/31第二章問題的定義與可性行研究2023/8/2開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議結(jié)束Y計(jì)劃時期的工作流程圖N2023/7/31開始問題定義可性行研究可行否?項(xiàng)目實(shí)施計(jì)2023/8/2Who為誰設(shè)計(jì),用戶是誰?What要解決哪些問題?Why為什么要解決這些問題

3W

WinCE1.0

有用的軟件2023/7/31Who為誰設(shè)計(jì),用戶是誰?What要解2023/8/22.1現(xiàn)狀調(diào)查和問題的定義目的:弄清楚用戶要求計(jì)算機(jī)解決什么問題任務(wù):編寫系統(tǒng)目標(biāo)與規(guī)范說明書系統(tǒng)目標(biāo)與規(guī)范說明書1、項(xiàng)目:教材銷售系統(tǒng)2、問題:人工銷售教材手續(xù)繁瑣,容易出錯3、項(xiàng)目目標(biāo):建立一個高效率、無差錯的計(jì)算機(jī)教材銷售系統(tǒng)4、項(xiàng)目范圍:利用現(xiàn)有的計(jì)算機(jī),軟件開發(fā)費(fèi)用不得超過2000元5、初步想法:建議在系統(tǒng)中增加對缺書的統(tǒng)計(jì)與采購功能6、可性行研究:建議進(jìn)行大約10天的可性行研究,且研究費(fèi)用不超過500元2023/7/312.1現(xiàn)狀調(diào)查和問題的定義目的:弄清楚2023/8/22.2可行性研究與論證1、經(jīng)濟(jì)可行性:進(jìn)行成本效益分析,評估項(xiàng)目的開發(fā)成本?;谟?jì)算機(jī)系統(tǒng)的成本由四部分組成1、購置軟、硬件及有關(guān)設(shè)備費(fèi)用2、系統(tǒng)開發(fā)費(fèi)用3、系統(tǒng)安裝和維護(hù)費(fèi)用4、人員培訓(xùn)費(fèi)用費(fèi)用其論證的焦點(diǎn)是:圍繞著對系統(tǒng)開發(fā)的價值進(jìn)行論證2023/7/312.2可行性研究與論證1、經(jīng)濟(jì)可行性:2023/8/2舉例:關(guān)于開發(fā)CAD系統(tǒng)的軟件開發(fā)成本及效益分析

12345

年6040200成本-效益(萬元)該系統(tǒng)節(jié)省經(jīng)費(fèi)該系統(tǒng)成本盈虧平衡點(diǎn)投資回收期---------成本及效益分析圖2023/7/31舉例:關(guān)于開發(fā)CAD系統(tǒng)的軟件開發(fā)成本及效2023/8/22、技術(shù)可行性:對系統(tǒng)的性能、可靠性、可維護(hù)性以及生產(chǎn)率等方面的信息進(jìn)行評價。通過技術(shù)可行性的分析,將為新系統(tǒng)提交技術(shù)可行性評估。以指明為完成系統(tǒng)的功能和性能需要什么技術(shù)?需要哪些材料、方法、算法、或者過程等技術(shù)可行性分析方法---數(shù)學(xué)模型和優(yōu)化技術(shù)、概率和統(tǒng)計(jì)、排隊(duì)論、控制論等方法。2023/7/312、技術(shù)可行性:對系統(tǒng)的性能、可靠性、可維2023/8/2可行性論證報(bào)告1、系統(tǒng)概述2、可行性分析3、擬訂開發(fā)計(jì)劃4、結(jié)論意見2023/7/31可行性1、系統(tǒng)概述2、可行性分析3、擬訂開2023/8/22.3可行性分析所需工具(系流程圖與系統(tǒng)結(jié)構(gòu)圖)1、系統(tǒng)流程圖:是用來描述系統(tǒng)物理模型的一種傳統(tǒng)工具。流程符號含義流程符號含義數(shù)據(jù)加工符號換頁連接輸入/輸出符號磁帶符號連接點(diǎn)符號文檔符號人工操作多文檔符號2023/7/312.3可行性分析所需工具(系流程圖與系2023/8/2流程符號含義流程符號含義顯示器或終端機(jī)控制流符號磁盤機(jī)或數(shù)據(jù)庫流程開始與結(jié)束2023/7/31流程符號含義流程符號含義顯2023/8/2舉例庫存清單系統(tǒng)流程圖庫存清單程序定貨報(bào)告事務(wù)定貨信息結(jié)束報(bào)告生成程序零件庫2023/7/31舉例庫存清單系統(tǒng)流程圖庫存清單程序定貨報(bào)2023/8/2人工銷售教材流程圖結(jié)束學(xué)生申請購書購書證明檢索教材帳本是否有該教材購書單開購書發(fā)票和購書單購書發(fā)票到書庫領(lǐng)書2023/7/31人工銷售教材流程圖結(jié)束學(xué)生申請購購書證明2023/8/2計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購書發(fā)票到書庫領(lǐng)書購書單終端審查并開發(fā)票11---學(xué)生各學(xué)期用書數(shù)據(jù)庫購書單22---教材存量數(shù)據(jù)庫2023/7/31計(jì)算機(jī)售書系統(tǒng)流程圖結(jié)束學(xué)生購書發(fā)票到書庫2023/8/2練習(xí)設(shè)某城市招干考試成績統(tǒng)計(jì)系統(tǒng)??忌秩齻€專業(yè),不同專業(yè)考試科目不同:法律專業(yè)---考政治、語文、法律行政專業(yè)---考政治、語文、行政財(cái)經(jīng)專業(yè)---考政治、語文、財(cái)經(jīng)學(xué)每個考生在報(bào)名時登記姓名、地址、年齡和報(bào)考專業(yè)。報(bào)名后招干辦公室根據(jù)專業(yè)考生專業(yè)及地址在市區(qū)或郊區(qū)來編排準(zhǔn)考證號碼和考場??忌鷧⒓涌荚嚭螅斎朊總€考生的各門課程的成績,并統(tǒng)計(jì)出每個考生三門課程的總成績。按準(zhǔn)考證號的順序打印出考生考試成績單,分發(fā)給每個考生。各專業(yè)分別將考生按成績總分從高到低的次序排序,以便決定錄取名單。請畫出由下列文字描述的系統(tǒng)流程圖2023/7/31練習(xí)設(shè)某城市招干考試成績統(tǒng)計(jì)系統(tǒng)。請畫2023/8/22、系統(tǒng)結(jié)構(gòu)圖:系統(tǒng)工程師用結(jié)構(gòu)摸板開發(fā)的系統(tǒng)模型用戶界面處理輸入處理維護(hù)和自測試處理和控制功能輸出處理----結(jié)構(gòu)摸板----2023/7/312、系統(tǒng)結(jié)構(gòu)圖:系統(tǒng)工程師用結(jié)構(gòu)摸板開發(fā)的2023/8/2-------傳輸線的分類系統(tǒng)3、系統(tǒng)結(jié)構(gòu)環(huán)境圖(ACD-ArchitectureContextDiagram)

:ACD

可用于描述實(shí)現(xiàn)系統(tǒng)與系統(tǒng)運(yùn)行環(huán)境之間的信息邊界。2023/7/31-------傳輸線的分類系統(tǒng)3、系統(tǒng)2023/8/2傳輸線分類系統(tǒng)條形碼閱讀器傳輸線分配站操作員分配站操作員分類機(jī)構(gòu)主機(jī)條形碼線速指示器分路命令格式化報(bào)告數(shù)據(jù)查詢查詢及報(bào)告診斷數(shù)據(jù)-------傳輸線分類系統(tǒng)的ACD圖處理與控制功能區(qū)外部實(shí)體2023/7/31傳輸線條形碼傳輸線分配站分配站分類機(jī)構(gòu)主2023/8/2

ACD的層次結(jié)構(gòu)ABC2023/7/31ACD的層次結(jié)構(gòu)ABC2023/8/2作請畫出學(xué)生成績管理系統(tǒng)的ACD圖業(yè)2023/7/31作請畫出學(xué)生成績管理系統(tǒng)的業(yè)2023/8/2

第3章軟件需求分析軟件需求分析是軟件開發(fā)早期的一個重要階段。它在問題定義和可行性研究階段之后進(jìn)行。需求分析的基本任務(wù)是軟件人員和用戶一起完全弄清用戶對系統(tǒng)的確切要求。這是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟,也是整個系統(tǒng)開發(fā)的基礎(chǔ)。軟件需求分析階段要求用需求規(guī)格說明書(SRS)

來表達(dá)用戶對系統(tǒng)的要求。規(guī)格說明書可用文字方式表示,也可用圖形表示。本章將介紹需求分析的任務(wù)、步驟、需求分析方法(面向數(shù)據(jù)流圖分析方法、面向?qū)ο蟮姆治龇椒ǎ?023/7/31第3章軟件需求分析軟件2023/8/2一、確定目標(biāo)系統(tǒng)的具體要求1、確定系統(tǒng)的運(yùn)行環(huán)境要求2、系統(tǒng)的性能要求3、系統(tǒng)功能3.1需求分析的任務(wù)硬件環(huán)境和軟件環(huán)境確定目標(biāo)系統(tǒng)具備的所有功能2023/7/31一、確定目標(biāo)系統(tǒng)的具體要求1、確定系統(tǒng)的運(yùn)2023/8/2舉例數(shù)據(jù)庫中存放的是職工的某學(xué)校醫(yī)療費(fèi)管理系統(tǒng)所屬部門、職工號、姓名職工報(bào)銷時應(yīng)填寫:所屬部門、職工號、姓名、日期校內(nèi)門診、校外門診、住院費(fèi)、子女醫(yī)療費(fèi)醫(yī)療費(fèi)分類:該校規(guī)定,每年每個職工的醫(yī)療費(fèi)有一個限額(如80元),限額在年初確定,其限額規(guī)則如下:1、每個職工一年內(nèi)報(bào)銷的醫(yī)療費(fèi)不超過限額時,全部報(bào)銷2、超額,則超出部分只可報(bào)銷90%,其余10%由職工個人負(fù)擔(dān)3、職工子女的醫(yī)療費(fèi)也有限額(如40元)2023/7/31舉例數(shù)據(jù)庫中存放的是職工的某學(xué)校醫(yī)療費(fèi)管理2023/8/21、醫(yī)療費(fèi)管理系統(tǒng)每天記錄當(dāng)天報(bào)銷的若干職工或職工子女的醫(yī)療費(fèi)的類別、金額。

2、在當(dāng)天下班前讓系統(tǒng)自動結(jié)帳、統(tǒng)計(jì)當(dāng)天報(bào)銷的醫(yī)療費(fèi)總額,供出納員核對。

3、每筆帳要保存?zhèn)洳?,每天所?bào)銷的費(fèi)用要和各個職工已報(bào)銷的金額累計(jì)起來,以便檢查哪些職工已超額。

4、系統(tǒng)還要配有適當(dāng)?shù)牟樵児δ堋?/p>

5、年終結(jié)算后,下一年度開始時要對數(shù)據(jù)庫文件進(jìn)行初始化。

6、當(dāng)職工調(diào)離本單位,職工調(diào)如本單位或在本單位內(nèi)部門間調(diào)動,數(shù)據(jù)庫文件應(yīng)能及時得到修改。

請完成對上述系統(tǒng)的需求分析用戶對系統(tǒng)的要求2023/7/311、醫(yī)療費(fèi)管理系統(tǒng)每天記錄當(dāng)天報(bào)銷的若干2023/8/2

該系統(tǒng)規(guī)模不太大,可以和用戶單位的其他管理系統(tǒng)使用相同的計(jì)算機(jī)硬件設(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/7/311、確定系統(tǒng)的環(huán)境要求2023/8/23、系統(tǒng)的功能(1)具有表格形式屏幕的輸入格式(2)具有重復(fù)錄入數(shù)據(jù)的功能(3)具有查詢和統(tǒng)計(jì)匯總的功能(4)職工的調(diào)入和調(diào)出以及對數(shù)據(jù)庫的初始化2023/7/313、系統(tǒng)的功能(1)具有表格形式屏幕的2023/8/22、系統(tǒng)性能要求(1)數(shù)據(jù)不能隨意更改2)保證數(shù)據(jù)的準(zhǔn)確性

由于醫(yī)療費(fèi)管理系統(tǒng)涉及到會計(jì)經(jīng)費(fèi)問題,數(shù)據(jù)不能隨意更改但數(shù)據(jù)輸入又難免會出錯。因而在每輸入一個職工的醫(yī)療費(fèi)后,屏幕提示“數(shù)據(jù)有誤嗎?”。若是在核對時有誤,可及時更改,避免輸入錯誤。一天報(bào)銷結(jié)束時,在數(shù)據(jù)存檔前,再讓出納員核對一下經(jīng)費(fèi)總額,若出納員支出的金額總數(shù)有誤時,應(yīng)讓計(jì)算機(jī)顯示每筆帳目,供一一仔細(xì)核對,此時在允許修改一次。當(dāng)正式登帳后,數(shù)據(jù)就絕對不允許在修改了,由此保證財(cái)務(wù)制度的嚴(yán)格性,保證數(shù)據(jù)的安全性。

2023/7/312、系統(tǒng)性能要求(1)數(shù)據(jù)不能隨意2023/8/2二、建立目標(biāo)系統(tǒng)的邏輯模型

通常軟件軟件開發(fā)項(xiàng)目是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型,即確定待開發(fā)軟件系統(tǒng)的系統(tǒng)元素,并將功能和數(shù)據(jù)結(jié)構(gòu)分配到這些系統(tǒng)元素中。它是軟件實(shí)現(xiàn)的基礎(chǔ)。但是目標(biāo)系統(tǒng)的物理模型是由它的邏輯模型經(jīng)實(shí)例化,即具體到某個業(yè)務(wù)領(lǐng)域而得到的。與物理模型不同,邏輯模型忽視機(jī)制和細(xì)節(jié),只描述系統(tǒng)要完成的功能和要處理的數(shù)據(jù)。為此,該階段的主要任務(wù)是,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,也就是解決目標(biāo)系統(tǒng)“做什么”的問題。2023/7/31二、建立目標(biāo)系統(tǒng)的邏輯模型2023/8/2用戶調(diào)查具體模型建立系統(tǒng)模型的工作流程邏輯抽象當(dāng)前系統(tǒng)邏輯模型當(dāng)前系統(tǒng)計(jì)算機(jī)化評審修改正式模型完善細(xì)節(jié)目標(biāo)系統(tǒng)目標(biāo)系統(tǒng)初始模型經(jīng)認(rèn)可的問題需求系統(tǒng)模型用戶1、建立目標(biāo)系統(tǒng)邏輯模型的步驟2023/7/31用戶具體模型建立系統(tǒng)模型的工作流程邏輯當(dāng)前2023/8/2圖形工具數(shù)據(jù)流圖數(shù)據(jù)字典2、建立目標(biāo)系統(tǒng)邏輯模型的圖形工具2023/7/31圖形工具數(shù)據(jù)流圖數(shù)據(jù)字典2、建立目標(biāo)2023/8/2----學(xué)生購買教材的具體模型

舉例請建立計(jì)算機(jī)售書系統(tǒng)的邏輯模型張秘書學(xué)生購書購書王會計(jì)發(fā)票李出納領(lǐng)書趙保管單申請證明書----學(xué)生購買教材的邏輯模型

審查有效性學(xué)生有效購書單開發(fā)票發(fā)票開領(lǐng)書單領(lǐng)書單發(fā)書購書單書2023/7/31----學(xué)生購買教材的具體模型舉例2023/8/2----學(xué)生購買教材的邏輯模型

審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生完善目標(biāo)系統(tǒng)并補(bǔ)充細(xì)節(jié),的出目標(biāo)系統(tǒng)的正式邏輯模型2023/7/31----學(xué)生購買教材的邏輯模型審查2023/8/2三、需求規(guī)格說明書與評審軟件需求說明書----SRS(SoftwareRequirementSpecification)主要包括以下的內(nèi)容:SRS引言數(shù)據(jù)描述數(shù)據(jù)流圖數(shù)據(jù)字典功能描述性能描述特殊需求2023/7/31三、需求規(guī)格說明書與評審軟件需求說明書2023/8/2一、數(shù)據(jù)流圖

3.2面向數(shù)據(jù)流的方法----DFD(DataFlowDiagram)是用來描述系統(tǒng)邏輯模型的一種圖形工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。DFD2023/7/31一、數(shù)據(jù)流圖3.2面向數(shù)據(jù)流的方法2023/8/2儲戶檢驗(yàn)付款登錄存折帳卡取款信息辦理取款手續(xù)的DFD圖檢驗(yàn)不合格現(xiàn)款付款信息取款單存折2023/7/31儲檢驗(yàn)付款登錄存折帳卡取款辦理取款手續(xù)的2023/8/21、數(shù)據(jù)流圖中的主要圖形元素------轉(zhuǎn)換數(shù)據(jù)流的處理過程

----

可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。箭頭向內(nèi)則表示寫入文件或查詢文件,箭頭向外則表示從文件中讀取數(shù)據(jù)或得到查詢結(jié)果數(shù)據(jù)轉(zhuǎn)換外部實(shí)體------位于軟件系統(tǒng)邊界之外的信息生產(chǎn)者或消費(fèi)者數(shù)據(jù)流------在轉(zhuǎn)換之間有向流動的數(shù)據(jù)項(xiàng)或數(shù)據(jù)集合數(shù)據(jù)存儲文件2023/7/311、數(shù)據(jù)流圖中的主要圖形元素------2023/8/2----

系統(tǒng)邏輯模型數(shù)據(jù)的加工或變換輸入輸出軟件系統(tǒng)外部實(shí)體外部實(shí)體……外部實(shí)體外部實(shí)體……輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流2023/7/31----系統(tǒng)邏輯模型數(shù)據(jù)的輸入輸出軟件外2023/8/2----學(xué)生購買教材的邏輯模型

審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生外部實(shí)體數(shù)據(jù)的加工2023/7/31----學(xué)生購買教材的邏輯模型審2023/8/22、數(shù)據(jù)流圖中的其它圖形元素ABC------有A則B或者C,或者兩者都有*ABC+ABC------有A則B與C,或者兩者同時有------有A則B或C,但不會同時有B與C2023/7/312、數(shù)據(jù)流圖中的其它圖形元素ABC---2023/8/2-----標(biāo)識多個數(shù)據(jù)流與加工之間關(guān)系的符號------當(dāng)A或B有一個存在就有CABC*ABC------只有當(dāng)A與B都存在,則有C2023/7/31-----標(biāo)識多個數(shù)據(jù)流與加工之間關(guān)系的2023/8/23、分層的數(shù)據(jù)流圖F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n

層第n+1

層第n+2

層2023/7/313、分層的數(shù)據(jù)流圖F0A0B0F11A02023/8/2人工銷售教材系統(tǒng)流程圖學(xué)生開購書證明購書證明開購書發(fā)票發(fā)票收書費(fèi)領(lǐng)書單發(fā)書學(xué)生舉例2023/7/31人工銷售教材系統(tǒng)流程圖學(xué)生開購書購書開購2023/8/2學(xué)生教材購銷系統(tǒng)購書單領(lǐng)書單缺書單進(jìn)書通知進(jìn)書通知保管員1銷售購書單領(lǐng)書單學(xué)生缺書單進(jìn)書通知2采購保管員第1

層第2

層教材存量表F1缺書登記表F2外部實(shí)體外部實(shí)體2023/7/31學(xué)教材購書單領(lǐng)書單缺書單進(jìn)書通知進(jìn)書通知保2023/8/2教材銷售子系統(tǒng)無效書單購書單1.3登記并開領(lǐng)書單1.2開發(fā)票1.1審查有效性1.4登記缺書1.5補(bǔ)售教材采購學(xué)生學(xué)生進(jìn)書通知有效書單發(fā)票領(lǐng)書單暫缺書單1銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員第2

層補(bǔ)售書單第3層教材存量表F1缺書登記表F2

F1書號單價數(shù)量各班用書表F3售書登記表F4外部項(xiàng)2023/7/31教材銷售子系統(tǒng)無效書單購書單1.312023/8/21銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員采購子系統(tǒng)

第2層第3

層缺書單2.3修改教材庫存和待購量銷售進(jìn)書通知進(jìn)書通知2.1按書號匯總?cè)睍?.2按出版社統(tǒng)計(jì)缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F22023/7/311購書單領(lǐng)書單缺書單進(jìn)書通知2進(jìn)書通知缺書2023/8/2.便于實(shí)現(xiàn).便于使用---采用逐步細(xì)化的擴(kuò)展方法,可避免一次引入過多的細(xì)節(jié),有利于控制問題的復(fù)雜度;

---用一組圖代替一張總圖,方便用戶及

軟件開發(fā)人員閱讀。4、分層DFD圖的優(yōu)點(diǎn)2023/7/31.便于實(shí)現(xiàn).便于使用---采用逐2023/8/2.注意父圖和子圖的平衡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/7/31.注意父圖和子圖的平衡5、畫分層DF2023/8/2.區(qū)分局部文件和局部外部項(xiàng).掌握分解的速度一般來說,每一個加工每次可分為2-4個子加工,最多不得超過7個。.遵守加工編號規(guī)則頂層加工不編號。第二層的加工編號為1,2,3,…,n號。第三層編號為1.1,1.2,1.3…n.1,n.2…等號,依此類推。2023/7/31.區(qū)分局部文件和局部外部項(xiàng).掌握分2023/8/21銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員采購子系統(tǒng)

第2層第3

層缺書單2.3修改教材庫存和待購量銷售進(jìn)書通知進(jìn)書通知2.1按書號匯總?cè)睍?.2按出版社統(tǒng)計(jì)缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F2局部外部項(xiàng)局部文件2023/7/311購書單領(lǐng)書單缺書單進(jìn)書通知2進(jìn)書通知缺書2023/8/2練請畫出學(xué)生成績管理系統(tǒng)的DFD

圖習(xí)2023/7/31練請畫出學(xué)生成績管理系統(tǒng)的習(xí)2023/8/2二、數(shù)據(jù)字典

----DD(DataDictionary)數(shù)據(jù)字典的任務(wù)是:對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。DD2023/7/31二、數(shù)據(jù)字典----DD(Data2023/8/21、數(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èi)合計(jì)審查并開發(fā)票發(fā)票購書單

2023/7/311、數(shù)據(jù)字典的定義數(shù)據(jù)流名:(1)數(shù)據(jù)流2023/8/2數(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/7/31數(shù)據(jù)元素名:(2)數(shù)據(jù)元素詞條的描述2023/8/2(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/7/31(3)數(shù)據(jù)文件詞條的描述2023/8/2加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu)

…(4)

加工邏輯詞條的描述

1.3審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表2023/7/31加工名:(4)加工邏輯詞條的描述2023/8/2名稱:外部實(shí)體名簡要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:(5)外部實(shí)體詞條描述

1銷售購書單領(lǐng)書單缺書單進(jìn)書通知2采購進(jìn)書通知缺書登記表教材存量表學(xué)生保管員2023/7/31名稱:外部實(shí)體名(5)外部實(shí)體詞條描2023/8/22、數(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/7/312、數(shù)據(jù)字典定義符號符號含義例2023/8/2儲戶檢驗(yàn)付款登錄存折帳卡取款信息--------辦理取款手續(xù)的DFD圖檢驗(yàn)不合格現(xiàn)款付款信息取款單存折練習(xí)請為下列給出的DFD

圖編寫DD2023/7/31儲檢驗(yàn)付款登錄存折帳卡取款--------2023/8/2日期年月日摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點(diǎn)名稱:帳號:開戶日:性質(zhì):印密:-------存折格式2023/7/31日期摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點(diǎn)2023/8/2日期(年月日)摘要支出存入余額操作復(fù)核戶名:儲蓄網(wǎng)點(diǎn)名稱:帳號:開戶日:性質(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/7/31日期(年月日)摘要支出存入余額操作復(fù)核戶2023/8/23、數(shù)據(jù)字典的實(shí)現(xiàn)數(shù)據(jù)字典的實(shí)現(xiàn)人工方法自動方法將每一字典中的詞條寫在一張卡片上,由專人管理和維護(hù)利用“字典管理程序”在計(jì)算機(jī)中對字典進(jìn)行管理和維護(hù)。2023/7/313、數(shù)據(jù)字典的實(shí)現(xiàn)數(shù)據(jù)字典的實(shí)現(xiàn)人工方法2023/8/2三、加工說明

----(ProcessSpecification)加工說明是:對DFD中每個加工給予說明。它是從系統(tǒng)功能的角度對DFD作出了注解,與DD一樣是DFD必不可缺少的輔助資料。PS2023/7/31三、加工說明----(Process2023/8/2加工說明組成輸入數(shù)據(jù)加工邏輯輸出數(shù)據(jù)加工說明描述工具結(jié)構(gòu)化語言判定表判定樹描述把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工過程,是加工說明的主體。2023/7/31加工說明組成輸入加工輸出加工說明結(jié)構(gòu)化判定2023/8/2----學(xué)生購買教材的邏輯模型

審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生2023/7/31----學(xué)生購買教材的邏輯模型審2023/8/2自然語言+結(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/7/31自然語言+結(jié)構(gòu)化形式結(jié)構(gòu)化語言選如果<條件2023/8/2例1:請寫出下列在DFD圖中給出的“統(tǒng)計(jì)晚婚職工”的加工說明CountLate-MarriageEmployeesLate-Marriage-CountRequest職工名冊文件Late-Marriage-List=List-Count+Name-ListName-List={Name}2023/7/31例1:請寫出下列在DFD圖中給出的2023/8/2CountLate-MarriageEmployeesPolicyForeachLate-Marriage-Countrequest:

Repeatthefollowing;Accessthestaffs-Record.

Ifstatusissingle,

IfsexismaieandAgeisover30orsexisfemaleandAgeisover26WriteNametoName-List.IncrementList-Count.

UntiltherearenomoreStaff-Records.CombineList-CountandName-List.WriteUpLate-Marriage-List.2023/7/31CountLate-Marriag2023/8/2----學(xué)生購買教材的系統(tǒng)邏輯模型

審查并開發(fā)票學(xué)生發(fā)票購書單各班學(xué)生用書表教材存量表無效書單開領(lǐng)書單領(lǐng)書單學(xué)生例2:請為下列DFD中的“審查并開發(fā)票”加工點(diǎn)寫加工說明2023/7/31----學(xué)生購買教材的系統(tǒng)邏輯模型2023/8/2把學(xué)生學(xué)號和姓名寫到發(fā)票上按購書單上學(xué)生的年級和系、專業(yè)與班號

檢索“各班學(xué)生用書表”文件,獲得該生當(dāng)年的書單

購書單上的每一書號

如果

書單上無此書號

把書號寫到出錯通知單上

否則

按書號檢索“教材存量表”文件,從而獲得該書的單價與庫存量

如果

庫存量〈購書單的數(shù)量

將書號寫到出錯通知單上

否則

將書號、單價、數(shù)量、總價等項(xiàng)寫入到發(fā)票上;更新存書量,并寫回“教材存量表”文件;累計(jì)書費(fèi)合計(jì)

把書費(fèi)合計(jì)寫到發(fā)票上對每張購書單2023/7/31把學(xué)生學(xué)號和姓名寫到發(fā)票上對每張購書單2023/8/2分房加工婚齡中級職稱晚婚正常分房優(yōu)先分房不分房分房加工邏輯判斷表采用表格的形式來表達(dá)具復(fù)雜判斷的加工邏輯1、一般職工婚后5年可參加分房2、中級以上職稱的職工婚后3年可參加分房3、符合正常分房條件的職工,若再符合晚婚條件可優(yōu)先分房2023/7/31分房婚齡中級職稱晚婚正常分房優(yōu)先分房不分房2023/8/2分房加工婚齡中級職稱晚婚正常分房優(yōu)先分房不分房123456說明條件婚齡>5年3-5年<3年(-)表示任意

(Y)條件滿足

(N)條件不滿足(*)選中的決策中級職稱-----------YN-----晚婚YNYN---------決策優(yōu)先分房**正常分房**不分房**2023/7/31分房婚齡中級職稱晚婚正常分房優(yōu)先分房不分房2023/8/2判斷樹判斷樹是判斷表的圖形形式其適用場合與判斷表相同中級職稱不分房初婚分房決策>5年3-5年<3年優(yōu)先分房非中級職稱正常分房正常分房晚婚非晚婚晚婚非晚婚優(yōu)先分房不分房2023/7/31判斷樹判斷樹是判斷表的圖形形式中級不2023/8/2“檢查發(fā)貨單”的判斷表1234條件發(fā)貨單金額>$500>$500<=$500<=$500賒欠情況>60天<=60天>60天<=60天決策不發(fā)出批準(zhǔn)書V發(fā)出批準(zhǔn)書VVV發(fā)出發(fā)貨單VVV發(fā)出賒欠報(bào)告V2023/7/31“檢查發(fā)貨單”的判斷表1234條發(fā)貨單金2023/8/2作業(yè)工資管理系統(tǒng)系統(tǒng)流程圖系統(tǒng)軟件模型部分?jǐn)?shù)據(jù)字典一、對工資管理系統(tǒng)進(jìn)行需求分析二、閱讀教課書的P27

頁2023/7/31作業(yè)工資管理系統(tǒng)系統(tǒng)流程圖系統(tǒng)軟件模型2023/8/2三、把下列用文字?jǐn)⑹龅膬?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/7/31三、把下列用文字?jǐn)⑹龅膬?nèi)容請采判斷表和判斷2023/8/2面向?qū)ο罄^承類3.3面向?qū)ο蟮男枨蠓治鲆?、面向?qū)ο蟮母拍?/p>

對象消息2023/7/31面向?qū)ο罄^承類3.3面向?qū)ο蟮男枨?023/8/2對象對象就是一個包含數(shù)據(jù)以及與這些數(shù)據(jù)有關(guān)的操作的集合。每個實(shí)體都是對象。對象數(shù)據(jù)操作代碼2023/7/31對對象就是一個包含數(shù)據(jù)以及與這些數(shù)2023/8/2類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象集合。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。類定義可視為一個具有類似特性與共同行為的對象摸板,可用來產(chǎn)生對象??梢哉f,類是對象的抽象,而對象是類的具體實(shí)例。2023/7/31類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作2023/8/2繼承是在一個已存有的類的基礎(chǔ)上建立一個新的類。并將已存在的類稱為--基類或父類;新建立的類稱為—派生類或子類。繼承基類派生類2023/7/31繼承是在一個已存有的類的基礎(chǔ)上建立2023/8/2對象繼承了類所有屬性------從類到對象的繼承costdimensionweightlocationcolor類:furniturecostdimensionweightlocationcolor對象:chair對象、類、繼承

2023/7/31對象繼承了類所有屬性------從類到對2023/8/2

對象繼承類的所有屬性和操作costdimensionweightlocationcolor類:furnitureBuySellWeightmovecostdimensionweightlocationcolor對象:chableBuySellWeightmovecostdimensionweightlocationcolor對象:chairBuySellWeightmove2023/7/31對象繼承類的所有屬性和操作cost類:2023/8/2------面向?qū)ο箢惖谋硎灸J?/p>

類名:

操作:屬性:2023/7/31------面向?qū)ο箢惖谋硎灸J筋惷?023/8/2識別對象1、標(biāo)識潛在對象找出通過分析過程中的所有名詞或名詞短語并合并同義詞。除去有動作含義的名詞,使它們將被描述為對象的操作。標(biāo)識規(guī)則如下:(1)、外部實(shí)體(2)、事物(3)、位置(7)、聚焦對象(5)、事件(6)、角色(4)、組織機(jī)構(gòu)2023/7/31識別對象1、標(biāo)識潛在對象找2023/8/2二、面向?qū)ο蟮姆治龇椒?OOA)

ObjectOrientedAnalysisOOA的核心思想是利用OO的概念和方法對軟件需求建造模型,以使用戶需求逐步精確化、一致化、完全化。為此,OOA的方法步驟為:識別對象屬性及外部服務(wù)識別類及其結(jié)構(gòu)定義對象之間的消息傳遞2023/7/31二、面向?qū)ο蟮姆治龇椒?OOA)O2023/8/2潛在對象理由用戶傳感器控制面板系統(tǒng)(SafeHomeSystem)傳感器編號密碼電話號碼傳感器事件警報(bào)器角色或外部實(shí)體外部實(shí)體外部實(shí)體聚焦對象概念實(shí)體概念實(shí)體概念實(shí)體事件外部實(shí)體例如:2023/7/31潛在對象理由用戶角色或外部實(shí)體例如:2023/8/22、篩選對象篩選對象規(guī)則如下:(1)、具有記憶自身狀態(tài)的能力(2)、有意義的操作(3)、多個屬性(5)、公共操作(6)、必須的需求(4)、公共屬性潛在對象理由用戶傳感器控制面板系統(tǒng))傳感器編號密碼電話號碼傳感器事件警報(bào)器角色或外部實(shí)體外部實(shí)體外部實(shí)體聚焦對象概念實(shí)體概念實(shí)體概念實(shí)體事件外部實(shí)體2023/7/312、篩選對象篩選對象規(guī)則如下:(1)、具2023/8/2

第四章軟件設(shè)計(jì)基礎(chǔ)

Who為誰設(shè)計(jì),用戶是誰?What要解決哪些問題?Why為什么要解決這些問題

3W2023/7/31第四章軟件設(shè)計(jì)基礎(chǔ)Who為誰2023/8/24.1軟件設(shè)計(jì)過程編碼測試設(shè)計(jì)信息描述功能描述行為描述其他需求總體結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)過程設(shè)計(jì)程序模塊集成并確認(rèn)的軟件------軟件開發(fā)階段的信息流2023/7/314.1軟件設(shè)計(jì)過程編碼測試設(shè)計(jì)信息描述功2023/8/2軟件設(shè)計(jì)任務(wù)制定規(guī)范4.2軟件設(shè)計(jì)的任務(wù)和步驟軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)處理方式設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)可靠性設(shè)計(jì)2023/7/31軟件設(shè)計(jì)任務(wù)制定規(guī)范4.2軟件設(shè)計(jì)的任2023/8/2軟件設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法4.3軟件設(shè)計(jì)的方法面向?qū)ο蟮脑O(shè)計(jì)方法2023/7/31軟件設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法4.3軟件設(shè)2023/8/2一、模塊化設(shè)計(jì)與信息隱藏-----“模塊“又稱”構(gòu)件”一般指用一個名字調(diào)用的一段程序4.4軟件設(shè)計(jì)基礎(chǔ)模塊(module)模塊化設(shè)計(jì)(modulardesign)按適當(dāng)?shù)脑瓌t把軟件劃分為一個個較小的、相關(guān)而又相對獨(dú)立的模塊。

邏輯功能狀態(tài)2023/7/31一、模塊化設(shè)計(jì)與信息隱藏-----“模塊2023/8/21、分解(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/7/311、分解(decomposition)E2023/8/2C(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)軟件工程基本定理最小成本區(qū)M模塊成本接口成本總成本軟件開發(fā)工作量

模塊數(shù)2023/7/31C(P1+P2)>C(P1)+C(P2)軟2023/8/2

每個模塊的實(shí)現(xiàn)細(xì)節(jié)對于其他模塊來說是隱藏的。也就是說,模塊中所包含的信息是不允許其他不需要這些信息的模塊使用的。2、信息隱藏(informationhiding)棧stack置空棧

makenull進(jìn)棧

push退棧

pop2023/7/31每個模塊的實(shí)現(xiàn)細(xì)節(jié)對于2023/8/23、模塊的獨(dú)立性(moduleindependence)模塊的獨(dú)立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。耦合

模塊之間的相對獨(dú)立性的度量。內(nèi)聚

模塊功能強(qiáng)度的度量。2023/7/313、模塊的獨(dú)立性(moduleindep2023/8/2(1)、內(nèi)聚(Cohesion)低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過程內(nèi)聚時間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強(qiáng)弱

內(nèi)聚性模塊獨(dú)立性2023/7/31(1)、內(nèi)聚(Cohesion)低功能信息2023/8/2偶然性內(nèi)聚MSTORERECN()TONREADMASTREFILEADD1TOX。。。。。。ABC當(dāng)模塊內(nèi)各部之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散。則稱這種模塊為巧合內(nèi)聚模塊。2023/7/31偶然性內(nèi)聚M2023/8/2邏輯性內(nèi)聚這種模塊是把幾種功能組合在一起,每次調(diào)用時,則由傳遞給模塊的判定參數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。調(diào)用模塊判定讀一個記錄寫一個記錄被調(diào)用模塊2023/7/31邏輯性內(nèi)聚2023/8/2SXYZWABCDSXYZWABCD2023/7/31SXYZWABCDSXYZWABCD2023/8/2信息性內(nèi)聚這種模塊能完成多個功能,各個功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一項(xiàng)功能有一個唯一的入口點(diǎn)。

符號表

查找登錄刪除修改2023/7/31信息性內(nèi)聚2023/8/2功能性內(nèi)聚如果一個模塊內(nèi)所有成分都完成一個功能則稱這樣的模塊為功能模塊。主控模塊錄入查詢打印低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過程內(nèi)聚時間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強(qiáng)弱

內(nèi)聚性模塊獨(dú)立性2023/7/31功能性內(nèi)聚2023/8/2(2)、耦合耦合性是程序結(jié)構(gòu)中各個模塊之間相互關(guān)聯(lián)的度量它取決于各個模塊之間接口的復(fù)雜程度、調(diào)用模塊的方式以及那些信息通過接口。低非直接耦合數(shù)據(jù)耦合標(biāo)記耦合控制耦合外部耦合公共耦合內(nèi)容耦合高弱強(qiáng)耦合性模塊獨(dú)立性2023/7/31(2)、耦合耦合性是程序結(jié)2023/8/2公共耦合允許一組模塊訪問同一全局性的數(shù)據(jù)結(jié)構(gòu)。全局?jǐn)?shù)據(jù)區(qū)ABCDEFB、C、E

為公共耦合2023/7/31公共耦合允許一2023/8/2控制耦合如果一個模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能就是控制耦合。A模塊flagf1Bf2fn……2023/7/31控制耦合2023/8/2以上給出了7種耦合類型,這只是從耦合的機(jī)制上所做的分類,按耦合的強(qiáng)弱程度的排列只是相對的關(guān)系。但它給設(shè)計(jì)人員在設(shè)計(jì)程序結(jié)構(gòu)時提供了一決策準(zhǔn)則。實(shí)際上,開始時兩個模塊之間的耦合不只是一種類型,而是多種類型的混合。這就要求設(shè)計(jì)人員按照實(shí)際情況進(jìn)行分析、比較和分析,逐步加以改進(jìn),以提高模塊的獨(dú)立性。2023/7/31以上給出了7種耦合類型,這只2023/8/24.5結(jié)構(gòu)化設(shè)計(jì)方法(SD--StructuredDesign)

結(jié)構(gòu)化設(shè)計(jì)方法是基于模塊化、自頂向下細(xì)化、結(jié)構(gòu)化程序設(shè)計(jì)等程序設(shè)計(jì)技術(shù)基礎(chǔ)發(fā)展起來的。它所提供的方法和原則,主要是用來指導(dǎo)軟件的概要設(shè)計(jì)。它還提供了一種“結(jié)構(gòu)圖”的描述工具,是專門用來描述軟件的總體結(jié)構(gòu)的。

2023/7/314.5結(jié)構(gòu)化設(shè)計(jì)方法(SD--Stru2023/8/2結(jié)構(gòu)化設(shè)計(jì)屬于面向數(shù)據(jù)流的設(shè)計(jì)方法。在軟件的需求分析階段,數(shù)據(jù)流是軟件開發(fā)人員考慮問題的出發(fā)點(diǎn)和基礎(chǔ)。數(shù)據(jù)流從系統(tǒng)的輸入端向輸出端,則要經(jīng)歷一系列的變換或處理。用來表現(xiàn)這個過程的數(shù)據(jù)流(DFD),實(shí)際上就是軟件系統(tǒng)的邏輯模型。面向數(shù)據(jù)流的設(shè)計(jì)要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將DFD圖映射(Mapping)---軟件系統(tǒng)的結(jié)構(gòu)。換句話說,這類設(shè)計(jì)方法,允許把用DFD圖表示的系統(tǒng)邏輯模型,很方便地轉(zhuǎn)換成對于軟件結(jié)構(gòu)的初始設(shè)計(jì)描述。結(jié)構(gòu)化設(shè)計(jì)方法中,軟件的結(jié)構(gòu)一律用SC圖來描述。2023/7/31結(jié)構(gòu)化設(shè)計(jì)屬于面向數(shù)據(jù)流的設(shè)計(jì)方2023/8/2結(jié)構(gòu)化設(shè)計(jì)的目的使程序的結(jié)構(gòu)盡可能反映要解決的問題的結(jié)構(gòu)結(jié)構(gòu)化設(shè)計(jì)的任務(wù)完成目標(biāo)系統(tǒng)的—系統(tǒng)結(jié)構(gòu)圖(SC)2023/7/31結(jié)構(gòu)化設(shè)使程序的結(jié)構(gòu)盡可能反結(jié)構(gòu)化設(shè)完2023/8/2目標(biāo)系統(tǒng)的DFDSC圖---StructuredChart該圖常用來表示系統(tǒng)的軟件結(jié)構(gòu)。利用它可以清楚地表達(dá)軟件結(jié)構(gòu)中模塊間的層次調(diào)用關(guān)系和模塊之間的聯(lián)系。SD目標(biāo)系統(tǒng)的SC2023/7/31目標(biāo)系統(tǒng)的DFDSC圖---Stru2023/8/2ASC

圖中的主要內(nèi)容1、模塊--在SC圖中用矩形框表示,并用名字來標(biāo)記它--模塊調(diào)用關(guān)系2、模塊的調(diào)用關(guān)系和接口B調(diào)用模塊調(diào)用模塊A(查詢學(xué)生)B(查找學(xué)生記錄)數(shù)據(jù)信號控制信號學(xué)號查找成功信號--模塊間接口的表示2023/7/31ASC圖中的主要內(nèi)容1、模塊--在SC圖2023/8/2產(chǎn)生最佳解得到好的輸入計(jì)算最佳解輸出結(jié)果讀輸入編輯輸入好輸入好輸入解解原始輸入原始輸入編輯結(jié)果結(jié)果格式化顯示結(jié)果解格式化的解SC

圖的一般格式2023/7/31產(chǎn)生最佳解得到好的輸入計(jì)算最佳解輸出結(jié)果讀2023/8/21、在系統(tǒng)結(jié)構(gòu)圖中的模塊一、典型的系統(tǒng)結(jié)構(gòu)形式原子模塊:在系統(tǒng)結(jié)構(gòu)圖中通常是指不能再分割的底層模塊完全因子分解系統(tǒng)如果一個軟件系統(tǒng),它的全部實(shí)際加工(即數(shù)據(jù)計(jì)算或處理)都是由底層的原子模塊來完成,而其它所有非原子模塊僅僅執(zhí)行控制或協(xié)調(diào)功能。2023/7/311、在系統(tǒng)結(jié)構(gòu)圖中的模塊一、典型的系統(tǒng)結(jié)構(gòu)2023/8/2傳入模塊AA傳入模塊從下屬模塊取得數(shù)據(jù),進(jìn)行某些處理,再將其結(jié)果傳給上級模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸入數(shù)據(jù)流。在系統(tǒng)結(jié)構(gòu)圖中有四種類型的模塊:邏輯輸入數(shù)據(jù)流成績處理成績錄入2023/7/31傳入模塊AA傳入模塊從下屬模塊2023/8/2傳出模塊從上級模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其結(jié)果傳給下屬模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸出數(shù)據(jù)流。傳出模塊DD邏輯輸出數(shù)據(jù)流成績處理成績輸出2023/7/31傳出模塊從上級模塊獲得數(shù)據(jù),進(jìn)2023/8/2變換模塊也叫加工模塊。它是從上級模塊獲得數(shù)據(jù),進(jìn)行特定的處理,將其轉(zhuǎn)換為其他形式,再傳回上級模塊它所加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。變換模塊CB變換數(shù)據(jù)流審查并開發(fā)票發(fā)票購書單2023/7/31變換模塊也叫加工模塊。它是從上2023/8/2協(xié)調(diào)模塊對所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。在一個好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。協(xié)調(diào)模塊YXYX2023/7/31協(xié)調(diào)模塊對所有下屬模塊進(jìn)行協(xié)調(diào)2023/8/22、典型的系統(tǒng)結(jié)構(gòu)形式之一(變換型系統(tǒng)結(jié)構(gòu)圖)取得數(shù)據(jù)iaeo變換數(shù)據(jù)給出數(shù)據(jù)傳入部分變換中心傳出部分--------具有變換型數(shù)據(jù)流圖2023/7/312、典型的系統(tǒng)結(jié)構(gòu)形式之一(變換型系統(tǒng)結(jié)構(gòu)2023/8/2主模塊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/7/31主模塊C變換成D取得C給出D取得BB變換成2023/8/23、典型的系統(tǒng)結(jié)構(gòu)形式之二(事務(wù)型系統(tǒng)結(jié)構(gòu)圖)“事務(wù)”引起、觸發(fā)或啟動某一動作或一串動作的任何數(shù)據(jù)、控制信號、事件或狀態(tài)的變化。由它接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì)

選擇分配一個適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果。2023/7/313、典型的系統(tǒng)結(jié)構(gòu)形式之二(事務(wù)型系統(tǒng)結(jié)構(gòu)2023/8/2輸入------事務(wù)型數(shù)據(jù)流圖1ABC3DEFGH24567中心變換輸出邏輯輸入物理輸入邏輯輸出物理輸出2023/7/31輸入------事務(wù)型數(shù)據(jù)流圖1ABC2023/8/21ABC3DEFGH24567MT3邏輯輸入邏輯輸出CDCD,E,F456------事務(wù)型數(shù)據(jù)流圖(DFD)------事務(wù)型系統(tǒng)結(jié)構(gòu)圖(SC)2023/7/311ABC3DEFGH24567MT3邏輯輸2023/8/2事務(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細(xì)節(jié)2細(xì)節(jié)3細(xì)節(jié)4細(xì)節(jié)5細(xì)節(jié)6細(xì)節(jié)1細(xì)節(jié)7結(jié)果2023/7/31事務(wù)中心輸入已分內(nèi)部表示的作業(yè)結(jié)果----2023/8/2------簡化的事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)中心得到作業(yè)作業(yè)結(jié)果輸出結(jié)果分析調(diào)度事務(wù)1事務(wù)2事務(wù)32023/7/31------簡化的事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)中心2023/8/2二、從DFD圖導(dǎo)出SC圖的步驟開始細(xì)化修改SRS中的DFD圖判斷DFD圖的結(jié)構(gòu)類型是變換型嗎?F事務(wù)分析變換分析完善SC圖T對最終的SC圖進(jìn)行評審結(jié)束2023/7/31二、從DFD圖導(dǎo)出SC圖的步驟開始2023/8/21、變換分析----是將具有變換型的DFD圖導(dǎo)出SC圖變換分析從物理輸入、物理輸出及變換中心進(jìn)行由頂向下的分解得出各個分支的所有組成模塊在數(shù)據(jù)流圖上區(qū)分系統(tǒng)的邏輯輸入、邏輯輸出和變換中心部分,并標(biāo)出它們的分界。進(jìn)行一級分解,設(shè)計(jì)系統(tǒng)模塊結(jié)構(gòu)的頂層和第一層。進(jìn)行二級分解,設(shè)計(jì)中、下層模塊。2023/7/311、變換分析----是將具有變換型的DFD2023/8/2(1)在DFD

圖上標(biāo)出邏輯輸入、邏輯輸出和變換中心的分界AeBaCbDcEdPQRwuvwuvrp變換中心c,e邏輯輸入w,u邏輯輸出--------具有變換型數(shù)據(jù)流圖2023/7/31(1)在DFD圖上標(biāo)出邏輯輸入、邏輯輸2023/8

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論