软件工程大作业Word格式.docx

上传人:b****2 文档编号:361463 上传时间:2023-04-28 格式:DOCX 页数:27 大小:212.32KB
下载 相关 举报
软件工程大作业Word格式.docx_第1页
第1页 / 共27页
软件工程大作业Word格式.docx_第2页
第2页 / 共27页
软件工程大作业Word格式.docx_第3页
第3页 / 共27页
软件工程大作业Word格式.docx_第4页
第4页 / 共27页
软件工程大作业Word格式.docx_第5页
第5页 / 共27页
软件工程大作业Word格式.docx_第6页
第6页 / 共27页
软件工程大作业Word格式.docx_第7页
第7页 / 共27页
软件工程大作业Word格式.docx_第8页
第8页 / 共27页
软件工程大作业Word格式.docx_第9页
第9页 / 共27页
软件工程大作业Word格式.docx_第10页
第10页 / 共27页
软件工程大作业Word格式.docx_第11页
第11页 / 共27页
软件工程大作业Word格式.docx_第12页
第12页 / 共27页
软件工程大作业Word格式.docx_第13页
第13页 / 共27页
软件工程大作业Word格式.docx_第14页
第14页 / 共27页
软件工程大作业Word格式.docx_第15页
第15页 / 共27页
软件工程大作业Word格式.docx_第16页
第16页 / 共27页
软件工程大作业Word格式.docx_第17页
第17页 / 共27页
软件工程大作业Word格式.docx_第18页
第18页 / 共27页
软件工程大作业Word格式.docx_第19页
第19页 / 共27页
软件工程大作业Word格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程大作业Word格式.docx

《软件工程大作业Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程大作业Word格式.docx(27页珍藏版)》请在冰点文库上搜索。

软件工程大作业Word格式.docx

学校各部门、单位、教师、学生对系统的其他要求与希望。

1.2系统调查方法

通过对部分高校学生档案管理人员的访问,了解到目前大部分高校的档案管理工作存在工作效率低,成本高,保密性差,查询困难等问题。

大部分工作人员都提出需要一个具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点的现代化信息管理系统。

为解决此问题我们决定开发一个既方便又操作简单,功能较为齐全的学生档案管理系统。

第二章.系统分析

2.1系统分析

1系统开发的总体任务是学生档案管理的系统化与规范化。

2系统开发的目标是使档案管理工作科学化与规范化,提高安全系数。

3系统功能树本系统主要功能是实现学生基本情况的管理。

图3.1学生档案管理系统功能模块

2.2系统调结构图

图3.2学生档案管理系统结构图

2.3子系统功能描述

院系管理

由创建院系及班级信息,修改院系班级记录,删除院系班级记录,查看院系班级数据四部分组成。

创建院系及班级信息。

主要是院系名称,班级专业名称,院系具体描述,班级介绍,院系编号由数据库系统自动编号,不显示在前台程序。

修改院系及班级记录。

可对院系或班级名称,描述,介绍等记录进行修改。

删除院系及班级记录。

可选择删除院系或班级,如果所选院系或班级已含有数据记录,如含有专业班级资料,或学生资料,则必须先将其所含有的记录资料删除,才能成功完成操作。

查询院系及班级资料。

在院系管理的主界面查看已有院系及班级记录。

2学生信息管理

由创建、修改、删除学生信息资料,添加、修改、删除学生教育经历,添加及删除学生照片组成。

学生信息资料创建,将刚入学的学生资料添加到数据库中加以保存。

信息资料由学生编号、姓名、照片、性别、民族、生日、政治面貌、籍贯、身份证号、学生证号、家庭电话、居住住址、邮政编码、入校日期、职务、所在院系编号、备注与填表时间组成。

基于保护数据记录安全性考虑学生编号由数据库系统自动生成,不显示在前台程序。

院系编号亦不在学生信息管理界面显示,只在后台数据库显示。

添加、修改、删除学生教育经历,创建并管理所选择学生过去的教育经历,曾就读及某校,任何职务。

添加、删除学生照片。

为所选择学生添加个人照片,如需更新照片,只需再次添加,既可覆盖原有照片数据记录。

3奖惩信息管理

由添加学生奖惩信息,修改奖惩信息,删除奖惩信息,浏览学生奖惩信息组成。

