软件设计与体系结构报告.docx
- 文档编号:2916943
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:26
- 大小:477.78KB
软件设计与体系结构报告.docx
《软件设计与体系结构报告.docx》由会员分享,可在线阅读,更多相关《软件设计与体系结构报告.docx(26页珍藏版)》请在冰豆网上搜索。
软件设计与体系结构报告
软件设计与体系结构报告
题目:
学籍及成绩管理系统
姓名:
曾文彬
学号:
200705070305
班级:
2008050704
成都理工大学信息科学与技术学院
目录
目录
引言1
第一章系统需求分析2
第二章可行性分析3
2.1面向对象的程序设计3
第三章系统设计4
3.1系统功能分析4
3.2系统流程图5
第四章数据库设计6
4.1数据库需求分析6
4.2数据库概念结构设计6
4.3数据库结构的实现9
第五章详细设计10
5.1主窗体的创建10
5.2创建公用模块12
5.2用户管理模块的创建13
5.3学生功能模块的创建16
5.4教师功能模块的创建19
第六章总结26
引言
采用软件工程的指导方法,选用C/S模式设计的方案,应用SQLServer2000数据库管理系统,C#程序设计语言,VisualStudio.NET2003开发工具等开发出来的基于WINDOWS系列的学生学籍管理系统.该系统面向各部门和全体学生,实现对学生成绩情况、学籍情况等的计算机管理。
系统支持学生查询自己的学籍信息和成绩信息,还可以修改自己的密码,而教师可以对学生的学籍信息和成绩信息进行添加、删除和修改等的操作,同时本系统支持报表的输出打印功能。
减少了部门之间工作的中间环节,提高了跨部门管理的效率。
第一章系统需求分析
伴随社会的高速发展,全国各高校的学生数量一直在增加,在这样的形式下,必须要求学校有一种高效有序的方法来管理学生的信息。
通过调查,要求系统需要有以下功能:
⑴ 由于该系统一次性输入的数据量可能很大,所以要求支持从Excel导入数据;
⑵由于该系统的使用对象多,要求有较好的权限管理;
⑶原始数据修改简单方便,支持多条件修改;
⑷方便的数据查询,支持多条件查询;
⑸在相应的权限下,删除数据方便简单,数据稳定性好;
第二章可行性分析
由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
本系统的设计是在WindowsXP操作系统环境下,使用VisualStudio.NET2003中文版开发成功的。
VisualStudio具有以下特点:
2.1面向对象的程序设计
1、面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。
2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。
3、类可视为一个产品模具、一个模块。
在面向对象设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
4、面向对象设计的核心是类的设计。
例如:
可以定义一个“成绩查询”类,该类中可以定义查询的姓名、学号、班级等信息,则以此类为原型可以设计出众多的“成绩查询”类的对象实例,这些实体都具有类中所定义的特征。
第三章系统设计
3.1系统功能分析
系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。
在本系统中有二种权限:
一种是用户权限,即学生。
另一种是管理员权限,即教师。
学生管理系统需要完成的功能主要有:
学生可以完成的功能有:
●学生信息的查询,包括查询学生的基本信息、学生成绩等。
●学生信息的修改,学生只能修改他本人的密码。
教师可以完成的功能有:
●班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。
●基本课程信息的输入、查询、修改。
●学生成绩信息的输入、查询、修改。
对上述各功能进行集中、分块、按照结构化程序设计的要求。
系统流程图
图3-2系统流程图
第四章数据库设计
4.1数据库需求分析
●用户信息:
包括的数据项有:
用户号、姓名、密码、身份。
●学生信息:
包括的数据项有:
学生学号、学生姓名、性别、出生日期、班级名称、
入学年份、学籍编号、政治面貌编号、身份证号、民族编号、家庭地址、照片、照片名称等。
●学籍代码表:
包括的数据项有:
学籍编号、学籍等。
●成绩表:
包括的数据项有:
编号、学号、课程编号、成绩、考试性质编号等。
●政治面貌代码表:
包括的数据项有:
政治面貌编号、政治面貌等。
●民族代码表:
包括的数据项有:
民族编号、民族等。
●考试性质表:
包括的数据项有:
考试性质编号、考试性质等
●课程信息:
包括的数据项有:
课程编号、课程名称、教师、学分、学时等
图4-1学生学籍管理系统数据流程图
4.2数据库概念结构设计
本系统的实体有:
学生实体、用户实体、年级实体、课程实体。
各个实体具体的描述E-R图如图下所示。
图4-2学生实体E—R图
图4-3用户实体E—R图
图4-4课程实体E—R图
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
学生管理系统数据库中各个表格的设计结果如下面的几个表所示。
每个表表示在数据库中的一个数据表
表4-1学生信息表
表4-2学籍代码表
表4-3成绩表
表4-4政治面貌代码表
表4-5民族代码表
表4-6用户信息表
表4-7考试性质表
表4-8课程信息表
4.3数据库结构的实现
经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。
就可以在SQLServr2000数据库系统中实现该逻辑结构,利用SQLServer2000数据库系统中SQL查询分析器实现的。
ALTERTABLE[dbo].[学生信息]ADD
CONSTRAINT[FK_学生信息_民族代码表]FOREIGNKEY
(
[民族编号]
)REFERENCES[dbo].[民族代码表](
[民族编号]
),
CONSTRAINT[FK_学生信息_学籍代码表]FOREIGNKEY
(
[学籍编号]
)REFERENCES[dbo].[学籍代码表](
[学籍编号]
),
CONSTRAINT[FK_学生信息_政治面貌代码表]FOREIGNKEY
(
[政治面貌编号]
)REFERENCES[dbo].[政治面貌代码表](
[政治面貌编号]
)
GO
ALTERTABLE[dbo].[成绩表]ADD
CONSTRAINT[FK_成绩表_课程信息]FOREIGNKEY
(
[课程编号]
)REFERENCES[dbo].[课程信息](
[课程编号]
),
CONSTRAINT[FK_成绩表_学生信息]FOREIGNKEY
(
[学号]
)REFERENCES[dbo].[学生信息](
[学号]
),
CONSTRAINT[FK_成绩表_考试性质表]FOREIGNKEY
(
[考试性质编号]
)REFERENCES[dbo].[考试性质表](
[考试性质编号]
)
GO
第五章详细设计
5.1主窗体的创建
上面的SQL语句在SQLServer2000中查询分析器执行后,将自动产生需要的所有表。
有关数据库结构的所有后台工作已经完成。
现在将通过学生管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。
1.创建空白解决方案
为了在VisualStudio.NET2003中创建应用程序,应当先创建一个空白解决方案,它包括:
●通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。
(.sln)。
●记录所有将与解决方案建立关联的选项,以便在每次打开时,它都包含您所做的自定义设置。
(.suo)。
启动这个空白解决方案后,单击文件|新建|项目菜单,在新建项目中选择VisualC#项目,在模块中选择Windows应用程序,并命名为MainFrm。
2.创建主窗体
VisualStudio.NET2003创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。
在SDI的程序中,每个窗体之间是独立的。
而MDI的程序中,有一个窗体是主窗体,可以包含其他窗体,它的类型是MDIForm。
本系统采用多文档界面,这样可以使程序更加美观,整齐有序。
单击工具栏的“MainMenu”控件,生成一个如下所示的窗
5.2创建公用模块
在VS.NET中可以使用类库模板快速创建能够与其他项目共享的可再次使用的类和组件。
整个工程项目中的任何地方都可以调用公用类库的类和组件,这样可以极大地提高代码的效率。
在项目资源管理器中为项目添加一个类,保存为xjDataBase.cs。
下面就可以开始添加需要的代码。
publicclassxjDataBase
{
privatestringstrSQL;
privatestringconnectionString="workstationid=localhost;packetsize=4096;integratedsecurity=SSPI;persistsecurityinfo=False;initialcatalog=xueji";
privateSqlConnectionmyConnection;
privateSqlCommandBuildersqlCmdBld;
privateDataSetds=newDataSet();
privateSqlDataAdapterda;
publicDataSetSelectDataBase(stringtempStrSQL,stringtempTableName)
{
this.strSQL=tempStrSQL;
this.myConnection=newSqlConnection(connectionString);
this.da=newSqlDataAdapter(this.strSQL,this.myConnection);
this.ds.Clear();
this.da.Fill(ds,tempTableName);
returnds;
}
}
5.2用户管理模块的创建
系统管理模块主要实现:
●用户登录。
●添加用户。
●修改用户密码。
1.用户登陆窗体的创建
系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户名,然后输入密码。
用户登陆窗体中放置了两个文本框(TextBox),用来输入用户名和用户密码。
两个按钮(B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 体系结构 报告