软件工程.docx

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

软件工程.docx

《软件工程.docx》由会员分享,可在线阅读,更多相关《软件工程.docx(20页珍藏版)》请在冰豆网上搜索。

软件工程.docx

软件工程

陕西省高等教育自学考试

软件工程课程

实践环节考核报告

 

准考证号:

考生姓名:

所学专业:

计算机及应用专业层次:

本科

考核地点:

西安电子科技大学考核时间:

2012-5-22

实践考核评语及成绩评定(由指导教师填写)

教师签名:

年月日

主考院校:

西安电子科技大学

《软件工程》课程实践

一、实验环境

1.硬件:

CPU2.4G;内存2G;硬盘160G;显示器17;

2.软件:

操作系统windowsXp

3.实验环境:

Foxpro,word2003

二、实验目的:

使考生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,如何用工程化的方法开发软件项目,在开发过程中应遵循的流程、准则、标准和规范,注重方法、技术的实际应用

三、软件设计说明书:

1.需要说明书

1.1概述

1.1.1项目背景

学生成绩统计是学校教务工作的一个重要内容,该软件可以大大减轻工作人员的工作量,更有助于学生成绩的管理,促进学校教学管理工作。

1.1.2用户特点

用户主分,管理员、老师、学生三类,数量不大,用户需求简单。

1.1.3假定与约束

假定学生只有三门主课。

成绩在1-100分之间。

1.2具体要求

1.2.1功能需求

可以录入学生基本资料,三门本课的成绩,计算机计算总成绩与平均分。

1.2.2外部接口需求

人工手工录入。

1.2.3性能需求

1.2.4软件属性需求

软件能在xp系统下,单机运行。

1.2.5数据需求

可满足大型学校,学号id为十进制12位。

1.2.6产品化需求

内部使用,不需要产品化。

1.3运行环境规定

1.3.1设置

在xp系统下能正常运行,进行程序需提供用户密码。

1.3.2支持软件

程序依托xp操作系统

1.3.3接口

采用foxfro表单数据库,手工录入。

1.3.4控制

管理员可以修改数据结构,教师可以录入及修改学生成绩,学生只能查询操作。

2.概要设计说明书

2.1总体设计

2.1.1软件描述

软件是单机软件,为学校内部使用,数据量小,功能也比较简单,用户较小。

2.1.2软件结构

软件包括一个主界面,内含一个主菜单,一个退出。

主采单分6项,分别完成软件功能。

2.1.3外部接口

人工手工键盘录入界面。

2.2模块设计

2.2.1模块功能

主模块:

进入系统首先显示系统名称,开发者姓名,版本号口令,口令正确进入等.

数据输入:

向成绩数据库追加记录,输入学号,姓名等.

数据修改:

修改学生成绩库文件记录,输入学号查找并进行修改操作.

数据统计模块,提示正在进行统计,请稍等…..,然后进行总成绩和平均成绩,完成

数据打印模块,按照设计的报表,编写打印程序,并调试,显示

2.2.2外部接口

人工手工键盘录入界面。

2.3数据结构设计

2.3.1逻辑结构设计

数据库。

2.3.2物理结构设计

foxpro数据库系统。

3.详细设计说明书

3.1引言

学生成绩统计是学校教务工作的一个重要内容,为了减轻工作人员的工作量,更有助于学生成绩的管理,促进学校教学管理工作,特设计此软件。

3.2软件结构

软件包括一个主界面,内含一个主菜单,一个退出。

主菜单分6项:

输入学生记录,修改学生记录,删除学生记录,查询学生记录,统计学生记录,打印学生记录。

3.3模块设计说明

输入模块查询模块

 

统计模块打印模块

 

4.测试分析报告

4.1测试结果

通过编译后,多次测试程序各个功能模块使用正常,录入,删除,查询,统计,打印等功能都已实现,但对话框要求输入Y/N时,不正确输入时,容易死机。

4.2软件功能结果

此软件,教师用户可以录入学生基本资料,及三门主课的成绩,自动计算学生成绩总分及平均分,并进行查询、统计与打印。

学生可以按学号查询自己或他人的成绩,不能打印。

