软件验收报告Word文件下载.docx

上传人:b****6 文档编号:20905075 上传时间:2023-01-26 格式:DOCX 页数:26 大小:143.53KB
下载 相关 举报
软件验收报告Word文件下载.docx_第1页
第1页 / 共26页
软件验收报告Word文件下载.docx_第2页
第2页 / 共26页
软件验收报告Word文件下载.docx_第3页
第3页 / 共26页
软件验收报告Word文件下载.docx_第4页
第4页 / 共26页
软件验收报告Word文件下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

软件验收报告Word文件下载.docx

《软件验收报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件验收报告Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。

软件验收报告Word文件下载.docx

2.4验收标准

2.4.1项目验收原则

1、审查提供验收的各类文档的正确性、完整性和统一性,审查文档是否齐全、合理;

2、审查项目功能是否达到了合同规定的要求;

3、审查项目有关服务指标是否达到了合同的要求;

4、审查项目投资以及实施进度的情况;

对项目的技术水平做出评价,并得出项目的验收结论。

2.4.2验收流程

本项目的验收采取项目验收流程的方式进行验收。

具体流程如下图所示。

2.4.3系统功能标准

严重程度

描述

A

学生信息管理系统由于出现问题不能继续运转(崩溃)

学生信息管理系统的数据出现错误。

B

某项业务无法进行。

学生信息管理系统产生数据错误。

C

学生信息管理系统中某一操作不能继续运转或错误,但不影响业务的进行。

(有替代办法)

学生信息管理系统打印的凭证或流水不符合需求所提出的标准。

D

其他学生信息管理系统在某种状态下产生的错误,不影响正常功能。

如果各模块验收测试结果如下表所述则视为验收合格,否则将进行修改,以进行再次验收评审。

关系

发生个数

=

<=

10

2.5验收范围

用户以及监理方进行验收确认。

验收确认包括以下两方面确认内容:

1.参照《验收标准》确认合同所涉及的功能以及项目组的实施工作是否完成;

2.抽取客户端进行测试,确定系统能够稳定运行。

2.6验收人员

单位

人员

职责/任务

联系方式/Email

备注

哈师大学生

张紫娜

组长

第三章项目验收内容

3.1实施工作验收

工作阶段

工作内容

工作是否完成

需求调研

通过与用户的沟通,根据项目实际情况编写提交《需求说明书》、《概要设计》、《详细设计》。

□完成□未完成

系统开发

根据《概要设计》内容,完成《详细设计》并根据《详细设计》开发系统和测试。

每周提交项目进度及情况报告、测试报告。

系统安装

安装产品,对系统进行部署。

用户培训

编写用户使用手册,对用户进行使用培训。

系统运行

跟踪监控系统运行。

对使用中发现的问题进行记录和评估,在不影响系统结构的情况下对发现的问题进行修正。

3.2软件平台验收单

验收人:

验收时间:

序号

软件类型

软件名称

验收结果

1

系统软件

学生管理系统

完成

3.3功能模块验收单

功能模块

验收内容

合同要求

登录验证

能否正常登陆

必须实现

合格

2

密码模块

能否修改密码

3

学生模块

正常实现添加修改功能

可以有差错

4

课程模块

5

成绩模块

6

退出模块

正常退出系统

3.4项目文档验收单

文档名称

用途

软件需求分析

分析软件的需求,为后续的工作

软件测试用例

对以实现的软件进行测试

3.5运行结果验收

系统运行内容

是否符合要求

a.软件登录

符合

b.软件测试

C.软件查询

d.软件修改

e.软件退出

第四章验收结论

经过严格的测试本软件达到要求标准,符合验收要求。

第五章交付物清单

文档提交清单

源码提交清单

源程序清单(仅给出核心代码部分)

typedefcharbool;

#defineFILEPATH"

c:

\\stuinfo.dat"

#defineINFOPATH"

\\test.txt"

#defineMAXSPACECOUNT10//系统所记录的最大冗余块数

#defineMAXSUBCOUNT20//系统所允许存储的最多科目数

#defineRANDSTUCOUNT100//系统将自动产生的学生个数

#defineRANDSUBCOUNT20//系统将自动产生的科目个数

#defineBUFSIZE20//字符缓冲区大小

