SHANGHAIUNIVERSITY软件工程实验总结学院计算机工程与科学学院学号10122050姓名王杰指导老师陈圣波日期2014.03实验一软件工程标准化文档一、实验目的1.了解国家标准GB/T8567-20062.熟悉软件产品开发文件的基本内容二、实验内容1.搜索和下载国家标准GB/T8567-2006。2.通过阅读国家标准GB/T8567-2006,将以下文字填写完整:3.通过阅读国家标准GB/T8567-2006,填写以下表格:A.软件生存周期各阶段中的主要文档编制阶段文档可行性与计划研究需求分析设计实现测试运行与维护可行性分析(研究)报告YNNNNN项目开发计划YYNNNN软件需求规格说明NYNNNN接口需求规格说明NYNNNN软件(结构)设计说明NNYNNN接口设计说明书NNYNNN数据库(顶层)设计说明NNYNNN测试计划NYYNNN测试报告NNNNYN开发进度月报YYYYYN用户手册NYYYNY操作手册NNYYNY项目开发总结报告NNNNYYGB/T8567-2006描述了文档编制过程,有两种主要类型的标准:_产品标准_规定产品的特征和功能需求;__过程标准_规定开发产品的过程。GB/T8567-2006原则上适用于各种类型的开发方法,给出__25____种文档的编制格式要求,另外给出了面向对象的__10___种文档的编制格式要求。B.各类人员与软件文档的关系人员文档管理人员开发人员维护人员用户可行性分析(研究)报告YY项目开发计划YY软件需求规格说明YY接口需求规格说明Y软件(结构)设计说明Y接口设计说明书YY数据库(顶层)设计说明YY测试计划Y测试报告YY开发进度月报Y用户手册Y操作手册Y项目开发总结报告Y实验2数据流分析【说明】某直达列车车票预售系统接受顾客的订票和取票业务。1.顾客为了提前订票,可向系统提供个人信息及其预订购的车次和日期,系统根据个人信息是否齐全和车次是否正确来判断订票单是否合格。对于合格的订票单,系统通过查找座位表审核相应的车次是否有剩余票。如果有剩余票,则记录顾客个人信息以及订票信息,并向顾客提供取票单。2.到了可以取票的时间,顾客向系统提供取票单,在检查单据合格的情况下,系统想顾客提供火车票。3.售票员可以利用系统查询各车次车票的已订购、已售出和剩余情况。【问题1】画出系统的顶层数据流图。【问题2】对问题1的结果进行分解,画出0层和1层数据流图。(1)系统的顶层数据流图直达列车车票预售系统顾客不合格订票单取票单(2)0层数据流图1订票2取票订票信息表旅客信息表列车时刻表订票单取票通知无票通知火车票取票单3.查询工作人员各车次车票的已订购、已售出和剩余情况车次车票信息1层数据流图实验三下面为模块“产生毕业典礼学生表”的功能描述,请画出该模块的程序流程图和PAD图。记录StudentRecord给出即将大学毕业的学生的姓名和平均分(GPA)。我们的目的是建立一个参加毕业典礼的学生表。候选毕业的学生表从文件”StudRecs”读入。因为学校规定:GPA低于minGPA的学生不能毕业,因此那些平均分低于minGPA的学生不参加毕业典礼。另外,文件”NoAttend”中记录了那些选择不参加典礼的学生名单,按每行一个学生姓名给出。应该从参加毕业典礼的学生表中删除这些选择不参加典礼的学生。检查订票单1.1审核车次1.2记录信息1.3合格订票单订票单有余票无余票车次与时间1.1.个人信息和订票信息库取票单(1)程序流程图开始从StudRecs中读取候选学生名单GPA是否低于minGPA判定参加毕业典礼学生表不参加毕业典礼的学生记录NoAttend判断是否选择参加典礼毕业典礼学生表输出毕业典礼学生表是否否是没有毕业的学生记录(2)PAD图从StudRecs中读取候选学生名单GPA是否低于minGPA判定没有毕业的学生记录参加毕业典礼学生表判断选择是否参加典礼毕业典礼学生表不参加毕业典礼的学生记录NoAttend输出参加典礼学生表实验四软件测试【说明】输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否构成一般三角形、等腰三角形、等边三角形。一、用逻辑覆盖设计测试用例。(1)画出程序的流程图。开始条件1:0a200and0b200andN条件2:ab+candba+bandYN语句1:边的取值不符合要求语句2:非三角形Y条件3:a=bandY语句3:等边三角形条件4:a^2+b^2=c^2||a^2+c^2=b^NNY语句4:直角三角形语句5:一般三角形结束abcdefghij二、按表1形式,用语句覆盖、判定覆盖、条件覆盖、条件组合覆盖设计测试用例。(1)语句覆盖用例编号输入数据a输入数据b输出数据c输出备注1-234边的取值不符合要求语句12348非三角形语句23333等边三角形语句34345直角三角形语句45234一般三角形语句5(2)判定覆盖用例编号输入数据a输入数据b输出数据c输出备注120123边的取值不符合要求条件1“假”2236非三角形条件1“真”条件2“假”3444等边三角形条件2“真”条件3“真”4345直角三角形条件3“假”条件4“真”5245一般三角形条件4“假”(3)条件覆盖对于第一个判断:条件0a200取真为T1,取假为F1;条件0b200取真为T2,取假为F2;条件0c200取真为T3,取假为F3;对于第二个判断:条件ab+c取真为T4,取假为F4;条件ba+c取真为T5,取假为F5;条件ca+b取真为T6,取假为F6;对于第三个判断:条件a=b取真为T7,取假为F7;条件b=c取真为T8,取假为F8;对于第四个判断:条件a^2+b^2=c^2取真为T9,取假为F9;条件a^2+c^2=b^2取真为T10,取假为F10;条件b^2+c^2=a^2取真为T11,取假为F11;用例编号输入数据a输入数据b输出数据c输出备注1-224边的取值不符合要求F1,T2,T323-4220边的取值不符合要求T1,F2,F33359非三角形T4,T5,F64813非三角形F4,T5,T65284非三角形T4,F5,T66333等边三角形T7,T87234一般三角形F7,F8,F9,F10,F118345直角三角形T99453直角三角形T1110534直角三角形T10(4)判定/条件覆盖用例编号输入数据a输入数据b输出数据c输出备注1-1201206边的取值不符合要求F1,F2,F3路径:a-b-j2315非三角形T1,T2,T3,T4,T5,F6路径:a-c-d-j3351非三角形T4,F5,T6路径:a-c-d-j4813非三角形F4,T5,T6路径:a-c-d-j5444等边三角形T7,T8路径:a-c-e-f-j6234一般三角形F7,F8F9,F10,F11路径:a-c-e-g-i-j7345直角三角形T9路径:a-c-e-g-h-j8453直角三角形T11路径:a-c-e-g-h-j9534直角三角形T10路径:a-c-e-g-h-j(5)多条件覆盖用例编号输入数据a输入数据b输出数据c输出备注1-5201211边的取值不符合要求F1,F2,F32215非三角形T1,T2,T3,T4,T5,F63253非三角形T4,F5,T64923非三角形F4,T5,T65222等边三角形T7,T86346一般三角形F7,F8F9,F10,F117345直角三角形T98453直角三角形T19534直角三角形T10(6)路径覆盖用例编号输入数据a输入数据b输出数据c输出备注1-32014边的取值不符合要求a-b-j2259非三角形a-c-d-j3333等边三角形a-c-e-f-j4453直角三角形a-c-e-g-h-j5634一般三角形a-c-e-g-i-j实验五问题描述NextData函数有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤year≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。请用边界值测试方法设计测试用例。并对你所设计的测试用例的不足之处加以说明。程序界面一、年:(1)使输入刚好等于最小的整数。输入:1990预期的输入:1900(2)使输入刚好等于最大的整数。输入:2050预期的输入:2050(3)使输入刚好小于最小的整数。输入:1989预期的输入:“错误——无效输入”(4)使输入刚好大于最大的整数。输入:2051预期的输入:“错误——无效输入”二、月:(5)使输入刚好等于最小的整数。输入:1预期的输入:1(6)使输入刚好等于最大的整数。输入:12预期的输入:12(7)使输入刚好小于最小的整数。输入:0预期的输入:“错误——无效输入”(8)使输入刚好大于最大的整数。输入:13预期的输入:“错误——无效输入”三、日:(9)使输入刚好等于最小的整数。输入:1预期的输入:1(10)使输入刚好等于最大的整数。输入:31预期的输入:31(11)使输入刚好小于最小的整数。输入:0预期的输入:“错误——无效输入”(12)使输入刚好大于最大的整数。输入:32预期的输入:“错误——无效输入”四、测试用例:使用(年,月,日)形式:正确输入:一、(1900,1,1)、(1900,1,31)、(1900,12,1)、(1900,12,31)、(2050,1,1)、(2050,1,31)、(2050,12,1)、(2050,12,31)。错误输入:一、(1989,1,1)、(1989,1,31)、(1989,12,1)、(1989,12,31)、(2051,1,1)、(2051,1,31)、(2051,12,1)、(2051,12,31)。二、(1900,1,0)、(1900,1,32)、(1900,12,0)、(1900,12,32)、(2050,1,0)、(2050,1,32)、(2050,12,0)、(2050,12,32)。三、(1900,0,1)、(1900,0,31)、(1900,13,1)、(1900,13,31)、(2050,0,1)、(2050,0,31)、(2050,13,1)、(2050,13,31)。五、测试不足:每年有十二月,1月和12月都是31天的大月,但是在闰年和平年的区分中,闰年的二月为28天,平年的二月为29天。同时还有30天的的小月,如4月、6月、9月、11月。如果应用这样的边界值测试方法,无法测试出二月和拥有30天数的小月的情况。实验六用例建模2.图书馆管理信息系统某图书馆藏书100多万册,每天的借阅量近千册。在手工操作方式下,图书的编目和借阅等的工作量大,准确性低且不易修改维护,读者借书只能到图书馆手工方式查找书目,不能满足借阅需求。需要建立一套网络化的电子图书馆信息系统。该图书馆管理信息系统服务对象有两部分人:注册用户和一般读者。一般读者经注册后成为注册用户,注册用户可以在图书馆借阅图书,其他人员只可查阅图书目录,但不能借阅图书。系统同时考虑提供电子读物服务,目前只提供电子读物的目录查询服务,不久的将来将提供电子读物全文服务。用户可通过网络方式访问读图书馆管理信息系统。图书馆由馆长负责全面工作,设办公室、财务室、采编室、学术论文室、借阅室、电子阅览室、期刊阅览室和技术支持室。各部门的业务职责如下。办公室:办公室协助馆长负责日常工作,了解客户需求,制定采购计划。财务室:财务室负责财务方面的工作。采编室:采编室负责图书的采购,入库和图书编目,编目后的图书粘贴标签,并送图书借阅室上架。学术论文室:负责学术论文的收集整理。图书借阅室:提供对读者的书目查询服务和图书借阅服务。电子阅览室:收集整理电子读物,准备提供电子读物的借阅服务,目前可以提供目录查询和借阅。期刊阅览室:负责期刊的收集整理和借阅。技术支持室:负责对图书馆的网络和计算机系统提供技术支持图书馆管理员编制图书采购计划,由采购员负责新书的采购