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

Posted 夜阑听雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软工作业PSP与单元测试训练相关的知识,希望对你有一定的参考价值。

任务说明(二选一):

一、实现模块判断传入的身份证号码的正确性;

二、实现模块判断传入的电子邮箱账号的正确性;

 

实现要求:

一、实现功能模块;

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

# include <stdio.h> 

# include <stdlib.h> 

# include <windows.h> 

int main(void) { 

    int i, a[18], b, s=0,m=0; 

    char c; 

    long place;//地区号

    printf("\\n");

    printf("请输入您所查询的身份证号:"); 

    for(i=1; i<=17; i++) { 

        scanf("%1d", &a[i]); 

    } 

    scanf("%c", &c); 

    s = a[1]*7 + a[2]*9 + a[3]*10 + a[4]*5 + a[5]*8 + a[6]*4 + a[7]*2 

        + a[8]*1 + a[9]*6 + a[10]*3 +a[11]*7 + a[12]*9 + a[13]*10 + a[14]*5 

        + a[15]*8 + a[16]*4 + a[17]*2; 

    b = s%11;  //身份证号码最后一位的余数;

    switch(b) {//1 0 X 9 8 7 6 5 4 3 2  

        case 0: if(c==\'1\') m = 1;break; 

        case 1: if(c==\'0\') m = 1;break; 

        case 2: if(c==\'X\'||c==\'x\') m = 1;break; 

        case 3: if(c==\'9\') m = 1;break; 

        case 4: if(c==\'8\') m = 1;break; 

        case 5: if(c==\'7\') m = 1;break; 

        case 6: if(c==\'6\') m = 1;break; 

        case 7: if(c==\'5\') m = 1;break; 

        case 8: if(c==\'4\') m = 1;break; 

        case 9: if(c==\'3\') m = 1;break; 

        case 10: if(c==\'2\') m = 1;break; 

    } 

    if(m!=1||a[7]>2||a[11]>1||a[13]>3) {

        printf("\\n");

        printf("\\a您输入的数据错误,请重新输入\\n\\n"); 

        system("pause");

        exit(0);

    }

    if( a[7]>=2&&a[8]>=0&&a[9]>=1&&a[10]>=8&&a[11]>=0&&a[12]>=3){

        printf("\\n");

        printf("\\a不符合当前时间年份,请重新输入\\n\\n"); 

        system("pause");

        exit(0);

    } 

 

    place = a[1]*100000 + a[2]*10000; 

    printf("\\n");

    printf("\\n");

    printf("\\a您输入的身份证号为:\\a%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%c\\n此身份证号有效,具体信息如下:\\n\\n\\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],c);

    printf("出生地是:"); 

    switch(place) { 

        case 110000: printf("北京市");break; 

        case 120000: printf("天津市");break; 

        case 130000: printf("河北省");break; 

        case 140000: printf("山西省");break; 

        case 150000: printf("内蒙古自治区");break; 

        case 210000: printf("辽宁省");break; 

        case 220000: printf("吉林省");break;  

        case 230000: printf("黑龙江省");break; 

        case 310000: printf("上海市");break; 

        case 320000: printf("江苏省");break; 

        case 330000: printf("浙江省");break; 

        case 340000: printf("安徽省");break; 

        case 350000: printf("福建省");break; 

        case 360000: printf("江西省");break; 

        case 370000: printf("山东省");break; 

        case 410000: printf("河南省");break;   

        case 420000: printf("湖北省");break; 

        case 430000: printf("湖南省");break; 

        case 440000: printf("广东省");break; 

        case 450000: printf("广西壮族自治区");break; 

        case 460000: printf("海南省");break; 

        case 500000: printf("重庆市");break; 

        case 510000: printf("四川省");break; 

        case 520000: printf("贵州省");break; 

        case 530000: printf("云南省");break; 

        case 540000: printf("西藏自治区");break; 

        case 610000: printf("陕西省");break; 

        case 620000: printf("甘肃省");break;  

        case 630000: printf("青海省");break;   

        case 640000: printf("宁夏回族自治区");break;  

        case 650000: printf("新疆维吾尔自治区");break; 

        case 710000: printf("台湾省");break; 

        case 810000: printf("香港特别行政区");break; 

        case 820000: printf("澳门特别行政区");break; 

    } 

    printf("\\n");

    printf("出生日期:%d%d%d%d年%d%d月%d%d日\\n", a[7],a[8],a[9],a[10], a[11],a[12], a[13],a[14]); 

    if(a[17]%2==0) 

        printf("性别:女\\n"); 

    else 

        printf("性别:男\\n");

    printf("\\n");

    printf("\\n");

    system("pause"); 

    return 0; 

}

 

 

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

 

任务清单工作量估算表:

PSP阶段

时间估算(小时)

实际实际(小时)

计划

估计每个阶段的时间成本

0.5

0.3

开发

需求分析

0.8

0.5

系统设计

0.5

0.6

设计复审

0.5

0.2

代码实现

2

1.5

代码复审

1

0.5

测试

1

0.8

报告

测试报告

0.3

0.2

总结

0.5

0.4

以上是关于软工作业PSP与单元测试训练的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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