软件工程课程设计说明书Word文档格式.docx
- 文档编号:17455389
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:37
- 大小:800.93KB
软件工程课程设计说明书Word文档格式.docx
《软件工程课程设计说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计说明书Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
该系统的目标是在学生信息管理中,使用计算机的网络技术、通讯技术和信息处理技术,是学生信息得以加工,依次传达及保存。
系统要对使用要求不相同的用户群体设置不同的功能。
管理员能有效地管理学生的信息,同事,学生能够随时大量的检索查询多种信息。
本系统为管理者提供了完整的管理平台,其主要功能有:
(1)经过已有的学生信息库,管理学生的信息,还能够管理教师的信息,管理课程的信息,管理班级的信息;
(2)能够修改学生的信息,选择课程,检索成绩等;
(3)修改教师的信息,检索学生的成绩,登记授课的学生情况。
可行性分析就是为了确定该系统从各个方面确定该系统在经济上、技术上、法律上的可否实现。
2.2可行性分析的内容
从技术可行性、资源分析、法律道德分析和效益分析来判分析一下学生信息管理系统能否实现。
2.3可行性分析过程
2.3.1条件假定和预定
A.建议开发软件运行的最短寿命:
五年
B.进行系统方案选择比较的期限:
一周
C.经费来源和使用限制
:
经费来源由学校提供;
使用时应定期维护,防止系统出现高漏洞而带来些复杂问题。
D.法律和政策方面的限制:
此软件设计合法,不存在于法律、政策相违背的现象。
E.硬件环境:
若干台计算机
F.工作站:
每个部门至少有一台作为工作站的PC机
G.操作系统:
windowswin7win8等操作系统
H.数据库:
SQLServer
2.3.2可行性研究方法
1、初步分析,构想所有必须完成的功能;
2、初步需求分析:
可行性分析报告、数据流图、数据字典、可行性分析报告;
3、建立系统原型:
修改规格说明;
4、管理员,教师,学生,完善模型,明确功能和实现方法;
5、系统的整体测试和修改完善。
2.3.3技术可行性
学生信息管理系统的开发需要对管理的需求进行分析,最终经过简单的界面按钮操作实现对学生数据的增、删、改和查询操作,并将这些操作反应到数据库的操作。
完成以上功能需要采用以下几个关键的技术:
(1)数据库数据显示技术
经过什么方式和形式把数据库中的学生数据显示到界面上供管理者查阅,当前的基本技术都是基于Sql语言的混合编程实现遍历数据库,对数据的提取,然后经过GUI编程在界面上显示。
当前的界面编程和Sql语言的混合编程已经比较成熟,比如用于界面编程的有C、Java、Qt、C++等等,而且她们基本都是开源的,不会存在侵权和成本的问题。
(2)数据库数据修改技术
对数据库的操作基本的还是离不开Sql语言的混合编程,主要是经过对按钮事件的捕捉,经过对应的Sql代码实现对数据库相关操作。
(3)系统在运行和维护面临的问题
系统在运行过程中,系统的用户主要是学校的信息管理人员,用户对系统使用的熟练程度会影响系统应用的效果,增加系统维护的压力。
这个问题能够经过一份简单的管理人员使用说明文档来解决。
在系统运行的初级阶段,能够由开发方的系统维护人员提供现场的使用指导。
系统维护面临的主要问题是系统存储的学生数据量比较大,数据备份和数据安全十分重要。
数据备份与恢复需要程序化、智能化。
由于数据涉及到学生个人信息秘密,数据备份与恢复工作需要有信息管理人员专职负责。
2.3.4
效益分析
1.经济效益分析
(1)提高管理者的工作效率后,使得信息管理人员需求的减少,减少了额外的开支。
(2)提高信息管理的便捷性,降低信息管理的要求。
2.社会效益分析
(1)节省了管理者的时间,降低了劳动输出量。
(2)提高了学校信息化程度的形象。
2.4可行性分析结果
经过分析,在学生信息管理中,使用计算机的网络技术,通讯技术和信息管理技术,使学生的信息得以加工,依次传达及保存。
从必要性、技术、资源、时间、社会法律等几角度的分析,学生信息管理系统项目是可行的,是能够设计的。
第三章需求分析
3.1编写目的
为学生管理系统的开发提供可行性分析的结论,为项目是否正式立项、启动提供依据,为项目启动后的需求分析、设计、开发、测试等工作提供基础依据。
该系统的编写目的是提高学生成绩管理的工作效率,使人们从乏味的数据登记和统计工作中解脱出来,保证工作的准确率,为老师及同学提供充分的信息和快捷的查询手段。
数据库作为计算机应用的一部分,对学生成绩查询进行管理具有手工管理无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长等。
这些优点能够极大地提高学生成绩查询和管理的效率。
学生管理系统在提高学生成信息处理的效率的同时,又能为广大师生提供及时准备的学生信息。
可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理。
学生管理系统的功能主要分为:
前台管理和后台管理两大功能。
3.2系统功能
3.2.1总目标
●实现学生信息进入系统的自动化,提高学生信息统计的实时性,减轻人工劳动强度从而节省人力成本。
●实现学生信息查询的实时性,规避信息孤岛。
●提高学生信息的畅通度,为学生以及教师提供方便。
3.2.2具体目标
1)前台管理系统必须具备以下功能:
●信息的录入:
根据学校的特点制定相关功能,能够经过唯一的学号将学生信息录入,该功能能够充分保证各种电脑操作层次的人员均能经过学生管理系统快速的录入该学生,并为后续的功能提供技术上的支持。
●信息的删除:
根据学校的相关条律,将辍学或者劝退的学生的信息从学生管理系统中删除,该功能能够充分保证各种电脑操作层次的人员操作,同时也是达到系统空间的充分利用。
●信息的修改:
根据学生在校期间的表现,有些许挂科,重修的科目,都会实时性的进行更新,该功能必须充分保证各个电脑操作层次的人员都能进行操作,达到学生信息更改的迅速的效率。
●信息的查询:
在学生需要知道自己的信息时,能够经过学生管理系统,进行查询。
如:
成绩,课程表,报名等等。
2)后台管理系统必须具备以下功能:
●人员管理:
教师,学生,游客,管理员等基本信息的登记管理。
该功能将不同阶级的人分层,以便更好的管理,达到管理的高效率。
●权限管理:
各个人员的权限是不同的,教师能够登记学生成绩,学生能够浏览自己的信息或者修改一些基本信息,游客只能浏览信息,管理员能够修改各个信息。
该功能充分保证了信息的安全性。
3.2.3性能目标
●系统的操作人员需要进行一定的培养,不可盲目的修改,导致学生信息混乱。
●系统的运行的可靠性要求较高,必须保证信息不可轻易丢失,损害学生个人利益。
●系统必须可进行实时性处理,其效率比人工处理效率要高出70%。
3.2.4系统图
信息录入:
信息录入系统能够准确的录入各种信息。
(1)关系图
(2)状态转换图
信息删除:
信息删除系统能够删除不再在学校的学生及教师信息。
信息修改:
信息修改系统能够根据学生的活动修改学生信息。
信息查询:
学生信息查询系统能够准确的查询某个学生的学生信息。
成员信息及权限管理:
用户进入POS系统界面,输入ID号码,检测是管理员,学生还是教师。
如果是管理员,则有增加、删除、修改、查询信息的功能;
如果是学生,则有查询学生成绩、修改基本信息的功能;
如果是教师,则有登记授课学生情况,查询学生成绩,修改教师信息的功能。
四、总体设计
4.1总体设计的目的
本系统采用面向对象方法进行分析和设计,在SQLServer数据库上实现数据操作。
使用纯面向对象的JAVA语言作为开发语言,使用Windows7作为开发平台,能够很好的实现系统的开发及测试。
经过这个阶段的设计将划分出组成《学生信息管理系统》的物理元素——程序、文件、数据库、人工过程和文档等,可是在这个过程中每个物理元素依然处于黑盒子级。
同时还要在这个阶段设计软件的结构,也就是要确定系统中有那些模块组成,以及模块之间的关系。
4.2总体设计的内容
(1)设计并选取合适的实现《学生信息管理系统》的方法
(2)设计高效率的软件结构
(3)设计必要的数据库
(4)书写文档
(5)制定测试计划
4.3设计过程
(1)选取合理的方案
在SQL的基础上先建立一个学生数据库,然后用c++程序设计语言嵌套SQL语言设计一个合理的软件程序实现对学生数据库的管理。
最后要对操作界面进行优化,以及软件的操作流程和软件结构进行优化。
在后期我们还要配备专业的人士为此系统进行长期的管理和维护。
(2)推荐最佳的方案
省略
(3)功能分解
学生信息管理系统”主要分为登录、权限管理、学生信息管理、教师信息管理、课程信息管理、账户管理等6个模块。
系统主模块功能树如图所示:
权限管理(管理员)模块学生信息管理模块
教师信息管理模块课程信息管理模块
账户管理模块课程信息更新模块
学生信息更新模块教师信息更新模块
(4)设计软件结构
(5)设计数据库
概念结构设计就是E-R方法的分析与设计,概念结构设计是整个数据库设计的关键。
在此,将使用实体—联系(E-R)模型来描述系统的概念结构,同时设计出能够满足用户需求的的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这也实体包括各种具体的实际信息,经过相互之间的作用形成数据的流动。
本程序根据上面的设计规划出的实体有:
学籍实体、班级实体、年级实体、课程实体与成绩实体,学生信息管理系统数据库E-R模型,如下图所示:
(5.1)数据库和数据表的建立
学生信息表
表名称标识:
Student表
数据来源:
新生信息录入模块进行录入
教师信息表
表名称标示:
teacher表
教师信息录入
课程信息表
表名标示:
course表
课程信息录入
学生课程信息表
Student—course表
学生成绩录入表
教师-课程信息表
teacher-course表
教师和所授课程信息
4.4总体设计的结果
经过本阶段的设计,得到一个较为合理的软件结构。
模块化分的合适,同时本结构有清晰的层次结构,各个层次的人士都能理解本软件的结构。
各个模块有较好的独立性,软件由一组完成相对独立的子功能的模块组成,这些模块之间接口的关系较为简单。
我们运用了自顶向下逐步求精方法。
同时我们运用在数据库设计方面的知识,对我们需要的数据库进行了设计。
设计步骤:
(1)概念设计
(2)逻辑设计(3)物理设计(4)数据库实施。
我们得到一个初步的学生信息关系系统的数据库。
五、编码实现
5.1编码实现的目的
编码是将软件设计结果翻译成用某种程序设计语言书写的程序,是对设计的进一步具体化。
编码为计算机中的数据与实际处理的信息之间建立联系,提高信息处理的效率。
编码风格是指编程遵循的基本原则。
良好的编码风格有利于弥补语言的缺陷,编写出高质量的软件。
包括程序内部的文档、数据说明、语句构造、输入/输出、效率等方面的问题。
选择一种编程语言的理论标准:
(这里选择Java)
1)有理想的模块化机制;
2)可读性好的控制结构和数据结构;
3)便于调试和提高软件可靠性;
4)编译程序发现程序错误的能力强;
5)有良好的独立编译机制。
5.2编码的工具
使用java编写程序,Eclipse
5.3编码过程
根据详细设计中的程序流程图分模块编写程序,然后再组装起来。
编码过程中涉及到的类:
SimpleStudentManager主函数类
DLFrame登陆界面类
ManagerFrane管理员界面类
StudentFrame学生界面类
SM学生信息管理的类
SAdd用于学生信息管理中增加或修改某条记录的界面的类
SSelect用于学生基本信息管理中查询时输入学号的界面的类
(1)登录界面模块:
学生信息管理系统可由管理员和学生两种身份的人使用。
管理员和学生身份登录所能操作的功能有很大的区别。
mportjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
classDLFrameextendsJFrameimplementsActionListener,ItemListener{//登录界面
JPanelp1=null;
JPanelp2=null;
JPanelp3=null;
JLabeluserName=newJLabel("
用户:
"
);
JTextFieldtxtUser=newJTextField();
JLabelpassword=newJLabel("
密码:
JPasswordFieldtxtPwd=newJPasswordField(6);
JLabelrole=newJLabel("
角色:
JComboBoxcbrole=newJComboBox();
JButtonbtnLogin=newJButton("
登录"
JButtonbtncz=newJButton("
重置"
JButtonbtnCancel=newJButton("
取消"
JLabelimageLabel;
Iconimage;
staticintOK=1;
staticintCANCEL=0;
intactionCode=0;
Connectioncon=null;
Statementstmt=null;
ResultSetrs=null;
intqxian=0;
publicDLFrame(){//构造方法
super("
登录界面"
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
cbrole.addItem("
管理员"
学生"
image=newImageIcon("
picture\\st.jpg"
imageLabel=newJLabel(image);
p1.add(imageLabel);
this.setLayout(newFlowLayout());
this.setBounds(100,100,246,345);
p2.setLayout(newGridLayout(4,2));
p2.add(userName);
p2.add(txtUser);
p2.add(password);
p2.add(txtPwd);
p2.add(role);
p2.add(cbrole);
p3.add(btnLogin);
p3.add(btncz);
p3.add(btnCancel);
this.add(p1);
this.add(p2);
this.add(p3);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.show();
btnLogin.addActionListener(this);
cbrole.addItemListener(this);
btncz.addActionListener(this);
btnCancel.addActionListener(this);
}
publicvoidconnDB(){//连接数据库
try{
Class.forName("
com.microsoft.sqlserver.jdbc.SQLServerDriver"
}catch(ClassNotFoundExceptione){
e.printStackTrace();
con=DriverManager.getConnection(
jdbc:
sqlserver:
//localhost:
1433;
DatabaseName=student"
sa"
"
123"
stmt=con.createStatement();
}catch(SQLExceptione){
publicvoidcloseDB()//关闭连接{
stmt.close();
con.close();
publicvoiditemStateChanged(ItemEvente){
if(e.getStateChange()==ItemEvent.SELECTED){
JComboBoxjcb=(JComboBox)e.getSource();
qxian=jcb.getSelectedIndex();
publicvoidactionPerformed(ActionEvente){
Objectsource=e.getSource();
Stringun=null;
Stringpw=null;
booleansuccess=false;
//用于判断是否登录成功
if(source==btnLogin){
if(txtUser.getText().equals("
)||txtPwd.getText().equals("
)){//判断是否输入了用户名和密码
JOptionPane.showMessageDialog(null,"
登录名和密码不能为空!
}else{
this.connDB();
rs=stmt.executeQuery("
select*fromunpwwhereqx="
+qxian);
while(rs.next()){
un=rs.getString("
un"
).trim();
pw=rs.getString("
pw"
if(txtUser.getText().equals(un)){
if(txtPwd.getText().equals(pw)){
actionCode=OK;
this.setVisible(false);
if(qxian==0){
newManagerFrane();
//进入管理员界面
if(qxian==1){
newStudentFrame();
//进入学生界面
success=true;
break;
密码错误!
txtPwd.setText("
if(!
success){
登录名错误!
txtUser.setText("
}catch(SQLExceptione1){
e1.printStackTrace();
}elseif(source==btncz){
}elseif(source==btnCancel){
System.exit(0);
(2)学生信息管理模块编码:
importjavax.swing.*;
classSAddextendsJFrameimplementsActionListener,ItemListener{//用于学生信息管理中增加或修改某条记录的界面
JLabellsno=newJLabel("
JLabellsname=newJLabel("
JLabellssex=newJLabel("
性别:
JLabellsage=newJLabel("
年龄:
JLabellsdept=newJLabel("
院系:
JTextFieldtsno=newJTextField(14);
JTextFieldtsname=newJT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 说明书