4.3分析摘要

软件功能比较简单,可以实现简单的学生成绩管理,但功能还很少。

四、实验内容:

1.题目:

学生成绩管理系统。

2.数据库结构。

3.系统结构模块图:

主控模块

 

各模块功能说明:

1):

主模块:

进入系统首先显示系统名称,开发者姓名,版本号口令,口令正确进入等.

2):

数据输入:

向成绩数据库追加记录,输入学号,姓名等.

3):

修改学生成绩库文件记录,输入学号查找并进行修改操作.

4):

数据统计模块,提示正在进行统计,请稍等…..,然后进行总成绩和平均成绩,完成

5):

数据打印模块,按照设计的报表,编写打印程序,并调试,显示

4.程序代码及运行结果:

五、程序源代码及运行结果:

1.主控程序XSCJGL.prg

SETTALKOFF

CLEAR

TEXT

--------------------学生成绩管理系统-----------------

|开发工具:

FoxPro6.0|

|设计者:

郭晶|

|准考证号:

010106209678|

|版本:

Ver1.0|

----------------------------------------------------

ENDTEXT

“请输入密码”

SETCONSOLEOFF

ACCEPTTOkey

SETCONSOLEON

IF

key=="12345”

ELSE

WAIT"密码不正确,按任意键退出!

"

CANCEL

ENDIF

CLEAR

USEcjk

DEFINEMENUxscjgl

DEFINEPADcjglOFxscjglPROMPT"学生成绩管理"

DEFINEPADokOFxscjglPROMPT"退出"

ONSELECTIONPADcjglOFxscjglACTIVATEPOPUPpopcj

ONSELECTIONPADokofxscjglRETURN

DEFINEPOPUPpopcjFROM1,0

DEFINEBAR1OFpopcjPROMPT"1.输入学生记录"

DEFINEBAR2OFpopcjPROMPT"2.删除学生记录"

DEFINEBAR3OFpopcjPROMPT"3.修改学生记录"

DEFINEBAR4OFpopcjPROMPT"4.查询学生记录"

DEFINEBAR5OFpopcjPROMPT"5.统计学生记录"

DEFINEBAR6OFpopcjPROMPT"6.打印成绩报表"

ONSELECTIONBAR1OFpopcjDOinput.prg

ONSELECTIONBAR2OFpopcjDOsc.prg

ONSELECTIONBAR3OFpopcjDOxg.prg

ONSELECTIONBAR4OFpopcjDOcx.prg

ONSELECTIONBAR5OFpopcjDOtj.prg

ONSELECTIONBAR6OFpopcjDOdy.prg

ACTIVATEMENUxscjgl

RETURN

2.数据记录输入程序input.prg

CLEAR

DEFINEWINDOWw1FROM2,20TO25,100SYSTEMCLOSEFLOATGROW;

FONT"T黑体",11TITLE"输入学生纪录窗口"

DEFINEWINDOWw2INWINDOWw1FROM12,10TO18,50SYSTEM;

CLOSEFLOATGROWFONT"T黑体",11TITLE"对话窗口"

DIMENSIONa(9)

action=.T.

answer=.T.

DOWHILEaction

DOWHILE.T.

SCATTERTOaBLANK

ACTIVATEWINDOWw1

CLEAR

@1,2SAY"学号:

"GETa

(1)PICTURE"XXXXXXXXXXXX"

@1,20SAY"姓名:

"GETa

(2)PICTURE"XXXXXX"

@3,2SAY"性别:

"GETa(3)PICTURE"XX"

@3,20SAY"出生日期:

"GETa(4)PICTURE"@d"

@5,2SAY"计算机:

"GETa(5)PICTURE"999.99"RANGE0,100

@5,20SAY"数学:

"GETa(6)PICTURE"999.99"RANGE0,100

@5,38SAY"数学:

"GETa(7)PICTURE"999.99"RANGE0,100

READ

a(8)=a(5)+a(6)+a(7)

a(9)=a(8)/3

ACTIVATEWINDOWw2

@1,2SAY"输入正确吗?

[Y/N]"GETanswerPICTURE"L"

