




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程
導(dǎo)論
張海藩編著
’第1篇軟件工程概述
:?軟件危機(jī)
:?軟件工程
「?jìng)鹘y(tǒng)方法學(xué)
?「技術(shù)
YL面向?qū)ο蠓椒▽W(xué)
題定義
L管理「軟件定義喇城)
:?軟件生命周期J軟件開(kāi)發(fā)
1秋懺廿年編碼和單元測(cè)試
I運(yùn)行維護(hù)〔綜合測(cè)試
>軟件過(guò)程
第2篇軟件定義
問(wèn)題定義\
a
可行性研究
*需求分析
2.1問(wèn)題定義
。目的:弄清楚用戶要求計(jì)算機(jī)解決什么問(wèn)題
。任務(wù):編寫(xiě)“系統(tǒng)目標(biāo)與規(guī)范說(shuō)明”
系統(tǒng)目標(biāo)與規(guī)范說(shuō)明書(shū)
1、項(xiàng)目:教材銷(xiāo)售系統(tǒng)
2、問(wèn)題:人工銷(xiāo)售教材手續(xù)繁瑣,容易出錯(cuò)
3、項(xiàng)目目標(biāo):建立一個(gè)高效率、無(wú)差錯(cuò)的計(jì)算機(jī)教材銷(xiāo)售系統(tǒng)
4、項(xiàng)目范圍:利用現(xiàn)有的計(jì)算機(jī),軟件開(kāi)發(fā)費(fèi)用不得超過(guò)2000元
5、初步想法:建議在系統(tǒng)中增加對(duì)缺書(shū)的統(tǒng)計(jì)與采購(gòu)功能
6、可性行研究:建議進(jìn)行大約10天的可性行研究,且研究費(fèi)用不
超過(guò)500元
一’2.2可行性研究
*目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)
題是否能夠解決.
?:?任務(wù):對(duì)以后的行動(dòng)方針提出建議,制定工程實(shí)
施計(jì)劃。
1)技術(shù)可行性
分析技術(shù)冒險(xiǎn)的各種因素,如:現(xiàn)有的技術(shù)是否能
實(shí)現(xiàn)本系統(tǒng),現(xiàn)有的技術(shù)人員是否能任,開(kāi)發(fā)系
統(tǒng)的軟、硬資源是否能如期得到等。
2)經(jīng)濟(jì)可行性
*這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過(guò)它的開(kāi)發(fā)成本嗎?
。進(jìn)行成本效益分析,評(píng)估項(xiàng)目的開(kāi)發(fā)成本。
舉例:開(kāi)發(fā)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)取代當(dāng)前的手工設(shè)計(jì)過(guò)
程中的成本效益分析
設(shè):T:繪制一幅圖的平均時(shí)間,單位小時(shí)
r:用CAD系統(tǒng)繪圖減少的繪圖時(shí)間比例
d:每小時(shí)繪圖的平均成本,單位元
n:每年繪制圖的數(shù)目
P:用CAD系統(tǒng)繪圖的百分比
則可用下式計(jì)算利用CAD系統(tǒng)繪圖每年可以節(jié)省的經(jīng)費(fèi):
B=Txrxdxnxp
成本-效益(萬(wàn)元)
60-盈虧平衡點(diǎn)J該系統(tǒng)節(jié)省經(jīng)費(fèi)
成本及效益分析圖:一
該系統(tǒng)成本
20—
oL]----1----1----1-----1------?
12345年
卜投資回收期一|
若r=1/4,T=4小時(shí),n=8000/年,d=20元/小時(shí),p=60%,
貝ijB=1/4x4x8000x20x60%=96000/年,即用CAD繪圖比
用手工系統(tǒng)繪圖平均每年要節(jié)省96000元。
假設(shè)總開(kāi)發(fā)費(fèi)用為20.4萬(wàn)元,年度費(fèi)用估計(jì)為3.2萬(wàn)元。
系統(tǒng)開(kāi)發(fā)成本、節(jié)省的經(jīng)費(fèi)與時(shí)間的關(guān)系如圖所示。盈虧平衡
點(diǎn)對(duì)應(yīng)的時(shí)間坐標(biāo)是3」年,表示系統(tǒng)應(yīng)用3」年后可以收回系
統(tǒng)成本。則從圖中可知,投資回收期大約需要3.1年。
.貨幣的時(shí)間價(jià)值
通常用利率的形式表示。假設(shè)年利率為i,如果
現(xiàn)在存入P元,、則n年后可以得到的錢(qián)數(shù)為:F=
PX(1十巾這也就是p兀錢(qián)在n布后的價(jià)值。
反之,如果n年后能收入F元錢(qián),那么這些錢(qián)的
現(xiàn)在的價(jià)值是:P=F^(1+i)n
如修改已有的庫(kù)存清單程序并且編寫(xiě)產(chǎn)生報(bào)表)
的程序,估計(jì)共需5000元;系統(tǒng)修改后能及時(shí)定貨
將消除零件短缺問(wèn)題,估計(jì)因此每年可以節(jié)省2500
元,5年共可節(jié)省12500元。但是,不能簡(jiǎn)單地把
5000元和12500元相比較,因?yàn)榍罢呤乾F(xiàn)在投資的
錢(qián),后者是若干年以后節(jié)省的錢(qián)。
假定年利率為12%,利用上面計(jì)算貨幣現(xiàn)在價(jià)值
的公式可以算出修改庫(kù)存清單系統(tǒng)后每年預(yù)計(jì)節(jié)
省的錢(qián)的現(xiàn)在價(jià)值,如表所示。
將來(lái)值(1+i)現(xiàn)在值累計(jì)的現(xiàn)在
年
(元)n(元)值(元)
125001.122232.142232.14
225001.251992.984225.12
325001.401779.456004.57
425001.571588.807593.37
525001.761418.579011.94
3)操作可行性
系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行的通
嗎?
?考慮待開(kāi)發(fā)軟件的操作方式在用戶組織
內(nèi)是否行得通,現(xiàn)有管理制度、人員素
質(zhì)、操作方式是否可行。J
必要時(shí)還應(yīng)從法律、社會(huì)效益等更』f
泛的方面研究可行性」!
2.3需求分析
。軟件需求指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、
行為、性能、設(shè)計(jì)約束等方面的期望。
。通過(guò)對(duì)應(yīng)問(wèn)題及其環(huán)境的理解與分析,為
問(wèn)題涉及的信息、功能及系統(tǒng)行為建立模
型
。將用戶需求精確化、完全化,最終形成需
求規(guī)格說(shuō)明,這一系列的活動(dòng)即構(gòu)成軟件
開(kāi)發(fā)生命周期的需求分析階段。
DEC曾是美國(guó)三大計(jì)算機(jī)公司之一,以眾多的
高新技術(shù)著稱(chēng)于世,98年前被康柏收購(gòu)。它在最后
的幾年里研發(fā)出的Alpha計(jì)算機(jī)芯片更以卓越的技
術(shù)在性能上超過(guò)了Intel、sun和其他廠家的芯片。
微軟也曾大力協(xié)助DEC,將WindowsNt移植到
Alpha系統(tǒng),然而,Alpha在市場(chǎng)上徹底向失敗了,
成為DEC最終失敗的原因之一。
原因:DEC不了解市場(chǎng)和用戶,盲目追求技
術(shù)。Alpha系統(tǒng)復(fù)雜,造價(jià)過(guò)高,絕大多數(shù)用戶不
能接受;而且它又不能與已有的系統(tǒng)兼容,使得
在其上的軟件開(kāi)發(fā)相當(dāng)困難,軟件開(kāi)發(fā)商也很難接
受!
因此,設(shè)計(jì)產(chǎn)品的出發(fā)點(diǎn)應(yīng)該是用戶和用戶的需求。
為什么人們開(kāi)發(fā)一個(gè)軟件系統(tǒng)會(huì)比建
造一座摩天大廈要難得多?
軟件行業(yè)缺乏準(zhǔn)確又統(tǒng)一的語(yǔ)言來(lái)定義或描述相應(yīng)
的工作,真正的“需求”實(shí)際上存在于人們的頭腦
中;
軟件開(kāi)發(fā)過(guò)程難以用一種工程化的方法來(lái)統(tǒng)一規(guī)范
和有效實(shí)施。
因此“需求”這個(gè)名詞的定義不僅僅是從用戶角度對(duì)系
統(tǒng)外部行為的描述,以及從開(kāi)發(fā)人員角度對(duì)系統(tǒng)內(nèi)
部特性的描述,其關(guān)鍵的一點(diǎn)是”需求“必須文檔化。
數(shù)據(jù)流圖
數(shù)據(jù)字典
*一
理
么
解
象化
抽G
模型
輯
需
邏
A導(dǎo)
出
求
.
表
實(shí)
例化
達(dá)
需
求
1)系統(tǒng)流程圖
是用來(lái)概括描述系統(tǒng)物理模型的一種傳統(tǒng)工具。
?基本思想是用圖形符號(hào)以黑盒子的形式描繪系
統(tǒng)里的每個(gè)部件(程序、文件、數(shù)據(jù)庫(kù)、表格、
人工過(guò)程等)。
?系統(tǒng)流程圖表達(dá)信息在系統(tǒng)各部件之間流動(dòng)的
情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過(guò)程,
所以是物理數(shù)據(jù)流圖而不是程序流程圖。
庫(kù)存清單系統(tǒng)流程圖
?一個(gè)存放零件的倉(cāng)庫(kù),
倉(cāng)庫(kù)中現(xiàn)有多種零件及事務(wù);
零件的數(shù)量等項(xiàng)數(shù)據(jù)。,
庫(kù)存清單程序小庫(kù)監(jiān)單
。需加工的數(shù)據(jù)是每當(dāng)倉(cāng)—丁一主文件
庫(kù)中的零件數(shù)量發(fā)生變,
化時(shí),就應(yīng)該及時(shí)修改
庫(kù)存清單
。若此零件的庫(kù)存量少于報(bào)告生成程序
它的庫(kù)存臨界值,則應(yīng)
該報(bào)告各采購(gòu)部門(mén)以便定貨報(bào)告
定貨,規(guī)定每天向采購(gòu)
部門(mén)送一次定貨報(bào)告。結(jié)束
結(jié)構(gòu)化分析的分析模型
2)數(shù)據(jù)流圖
數(shù)據(jù)流圖(DFD)描繪信息系統(tǒng)的邏輯模型。
沒(méi)有任何具體的物理元素,描繪信息流和數(shù)據(jù)從輸入
移動(dòng)到輸出的過(guò)程所經(jīng)受的變換,即在系統(tǒng)中流動(dòng)
和被處理的邏輯過(guò)程.
巡標(biāo)幽用來(lái)概括攤那彝表示,
/.
薨國(guó)翼跳做#W四前榭幽稠螂鬧碗
椒碟調(diào)硼色鹿揖標(biāo)酹頸
腳I翳不需要考慮如何具體實(shí)現(xiàn)這些功能,是今
后進(jìn)行軟件設(shè)計(jì)很好的出發(fā)點(diǎn)。
數(shù)據(jù)流圖中的基本符號(hào)
0)數(shù)據(jù)轉(zhuǎn)換—轉(zhuǎn)換數(shù)據(jù)的處理過(guò)程
II外部實(shí)體-----數(shù)據(jù)的源點(diǎn)/終點(diǎn),位于軟件
1—1系統(tǒng)邊界之外的信息生產(chǎn)者或消費(fèi)者
---"數(shù)據(jù)流-----在轉(zhuǎn)換之間有向流動(dòng)的數(shù)據(jù)
項(xiàng)或數(shù)據(jù)集合
2kL數(shù)據(jù)存儲(chǔ)-----可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)
據(jù)組織。箭頭向內(nèi)則表示寫(xiě)入文件
或查詢文件,箭頭向外則表示從文
件中讀取數(shù)據(jù)或得到查詢結(jié)果
數(shù)據(jù)流圖的層次結(jié)構(gòu)
。為了表達(dá)復(fù)雜的實(shí)際問(wèn)題,需要采用層次結(jié)
構(gòu)的數(shù)據(jù)流圖,即按照問(wèn)題的層次結(jié)構(gòu)進(jìn)行逐
步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)
關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng).
。做法:系統(tǒng)的基本模型(把整個(gè)系統(tǒng)看成一
個(gè)加工點(diǎn))一逐層地對(duì)系統(tǒng)進(jìn)行分解,系統(tǒng)
的加工數(shù)量就會(huì)增多f所有的加工都足夠簡(jiǎn)
單,不必再分解為止-“基本加工”O(jiān)
3)實(shí)體■聯(lián)系圖
。從用戶角度描繪了系統(tǒng)的數(shù)據(jù)對(duì)象及對(duì)象關(guān)
4)狀態(tài)轉(zhuǎn)換圖
?描述狀態(tài)以及導(dǎo)致系統(tǒng)改變狀態(tài)的事件來(lái)表
示系統(tǒng)的行為,此外還指明了作為特定事件
的結(jié)果系統(tǒng)將做哪些動(dòng)作(如處理數(shù)據(jù))。
它對(duì)于實(shí)時(shí)系統(tǒng)和控制系統(tǒng)尤為重要。
狀態(tài)1||狀態(tài)2_
邂一…iij矍表達(dá)式:瑛菽儂里0
、活動(dòng)表島,轉(zhuǎn)換活動(dòng)表2,
舉
二例
學(xué)生成績(jī)管理系統(tǒng)
。某校準(zhǔn)備開(kāi)發(fā)一個(gè)學(xué)生成績(jī)管理系統(tǒng)。在該
系統(tǒng)中,教務(wù)人員錄入學(xué)生信息、課程信息
和成績(jī)信息,學(xué)生可以隨時(shí)查詢自己所選課
程的成績(jī)。由于學(xué)生成績(jī)屬于敏感信息,系
統(tǒng)必須提供必要的安全措施以防非法存取。
1)創(chuàng)建實(shí)體關(guān)系圖
,實(shí)體:學(xué)生、課程、成績(jī)。
實(shí)體屬性定義:
學(xué)生:學(xué)號(hào)、姓名、性別、出生日期、入學(xué)年月
課程:課程編號(hào)、課程名稱(chēng)、課程學(xué)分、課程描述
成績(jī):學(xué)號(hào)、課程編號(hào)、分?jǐn)?shù)、考核日期
實(shí)體關(guān)系圖:
2)創(chuàng)建數(shù)據(jù)流模型
。第0層DFD圖
教務(wù)人員維護(hù)學(xué)生信息和課程信息,并登錄
學(xué)生的選課成績(jī);
學(xué)生查詢自己的成績(jī)單。
1層DFD圖:
A學(xué)生
課程信息
教務(wù)人員A課程
成績(jī)
成績(jī)
查詢請(qǐng)求
學(xué)生
查詢結(jié)果
第2層DFD圖:對(duì)第1層DFD圖中的一個(gè)加工,,查
詢學(xué)生成績(jī)”進(jìn)行展開(kāi)。一'
工一■查詢
生L請(qǐng)求V合*'性%----------學(xué)生
\
查詢條件\\
查恂結(jié)果合法查詢條件\課程
\
查詢條件V
成績(jī)
數(shù)據(jù)分量名:學(xué)號(hào)
唯一標(biāo)識(shí)學(xué)生
數(shù)據(jù)字典描述:
的編號(hào)
數(shù)據(jù)項(xiàng)別名:無(wú)
學(xué)生
名:類(lèi)型:字符串
描述:包括學(xué)生的主要信息長(zhǎng)度:6位字符
別名:無(wú)其他說(shuō)明:學(xué)號(hào)不能重復(fù)
學(xué)號(hào)+姓名+性別+
定義:數(shù)據(jù)流名:學(xué)生成績(jī)查詢
出生日期+入學(xué)年月
數(shù)據(jù)量:10000左右描述:系統(tǒng)處理的一個(gè)命令
隨時(shí),但經(jīng)常在新生別名:無(wú)
峰值:
入學(xué)時(shí)期頻率:10000次左右
其他說(shuō)在系統(tǒng)功能擴(kuò)充時(shí)可隨時(shí),但經(jīng)常在學(xué)期
峰值:
明:能增加定義項(xiàng)開(kāi)學(xué)
在系統(tǒng)功能擴(kuò)充時(shí)可
其他說(shuō)明:
能增加種類(lèi)
3)創(chuàng)建行為模型
?:?學(xué)生成績(jī)信息需要采取安全措施,采取登錄方法避
免非法使用系統(tǒng)。
第3篇軟件開(kāi)發(fā)
總體設(shè)計(jì)
。詳細(xì)設(shè)計(jì)
?編碼和單元測(cè)試
。綜合測(cè)試
信息描述
數(shù)據(jù)設(shè)計(jì)
——軟件開(kāi)發(fā)階段的信息流
軟件設(shè)計(jì)是后續(xù)開(kāi)發(fā)步驟及軟件維護(hù)工作的基礎(chǔ)。
如果沒(méi)有設(shè)計(jì),只能建立一個(gè)不穩(wěn)定的系統(tǒng)結(jié)構(gòu)
有軟件設(shè)計(jì)沒(méi)有軟件設(shè)計(jì)
從技術(shù)和管理的角度看設(shè)計(jì)的關(guān)系
/詳細(xì)設(shè)計(jì)
’數(shù)據(jù)設(shè)計(jì)~
技術(shù)觀點(diǎn),系統(tǒng)結(jié)構(gòu)設(shè)計(jì),
過(guò)程設(shè)計(jì)
3.1總體設(shè)計(jì)
總體設(shè)計(jì)通常由兩個(gè)階段組成:
。系統(tǒng)設(shè)計(jì)階段確定系統(tǒng)的具體實(shí)現(xiàn)方案,劃I
分出組成系統(tǒng)的物理元素一程序、文件、數(shù)
據(jù)庫(kù)、人工過(guò)程和文檔等.
。結(jié)構(gòu)設(shè)計(jì)階段確定軟件的結(jié)構(gòu)一確定系統(tǒng)中)
每個(gè)程序由哪些模塊組成以及這些模塊相互
間的關(guān)系。;
.
確定物理實(shí)現(xiàn)方案
1)聯(lián)機(jī)接收事務(wù)并存儲(chǔ),批量方式更新庫(kù)存
清單、處理定貨和產(chǎn)生報(bào)表
J2)聯(lián)機(jī)接收事務(wù)、更新庫(kù)存清單和處理定貨及輸
出定貨信息,以批量方式產(chǎn)生報(bào)表
--
摩
信
”
排
D自
心
/#單1
庫(kù)
z清1T
旗
T111產(chǎn)
>事
存
貨
訂
一
生
收
接
員
1.2一
新
庫(kù)
更
務(wù)采購(gòu)
表
信
報(bào)
息
務(wù)
事
報(bào)
單員
存
清1
I貨
71-
I息
=單==r
Dr2訂貨信息
面向數(shù)據(jù)流的設(shè)計(jì)方法
目標(biāo):是給出設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑。
結(jié)構(gòu)化設(shè)計(jì)方法(SD-StructuredDesign)
目標(biāo)系統(tǒng)的DFDSD.目標(biāo)系統(tǒng)的SC
SQ圖?StructuredChart
該圖常用來(lái)表示系統(tǒng)的軟件結(jié)構(gòu)。利
用它可以清楚地表達(dá)軟件結(jié)構(gòu)中模塊間的
層次調(diào)用關(guān)系和模塊之間的聯(lián)系。
2實(shí)例:.某學(xué)校的學(xué)生“選課”系統(tǒng):具有明顯變換流特征的數(shù)據(jù)
流程圖。首先登錄到系統(tǒng),輸入密碼,經(jīng)過(guò)驗(yàn)證合格后,即可進(jìn)
行選課處理。先查詢相關(guān)課程信息,再進(jìn)行選課登記,選課完成
后,顯示所選課程表,并打印輸出課表
3.2詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)的目標(biāo)
(1)邏輯上正確實(shí)現(xiàn)每個(gè)模塊的功能。
(2)設(shè)計(jì)出的處理過(guò)程應(yīng)該盡可能簡(jiǎn)明易懂。
采用結(jié)構(gòu)化程序設(shè)計(jì)方法,改善控制結(jié)構(gòu),降
低程序復(fù)雜度,提高程序的可讀性、可測(cè)試性
和可維護(hù)性。
1)過(guò)程設(shè)計(jì)的工具
程序流程圖
盒圖
PAD圖
判定表
判定樹(shù)
過(guò)程設(shè)計(jì)語(yǔ)言
2)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法
*數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處
理過(guò)程。)
〃面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法的最終目標(biāo)是得出對(duì)I
程序處理過(guò)程的描述。適合于在詳細(xì)設(shè)計(jì)階
段設(shè)計(jì)每個(gè)模塊的處理過(guò)程。I
:?首先需要分析確定數(shù)據(jù)結(jié)構(gòu),并用適當(dāng)?shù)墓?/p>
具清晰地描繪數(shù)據(jù)結(jié)構(gòu)。
改進(jìn)的Jackson圖
標(biāo)識(shí)循環(huán)條件和分支條件
??蜷g連線改為直線
(a)順序結(jié)構(gòu)(b)可選結(jié)構(gòu)(c)選擇結(jié)構(gòu)(d)重復(fù)結(jié)構(gòu)
改進(jìn)的Jackson圖
練
J習(xí)
考生基本情況文件中的考生記錄的內(nèi)容包括:
準(zhǔn)考證號(hào)、姓名、通訊地址。
考分文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證I
號(hào)和各門(mén)考分。I
要求高考后將兩文件合并成一個(gè)新文件(簡(jiǎn);
稱(chēng)考生新文件),內(nèi)容包括:準(zhǔn)考證號(hào)、姓名、
通訊地址和各門(mén)考分。
第一步數(shù)據(jù)結(jié)構(gòu)表示
對(duì)問(wèn)題進(jìn)行分析,確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的
邏輯結(jié)構(gòu),并用Jackson圖描述這些數(shù)據(jù)結(jié)構(gòu)。
(a)輸入數(shù)據(jù)結(jié)構(gòu)(b)輸出數(shù)據(jù)結(jié)構(gòu)
第二步找出輸入和輸出數(shù)據(jù)結(jié)構(gòu)的對(duì)應(yīng)關(guān)系
有直接因果關(guān)系、在程序中可以同時(shí)處理的數(shù)
據(jù)單元稱(chēng)為有對(duì)應(yīng)關(guān)系。注:重復(fù)的數(shù)據(jù)單元必須
是重復(fù)的次序、次數(shù)都相同才可能有對(duì)應(yīng)關(guān)系。
第三步確定程序結(jié)構(gòu)圖
實(shí)際上,這一步是一個(gè)綜合的過(guò)程:每對(duì)有對(duì)應(yīng)關(guān)系的
數(shù)據(jù)單元合畫(huà)一個(gè)處理框,沒(méi)有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元?jiǎng)t各畫(huà)
一個(gè)處理框。\
產(chǎn)生新文件
處理考生記錄*
產(chǎn)生準(zhǔn)考證號(hào)產(chǎn)生姓名產(chǎn)生通訊地址產(chǎn)生考分
第四步列出并分配所有操作和條件
列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),
并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。
操作:(1)停止
(2)打開(kāi)兩個(gè)輸入文件;
(3)建立輸出文件。
(4)從輸入文件中各讀一條記錄
(5)生成一條新記錄。
(6)將新記錄寫(xiě)入輸出文件。
(7)關(guān)閉全部文件。
條件:I(1)文件結(jié)束。
把操作和條件分配到程序結(jié)構(gòu)圖的適當(dāng)位置
第五步用偽碼表示程序
用Jackson偽碼描述的程序:
產(chǎn)生新文件seq產(chǎn)生考分
打開(kāi)兩個(gè)輸入文件生成一條新記錄
從輸入文件中各讀一條記錄將新記錄寫(xiě)入輸出文件
分析考生記錄iter從輸入文件中各讀一條記錄
until文件結(jié)束處理考生記錄end
處理考生記錄seq關(guān)閉全部文件
產(chǎn)生準(zhǔn)考證號(hào)停止
產(chǎn)生姓名產(chǎn)生新文件end
產(chǎn)生通訊地址
3)人機(jī)界面設(shè)計(jì)
”人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要
的組成部分。在個(gè)別系統(tǒng)中人機(jī)界面的
設(shè)計(jì)工作量甚至占總設(shè)計(jì)量的一半以上。
人機(jī)界面的設(shè)計(jì)質(zhì)量,直接影響用戶
對(duì)軟件產(chǎn)品的評(píng)價(jià),從而影響軟件產(chǎn)品
的競(jìng)爭(zhēng)力和壽命,因此,必須對(duì)人機(jī)界
面設(shè)計(jì)給予足夠重視。
界面設(shè)計(jì)是否存在問(wèn)題?
Windows2000操作系統(tǒng)關(guān)機(jī)窗口
??..---
WindowsXP操作系統(tǒng)關(guān)機(jī)窗口
3.3實(shí)現(xiàn)
腦常把編碼和測(cè)試統(tǒng)稱(chēng)為實(shí)現(xiàn)。
編碼:把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)
的程序。I
軟件測(cè)試在軟件生命周期中橫跨兩個(gè)階段:I
單元測(cè)試:在編寫(xiě)出每個(gè)模塊之后就對(duì)它做必要的測(cè)I
試,模塊的編寫(xiě)者和測(cè)試者是同一個(gè)人,編碼和單I
元測(cè)試屬于軟件生命周期的同一個(gè)階段。I
?:?綜合測(cè)試:對(duì)軟件系統(tǒng)進(jìn)行各種綜合測(cè)試,這是軟件:
生命周期中的另一個(gè)獨(dú)立的階段,通常由專(zhuān)門(mén)的測(cè)
試人員承擔(dān)這項(xiàng)工作。
;1)編碼風(fēng)格
。程序?qū)嶋H上也是一種供人閱讀的文
章,要求邏輯簡(jiǎn)明清晰易讀易懂。
應(yīng)該使程序遵循下述規(guī)則。
9程序內(nèi)部的文檔
i數(shù)據(jù)說(shuō)明
f語(yǔ)句結(jié)構(gòu)
9輸入/輸出方法
9效率
例如,
rADDAMOUNTTOTOTAL7
TOTAL=AMOUNT,TOTALS好。
。如果注明把月銷(xiāo)售額計(jì)入年度總額,便
使讀者理解了下面語(yǔ)句的意圖:
rADDMONTHLY-SALESTO
ANNUAL-TOTAL7
TOTAL=AMOUNT,TOTAL
要點(diǎn).
《描述一段程序,而不是每一個(gè)語(yǔ)句;
《用縮進(jìn)和空行,使程序與注釋容易區(qū)別;
s注正確___________________
?:?盡量減少使用“否定”條件的條件語(yǔ)句。
例如,如果在程序中出現(xiàn)
if(!(char<||char>9))
改成if(char>='O'&&char<='9')
避免大量使用循環(huán)嵌套和條件嵌套;
?:?利用括號(hào)使邏輯表達(dá)式或算術(shù)表達(dá)式的
運(yùn)算次序清晰直觀。
2)測(cè)試步驟
大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系
統(tǒng)又由許多模塊組成,因此,大型軟件系統(tǒng)的測(cè)試
過(guò)程基本上由下述幾個(gè)步驟組成:(
1,模塊測(cè)試)
把每個(gè)模塊作為一個(gè)單獨(dú)的實(shí)體來(lái)測(cè)試。目的是保
證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行,所以模塊測(cè)
試通常又稱(chēng)為單元測(cè)試。在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)
的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。,
2,子系統(tǒng)測(cè)試
把經(jīng)過(guò)單元測(cè)試的模塊放在一起形成一個(gè)子系統(tǒng)來(lái)
測(cè)試。模塊相互間的協(xié)調(diào)和通信是這個(gè)測(cè)試過(guò)程中
的主要問(wèn)題,因此,這個(gè)步驟著重測(cè)試模塊的接口。j
3.系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是把經(jīng)過(guò)測(cè)試的子系統(tǒng)裝配成一個(gè)完整的
系統(tǒng)來(lái)測(cè)試。在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件
設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說(shuō)明中的錯(cuò)誤。
不論是子系統(tǒng)測(cè)試還是系統(tǒng)測(cè)試,都兼有檢測(cè)
和組裝兩重含義,通常稱(chēng)為集成測(cè)試。
4.驗(yàn)收測(cè)試
測(cè)試內(nèi)容與系統(tǒng)測(cè)試基本類(lèi)似,但它在用戶參與下
進(jìn)行,而且主要使用實(shí)際數(shù)據(jù)(系統(tǒng)將來(lái)要處理的信
息)進(jìn)行測(cè)試。目的是驗(yàn)證系統(tǒng)確實(shí)能夠滿足用戶的
需要,在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)
明書(shū)中的錯(cuò)誤。驗(yàn)收測(cè)試也稱(chēng)為確認(rèn)測(cè)試。
案例
。第一次海灣戰(zhàn)爭(zhēng),美國(guó)愛(ài)國(guó)者導(dǎo)彈防御系統(tǒng)
首次被應(yīng)用于對(duì)抗伊拉克的飛毛腿導(dǎo)彈,但
其中一枚在沙特阿拉伯的多哈爆炸,造成2
名美國(guó)士兵死亡。
。原因:導(dǎo)彈的軟件包含一個(gè)累加計(jì)時(shí)故障。
當(dāng)系統(tǒng)時(shí)鐘累計(jì)運(yùn)行超過(guò)14個(gè)小時(shí)后,跟蹤
系統(tǒng)不能準(zhǔn)確運(yùn)行,在多哈襲擊戰(zhàn)爭(zhēng)中,愛(ài)
國(guó)者的累計(jì)運(yùn)行時(shí)間已經(jīng)超過(guò)了100小時(shí)。
案例
》94年圣誕前夕,美國(guó)迪斯尼公司發(fā)布
T第一款面向兒童的多媒體光盤(pán)游戲
“獅子王童話”
*沒(méi)有對(duì)當(dāng)時(shí)市場(chǎng)上的各種pc機(jī)型進(jìn)行
完整的系統(tǒng)兼容性測(cè)試,只能在少數(shù)
pc上定常運(yùn)行
3)測(cè)試方法
任何產(chǎn)品都可以使用以下兩種方法進(jìn)行測(cè)試:
(1)如果已知產(chǎn)品的功能,則可以對(duì)它的每
一個(gè)功能進(jìn)行測(cè)試,看是否都達(dá)到了預(yù)期的要求;
(2)如果已知產(chǎn)品的內(nèi)部工作過(guò)程,則可以
對(duì)它的每種內(nèi)部操作進(jìn)行測(cè)試,看是否按照規(guī)格
說(shuō)明書(shū)的規(guī)定正常進(jìn)行。
第一種方法是黑盒測(cè)試,第二種方法是白盒
測(cè)試。
設(shè)計(jì)測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問(wèn)題。
1
具體的測(cè)試目的(如,預(yù)定要測(cè)試的具體功能)
測(cè)試方案,應(yīng)輸入的測(cè)試數(shù)據(jù)
測(cè)試用例
、預(yù)期的結(jié)果
為用有限的測(cè)試發(fā)現(xiàn)更多的錯(cuò)誤,需精心設(shè)
計(jì)測(cè)試用例。其中最困難的問(wèn)題是設(shè)計(jì)測(cè)試
用的輸入數(shù)據(jù):
不同的測(cè)試數(shù)據(jù)發(fā)現(xiàn)程序錯(cuò)誤的能力差
別很大,為了提高測(cè)試效率降低測(cè)試成本,
應(yīng)該選用高效的測(cè)試數(shù)據(jù)。
例如:一程序兩個(gè)輸入數(shù)據(jù)為32位
二進(jìn)制數(shù),則可能的輸入為多少?
?232*232=264=10192
?:?若每微秒可進(jìn)行一次測(cè)試,則每秒可
進(jìn)行個(gè)測(cè)試,每年:
106106
*60*60*24*365=3.139*1013;
“所有可能輸入進(jìn)行測(cè)試所需時(shí)間:.
?1019.2/3.139*1013>105年
程序插樁技術(shù)
想要了解一個(gè)程序在某次運(yùn)行中所有可執(zhí)行語(yǔ)句
被覆蓋的情況,或是每個(gè)語(yǔ)句的實(shí)際執(zhí)行次數(shù),
最好的辦法是利用插樁技術(shù)。這里僅以計(jì)算整數(shù)
X和整數(shù)Y的最大公約數(shù)程序?yàn)槔?,說(shuō)明插樁方法
的要點(diǎn)。圖3?1給出了這一程序的流程圖。
?設(shè)計(jì)插樁程序時(shí)需要考慮的問(wèn)題包括:1
①探測(cè)哪些信息;I
②在程序的什么部位設(shè)置探測(cè)點(diǎn);flI
③需要設(shè)置多少個(gè)探測(cè)點(diǎn);
④程序特定部位插入某些用以判斷變量特性的語(yǔ)句。I)
圖
3
—
1
插
樁
后
求
最
大
公
約
數(shù)
程
序
的
C(5)=C(5)+1C(6)=C(6)+1流
程
圖
Q=QRR=R-Q
等價(jià)劃分法
所謂等價(jià)劃分,就是把輸入數(shù)據(jù)的可能值
劃分為若干等價(jià)類(lèi)(等價(jià)類(lèi)是指某個(gè)輸入域的子
集合。在該集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程
序中的錯(cuò)誤都是等價(jià)的)。
在每一個(gè)等價(jià)類(lèi)中取一個(gè)數(shù)據(jù)作為測(cè)試的
輸入條件,這樣就可以少量的代表性測(cè)試數(shù)據(jù),
來(lái)取得較好的測(cè)試結(jié)果。
有效等價(jià)類(lèi)
是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是合理的
有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用它可以檢
驗(yàn)程序是否實(shí)現(xiàn)預(yù)先規(guī)定的功能和性能。
無(wú)效等價(jià)類(lèi)
是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是不合理
的,是無(wú)意義的輸入數(shù)據(jù)構(gòu)成的集合。主要利
用這一類(lèi)測(cè)試用例來(lái)檢查程序中功能和性能的實(shí)
現(xiàn)是否不符合規(guī)格說(shuō)明要求。
金山詞霸出現(xiàn)的錯(cuò)誤
金山詞霸2003和金山快譯2003正式在全國(guó)各
地上市后,很多用戶強(qiáng)烈批評(píng)這兩款軟件在
某些詞語(yǔ)翻譯上的錯(cuò)誤|
?:?當(dāng)詞霸的安裝路徑不按默認(rèn)路徑,或者用戶I
使用其他以英文命名的目錄路徑進(jìn)行安裝時(shí),
系統(tǒng)就會(huì)出現(xiàn)安裝完成后無(wú)法取詞和無(wú)法解
釋等多類(lèi)錯(cuò)誤,以致金山公司在正式版發(fā)布
幾天之后不得不發(fā)布補(bǔ)丁。
4)調(diào)試過(guò)程
調(diào)試過(guò)程從執(zhí)行一個(gè)測(cè)試用例開(kāi)始,評(píng)估測(cè)
5)軟件可靠性
,估算平均無(wú)故障時(shí)間
經(jīng)驗(yàn)表明,平均無(wú)故障時(shí)間與單位長(zhǎng)度程序中剩余
的錯(cuò)誤數(shù)成反比,即
MTTF=1/[K(ET/IT-EC(T)/IT)](7.5)
其中K為常數(shù),它的值應(yīng)該根據(jù)經(jīng)驗(yàn)選取。美國(guó)的
一些統(tǒng)計(jì)數(shù)字表明,K的典型值是200。
估算平均無(wú)故障時(shí)間的公式,可以評(píng)價(jià)軟件測(cè)試的
進(jìn)展情況。此外,由(7.5)式可得
EC=ET-IT/(KXMTTF)(7.6)
因此,也可以根據(jù)對(duì)軟件平均無(wú)故障時(shí)間的要求,
估計(jì)需要改正多少個(gè)錯(cuò)誤之后,測(cè)試工作才能結(jié)束。
估計(jì)錯(cuò)誤總數(shù)ET的方法
(1)植入錯(cuò)誤法
測(cè)試前在程序中隨機(jī)地植入一些錯(cuò)誤,測(cè)試之]
后根據(jù)測(cè)試小組發(fā)現(xiàn)的錯(cuò)誤中原有的和植入的兩種
錯(cuò)誤的比例,來(lái)估計(jì)原有錯(cuò)誤的總數(shù)|
假定測(cè)試方案發(fā)現(xiàn)植入錯(cuò)誤和發(fā)現(xiàn)原有錯(cuò)誤的能力
相同,則能夠估計(jì)出程序中原有錯(cuò)誤的總數(shù)為
A
N=n/nsXNs)
義為植入的錯(cuò)誤數(shù),經(jīng)過(guò)一段時(shí)間的測(cè)試之后發(fā)現(xiàn)
八個(gè)植入錯(cuò)誤和n個(gè)原有錯(cuò)誤。
((2)分別測(cè)試法
隨機(jī)地把程序中一部分原有的錯(cuò)誤加上標(biāo)記,
然后根據(jù)測(cè)試過(guò)程中發(fā)現(xiàn)的有標(biāo)記錯(cuò)誤和無(wú)標(biāo)記錯(cuò)
誤的比例,估計(jì)程序中的錯(cuò)誤總數(shù)。
分別測(cè)試法使用兩個(gè)測(cè)試員(或測(cè)試小組),彼
此獨(dú)立地測(cè)試同一個(gè)程序的兩個(gè)副本,把其中一個(gè)
測(cè)試員發(fā)現(xiàn)的錯(cuò)誤作為有標(biāo)記的錯(cuò)誤,由另一名分
析員分析他們的測(cè)試結(jié)果。用T表示測(cè)試時(shí)間,假設(shè)
T=o時(shí)錯(cuò)誤總數(shù)為B。;
T=Ti時(shí)測(cè)試員甲發(fā)現(xiàn)的錯(cuò)誤數(shù)為Bi;
T=一時(shí)測(cè)試員乙發(fā)現(xiàn)的錯(cuò)誤數(shù)為B2;
Tf時(shí)兩個(gè)測(cè)試員發(fā)現(xiàn)的相同錯(cuò)誤數(shù)為
則:A
B0=B2/bcB1
第4篇軟件維護(hù)
?改正性維護(hù)
。適應(yīng)性維護(hù)
。完善性維護(hù)
?:?預(yù)防性維護(hù)
維護(hù)在軟件生四類(lèi)維護(hù)占
存期所占比例總維護(hù)比例
改正性維護(hù)
?:?在軟件交付使用后,因開(kāi)發(fā)時(shí)測(cè)試的不
徹底、不完全,必然會(huì)有部分隱藏的錯(cuò)
‘誤遺留到運(yùn)行階段。!
。這些隱藏下來(lái)的錯(cuò)誤在某些特定的使用I
環(huán)境下就會(huì)暴露出來(lái)。I
。為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性/
能上的缺陷、排除實(shí)施中的誤使用,應(yīng)
當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過(guò)程就叫做
改正桂筵護(hù)。(
適應(yīng)性維護(hù)
?在使用過(guò)程中,
i外部環(huán)境(新的硬、軟件配置)
f數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)科技活動(dòng)組織與引導(dǎo)計(jì)劃
- 社團(tuán)發(fā)展戰(zhàn)略計(jì)劃
- 可持續(xù)發(fā)展與財(cái)務(wù)規(guī)劃計(jì)劃
- 小兒輔食知識(shí)培訓(xùn)課件
- 企業(yè)戰(zhàn)略控制概述
- 簡(jiǎn)單的護(hù)理查房
- 靜脈輸血護(hù)理查房
- 鋰電池安全知識(shí)培訓(xùn)課件
- 第十單元實(shí)驗(yàn)活動(dòng)6:酸、堿的化學(xué)性質(zhì)教學(xué)設(shè)計(jì)-2023-2024學(xué)年九年級(jí)化學(xué)人教版下冊(cè)
- 腰椎穿刺患者術(shù)后護(hù)理
- 三年級(jí)數(shù)學(xué)下冊(cè)蘇教版《解決問(wèn)題的策略-從問(wèn)題想起》課件(區(qū)級(jí)公開(kāi)課)
- ad-hoc第二章-ad-hoc網(wǎng)絡(luò)中的MAC協(xié)議
- 建筑工程施工質(zhì)量控制PPT課件
- 心性修煉與教育智慧
- 二手房買(mǎi)賣(mài)合同正式版空白
- 西方企業(yè)組織變革理論綜述
- 結(jié)構(gòu)力學(xué)中必須掌握的彎矩圖
- 氫化物(蒸氣)發(fā)生-原子熒光講義
- 國(guó)家二字碼大全--253個(gè)國(guó)家
- (完整版)螺旋鉆孔灌注樁施工工藝
- 公務(wù)接待制度公務(wù)接待審批單公務(wù)接待清單
評(píng)論
0/150
提交評(píng)論