添加、修改学生奖惩信息,设置学生奖励或处罚资料,奖励及处罚项目使用备选项,亦可再加以具体说明。

删除奖惩信息。

奖励及惩罚记录分开显示,选择某条奖惩记录,将其删除。

4学生学籍信息管理

由添加、修改、删除学生退学、转学、休学、调班等学籍信息组成。

添加、修改学生学籍信息资料。

通过在院系表中选择目标班级,可选择学生姓名,

删除学生学籍变更数据记录。

学生调班成功后,系统敬爱能够自动更新该学生在院系班级表,学生基本信息表中的相关数据记录。

5课程管理

由创建、修改、删除课程信息,学生课程成绩信息组成。

创建、修改课程信息,可创建或修改新课程名称,授课教师,课时设置,课程类型。

删除课程信息。

选择某个课程记录,可将其所包含的所有信息删除。

学生课程成绩信息,由添加、修改、删除课程成绩信息组成。

设置院系学生中学生课程成绩信息。

6系统管理

由创建用户,修改用户,删除用户,浏览用户信息组成。

创建用户。

该功能只对系统管理员开放,使用系统管理员身份登陆后可创建起他用户。

修改、删除用户。

该权限只对系统管理员开放。

非系统管理员只能对自己的用户名与密码进行修改。

第三章.系统设计

3.1界面设计原则

一个好的应用程序不仅要有强大的功能,还要有美观实用的用户界面。

用户界面是应用程序的一个重要组成部分,一个应用程序的界面往往决定了该程序的易用性及可操作性,一个美观的界面的美观与用户亲与性是应用软件成功的首要条件。

界面设计具有一般性的原则,最为重要的有:

界面要具有一致性;

常用操作要有捷径;

提供简单的错误处理;

提供信息反馈;

操作可逆。

我们在设计界面时充分从一致性、友好性、交互性、信息子最小量原则、易用性、数据输入等方考虑,遵循以下原则

操作简单,易学,易掌握;

界面美观,操作舒适;

快速反应,响应合理;

语言规范,语义一致。

一致性,在同一界面中,所有的菜单选择、命令输入、数据显示与其他功能应保持风格的一致性。

信息最小量原则。

人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。

用户界面应能对用户的决定做出及时的响应,提高对话、移动的思考的效率,最大可能的减少击键次数,缩短鼠标移动距离,避免使用户产生无所适从的感觉。

人机界面应该提供上下文敏感的求助系统,让用户及时获得帮助,尽量用简短的动词与动词短语提示命令。

操作应该可逆,对于不具备专业知识的操作人员非常有用,可逆的动作可以是单个的操作,也可以是一个相对独立的操作序。

