软件工程 样本.docx

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

软件工程 样本.docx

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

软件工程 样本.docx

软件工程样本

陕西省高等教育自学考试

课程

实践环节考核报告

 

准考证号:

考生姓名:

所学专业:

专业层次:

考核地点:

考核时间:

考核桌(机)号:

同组考核者姓名:

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

教师签名:

年月日

主考院校:

西安电子科技大学

陕西省高等教育自学考试

《软件工程》实验报告

====================================================================*

姓名:

准考证号:

专业名称:

计算机应用(本科)

考生所在地:

西安

考试时间:

2009-5-29考点:

西安电子科技大学

====================================================================*

 

一、实验目的:

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

二、实验环境:

1.硬件环境:

CPU:

P41.8

内存:

512M

硬盘:

40G

2.软件环境:

(1)Windows2000;

(2)Foxpro

三、软件设计说明书:

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.程序代码及运行结果:

4.程序流程图:

(略)

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

===========================主控程序XSCJGL.prg===================

SETTALKOFF

CLEAR

TEXT

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

|开发工具:

FoxPro6.0|

|设计者:

|

|准考证号:

010405106784|

|版本:

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

 

================*数据记录输入程序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

 

========================删除记录程序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"

READ

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

 

==========================**修改学生记录程序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

 

 

====**查询程序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

====**统计程序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

 

====***打印程序dy.prg====**

CLEAR

WAIT"是否打印?

[Y/N]:

"TOx

IFx="Y"orx="y"

SETPRINTON

SETCONSON

ELSE

RETURN

ENDIF

usecjk

sorttodcjxON总分/D

usedcjx

CLEAR

?

SPACE(24)+"XX学校初

(2)一班班学生成绩表"

?

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