#defineSHOWMAX6//屏幕最大显示的科目数

#defineTRUE1

#defineFALSE0

#defineREAD0x81

#defineWRITE0x82

#defineSEARCH_SCHID0x83//通过学生的学号进行搜索

#defineSEARCH_NAME0x85//通过学生的姓名进行搜索

#defineSEARCH_SUB0x86//通过学科的名称进行搜索

#defineSHOW_PRIV0x87//显示单个学生的个人信息

#defineSHOW_PERMARK0x89//显示单个学生的个人成绩

#defineSHOW_ALLMARK0x90//显示所有学生的某科成绩

#defineSORT_DECLINE0x92//以降序排列

#defineSORT_INCLINE0x93//以升序排列

#defineALPHAWORD0x94//以字母构成的字符串(用于随机产生学生的姓名

#defineNUMBERWORD0x95//以数字构成的字符串(用于随机产生学号

#defineADDSUB0x96//科目编辑模式为添加

#defineEDITSUB0x97//科目编辑模式为修改

#defineBIGNUMBER0x0ffffff//系统延迟采用的循环中的大数

#defineLONGSIZEsizeof(long)

#defineINTSIZEsizeof(int)

#defineLINKSIZEsizeof(link)

#defineSTUINFOSIZEsizeof(stuinfo)

#defineSUBINFOSIZEsizeof(subinfo)

#defineTCHINFOSIZEsizeof(tchinfo)

#defineSUBMARKSIZEsizeof(submark)

#defineFILEINFOSIZEsizeof(fileinfo)

#defineMYSTUSIZEsizeof(mystu)

#defineDATASEEK(FILEINFOSIZE+LONGSIZE)

#defineDATATRANS(STUINFOSIZE+LONGSIZE)

#defineSETERR(S){printf(S);

returnFALSE;

}//显示出错信息并返回

#defineNEW(I)(I*)malloc(sizeof(I))//开辟新的内存空间

typedefstruct_submarkinfo

{

boolflag;

//flag=0表该块无效

intsub_id;

//科目的id号

doublesub_mark;

//该科目的成绩

}submark,*psubmark;

//科目成绩信息

typedefstruct_stu

charstu_name[20];

//学生姓名

charstu_schid[20];

//学生学号

intstu_sex;

//学生性别0=man1=woman

charstu_major[20];

//学生专业和班级(电子0606)

}mystu,*pmystu;

//学生个人信息

typedefstruct_stuinfo

//flag=0表该生作废

intstu_sysid;

//学生id号

//系统将为每个学生产生唯一的ID号

mystustu_privacy;

//学生个人信息

longstu_seek;

//在文件中的地址

intstu_markcount;

//已有的成绩数

doublestu_avemark;

//学生加权平均分

submarkstu_mark[MAXSUBCOUNT];

//学生成绩数组

}stuinfo,*pstuinfo;

//学生信息(包括个人信息和系统信息)

typedefstruct_subinfo

//flag=0表该块无效

intsub_term;

//科目开课的学期

doublesub_rate;

//科目所占的学分

charsub_name[20];

//科目名称

}subinfo,*psubinfo;

//科目信息

typedefstruct_fileinfo

intstucount;

//已注册的学生人数

intcountmax;

//最大学生数,用于产生id

intspacecount;

//文件冗余块数

longseek[MAXSPACECOUNT];

//文件冗余块在文件中的地址

intsubcount;

//已注册的科目的个数

subinfosub[MAXSUBCOUNT];

//科目信息数组

}fileinfo,*pfileinfo;

//学生信息文件头

typedefstruct_link

doublemark;

longstuseek;

struct_link*next;

}link,*plink;

//该结构体用于产生链表

//链表用于对成绩排序之用

核心功能函数:

//本函数设置系统错误,并终止程序

voidseterr(char*err)

memset((void*)myerr,0,errnosize);

intn=strlen(err);

if(n>

errnosize-1)

n=errnosize;

memcpy(myerr,err,n);

printf("

\n\n%s\n\n"

err);

exit(0);

}

/*本函数用于清理所有全局变量

包括文件指针和全局结构体指针*/

voidfreeparam()

if(fp)fclose(fp);

fp=NULL;

