精选软件工程大作业.docx

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

精选软件工程大作业.docx

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

精选软件工程大作业.docx

精选软件工程大作业

 

软件工程大作业

 

题目:

学生档案管理系统

 

小组成员:

戚盈洁()

王大伟()

王磊()

霍成海()

 

第一章.系统调查

1.1系统调查内容

学校各院系基本概况:

院系名称,专业设置,课程设置,课时安排,学生人数,学生班级数等。

学校资源条件调查,包括计算机配备,网络支持条件等。

各院系专业设置概况:

现有开设专业及规划中开设专业设置,专业开设课程,各课程授课教师与成绩处理。

学校各部门(学生处、教务处、档案管理室、各院系)对学生基本情况的需求与掌握,对学生基本信息的处理方式与业务流程。

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

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)是描述系统数据流程的工具,它将数据独立抽象出来,通用图形方式描述信息的来龙去脉和实际流程。

开始

退出程序

读取用户类型

用户登录

失败超过3次

重试

失败

成功

普通用户

Admin 用户

学生信息管理

院系信息管理

学生奖惩管理

学生学籍管理

考试成绩管理

管理自己的用户信息

1、管理自己的用户信息

2、管理普通用户的用户信息

学生档案管理模块

用户管理模块

图4.1数据流程分析图

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

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

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

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

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

表1Classes结构

编号

字段名称

数据类型

字段大小

说明

1

Class_id

Int

4

院系编号

2

Class_Name

Varchar

40

院系名称

3

Describe

Varchar

400

院系职能描述

4

UpperId

Int

2

上级院系编号

 

表2Students结构

编号

字段名称

数据类型

字段大小

说明

1

Student_Id

Int

4

学生编号

2

Student_Name

Varchar

0

姓名

3

Photo

Image

16

照片

4

Sex

Varchar

2

性别

5

Nationality

Varchar

40

民族

6

Birth

Varchar

20

生日

7

Political_Party

Varchar

40

政治面貌

8

Family_Place

Varchar

60

籍贯

9

Id_Card

Varchar

20

身份证号

10

BadgeId

Varchar

40

学生证号

11

Home_phone

Varchar

30

家庭电话

12

Residence

Varchar

100

居住地址

13

Postcode

Varchar

10

邮政编码

14

InDate

Varchar

20

入校日期

15

Class_Id

Smalint

2

所在院系编号

16

Title

Varchar

20

职务

17

Memo

Varchar

200

备注

18

Fillin_Time

Varchar

20

填报时间(日期+时间)

表3Experience结构

编号

字段名称

数据类型

字段大小

说明

1

ExpId

Int

4

编号

2

Student_Id

Int

4

学生编号

3

Start_Date

Char

10

开始日期

4

End_Date

Char

10

终止日期

5

School

Varchar

50

学校/单位名称

6

Title

Varchar

20

职务

表4Evaluation结构

编号

字段名称

数据类型

字段大小

说明

1

EvaId

Int

4

奖惩记录编号

2

EvaDate

Char

10

奖惩日期

3

Student_Id

Int

4

学生编号

4

EvaType

Bit

1

奖惩类型(0表示奖励,1表示处罚)

5

Memo

Varchat

200

奖惩说明

6

EvaContent

Char

20

奖惩内容

表5Change结构

编号

字段名称

数据类型

字段大小

说明

1

ChangeId

Int

4

学籍变动编

2

Student_Id

Int

4

学生编号

3

ChangeType

Tinyint

1

学籍变动类型(1表示退学,2表示休学,3表示转学,4表示调班)

4

ChangeDate

Char

10

学籍变动日期

5

OriClass

Int

4

原班级编号

6

NewSchool

Varchar

50

转入学校名称

7

NewClass

Int

4

转入班级编号

8

Reason

Varchar

200

学籍变动原因

9

Memo

Varchar

200

备注

表6Lessons结构

编号

字段名称

数据类型

字段大小

说明

1

LessonId

Int

4

课程编号