READ

IFanswer

APPENDBLANK

GATHERFROMa

EXIT

ENDIF

ENDDO

@1,0CLEAR

@1,2SAY"继续输入吗?

[Y?

N]"GETactionPICTURE"L"

READ

DEACTIVATEWINDOWw2

ENDDO

DEACTIVATEWINDOWw1,w2

RETURN

3.删除记录程序sc.prg

SETDELETEON

CLEAR

num=SPACE(5)

DEFINEWINDOWw1FROM2,20TO25,80SYSTEMCLOSEFLOATGROW;

FONT"T黑体",11TITLE"删除学生记录窗口"

DEFINEWINDOWw2INWINDOWw1FROM8,10TO16,70SYSTEMCLOSEFLOAT;

GROWFONT"T黑体",11TITLE"对话窗口"

action=.T.

answer=.T.

DOWHILEaction

ACTIVATEWINDOWw1

CLEAR

@1,1SAY"请输入要删除学生的记录号:

"GETnumPICTURE"XXXXXXXXXXXX"

LOCATEFOR学号=num

IFFOUND()

DISPLAY

ACTIVATEWINDOWw2

CLEAR

@1,1SAY"确定要删除该学生记录吗?

[Y/N]"GETanswerPICTURE"L"

READ

IFanswer

DELETE

@1,0CLEAR

@1,1SAY"该学生数据已删除!

"

@2,1SAY"继续删除操作吗?

[Y/N]"GETactionPICTURE"L"

READ

ENDIF

ENDIF

IF.NOT.FOUND()

ACTIVATEWINDOWw2

@1,1SAY"查无此人!

"

@2,1SAY"继续删除操作吗?

[Y/N]"GETactionPICTURE"L"

READ

ENDIF

CLEAR

ENDDO

DEACTIVATEWINDOWw1,w2

PACK

SETDELETEOFF

RETURN

 

4.修改学生记录程序xg.prg

CLEAR

DEFINEWINDOWw1FROM2,20TO25,100SYSTEMCLOSEFLOATGROW;

FONT"T黑体",11TITLE"修改学生记录窗口"

DEFINEWINDOWw2INWINDOWw1FROM8,10TO14,50SYSTEMCLOSEFLOAT;

GROWFONT"T黑体",11TITLE"对话窗口"

action=.T.

answer=.T.

DIMENSIONa(9)

DOWHILEaction

DOWHILE.T.

num=SPACE(12)

ACTIVATEWINDOWw1

CLEAR

@0,1SAY"请输入要修改学生的学号:

"GETnumPICTURE"XXXXXXXXXXXX"

READ

LOCATEFOR学号=num

IFFOUND()

SCATTERTOa

@1,2SAY"学号:

"GETa

(1)PICTURE"XXXXXXXXXXXX"

@1,20SAY"姓名:

"GETa

(2)PICTURE"XXXXXX"

@3,2SAY"性别:

"GETa(3)PICTURE"XX"

@3,20SAY"出生日期:

"GETa(4)PICTURE"@d"

@5,2SAY"计算机:

"GETa(5)PICTURE"999.99"RANGE0,100

@5,20SAY"英语:

"GETa(6)PICTURE"999.99"RANGE0,100

@5,38SAY"数学:

"GETa(7)PICTURE"999.99"RANGE0,100

READ

a(8)=a(5)+a(6)+a(7)

a(9)=a(8)/3

ACTIVATEWINDOWw2

@1,2SAY"真的要修改吗?

[Y/N]"GETanswerPICTURE"L"

READ

IFanswer

GATHERFROMa

@2,2SAY"修改后的数据已经存入库文件!

"

WAITWINDOW

CLEAR

ENDIF

ENDIF

IF.NOT.FOUND()

@1,1CLEAR

ACTIVATEWINDOWw2

@1,2SAY"库文件中无此人!

"

WAITWINDOW

CLEAR

ENDIF

EXIT

ENDDO

@1,2SAY"继续修改操作吗?

[Y/N]"GETactionPICTURE"L"

READ

@1,2CLEAR

ENDDO

DEACTIVATEWINDOWw1,w2