if(myfileinfo)free(myfileinfo);

myfileinfo=NULL;

if(mystuinfo)free(mystuinfo);

mystuinfo=NULL;

//本函数用于对文件进行操作,将常用的文件操作集于一身

voidfcntl(longseek,intcntlmode,void*pdata,intsize)

if(!

fp)fp=fopen(FILEPATH,"

rb+"

);

fp)initfile();

rewind(fp);

fseek(fp,seek,SEEK_SET);

pdata)return;

size)seterr("

fcntl:

parameternotmatched"

switch(cntlmode)

{

caseREAD:

fread(pdata,size,1,fp);

break;

caseWRITE:

fwrite(pdata,size,1,fp);

default:

seterr("

cntlmodeinvalid"

}

//初始化数据库

voidinitfile()

wb+"

myfileinfo)

myfileinfo=NEW(fileinfo);

memset(myfileinfo,0,FILEINFOSIZE);

myfileinfo->

seek[0]=DATASEEK;

inti=0;

for(;

i<

MAXSUBCOUNT;

i++)

sub[i].sub_id=i+1;

fcntl(0,WRITE,myfileinfo,FILEINFOSIZE);

//添加学生的核心函数

voidaddstu(pmystunewstuinfo)

newstuinfo)

seterr("

addstu:

newstuinfonull"

if(search(newstuinfo->

stu_schid,SEARCH_SCHID))

seterr("

databaseschidcollision"

myfileinfo=NEW(fileinfo);

fcntl(0,READ,myfileinfo,FILEINFOSIZE);

intspacecount=myfileinfo->

spacecount;

if(spacecount>

=MAXSPACECOUNT)

parameterinvalid"

longseek=myfileinfo->

seek[spacecount];

if(spacecount)

myfileinfo->

seek[spacecount]=0;

spacecount--;

elsemyfileinfo->

seek[spacecount]+=DATATRANS;

mystuinfo)mystuinfo=NEW(stuinfo);

memset(mystuinfo,0,STUINFOSIZE);

memcpy(&

(mystuinfo->

stu_privacy),newstuinfo,MYSTUSIZE);

mystuinfo->

stu_seek=seek;

flag=1;

inti;

stu_sysid=myfileinfo->

countmax+1;

for(i=0;

mystuinfo->

stu_mark[i].sub_id=i+1;

fcntl(seek,WRITE,mystuinfo,STUINFOSIZE);

stucount++;

countmax++;

//删除学生的核心函数

voiddelstu(longdelstuseek)

delstuseek)seterr("

delstu:

parameterzero"

fcntl(delstuseek,READ,mystuinfo,STUINFOSIZE);

mystuinfo->

flag)seterr("

flag=0;

fcntl(delstuseek,WRITE,mystuinfo,STUINFOSIZE);

stucount--;

spacecount++;

intcount=myfileinfo->

if(count<

MAXSPACECOUNT)

seek[count]=delstuseek;

//编辑一个已存在学生的核心函数

voideditstu(longeditstuseek,pmystutempstu)

tempstu)seterr("

editstu:

parameternull"

fcntl(editstuseek,READ,mystuinfo,STUINFOSIZE);

flag)

editstuinvalid"

plinklinkhead=search(tempstu->

stu_schid,SEARCH_SCHID);

if(linkhead&

&

linkhead->

data-editstuseek)

stu_privacy,tempstu,MYSTUSIZE);

fcntl(editstuseek,WRITE,mystuinfo,STUINFOSIZE);

//添加新的学科的核心函数

voidaddsub(psubinfonewsub)

newsub)seterr("

addsub:

if(newsub->

sub_term<

1||newsub->

sub_term>

8)

sub_rate<

0.5||newsub->

sub_rate>

6)

if(search(newsub->

sub_name,SEARCH_SUB))

databasesubcollision"

intsubcount=myfileinfo->

subcount;

if(subcount>

=MAXSUBCOUNT)

subjectfull"

psubinfopsubtemp=myfileinfo->

sub;

newsub->

i++,psubtemp++)

psubtemp->

newsub->

sub_id=psubtemp->

sub_id;

memcpy(psubtemp,newsub,SUBINFOSIZE);

break;

if(i>

=MAXSUBCOUNT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1