2

LessonName

Varchar

100

课程名称

3

Term

Varchar

20

课程设置的学期

4

Teacher

Varchar

20

授课老师

5

Hours

Tinyint

1

课时

6

LessonType

Varchar

20

课程类型(必修课,选修课)

表7Scores结构

编号

字段名称

数据类型

字段大小

说明

1

LessonId

Int

4

课程编号

2

Student_Id

Int

4

学生编号

3

Score

Tinyint

1

考试分数

表8Users结构

编号

字段名称

数据类型

字段大小

说明

1

UsersName

Varchar

40

用户名

2

Pwd

Varchar

40

密码

3

UserType

Varchar

10

用户类型

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)+"已经存在"

ExitSub

EndIf

.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(txtClass)Then

If.In_DB(Trim(txtClass))=TrueThen

MsgBoxTrim(txtClass)+"已经存在"

ExitSub

EndIf

EndIf

.UpperId=CurClass.UpperId

.Update(CurClass.Class_Id)

IfCurClass.Class_Name<>Trim(txtClass)Then

FrmClassMan.TreeView1.SelectedItem.Text=Trim(txtClass)

EndIf

CurClass.Class_Name=Trim(txtClass)

EndIf

EndWith

UnloadMe

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

MsgBox"此项不能删除"

ExitSub

EndIf

IfCurClass.HaveSon(CurClass.Class_Id)=TrueThen

MsgBoxCurClass.Class_Name+"包含下级院系班级,不能删除"

ExitSub

EndIf

IfMyClass.HaveStudent(CurClass.Class_Id)=TrueThen

MsgBoxCurClass.Class_Name+"包含学生,不能删除"

ExitSub

EndIf

IfMsgBox("是否确定要删除"+Trim(TreeView1.SelectedItem.Text),vbYesNo,"请确认")=vbNoThen

ExitSub

EndIf

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

MsgBox"请选择正确的出生日期"

ExitSub

EndIf

.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

MsgBox"请选择正确的入校日期"

ExitSub

EndIf

.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)

EndIf

EndWith

FrmStuMan.TmpOk=True

UnloadMe

照片管理

IfButton=1Then

IfFrmPhotoMenu.Visible=TrueThen

UnloadFrmPhotoMenu

EndIf

EndIf

IfButton=2Then

IfCurStu.Student_Id<=0Then

ExitSub

EndIf

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

FrmPhotoMenu.Top=Y+Image1.Top+1900

FrmPhotoMenu.Show

EndIf

DimDiskFileAsString

IfCurStu.Student_Id<=0Then

MsgBox"请选择学生"

UnloadMe

ExitSub

EndIf

CommonDialog1.Filter="BMP文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif"

CommonDialog1.ShowOpen

DiskFile=CommonDialog1.FileName

IfDiskFile=""Then

MsgBox"请选择照片文件"

UnloadMe

ExitSub

EndIf

CallSaveImage(DiskFile,FrmStuMan.AdoStuDetail)

CallShowImage(FrmStuMan.Image1,FrmStuMan.AdoStuDetail)

UnloadMe

IfCurStu.Student_Id<=0Then

MsgBox"请选择学生"

UnloadMe

ExitSub

EndIf

FrmStuMan.AdoStuDetail.Recordset.Fields

(2).AppendChunk""

FrmStuMan.AdoStuDetail.Recordset.Update

FrmStuMan.Image1.Picture=LoadPicture("")

UnloadMe

学籍管理

添加学籍管理信息资料

FrmChangeEdit.ComboDate.Text=Format(Now,"yyyy-mm-dd")

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))

FrmChangeEdit.ComboType.ListIndex=ComboType.ListIndex

SelectCaseComboType.ListIndex

Case0,1'退学、休学

FrmChangeEdit.txtNewSchool=""

FrmChangeEdit.ComboClass=""

FrmChangeEdit.txtReason=Trim(Adodc1.R

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

当前位置:首页 > 高等教育 > 理学

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

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