界面设计过程(略

3.2数据库设计

数据流程图DFD(DataFlowDiagram是描述系统数据流程的工具,它将数据独立抽象出来,通用图形方式描述信息的来龙去脉与实际流程。

图4.1数据流程分析图

数据字典(DataDictionary,DD是DBMS中的一个特殊文件,用于存储数据库的一些说明信息,这些说明信息称为元数据(MetaData。

DD是在新的信息系统数据流程图的基础上,进一步定义与描述数据处理过程、外交实体及数据存储(数据库的详细逻辑内容工具。

本系统后台数据库采用MicrosoftSQLServer2000数据库。

建立了一个数据库StudentSys,包括了九个表:

院系班级表Classes、学生基本信息表Students、学生教育经历记录表Experience、学生奖惩表Evaluation、学生学籍变动表Change、课程设置表Lessons、考试成绩表Scores、用户信息表Users。

表1Classes结构

表5Change结构

表6Lessons结构

3.3代码设计

一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。

所以代码的设计就显得非常重要。

考虑到以后对系统更新及维护的可行性及方便性,减少程序员工作量,等各方面的考虑,我们在代码设计过程中遵循科学性,系统性,可扩展性,规范化,人性化,通用性,含义单纯性,容易理解等原则考虑。

以下只列举部分关键代码院系管理

添加院系信息

IfTrim(txtClass="

"

Then

MsgBox"

请输入院系班级名称"

ExitSub

EndIf

WithMyClass

.Class_Name=MakeStr(txtClass

.Describe=MakeStr(txtDescribe

IfModify=FalseThen'

插入

If.In_DB(.Class_Name=TrueThen

MsgBoxTrim(txtClass+"

已经存在"

.UpperId=CurClass.Class_Id

Bh=.Insert

Tmp_Key="

a"

+Trim(Str(Bh

FrmClassMan.TreeView1.SelectedItem.Image=1

FrmClassMan.TreeView1.SelectedItem.ExpandedImage=2

FrmClassMan.TreeView1.SelectedItem.SelectedImage=3

SetTmpNode=FrmClassMan.TreeView1.Nodes.Add(FrmClassMan.TreeView1.SelectedItem.Key,_tvwChild,Tmp_Key,.Class_Name,4,5

TmpNode.Selected=True

Else'

修改

IfCurClass.Class_Name<

>

Trim(txtClassThen

If.In_DB(Trim(txtClass=TrueThen

.UpperId=CurClass.UpperId

.Update(CurClass.Class_Id

FrmClassMan.TreeView1.SelectedItem.Text=Trim(txtClass

CurClass.Class_Name=Trim(txtClass

EndWith

UnloadMe

删除院系资料IfTreeView1.SelectedItem.Key="

a0"

此项不能删除"

IfCurClass.HaveSon(CurClass.Class_Id=TrueThen

MsgBoxCurClass.Class_Name+"

包含下级院系班级,不能删除"

IfMyClass.HaveStudent(CurClass.Class_Id=TrueThen

包含学生,不能删除"

IfMsgBox("

是否确定要删除"

+Trim(TreeView1.SelectedItem.Text,vbYesNo,"

请确认"

=vbNoThen

CallCurClass.Delete(CurClass.Class_Id

TreeView1.Nodes.RemoveTreeView1.SelectedItem.Index

TreeView1_Click

学生信息资料管理

添加学生基本信息资料

WithMyStu

.Student_Name=MakeStr(txtStu_Name

.Sex=ComboSex.Text

.Nationality=MakeStr(txtNationality

IfIsDate(ComboBirth.Text=FalseThen

请选择正确的出生日期"

.Birth=ComboBirth.Text

.Political_Party=MakeStr(txtPolitical_Party

.Family_Place=MakeStr(txtFamily_Place

.Id_Card=MakeStr(txtId_Card

.BadgeID=MakeStr(txtBadgeID

.Home_phone=MakeStr(txtHomePhone

.Residence=MakeStr(txtResidence

.Postcode=MakeStr(txtPostcode

IfIsDate(ComboInDate.Text=FalseThen

请选择正确的入校日期"

.InDate=ComboInDate.Text

.Title=MakeStr(txtTitle

.Memo=MakeStr(txtMemo

dd=Date

dd=Format(dd,"

yyyy-mm-dd"

t=Time

tt=Trim(Str(Hour(t+"

:

+Trim(Str(Minute(t+"

+Trim(Str(Second(t.Fillin_Time=dd+"

"

+tt

.Class_Id=CurClass.Class_Id

IfModify=FalseThen

.Insert

Else

.Update(CurStu.Student_Id

FrmStuMan.TmpOk=True

照片管理

IfButton=1Then

IfFrmPhotoMenu.Visible=TrueThen

UnloadFrmPhotoMenu

IfButton=2Then

IfCurStu.Student_Id<

=0Then

FrmPhotoMenu.Left=X+Image1.Left+200'

-1610

FrmPhotoMenu.Top=Y+Image1.Top+1900

FrmPhotoMenu.Show

DimDiskFileAsString

请选择学生"

CommonDialog1.Filter="

BMP文件(*.bmp|*.bmp|JPEG文件(*.jpg|*.jpg|GIF文件(*.gif|*.gif"

CommonDialog1.ShowOpen

DiskFile=CommonDialog1.

IfDiskFile="

请选择照片文件"

CallSaveImage(DiskFile,FrmStuMan.AdoStuDetail

CallShowImage(FrmStuMan.Image1,FrmStuMan.AdoStuDetail

FrmStuMan.AdoStuDetail.Recordset.Fields(2.AppendChunk"

FrmStuMan.AdoStuDetail.Recordset.Update

FrmStuMan.Image1.Picture=LoadPicture("

学籍管理

添加学籍管理信息资料

FrmChangeEdit.ComboDate.Text=Format(Now,"

SelStu.Init

FrmChangeEdit.ComboName.Text="

FrmChangeEdit.ComboType.ListIndex=ComboType.ListIndex

FrmChangeEdit.ComboClass="

FrmChangeEdit.txtMemo="

FrmChangeEdit.Modify=False

FrmChangeEdit.Show1

Refresh_Change

修改学籍管理信息资料

FrmChangeEdit.OriId=Adodc1.Recordset.Fields(0

FrmChangeEdit.ComboDate.Text=Trim(Adodc1.Recordset.Fields(1

SelStu.Student_Id=Adodc1.Recordset.Fields(2

SelStu.GetInfo(SelStu.Student_Id

FrmChangeEdit.ComboName.Text=Trim(Adodc1.Recordset.Fields(3

SelectCaseComboType.ListIndex

Case0,1'

退学、休学

FrmChangeEdit.txtNewSchool="

FrmChangeEdit.txtReason=Trim(Adodc1.Recordset.Fields(4

FrmChangeEdit.txtMemo=Trim(Adodc1.Recordset.Fields(5

Case2'

转学

FrmChangeEdit.txtNewSchool=Trim(Adodc1.Recordset.Fields(4

FrmChangeEdit.txtReason=Trim(Adodc1.Recordset.Fields(5

FrmChangeEdit.txtMemo=Trim(Adodc1.Recordset.Fields(6

Case3'

调班

FrmChangeEdit.ComboClass=Trim(Adodc1.Recordset.Fields(5

CurClass.GetInfo(Adodc1.Recordset.Fields(4

FrmChangeEdit.txtReason=Trim(Adodc1.Recordset.Fields(6

FrmChangeEdit.txtMemo=Trim(Adodc1.Recordset.Fields(7

EndSelect

FrmChangeEdit.Modify=True

第四章.学生照片管理模块设计

4.1ImageFunc模块

ImageFunc模块用来管理及数据库读写图像字段相关的变量与函数。

其中包含两个用户自定义过程:

ShowImage与SaveImage。

因为SQLServer2000的图像字段不能够使用Insert与Update等语句插入与更新,所以本系统中使用GetChunk与AppendChunk方法读取与填写图像字段。

GetChunk方法用来返回大型文本或二进制数据Field对象的全部或部分内容,AppendChunk方法则将数据追加到大型文本、二进制数据Field或Parameter对象中。

ShowImage(包含两个参数,Image1表示用来显示图像的Image控件,Adodc1表示用来提供图像字段的ADOData控件。

ShowImage(过程的代码如下:

PublicSubShowImage(Image1AsImage,Adodc1AsAdodc

ErasebyteChunk(

FieldSize=Adodc1.Recordset.Fields(2.ActualSize

IfFieldSize<

Image1.Picture=LoadPicture("

'

提供一个尚未使用的文件号

SourceFile=FreeFile

打开文件

OpenTempBinaryAccessWriteAsSourceFile

计算数据块

NumBlocks=FieldSize\BlockSize

LeftOver=FieldSizeModBlockSize'

得到剩余字节数

分块读取图像数据,并写入到文件中

IfLeftOver<

0Then

ReDimbyteChunk(LeftOver

byteChunk(=Adodc1.Recordset.Fields(2.GetChunk(LeftOver

PutSourceFile,,byteChunk(

Fori=1ToNumBlocks

ReDimbyteChunk(BlockSize

byteChunk(=Adodc1.Recordset.Fields(2.GetChunk(BlockSize

Nexti

CloseSourceFile

将文件装入到Image1控件中

Image1.Picture=LoadPicture(TempFile

删除临时文件

Kill(TempFile

EndSub

SaveImage(也包含两个参数,ImageFile表示图像的文件名,Adodc1表示用来存储图像字段的ADOData控件。

PublicSubSaveImage(ByValImageString,Adodc1AsAdodc

IfAdodc1.Recordset.BOF=TrueOrAdodc1.Recordset.EOF=TrueThen

IfImageFile="

OpenImageBinaryAccessReadAsSourceFile

得到文件长度

=LOF(SourceFile

判断文件是否存在

If=0Then

MsgBoxDiskFile&

无内容或不存在!

NumBlocks=\BlockSize'

得到数据块的个数

LeftOver=ModBlockSize'

Adodc1.Recordset.Fields(2.Value=Null

ReDimbyteData(BlockSize'

重新定义数据块的大小

GetSourceFile,,byteData('

读到内存块中

Adod

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

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2