RETURN

5.查询程序cx.prg

CLEAR

DEFINEWINDOWwFROM8,1TO25,160SYSTEMCLOSEFLOATGROW;

FONT"T黑体",11TITLE"查询学生记录窗口"

action=.t.

DOWHILEaction

num=SPACE(5)

ACTIVATEWINDOWw

CLEAR

@1,1SAY"请输入要查询学生的学号:

"GETnumPICTURE"XXXXX"

READ

LOCATEFOR学号=num

IFFOUND()

DISPLAY

WAIT"按任意键继续!

"

ENDIF

IF.NOT.FOUND()

@2,1SAY"查无此人!

"

WAIT"按任意键继续!

"

ENDIF

@ROW()+1,1SAY"继续查吗?

[Y/N]"GETactionPICTURE"L"

READ

ENDDO

DEACTIVATEWINDOWw

RETURN

6.统计程序tj.prg

CLEAR

AVERAGE计算机TOa1

AVERAGE英语TOa2

AVERAGE数学TOa3

countTOn

COUNTFOR计算机>=60TOn1

COUNTFOR英语>=60TOn2

COUNTFOR数学>=60TOn3

CLEAR

DEFINEWINDOWwFROM2,20TO25,150SYSTEMCLOSEFLOATGROW;

FONT"T黑体",11TITLE"统计窗口"

ACTIVATEWINDOWw

?

"计算机单科平均:

",a1,"及格率",n1/n*100,'%'

?

"英语单科平均:

",a2,"及格率",n2/n*100,'%'

?

"数学单科平均:

",a3,"及格率",n3/n*100,'%'

wait"按任意键返回!

"

DEACTIVATEWINDOWw

RETURN

7打印程序dy.prg

CLEAR

WAIT"是否打印?

[Y/N]:

"TOx

IFx="Y"orx="y"

SETPRINTON

SETCONSON

ELSE

RETURN

ENDIF

usecjk

sorttodcjxON总分/D

usedcjx

CLEAR

?

SPACE(24)+"9906班学生成绩表"

?

SPACE(3)+""

?

SPACE(3)+"学号姓名计算机|英语数学总分平均成绩"

GOTOTOP

DOWHILE.NOT.EOF()

?

SPACE(3)+""

?

SPACE(3)+""+学号+"|"+姓名+""+str(计算机,5,1)+""+str(英语,5,1)+;

""+str(数学,5,1)+""+str(总分,6,1)+""+str(平均成绩,6,2)+""

SKIP

ENDDO

?

SPACE(3)+""

?

SPACE(49)+"制表日期:

"+DTOC(DATE())

USEcjk

SETPRINTOFF

!

deldcjx.dbf

RETUR

打印程序运行结果:

试验心得体会

通过此次课程实践,使我对软件工程有了进一步的认识,了解到一个软件开发的总体过程,认识到需求分析在软件工程中是比较重要的,这次设计由于时间和能力限制,未能全面的完成软件功能,但是通过整个需求分析,有流程图,模块图等,完成软件还是能顺利的。

这次实践题目是设计一个学生成绩管理系统,通过分析软件所要达到的功能,完成了软件的需要说明书。

在详细设计中,画出了具体的流程图,再根据题目要求的基本模块,完成了最终的软件设计说明书。

在软件设计说明书的指导下,使用Foxpro工具完成了软件的基本开发。

通过调试,最终完成了学生成绩管理系统。

通过此次实验,让我受益无穷,让我体会到软件工程思想的魅力,开发软件决对不就是简单的编源代码,而是一个工程开发的过程。

深刻认识到需求分析对一个软件开发的重要性。

通过这次实践,深入了解了软件工程的基本概念、基本原理、实用的开发方法和技术,学会了用工程化的方法来开发软件项目。

我想,这种新的体会与认识只有你亲自上机实践才可以理解与感受到,这无疑是我们今后学习的宝贵经验与财富。

在实践过程中,的确让我学到了很多有用的知识。

在实践中提高了我的动手能力,也让我了解到了自己的不足,我会继续努力。

最后感谢实践老师的辛苦辅导。

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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