![習(xí)題課(軟件工件-信息系統(tǒng)分析)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/ff07cecd-4d7a-42c7-b331-1a95cbb21508/ff07cecd-4d7a-42c7-b331-1a95cbb215081.gif)
![習(xí)題課(軟件工件-信息系統(tǒng)分析)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/ff07cecd-4d7a-42c7-b331-1a95cbb21508/ff07cecd-4d7a-42c7-b331-1a95cbb215082.gif)
![習(xí)題課(軟件工件-信息系統(tǒng)分析)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/ff07cecd-4d7a-42c7-b331-1a95cbb21508/ff07cecd-4d7a-42c7-b331-1a95cbb215083.gif)
![習(xí)題課(軟件工件-信息系統(tǒng)分析)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/ff07cecd-4d7a-42c7-b331-1a95cbb21508/ff07cecd-4d7a-42c7-b331-1a95cbb215084.gif)
![習(xí)題課(軟件工件-信息系統(tǒng)分析)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/ff07cecd-4d7a-42c7-b331-1a95cbb21508/ff07cecd-4d7a-42c7-b331-1a95cbb215085.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題課習(xí)題課軟件開發(fā)成本軟件開發(fā)成本成本估算成本估算需求分析需求分析數(shù)據(jù)流圖數(shù)據(jù)流圖系統(tǒng)分析系統(tǒng)分析動態(tài)模型動態(tài)模型結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計模塊獨立性模塊獨立性系統(tǒng)測試系統(tǒng)測試測試用例設(shè)計測試用例設(shè)計系統(tǒng)運行維護(hù)系統(tǒng)運行維護(hù)維護(hù)性維護(hù)性1軟件開發(fā)成本軟件開發(fā)成本成本估算成本估算1 1、美國一家公司在美國一家公司在19821982年計劃用年計劃用FORTRANFORTRAN語言開發(fā)一個在語言開發(fā)一個在VAX750VAX750計算機(jī)上運行的應(yīng)用程序,估計這個程序的長度為計算機(jī)上運行的應(yīng)用程序,估計這個程序的長度為1000010000條條FORTRANFORTRAN指令。如果平均每天可以開發(fā)出指令。如果
2、平均每天可以開發(fā)出1010條條FORTRANFORTRAN指令,請問:指令,請問:(1 1)開發(fā)這個應(yīng)用程序?qū)⒂枚嗌偃巳??開發(fā)這個應(yīng)用程序?qū)⒂枚嗌偃巳眨浚? 2)假設(shè)程序員的月平均工資為假設(shè)程序員的月平均工資為40004000美元,每月按美元,每月按2020個工作個工作日計算,這個軟件的成本是多少美元?日計算,這個軟件的成本是多少美元?(3 3)19821982年年VAX750VAX750計算機(jī)硬件價格約為計算機(jī)硬件價格約為125000125000美元,在美元,在那一年這個軟件的成本在總成本中占多大比例?那一年這個軟件的成本在總成本中占多大比例?(4 4)2020年后,一臺性能遠(yuǎn)遠(yuǎn)優(yōu)于年后,一
3、臺性能遠(yuǎn)遠(yuǎn)優(yōu)于VAX750VAX750的微型計算機(jī)的價的微型計算機(jī)的價格約為格約為20002000美元,這時軟件開發(fā)生產(chǎn)率已提高到平均每人每美元,這時軟件開發(fā)生產(chǎn)率已提高到平均每人每天可以開發(fā)出天可以開發(fā)出4040條指令,而程序員的月平均工資也已漲到條指令,而程序員的月平均工資也已漲到80008000美元。如果在美元。如果在20022002年開發(fā)上述年開發(fā)上述FORTRANFORTRAN應(yīng)用程序的應(yīng)用程序的成本在總成本中占多大比例?成本在總成本中占多大比例?2解:解:(1 1)開發(fā)這個應(yīng)用程序大約需用開發(fā)這個應(yīng)用程序大約需用10001000個人日。需要指出的是個人日。需要指出的是,上述工作量包
4、括問題定義、可行性研究、需求分析、總體設(shè),上述工作量包括問題定義、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試等各個開發(fā)階段的工作量,而計、詳細(xì)設(shè)計、編碼和單元測試等各個開發(fā)階段的工作量,而不僅僅是編寫程序所需的工作量。不僅僅是編寫程序所需的工作量。(2 2)每月平均工作每月平均工作2020天,故開發(fā)這個軟件需要用:天,故開發(fā)這個軟件需要用: 1000/20=50 1000/20=50(人月)人月)每人每月的平均工資為每人每月的平均工資為40004000美元,故這個軟件的成本大約為:美元,故這個軟件的成本大約為: 50 50* *4000=2000004000=200000(美元)
5、美元)(3 3)軟件成本與硬件成本之和為計算機(jī)系統(tǒng)總成本。這個軟件軟件成本與硬件成本之和為計算機(jī)系統(tǒng)總成本。這個軟件的成本在總成本中所占的比例為:的成本在總成本中所占的比例為: 200000/ 200000/(200000+125000200000+125000)=61.5%=61.5%(4 4)在在20022002年開發(fā)這個應(yīng)用程序所需用的工作量約為:年開發(fā)這個應(yīng)用程序所需用的工作量約為: 10000/ 10000/(4040* *2020)=12.5=12.5(人月)(人月)這個軟件的成本大約為:這個軟件的成本大約為: 12.5 12.5* *8000=1000008000=100000(
6、美元)(美元)該軟件的成本在總成本中所占的比例為:該軟件的成本在總成本中所占的比例為: 100000/ 100000/(100000+2000100000+2000)=98%=98%3需求分析需求分析數(shù)據(jù)流圖數(shù)據(jù)流圖41 1、 銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、利率及密)、身份證號碼、存款類型、存款日期、利率及密碼(可選)等信息,并印出存款
7、單給儲戶;如果是碼(可選)等信息,并印出存款單給儲戶;如果是取款而且存款時留有密碼,收系統(tǒng)首先核對儲戶密取款而且存款時留有密碼,收系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并印出利息清單給儲戶。息并印出利息清單給儲戶。請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體聯(lián)聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對象。系圖描繪系統(tǒng)中的數(shù)據(jù)對象。習(xí)題習(xí)題5解:(解:(1 1)描繪本系統(tǒng)功能的數(shù)據(jù)流圖如下。描繪本系統(tǒng)功能的數(shù)據(jù)流圖如下。1 1記錄存記錄存款信息款信息2 2打印存打印存款存單款存單3 3核對核對密碼密碼4 4計算計
8、算利息利息5 5打印利打印利息清單息清單儲戶儲戶儲戶儲戶D1 存款信息存款信息存款信息存款信息存款信息存款信息利利息息清清單單存款存單存款存單存款單存款單取款單取款單存款信息存款信息存款信息存款信息利息值利息值6(2 2)本問題中的實體及屬性本問題中的實體及屬性n兩類實體:兩類實體:n儲戶和儲蓄所。他們之間有儲戶和儲蓄所。他們之間有“存取款存取款”關(guān)系。關(guān)系。n關(guān)系:關(guān)系:n一位儲戶可以在多家儲蓄所存取款,一位儲戶可以在多家儲蓄所存取款,n一家儲蓄所擁有多位儲戶,一家儲蓄所擁有多位儲戶,n所以存取款是多對多(所以存取款是多對多(MM:N N)關(guān)系。關(guān)系。n屬性:屬性:n儲戶的屬性主要有:姓名、
9、住址、電話號碼和身份證號碼;儲戶的屬性主要有:姓名、住址、電話號碼和身份證號碼;n儲蓄所的屬性主要有:名稱、地址和電話號碼;儲蓄所的屬性主要有:名稱、地址和電話號碼;n聯(lián)系類型存取款的屬性:數(shù)額、類型、到期日期、利率和密聯(lián)系類型存取款的屬性:數(shù)額、類型、到期日期、利率和密碼。碼。n計算機(jī)儲蓄系統(tǒng)中數(shù)據(jù)對象的實體計算機(jī)儲蓄系統(tǒng)中數(shù)據(jù)對象的實體聯(lián)系圖如下。聯(lián)系圖如下。7描繪計算機(jī)儲蓄系統(tǒng)中數(shù)據(jù)對象的實體描繪計算機(jī)儲蓄系統(tǒng)中數(shù)據(jù)對象的實體聯(lián)系圖聯(lián)系圖住址住址圖圖 存款信息計算機(jī)儲蓄系統(tǒng)的實體存款信息計算機(jī)儲蓄系統(tǒng)的實體聯(lián)系圖聯(lián)系圖儲蓄所儲蓄所N N姓名姓名地址地址名稱名稱數(shù)額數(shù)額類型類型利率利率密碼
10、密碼電話號碼電話號碼身份證號碼身份證號碼到期日期到期日期電話號碼電話號碼儲戶儲戶存取款存取款MM8習(xí)題習(xí)題2 2、目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時觀察危重病人的要大量護(hù)士,而且由于不能隨時觀察危重病人的病情變化,還會延誤搶救時機(jī)。某醫(yī)院打算開發(fā)病情變化,還會延誤搶救時機(jī)。某醫(yī)院打算開發(fā)一個以計算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),請分層次一個以計算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),請分層次地畫出描述本系統(tǒng)功能的數(shù)據(jù)流圖。地畫出描述本系統(tǒng)功能的數(shù)據(jù)流圖。 醫(yī)院對患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時接收醫(yī)院對患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時接收每個病人的生
11、理信號每個病人的生理信號( (脈搏、體溫、血壓、心電圖脈搏、體溫、血壓、心電圖等等) ),定時記錄病人情況以形成患者日志,當(dāng)某個,定時記錄病人情況以形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時還可班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。以要求系統(tǒng)印出某個指定病人的病情報告。9解解: :(1 1)系統(tǒng)的數(shù)據(jù)源點、終點、處理功能及存系統(tǒng)的數(shù)據(jù)源點、終點、處理功能及存儲儲n源點:源點:n病人:提供生理信號信息;病人:提供生理信號信息;n系統(tǒng)隨時接收每個病人的生理信
12、號系統(tǒng)隨時接收每個病人的生理信號( (脈搏、體溫、血脈搏、體溫、血壓、心電圖等壓、心電圖等) )n護(hù)士:要求病情報告信息;護(hù)士:要求病情報告信息;n護(hù)士可以要求系統(tǒng)印出某個指定病人的病情報告。護(hù)士可以要求系統(tǒng)印出某個指定病人的病情報告。n時鐘:提供日期和時間信息的時鐘:提供日期和時間信息的“時鐘時鐘”。n系統(tǒng)應(yīng)系統(tǒng)應(yīng)“定時記錄病人情況以形成患者日志定時記錄病人情況以形成患者日志” 。n終點:終點:n護(hù)士:接收警告信息和病情報告。護(hù)士:接收警告信息和病情報告。10解解: :(1 1)系統(tǒng)的數(shù)據(jù)源點、終點、處理功能及存系統(tǒng)的數(shù)據(jù)源點、終點、處理功能及存儲儲n處理:處理:n接收信號;接收信號;n分析
13、信號;分析信號;n產(chǎn)生警告信息信息;產(chǎn)生警告信息信息;n定時取樣生理信號;定時取樣生理信號;n更新日志;更新日志;n產(chǎn)生病情報告。產(chǎn)生病情報告。n存儲:存儲:n患者安全范圍:醫(yī)生規(guī)定的病人的生理信號安全范圍;患者安全范圍:醫(yī)生規(guī)定的病人的生理信號安全范圍;n患者日志:定時記錄病人情況以形成患者日志?;颊呷罩荆憾〞r記錄病人情況以形成患者日志。 11(2 2)系統(tǒng)的基本系統(tǒng)模型系統(tǒng)的基本系統(tǒng)模型護(hù)士護(hù)士護(hù)士護(hù)士警告信息警告信息生理信號生理信號患者監(jiān)患者監(jiān)護(hù)系統(tǒng)護(hù)系統(tǒng)病人病人時鐘時鐘病情報告病情報告日期、時間日期、時間要求報告要求報告圖圖 患者監(jiān)護(hù)系統(tǒng)的基本系統(tǒng)模型患者監(jiān)護(hù)系統(tǒng)的基本系統(tǒng)模型12(3
14、 3)系統(tǒng)的功能級數(shù)據(jù)流圖系統(tǒng)的功能級數(shù)據(jù)流圖1 1接收接收信號信號3 3產(chǎn)生警產(chǎn)生警告信息告信息4 4定時取樣定時取樣生理信號生理信號D1 患者安全范圍患者安全范圍危急病人危急病人信息信息病情報告病情報告警告警告信息信息生理信號生理信號日期日期時間時間定時的定時的生理信號生理信號日志日志數(shù)據(jù)數(shù)據(jù)護(hù)士護(hù)士護(hù)士護(hù)士病人病人時鐘時鐘2 2分析分析信號信號5 5更新更新日志日志6 6產(chǎn)生病產(chǎn)生病情報告情報告D1 患者日志患者日志生理信號生理信號要求要求報告報告1314n3 3、北京某高校可用的電話號碼有以下幾類:北京某高??捎玫碾娫捥柎a有以下幾類:n校內(nèi)電話號碼由校內(nèi)電話號碼由4 4位數(shù)字組成,第位
15、數(shù)字組成,第1 1位數(shù)字不是位數(shù)字不是0 0;n校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0 0,若是本市電話則再接著撥若是本市電話則再接著撥8 8位數(shù)字位數(shù)字( (第第1 1位不是位不是0)0),若是外地電話則,若是外地電話則撥撥3 3位區(qū)碼再撥位區(qū)碼再撥8 8位電話號碼位電話號碼( (第第1 1位不是位不是0)0)。n請用定義數(shù)據(jù)的方法,定義上述的電話號碼。請用定義數(shù)據(jù)的方法,定義上述的電話號碼。習(xí)題(數(shù)據(jù)管理策略的確定)習(xí)題(數(shù)據(jù)管理策略的確定)n練習(xí)(數(shù)據(jù)元素定義):練習(xí)(數(shù)據(jù)元素定義):n解解1 1:電話號碼電話號碼=
16、校內(nèi)電話號碼校內(nèi)電話號碼| |校外電話號碼校外電話號碼 校內(nèi)電話號碼校內(nèi)電話號碼= =非零數(shù)字非零數(shù)字+3+3位數(shù)字位數(shù)字 3 3位數(shù)字位數(shù)字=3=3數(shù)字?jǐn)?shù)字33 校外電話號碼校外電話號碼=本市號碼本市號碼| |外地號碼外地號碼 本市號碼本市號碼= =數(shù)字零數(shù)字零+8+8位數(shù)字位數(shù)字 外地號碼外地號碼= =數(shù)字零數(shù)字零+3+3位數(shù)字位數(shù)字+8+8位數(shù)字位數(shù)字 8 8位數(shù)字位數(shù)字= =非零數(shù)字非零數(shù)字+7+7位數(shù)字位數(shù)字 7 7位數(shù)字位數(shù)字=7=7數(shù)字?jǐn)?shù)字7715n3 3、北京某高??捎玫碾娫捥柎a有以下幾類:北京某高??捎玫碾娫捥柎a有以下幾類:n校內(nèi)電話號碼由校內(nèi)電話號碼由4 4位數(shù)字組成,第位
17、數(shù)字組成,第1 1位數(shù)字不是位數(shù)字不是0 0;n校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0 0,若是本市電話則再接著撥若是本市電話則再接著撥8 8位數(shù)字位數(shù)字( (第第1 1位不是位不是0)0),若是外地電話則,若是外地電話則撥撥3 3位區(qū)碼再撥位區(qū)碼再撥8 8位電話號碼位電話號碼( (第第1 1位不是位不是0)0)。n請用定義數(shù)據(jù)的方法,定義上述的電話號碼。請用定義數(shù)據(jù)的方法,定義上述的電話號碼。習(xí)題(數(shù)據(jù)管理策略的確定)習(xí)題(數(shù)據(jù)管理策略的確定)n練習(xí)(數(shù)據(jù)元素定義):練習(xí)(數(shù)據(jù)元素定義):n解解2 2:電話號碼:電話號碼
18、=校內(nèi)電話號碼校內(nèi)電話號碼| |校外電話號碼校外電話號碼 校內(nèi)電話號碼校內(nèi)電話號碼= =非零數(shù)字非零數(shù)字+3+3位數(shù)字位數(shù)字 3 3位數(shù)字位數(shù)字=3=3數(shù)字?jǐn)?shù)字33 校外電話號碼校外電話號碼=0+=0+本市號碼本市號碼| |外地號碼外地號碼 本市號碼本市號碼=8=8位數(shù)字位數(shù)字 外地號碼外地號碼=3=3位區(qū)碼位區(qū)碼+8+8位數(shù)字位數(shù)字 3 3位區(qū)碼位區(qū)碼=3=3數(shù)字?jǐn)?shù)字33 8 8位數(shù)字位數(shù)字= =非零數(shù)字非零數(shù)字+7+7位數(shù)字位數(shù)字 7 7位數(shù)字位數(shù)字=7=7數(shù)字?jǐn)?shù)字77系統(tǒng)分析系統(tǒng)分析動態(tài)模型動態(tài)模型16習(xí)題習(xí)題n1 1、辦公室復(fù)印機(jī)的工作過程大致如下:辦公室復(fù)印機(jī)的工作過程大致如下:n未
19、接收到復(fù)印命令時處于閑置狀態(tài),一旦接收未接收到復(fù)印命令時處于閑置狀態(tài),一旦接收到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)缺紙,則復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)缺紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到告
20、等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。閑置狀態(tài)。n請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。17解解: :(1 1)分析復(fù)印機(jī)的狀態(tài)、事件。分析復(fù)印機(jī)的狀態(tài)、事件。n復(fù)印機(jī)的主要狀態(tài):復(fù)印機(jī)的主要狀態(tài):閑置、缺紙、卡紙。閑置、缺紙、卡紙。n引起狀態(tài)轉(zhuǎn)換的事件:引起狀態(tài)轉(zhuǎn)換的事件:n復(fù)印命令、完成復(fù)印命令、發(fā)現(xiàn)缺紙、裝滿紙、復(fù)印命令、完成復(fù)印命令、發(fā)現(xiàn)缺紙、裝滿紙、發(fā)生卡紙故障、排除了卡紙故障。發(fā)生卡紙故障、排除了卡紙故障。(2 2)狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖卡紙卡紙do/do/警告警告發(fā)生卡紙故障發(fā)生卡紙故障發(fā)現(xiàn)缺紙發(fā)現(xiàn)缺紙復(fù)印命令復(fù)印命令完成復(fù)印命令完成復(fù)印命令復(fù)印
21、復(fù)印do/do/復(fù)印復(fù)印閑置閑置缺紙缺紙do/do/警告警告排除了卡紙故障排除了卡紙故障裝滿紙裝滿紙18習(xí)題習(xí)題n假設(shè)你在一所職業(yè)高中工作,負(fù)責(zé)該校信假設(shè)你在一所職業(yè)高中工作,負(fù)責(zé)該校信息系統(tǒng)的建設(shè)與維護(hù)。財務(wù)科長請你研究息系統(tǒng)的建設(shè)與維護(hù)。財務(wù)科長請你研究用學(xué)校擁有的微型計算機(jī)生成工資明細(xì)表用學(xué)校擁有的微型計算機(jī)生成工資明細(xì)表和各種財務(wù)報表的可能性。和各種財務(wù)報表的可能性。n請詳細(xì)描述你用結(jié)構(gòu)化分析方法分析上述請詳細(xì)描述你用結(jié)構(gòu)化分析方法分析上述問題的過程。問題的過程。19結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計模塊獨立性模塊獨立性20表表1 1 模塊接口描述模塊接口描述習(xí)題習(xí)題n1 1、分析圖分析圖1 1,確
22、定模塊之間的耦合類型。,確定模塊之間的耦合類型。n圖中已給模塊之間的接口編了號碼,表圖中已給模塊之間的接口編了號碼,表1 1描述了模塊間的描述了模塊間的接口。接口。接口編號接口編號輸入輸入輸出輸出1 1飛機(jī)類型飛機(jī)類型狀態(tài)標(biāo)志狀態(tài)標(biāo)志2 2飛機(jī)零件清單飛機(jī)零件清單3 3功能代碼功能代碼4 4飛機(jī)零件清單飛機(jī)零件清單5 5零件編號零件編號零件制造商零件制造商6 6零件編號零件編號零件名稱零件名稱圖圖1 1 一個程序的模塊互連圖一個程序的模塊互連圖pqrtsu2 21 13 34 45 56 6模塊模塊p p、t t、u u更新同一更新同一個數(shù)據(jù)庫個數(shù)據(jù)庫21表表1 1 模塊接口描述模塊接口描述解
23、:分析模塊間傳遞的信息類型解:分析模塊間傳遞的信息類型n傳遞簡單變量:傳遞簡單變量:p p與與q q、r r與與t t、s s與與u u,數(shù)據(jù)耦合。數(shù)據(jù)耦合。n傳遞控制元素:傳遞控制元素:q q與與r r。控制耦合??刂岂詈?。n模塊間傳遞功能代碼時就傳遞了控制元素。模塊間傳遞功能代碼時就傳遞了控制元素。n信息不確定:信息不確定:p p與與s s、q q與與s s。數(shù)據(jù)或特征耦合。數(shù)據(jù)或特征耦合。n如果如果s s使用或更新使用或更新p p傳遞的零件清單中的所有元素,數(shù)據(jù)耦合傳遞的零件清單中的所有元素,數(shù)據(jù)耦合n如果如果s s只訪問該清單中的部分元素,特征耦合。只訪問該清單中的部分元素,特征耦合。
24、接口編號接口編號輸入輸入輸出輸出耦合類型耦合類型1 1飛機(jī)類型飛機(jī)類型狀態(tài)標(biāo)志狀態(tài)標(biāo)志數(shù)據(jù)數(shù)據(jù)2 2飛機(jī)零件清單飛機(jī)零件清單3 3功能代碼功能代碼控制控制4 4飛機(jī)零件清單飛機(jī)零件清單5 5零件編號零件編號零件制造商零件制造商數(shù)據(jù)數(shù)據(jù)6 6零件編號零件編號零件名稱零件名稱數(shù)據(jù)數(shù)據(jù)圖圖1 1 一個程序的模塊互連圖一個程序的模塊互連圖pqrtsu2 21 13 34 45 56 6模塊模塊p p、t t、u u更新同一更新同一個數(shù)據(jù)庫個數(shù)據(jù)庫模塊模塊p p、t t、u u之間為公共環(huán)境耦合之間為公共環(huán)境耦合22習(xí)題習(xí)題n2 2、分析圖分析圖2 2所示層次圖,確定每個模塊的內(nèi)聚類型。所示層次圖,確定
25、每個模塊的內(nèi)聚類型。圖圖2 2 計算多地點日平均溫度的程序計算多地點日平均溫度的程序計算多個地點的日平均溫度功能內(nèi)聚功能內(nèi)聚初始化變量sum并打開文件創(chuàng)建新的溫度記錄存儲溫度記錄關(guān)閉文件并打印平均溫度讀取地點、時間和溫度計算特定地點的日平均溫度偶然內(nèi)聚偶然內(nèi)聚偶然內(nèi)聚偶然內(nèi)聚內(nèi)聚練習(xí)23畫出下列偽碼程序的程序流程圖和盒圖:畫出下列偽碼程序的程序流程圖和盒圖:nSTARTnIF p THENnWHILE q DOn fnEND DOnELSEnBLOCKn gn nnEND BLOCKnEND IFnSTOP詳細(xì)設(shè)計練習(xí)n解:(解:(1)程序流程圖程序流程圖gnfT TF F開始開始停止停止pq
26、 q循環(huán)循環(huán)WHILEqWHILEq q q循環(huán)循環(huán)24畫出下列偽碼程序的程序流程圖和盒圖:畫出下列偽碼程序的程序流程圖和盒圖:nSTARTnIF p THENnWHILE q DOn fnEND DOnELSEnBLOCKn gn nnEND BLOCKnEND IFnSTOP本節(jié)練習(xí)n解:(解:(2)盒圖盒圖FpTgqnf25習(xí)題習(xí)題n1 1、用用3 3種方法計算下圖所示流圖的環(huán)形復(fù)雜度。種方法計算下圖所示流圖的環(huán)形復(fù)雜度。a ab bc cd de eh hg gf fn解:環(huán)形復(fù)雜度解:環(huán)形復(fù)雜度V(G)V(G)n(1 1)V(G)=V(G)=流圖中的區(qū)域數(shù)流圖中的區(qū)域數(shù)5 5n(2
27、2)V(G)=V(G)=流圖中邊數(shù)流圖中邊數(shù)E-E-結(jié)點數(shù)結(jié)點數(shù)P+2P+2nE=11E=11,P=8P=8,V(G)=11-8+2=5V(G)=11-8+2=5n(3 3)V(G)=V(G)=判斷數(shù)判斷數(shù)+1+1n有有2 2條輸出弧的為條輸出弧的為1 1個判斷;個判斷;n有有n n條輸出弧的為條輸出弧的為n-1n-1個判斷;個判斷;nV(G)=2V(G)=21+11+1(3-13-1)+1=5+1=526習(xí)題習(xí)題n1 1、用用3 3種方法計算下圖所示流圖的環(huán)形復(fù)雜度。種方法計算下圖所示流圖的環(huán)形復(fù)雜度。a ab bc cd de eh hg gf fn解:環(huán)形復(fù)雜度解:環(huán)形復(fù)雜度V(G)V(
28、G)n(1 1)V(G)=V(G)=流圖中的區(qū)域數(shù)流圖中的區(qū)域數(shù)5 5n(2 2)V(G)=V(G)=流圖中邊數(shù)流圖中邊數(shù)E-E-結(jié)點數(shù)結(jié)點數(shù)P+2P+2nE=11E=11,P=8P=8,V(G)=11-8+2=5V(G)=11-8+2=5n(3 3)V(G)=V(G)=判斷數(shù)判斷數(shù)+1+1n有有2 2條輸出弧的為條輸出弧的為1 1個判斷;個判斷;n有有n n條輸出弧的為條輸出弧的為n-1n-1個判斷;個判斷;nV(G)=2V(G)=21+11+1(3-13-1)+1=5+1=527系統(tǒng)測試系統(tǒng)測試測試用例設(shè)計測試用例設(shè)計28習(xí)題習(xí)題1 1、設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例。設(shè)計下
29、列偽碼程序的語句覆蓋和路徑覆蓋測試用例。STARTSTARTINPUT (A,B,C)INPUT (A,B,C)IF A5IF A5THEN X=10THEN X=10ELSE X=1ELSE X=1END IFEND IFIF B10IF B10THEN Y=20THEN Y=20ELSE Y=2ELSE Y=2END IFEND IFIF C15IF C15THEN Z=30THEN Z=30ELSE Z=3ELSE Z=3END IFEND IFPRINT (X,Y,Z)PRINT (X,Y,Z)STOPSTOPX=10T TF F開始開始停止停止A5A5INPUT A,B,CINPUT
30、 A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z解:程序流程圖如圖。解:程序流程圖如圖。29解:解:(1 1)語句覆蓋測試用例語句覆蓋測試用例使使3 3個判定表達(dá)式之值全為假個判定表達(dá)式之值全為假輸入:輸入:A=1A=1,B=1B=1,C=1C=1預(yù)期輸出:預(yù)期輸出:X=1X=1,Y=2Y=2,Z=3Z=3使使3 3個判定表達(dá)式之值全為真?zhèn)€判定表達(dá)式之值全為真輸入:輸入:A=20A=20,B=40B=40,C=60C=60預(yù)期輸出:預(yù)期輸出:X=10X=10,Y=20Y=20,Z=30Z=30X=10T TF F開始開始停止停止
31、A5A5INPUT A,B,CINPUT A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z(2 2)路徑覆蓋測試用例路徑覆蓋測試用例程序共有程序共有8 8條可能的執(zhí)行通路,共需條可能的執(zhí)行通路,共需8 8組測組測試數(shù)據(jù)。試數(shù)據(jù)。3 3個判定表達(dá)式之值全為假個判定表達(dá)式之值全為假輸入:輸入:A=1A=1,B=1B=1,C=1C=1預(yù)期輸出:預(yù)期輸出:X=1X=1,Y=2Y=2,Z=3Z=33 3個判定表達(dá)式之值依次為假、假、真?zhèn)€判定表達(dá)式之值依次為假、假、真輸入:輸入:A=1A=1,B=1B=1,C=60C=60預(yù)期輸出:預(yù)期輸出:
32、X=1X=1,Y=2Y=2,Z=30Z=3030解解( (續(xù)續(xù)) )3 3個判定表達(dá)式之值依次為假、真、假個判定表達(dá)式之值依次為假、真、假輸入:輸入:A=1A=1,B=40B=40,C=1C=1預(yù)期輸出:預(yù)期輸出:X=1X=1,Y=20Y=20,Z=3Z=33 3個判定表達(dá)式之值依次為假、真、真?zhèn)€判定表達(dá)式之值依次為假、真、真輸入:輸入:A=1A=1,B=40B=40,C=60C=60預(yù)期輸出:預(yù)期輸出:X=1X=1,Y=20Y=20,Z=30Z=303 3個判定表達(dá)式之值依次為真、假、假個判定表達(dá)式之值依次為真、假、假輸入:輸入:A=20A=20,B=1B=1,C=1C=1預(yù)期輸出:預(yù)期輸出
33、:X=10X=10,Y=2Y=2,Z=3Z=33 3個判定表達(dá)式之值依次為真、假、真?zhèn)€判定表達(dá)式之值依次為真、假、真輸入:輸入:A=20A=20,B=1B=1,C=60C=60預(yù)期輸出:預(yù)期輸出:X=10X=10,Y=2Y=2,Z=30Z=303 3個判定表達(dá)式之值依次為真、真、假個判定表達(dá)式之值依次為真、真、假輸入:輸入:A=20A=20,B=40B=40,C=1C=1預(yù)期輸出:預(yù)期輸出:X=10X=10,Y=20Y=20,Z=3Z=33 3個判定表達(dá)式之值全為真?zhèn)€判定表達(dá)式之值全為真輸入:輸入:A=20A=20,B=40B=40,C=60C=60預(yù)期輸出:預(yù)期輸出:X=10X=10,Y=2
34、0Y=20,Z=30Z=30X=10T TF F開始開始停止停止A5A5INPUT A,B,CINPUT A,B,CX=1Y=20B10B10Y=2Z=30C15C15Z=3PRINT X,Y,ZPRINT X,Y,Z31習(xí)題習(xí)題2 2、設(shè)計下列偽碼程序的分支覆蓋和條件組合覆蓋測試用例。、設(shè)計下列偽碼程序的分支覆蓋和條件組合覆蓋測試用例。STARTSTARTINPUT (A,B,C)INPUT (A,B,C)IF (A0) AND (B0)IF (A0) AND (B0)THEN X=A+BTHEN X=A+BELSE X=A-BELSE X=A-BENDENDIF (CA) OR (DA)
35、OR (D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0 A0,B0 A0,B0 A0,B0A0,B0 A0,B0
36、A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DB CA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,
37、B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0 AND A0 AND B0B0INPUT A,B,CINPUT A,B,CX=A-BY=C-DY=C+DPRINT PRINT X,YX,YCA OR CA OR DBD0,B0A0,B0 A0,B0 A0
38、,B0A0,B0A0,B0A0,B0A0,B0CA,DA,DA,DBCA,DBCA,DBCA,D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: I
39、F (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D0)2: IF (A0)3: AND (B0)3: AND (B0)4: THEN X=A+B4: THEN X=A+B5: ELSE X=A-B 5: ELSE X=A-B 6: END6: END7: IF (CA)7: IF (CA)8: OR (DB)8: OR (D
40、B)9: THEN Y=C-D9: THEN Y=C-D10: ELSE Y=C+D10: ELSE Y=C+D11: END11: END12: PRINT (X,Y)12: PRINT (X,Y) STOP STOP解解:有有4 4個步驟:個步驟:2 23 34 45 56 69 98 87 71 1101011111212路徑路徑3 3:1-2-3-5-6-7-9-11-121-2-3-5-6-7-9-11-12路徑路徑4 4:1-2-3-4-6-7-8-9-11-121-2-3-4-6-7-8-9-11-12路徑路徑5 5:1-2-3-4-6-7-8-10-11-1-2-3-4-6-7
41、-8-10-11-1212(4)(4)設(shè)計可強(qiáng)制執(zhí)行基本路徑集合中設(shè)計可強(qiáng)制執(zhí)行基本路徑集合中每條路徑的測試用例每條路徑的測試用例路徑路徑3 3(第第1 1個判定表達(dá)式為假,個判定表達(dá)式為假,第第2 2個判定表達(dá)式為真)個判定表達(dá)式為真)輸入:輸入:A=1,B=0,C=2,D=0(A=1,B=0,C=2,D=0(任意任意) )輸出:輸出:X=1,Y=2X=1,Y=2路徑路徑4 4(2 2個判定表達(dá)式全為真)個判定表達(dá)式全為真)輸入:輸入:A=1,B=1,C=0,D= -1A=1,B=1,C=0,D= -1輸出:輸出:X=2,Y=1X=2,Y=1路徑路徑5 5(第第1 1個判定表達(dá)式為真,個判定
42、表達(dá)式為真,第第2 2個判定表達(dá)式為假)個判定表達(dá)式為假)輸入:輸入:A=1,B=1,C=0,D=2A=1,B=1,C=0,D=2輸出:輸出:X=2,Y=2X=2,Y=2流圖流圖42系統(tǒng)運行維護(hù)系統(tǒng)運行維護(hù)維護(hù)性維護(hù)性43習(xí)題習(xí)題1 1、某些軟件工程師不同意、某些軟件工程師不同意“目前國外許多軟件開目前國外許多軟件開發(fā)組織把發(fā)組織把60%60%以上的人辦用于維護(hù)已有的軟件以上的人辦用于維護(hù)已有的軟件”的的說法,他們爭論說:說法,他們爭論說:“我并沒有花費我的我并沒有花費我的60%60%的時的時間去改正我所開發(fā)的程序中的錯誤間去改正我所開發(fā)的程序中的錯誤”。請問,你對上述爭論有何看法?請問,你對
43、上述爭論有何看法?44答:答:n首先,軟件維護(hù)并非僅僅是改正程序中的錯誤,它還包括為了首先,軟件維護(hù)并非僅僅是改正程序中的錯誤,它還包括為了使軟件適應(yīng)變化了的環(huán)境而修改軟件的活動,以及為了滿足用戶使軟件適應(yīng)變化了的環(huán)境而修改軟件的活動,以及為了滿足用戶在使用軟件的過程中提出的擴(kuò)充或完善軟件的新需求而修改軟件在使用軟件的過程中提出的擴(kuò)充或完善軟件的新需求而修改軟件的活動,甚至包括為了提高軟件未來的可維護(hù)性或可靠性而主動的活動,甚至包括為了提高軟件未來的可維護(hù)性或可靠性而主動地修改軟件的活動。實際上,為了消除程序中潛藏的錯誤而進(jìn)行地修改軟件的活動。實際上,為了消除程序中潛藏的錯誤而進(jìn)行的改正性維護(hù)
44、,僅占全部維護(hù)活動的的改正性維護(hù),僅占全部維護(hù)活動的1/51/5左右。左右。n其次,其次,“目前國外許多軟件開發(fā)組織把目前國外許多軟件開發(fā)組織把60%60%以上的人辦用于維以上的人辦用于維護(hù)已有的軟件護(hù)已有的軟件”指的是指的是軟件開發(fā)組織內(nèi)人力分配的整體狀況。軟件開發(fā)組織內(nèi)人力分配的整體狀況。至于具體到軟件工程師,則分工各不相同。有些專職負(fù)責(zé)維護(hù)至于具體到軟件工程師,則分工各不相同。有些專職負(fù)責(zé)維護(hù)工作,他們的全部工作時間都花費在維護(hù)已有軟件產(chǎn)品的工作工作,他們的全部工作時間都花費在維護(hù)已有軟件產(chǎn)品的工作;另一些人專職負(fù)責(zé)軟件開發(fā)工作,他們并不花費時間去維護(hù);另一些人專職負(fù)責(zé)軟件開發(fā)工作,他們
45、并不花費時間去維護(hù)已有的軟件產(chǎn)品;還有一些人可能既要從事軟件開發(fā)工作又要已有的軟件產(chǎn)品;還有一些人可能既要從事軟件開發(fā)工作又要兼管軟件維護(hù)工作。兼管軟件維護(hù)工作。n第三,軟件維護(hù)人員并非只負(fù)責(zé)維護(hù)自己開發(fā)的程序,通常,第三,軟件維護(hù)人員并非只負(fù)責(zé)維護(hù)自己開發(fā)的程序,通常,一名維護(hù)人員參與多個軟件產(chǎn)品的維護(hù)工作。一名維護(hù)人員參與多個軟件產(chǎn)品的維護(hù)工作。45習(xí)題習(xí)題2 2、某些軟件公司擬采取下述措施提高他們開發(fā)出的軟件產(chǎn)品的可、某些軟件公司擬采取下述措施提高他們開發(fā)出的軟件產(chǎn)品的可維護(hù)性,請判斷哪些措施是正確的,哪些措施不正確。維護(hù)性,請判斷哪些措施是正確的,哪些措施不正確。(1)(1)在分析用戶
46、需求時同時考慮維護(hù)問題。在分析用戶需求時同時考慮維護(hù)問題。(2)(2)測試完程序后,刪去程序中的注解以縮短源程序長度。測試完程序后,刪去程序中的注解以縮短源程序長度。(3)(3)在軟件開發(fā)過程中盡量保證各階段文檔的正確性。在軟件開發(fā)過程中盡量保證各階段文檔的正確性。(4)(4)編碼時盡量多用全局變量。編碼時盡量多用全局變量。(5)(5)選用時間效率和空間效率盡可能高的算法。選用時間效率和空間效率盡可能高的算法。(6)(6)盡可能利用硬件特點以提高程序效率。盡可能利用硬件特點以提高程序效率。(7)(7)盡可能使用高級語言編寫程序。盡可能使用高級語言編寫程序。(8)(8)進(jìn)行總體設(shè)計時加強(qiáng)模塊間的聯(lián)系。進(jìn)行總體設(shè)計時加強(qiáng)模塊間的聯(lián)系。(9)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化活動策劃方案范文
- 現(xiàn)代企業(yè)如何依賴云平臺優(yōu)化數(shù)據(jù)審核流程
- 游戲類直播平臺的用戶行為分析與優(yōu)化策略研究
- 現(xiàn)代舞臺背景屏技術(shù)革新與發(fā)展
- 環(huán)保材料在辦公環(huán)境建設(shè)中的應(yīng)用
- 生產(chǎn)過程中的危機(jī)應(yīng)對與風(fēng)險化解
- 未來十年電動汽車市場預(yù)測與展望
- 生態(tài)系統(tǒng)服務(wù)在商業(yè)地產(chǎn)開發(fā)中的應(yīng)用
- 現(xiàn)代網(wǎng)絡(luò)技術(shù)企業(yè)管理的重要支撐
- 18《書湖陰先生壁》說課稿-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 養(yǎng)老護(hù)理員培訓(xùn)老年人日常生活照料
- 黑龍江省哈爾濱市八年級(下)期末化學(xué)試卷
- 各種抽油泵的結(jié)構(gòu)及工作原理幻燈片
- 學(xué)習(xí)弘揚雷鋒精神主題班會PPT雷鋒精神我傳承爭當(dāng)時代好少年P(guān)PT課件(帶內(nèi)容)
- 社區(qū)獲得性肺炎的護(hù)理查房
- 體育賽事策劃與管理第八章體育賽事的利益相關(guān)者管理課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語6年真題分項版精解精析原卷
- 《生物資源評估》剩余產(chǎn)量模型
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
- 隧道二襯承包合同參考
評論
0/150
提交評論