码迷,mamicode.com
首页 > 其他好文 > 详细

软工作业PSP与单元测试训练

时间:2018-03-17 20:31:00      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:verify   gpo   mem   get   测试报告   估算   val   int   image   

一、实现功能模块;

技术分享图片

二、针对所实现的模块编写对应的单元测试代码;

#include<stdio.h>
#include<string.h>
#include<time.h>
int strtonum(char *str){
int num=0;
for(int i=0;i<strlen(str);i++){
num=num*10+str[i]-‘0‘;
}
return num;
}
char verifydate(char *date){
struct tm *local;
time_t t;
t=time(NULL);
local = localtime(&t);
int year,month,day,c=local->tm_year;
char s[5];
memset(s,0,sizeof(s));
memcpy(s,date,4);
year=strtonum(s);
memset(s,0,sizeof(s));
memcpy(s,date+4,2);
month=strtonum(s);
memset(s,0,sizeof(s));
memcpy(s,date+6,2);
day=strtonum(s);
if(year<1900 || year>(c+1900))return 0;
if(month<1 || month>12)return 0;
if(day>31 || day<1)return 0;
if(day==31){
if(month==2 || month==4 || month==6 || month==9 || month==11)return 0;
else return 1;
}
if(day==30){
if(month==2)return 0;
else return 1;
}
if(day==29){
if(year%4==0){
if(year%100!=0)return 1;
else
if(year%400==0)return 1;
}
else return 0;
}
return 1;
}
void verifyID(char IDnum[]){
int m[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},sum=0;
char last[11]={‘1‘,‘0‘,‘x‘,‘9‘,‘8‘,‘7‘,‘6‘,‘5‘,‘4‘,‘3‘,‘2‘};
for(int i=0;i<17;i++){
sum=sum+((IDnum[i]-‘0‘)*m[i]);
}
if(IDnum[17]==last[sum%11])
printf("该身份证正确!\n");
else
printf("该身份证无效\n");
}
int main()
{
char IDnum[18],birthday[8];
while(1){
gets(IDnum);
if(strlen(IDnum)==18){
memcpy(birthday,IDnum+6,8);
if(verifydate(birthday)==0)
printf("该身份证无效\n");
else
verifyID(IDnum);
}
else
printf("该身份证格式错误\n");
}
return 0;
}

三、需要按PSP流程进行工作量估算,填写任务清单工作量估算表。

任务清单工作量估算表:

PSP阶段

时间估算(小时)

实际实际(小时)

计划

估计每个阶段的时间成本

 0.4

0.6

开发

需求分析

 0.5

 0.5

系统设计

 0.4

 0.6

设计复审

 0.2

 0.2

代码实现

 0.2

 0.2

代码复审

 0.2

 0.2

测试

 0.2

 0.5

报告

测试报告

 0.1

 0.4

总结

 0.3

 0.5

技术分享图片
技术分享图片

软工作业PSP与单元测试训练

标签:verify   gpo   mem   get   测试报告   估算   val   int   image   

原文地址:https://www.cnblogs.com/A1Meng/p/8592441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!