一、問題陳述
在一簡化的銀行存款系統(tǒng)中,前臺(tái)服務(wù)員負(fù)責(zé)處理客戶的存取款要求,存款時(shí)客戶需要填寫存款單(客戶名,帳號(hào),類別(活期,定期),金額),取款時(shí)客戶需要填寫取款單(客戶名,帳號(hào),金額)并輸入密碼,前臺(tái)服務(wù)員負(fù)責(zé)錄入客戶的存取/款單;客戶還可以通過自助存取款機(jī)進(jìn)行存取款操作,在交易時(shí)需要客戶自己輸入上述信息;銀行經(jīng)理可以查詢每日/月的存取款統(tǒng)計(jì)信息,銀行經(jīng)理和前臺(tái)服務(wù)員還可以查詢每個(gè)客戶的存取款記錄。
1)請用結(jié)構(gòu)化分析方法,建立該系統(tǒng)的模型,畫出數(shù)據(jù)流圖的頂層、0層和一層圖(包括建立頂層和0層的數(shù)據(jù)字典,可以不寫加工說明)
2)請用面向?qū)ο蠓椒?,識(shí)別該系統(tǒng)有哪些主要的類,并寫出類的主要屬性和操作
二、根據(jù)所給源程序及該程序的可執(zhí)行程序,完成下列要求:
a)畫出程序的控制流程圖;
b)判斷該程序是否能夠達(dá)到100%條件組合覆蓋,為什么?
c)給出測試用例,實(shí)現(xiàn)你所認(rèn)為的條件組合覆蓋。
根據(jù)輸入的年份判斷是否為閏年。
#include “stdafx.h”
int isLeapYear(int year){
int isLeapYear;
if(year%4==0 && (year%100!=0 ||year%400==0))
isLeapYear=1;
else
isLeapYear=0;
return isLeapYear;
}
int _tmain(int argc, _TCHAR* argv[])
{
int year;
scanf(“%d”,&year);
int flag=isLeapYear(year);
if(flag==1)
printf(“true”);
else
printf(“false”);
printf(“\n”);
}
在一簡化的銀行存款系統(tǒng)中,前臺(tái)服務(wù)員負(fù)責(zé)處理客戶的存取款要求,存款時(shí)客戶需要填寫存款單(客戶名,帳號(hào),類別(活期,定期),金額),取款時(shí)客戶需要填寫取款單(客戶名,帳號(hào),金額)并輸入密碼,前臺(tái)服務(wù)員負(fù)責(zé)錄入客戶的存取/款單;客戶還可以通過自助存取款機(jī)進(jìn)行存取款操作,在交易時(shí)需要客戶自己輸入上述信息;銀行經(jīng)理可以查詢每日/月的存取款統(tǒng)計(jì)信息,銀行經(jīng)理和前臺(tái)服務(wù)員還可以查詢每個(gè)客戶的存取款記錄。
1)請用結(jié)構(gòu)化分析方法,建立該系統(tǒng)的模型,畫出數(shù)據(jù)流圖的頂層、0層和一層圖(包括建立頂層和0層的數(shù)據(jù)字典,可以不寫加工說明)
2)請用面向?qū)ο蠓椒?,識(shí)別該系統(tǒng)有哪些主要的類,并寫出類的主要屬性和操作
二、根據(jù)所給源程序及該程序的可執(zhí)行程序,完成下列要求:
a)畫出程序的控制流程圖;
b)判斷該程序是否能夠達(dá)到100%條件組合覆蓋,為什么?
c)給出測試用例,實(shí)現(xiàn)你所認(rèn)為的條件組合覆蓋。
根據(jù)輸入的年份判斷是否為閏年。
#include “stdafx.h”
int isLeapYear(int year){
int isLeapYear;
if(year%4==0 && (year%100!=0 ||year%400==0))
isLeapYear=1;
else
isLeapYear=0;
return isLeapYear;
}
int _tmain(int argc, _TCHAR* argv[])
{
int year;
scanf(“%d”,&year);
int flag=isLeapYear(year);
if(flag==1)
printf(“true”);
else
printf(“false”);
printf(“\n”);
}