1、 0 软件工程实验报告学号:099074331班级:网络工程 092 班姓名:吕家剑指导老师:周兵1 实验题目:用 C 语言编制一个万年历程序要 求:输入一个年份( 1-3000) ,然后显示 12 个月的月历,如屏幕显示不下,则应提供翻页功能。一:实验目的1.通过实例使同学们掌握结构化数据流分析技术。2.能按照软件工程的思想,采用面向过程的方法开发出的一个小型软件系统。3.在软件开发过程中,能综合利用一门编程语言好软件工程等多门课程知识。4.掌握结构化数据分析技术。5.掌握集成测试的一班步骤和技术二:实验内容1 软件需求分析1.功能需求能列出公元元年到 3000 年所有月历能解决闰年和平年问
2、题能输出显示结果2 数据流图:3软件设计与编码2 3.1 检查输入输入数据是否超出程序处理数据范围输入数据是否非法字符及其处理while(iserror) printf(“Enter the year:“);scanf(“%d“,if(year3000)printf(“error!n“);else break;getch();3.2 确定闰年if(year%4=0elsereturn 0;main()int i,day,year,temp,temp_i,year_start=1,per_year_days,iserror=1 ;int month_days=31,28,31,30,31,30,
3、31,31,30,31,30,31,29;int year_days=0;while(iserror) printf(“Enter the year:“);scanf(“%d“,if(year3000)printf(“error!n“);else break;while(year_start1)if (year_days%7=0)printf(“n“);if (day=10)printf(“%d “,day);elseprintf(“%d “,day);year_days+;day+;elsewhile (day1)if (year_days%7=0)printf(“n“);if (day=1
4、0)printf(“%d “,day);elseprintf(“%d “,day);year_days+;day+;printf(“n“);if (getchar()=q)exit(0);getch();4.单元测试与集成测试5 4.1 测试方案设计:4.1.1 白盒测试输入若干组数据,对程序逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致;测试数据:2000 (闰年) ,2001(平年)test:-1 30014.1.2 白盒测试结果4.1.3 黑盒测试:根据程序的提示输入数据,检查程序是否满足功能要求.4.1.4 黑盒测试结果启动程序,输入年份 2012,按向下方向键的时候会显示所有的月历6 按 q 键可退出应用程序4.2 测试结果分析测试结果表明,程序内部控制结构和数据结构正确,实际的运行状态与预期的状态一致,可以满足功能需求三总结本次实验的基本要求是:输入一个年份(1-3000) ,然后显示 12 个月的月历,如屏幕显示不下,则应提供翻页功能,。本次实验让我对程序设计有了更深一步的理解。在课程设计过程中,认真编写软件开发文档。代码编写完后认真测试,检查不足之处。同时,对系统的需求分析非常重要,需求的变化直接影响开发的进度。在以后的软件开发过程中要吸取本次的经验。