山西大学软件工程课程设计报告以学生选课系统为样板.docx
《山西大学软件工程课程设计报告以学生选课系统为样板.docx》由会员分享,可在线阅读,更多相关《山西大学软件工程课程设计报告以学生选课系统为样板.docx(52页珍藏版)》请在冰豆网上搜索。
山西大学软件工程课程设计报告以学生选课系统为样板
软件工程课程设计报告
(2013--2014年度第一学期)
课程名称:
软件工程课程设计
题目:
学生选课系统
院系:
计算机与信息技术学院
班级:
软件工程2班
组号:
!
组长:
组员:
******
设计周数:
4周
小组成绩:
日期:
2013年8月19日
《软件工程》课程设计报告
任务书
一、目的、要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose2003或者其他设计工具(Microsoftvisio、starUml),并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
二、主要内容
1.课题题目选题:
(1)学生选课系统等题目或者自选题目,选课系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。
3.使用RationalRose作为需求分析与设计的建模工具,包括静态建模和动态建模,并利用对象模型自动生成数据模型,自动建立数据库。
4.采用分层模式的应用设计模式进行系统的设计实现。
5.系统要实现四个模块功能:
教师模块、学生模块、管理员模块和公用模块。
6.初步建立系统原型,实现关键的功能,并对系统进行测试。
7.编写课程设计报告。
课程设计题目清单:
1、 软件工程课程设计管理系统。
教师和学生可以应用该系统实现如下功能:
(1)学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同组的其他同学的姓名,学号,班级,小组长等。
且选题一旦保存就不能再更改。
(2)学生可以修改自己的密码。
可以查询自己的选题情况。
学生可以查询自己的课程设计成绩。
(3)学生在课程设计的各个阶段的工作报告上传至该系统。
(4)教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。
(5)教师可以修改自己的密码。
教师把课程设计的题目,学习的资料等上传到该系统。
(6)其他使用该系统的人,可以以客户身份登陆浏览。
2、小型超市管理系统
(1)、零售前台(POS)管理系统,本系统必须具有以下功能:
商品录入:
根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。
会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:
OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:
有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理:
根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询打印计划进货与入库记录及金额。
销售管理:
商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。
按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理:
综合查询库存明细记录。
库存状态自动告警提示。
如库存过剩、少货、缺货等。
软件为您预警,避免库存商品积压损失和缺货。
库存自动盘点计算。
人员管理:
员工、会员、供货商、厂商等基本信息登记管理。
员工操作权限管理。
客户销售权限管理。
3、 设备管理系统
系统的主要功能
在本系统主界面中,我们可以看到七个系统菜单和多个功能模块按钮,为了增加本系统的安全时,首先 需要验证,只有在登录界面上输入正确的用户名和密码,获得相应权限才能登陆本系统使用。
下面分别论述本系统的各个功能模块的作用:
系统登陆:
用户登陆模块之后,就进入本登陆界面,用户需要如上所述的正确的用户名和密码之后才能使用本系统。
购买管理:
包括购入设备数量,购入日期,购买经费,经手人员,设备号,设备名。
转借管理:
主要包括转借设备号,转借设备名,经手人,借出日期,归还日期。
维修管理:
维修日期,维修人员,维修经费,设备名,设备号。
库存管理:
包括现存设备数量,设备号,设备名,设备状态。
报废管理:
报废日期,设备名,设备号,批准人。
用户管理:
包括查询设备数据信息与用户登陆系统和修改密码。
其中修改密码:
密码是一个管理系统正常运行的一个重要保障,在本处,只有管理员才可以进行操作,并可以根据不同的系统情况对系统的用户进行增加和删除等工作。
退出系统:
退出本系统,恢复系统的实始状态。
4、 学生信息管理系统
学生信息管理系统具有以下功能:
学籍管理:
对学生的信息档案进行管理,主要包括学生档案信息的修改、删除、添加、档案查询及档案输出等,其中档案查询可以根据学号、姓名查询需要的信息;档案输出可以输出学生档案、成绩、课程表等。
学生档案记录主要包括:
学号、姓名、出生日期、年龄、性别、政治面貌、入学时间、个人简介、照片、家庭住址、邮编、所在系别以及所学专业等字段。
成绩管理:
对学生的成绩进行管理,主要就是成绩查询,成绩查询可以按学号、姓名进行查询。
成绩记录主要包括:
学期、学号、姓名、课程号以及成绩字段等。
课程管理:
学生可以通过该模块进行课程表查看、打印课程表。
选修课选择:
对学生报选修课进行管理,学生可以对自己喜爱的课程进行选择。
系统维护:
教师对学生的密码进行管理,主要包括增加新用户和用户修改。
其中用户修改可以实现对学生的密码修改和学生用户名的删去。
系统辅助工具:
通过该模块用户可以打开一些辅助工具,如记事本和记事本。
退出系统:
离开本学生信息管理系统。
5、企业工资管理系统
企业工资管理系统的主要功能
企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:
(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:
有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。
(3)查询统计功能。
要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某部门工资数在某一范围的职工的工资情况等。
(4)报表打印功能。
每月发放工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资统计表。
6、学生选课系统
选课系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
三、任务分配
任务
负责人
参与人
备注
需求分析
总体设计
详细设计
系统实现与测试
四、进度计划
序号
设计内容名称
完成时间
备注
1
分组及确定题目
4学时
2
初步的需求分析与设计建模
8
3
详细的需求分析与设计建模
8
4
关键模块的实现与测试
12
5
编写课程设计报告
8
6
验收检查及评定成绩
8
五、设计成果要求
1.建立系统分析与设计模型;
2.初步建立系统原型,实现关键的功能;
3.编写课程设计报告。
六、考核方式
1.模型及代码检查
占50%。
2.设计报告
占50%。
指导教师:
陈千
日期:
2013年8月19日
《软件工程》课程设计
成绩评定
一、指导教师评语
二、成绩
学号
姓名
成绩
备注
指导教师:
日期:
年月日
摘要:
本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
同时还对系统的开发原理、功能特点和设计方案进行了介绍。
关键词:
学生选课数据库管理ASP.NET
一、课程设计的目的与要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
二、设计正文
1.概述
1.1课题题目:
学生选课系统
1.2系统的主要目标:
本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
1.3系统的开发环境及运行环境:
操作系统:
WindowsXPProSP2
建模工具:
RationalRose2003
数据库系统:
SQLServer2000
开发工具:
VisualStudio2005
Web服务器:
IIS+ASP.NET2.0平台
2.系统需求分析
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;
(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.1用例图
图2-1学生选课系统用例图
用例图说明:
(1)系统的外部角色有:
学生用户、教师用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:
学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。
②教师管理用例:
教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。
③信息管理用例:
管理员可见的功能,这个用例进一步分为三个用例:
学生信息管理用例、教师信息管理用例和课程信息管理用例。
④学生信息管理用例:
信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。
⑤教师信息管理用例:
信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。
⑥课程信息管理用例:
信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。
⑦修改密码用例:
所有用户都可见的功能,用于修改用户的密码信息。
(3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。
②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。
③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。
④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。
⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。
⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。
(4)系统关键用例的正常事件流图和异常事件流图
表2-1修改密码用例的正常事件流图和异常事件流图
用例名称
修改密码
参与者
管理员、教师、学生
描述
管理员、教师、学生用户进行密码修改
启动
单击“修改密码”链接
前置条件
用户成功登录
主事件流
用户
系统
1.进入用户修改密码界面,输入旧密码一次
,新密码两次
2.系统检查密码格式是否相符
3.系统检查旧密码是否正确
4.如果正确,进行密码修改,转入密码修改成功界面
异常流
异常流
密码检查未通过
系统
返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码
异常
用户旧密码错误
表2-2提交成绩用例的正常事件流图和异常事件流图
用例名称
提交成绩用例
参与者
教师用户
描述
提交选自己开设课程的学生的成绩
启动
进入提交成绩界面
前置条件
用户成功登录
后置条件
尚未提交过成绩
主事件流
用户
系统
1.单击提交成绩
2.系统提交成绩页面
3.填写学生成绩,单击提交成绩
5.更新学生成绩,提示提交成功
异常流
异常流
用户已经提交过该门课程成绩
系统
提示该课程成绩已提交,不能再次提交
2.2类图
图2-2学生选课系统类图
类图说明:
(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:
modifyPWD()用于修改用户的密码;
loginCheck()用于用户登录验证。
(2)Admin类继承自BaseUser类。
(3)Student类继承自BaseUser类,主要方法有:
studentAdd()用于添加学生;
studentDel()用于删除学生;
studentUpdate()用于更新学生信息;
getStudents()用于获取学生列表。
(4)Teacher类继承自BaseUser类,主要方法有:
teacherAdd()用于添加教师;
teacherDel()用于删除教师;
teacherUpdate()用于更新教师信息;
getTeachers()用于获取教师列表。
(5)Course类是一个课程类,主要方法有:
courseAdd()用于添加课程;
courseDel()用于删除课程;
courseUpdate()用于修改课程信息;
getCourses()用于获取课程列表。
(6)Elect类是一个选课表类,主要方法有:
elect()选修课程;
electDel()退选课程;
getElectInfo()获取选课信息;
haveSubmit()检测是否已提交过成绩;
submitScore()提交成绩。
2.3顺序图
(1)管理员修改课程信息顺序图
图2-3管理员修改课程信息顺序图
(2)学生用户退选课的顺序图
图2-4学生用户退选课的顺序图
(3)教师提交成绩顺序图
图2-5教师提交成绩顺序图
2.4协作图(可选)
(1)学生用户选课协作图
图2-6学生用户选课协作图
(2)教师提交成绩协作图
图2-7教师提交成绩协作图
3.系统总体设计
3.1设计问题域子系统
学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。
以下为学生选课系统总体设计图和各功能模块说明:
(1)总体设计图
(2)各模块功能
表3-1学生选课系统功能模块表
功能模块
包含子功能模块
功能
管理员模块
学生管理子模块
对学生信息的添加、修改,删除操作
教师管理子模块
对教师的添加,修改,删除,查询操作
课程管理子模块
对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等
教师模块
实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩
学生模块
实现学生选课,查看所选课程,修改自己的选课信息
公有模块
实现用户的身份验证,密码修改,退出系统等功能
3.2设计数据管理子系统
(1)数据库表
表3-2数据库表
序号
数据库表
数据表存储的内容
1
Student
存储学生的信息
2
Teacher
存储教师的信息
3
Users
存储管理员的信息
4
Elect
存储选课的信息
5
Cource
存储课程的信息
6
Depart
存储学校系院信息
(2)数据表之间的关系
图3-2数据表之间的关系图
(3)数据库表结构
①学生表Student的详细数据字段:
表3-3Student学生用户表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
stuPwd
nvarchar(20)notnul
学生密码
3
stuName
nvarchar(20)notnul
学生姓名
4
stuDepart
Int
学生系院号
5
stuGrade
int
学生年级
6
stuClass
int
学生班级
②教师表Teacher的详细数据字段:
表3-4Teacher教师用户表
序号
字段名
字段类型
说明
备注
1
teaID
nvarchar(20)notnull
教师编号
关键字
2
teaPwd
nvarchar(20)notnull
教师密码
3
teaName
nvarchar(100)notnull
教师姓名
4
teaDepart
Int(4)
教师系院号
③课程表Course的详细数据字段:
表3-5Cource课程信息表
序号
字段名
字段类型
说明
备注
1
courseID
nvarchar(20)notnull
课程编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
courseName
nvarchar(100)notnull
课程名称
4
courseTime
nvarchar(20)
上课时间
5
courseAddress
nvarchar(50)
上课地点
6
courseInfo
Text
课程简介
④选课表Elect的详细数据字段:
表3-6Elect选课信息表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
courseID
nvarchar(20)notnull
课程编号
关键字
3
teaID
nvarchar(20)notnull
教师编号
关键字
4
Score
int
课程成绩
⑤系统管理员表Users的详细数据字段:
表3-7Users管理员表
序号
字段名
字段类型
说明
备注
1
adminName
nvarchar(20)notnull
系统管理员用户名
关键字
2
adminPwd
nvarchar(20)
系统管理员密码
⑥系院表Depart的详细数据字段:
表3-8Depart系院表
序号
字段名
字段类型
说明
备注
1
departID
Intnotnull
系院号
关键字
2
departName
nvarchar(100)
系院名称
3.3设计人机交互子系统
(1)用户分类
本系统的用户可分为三类:
①管理员用户;
②教师用户;
③学生用户。
(2)用户描述
①管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。
②教师用户的描述:
教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。
③学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。
(3)设计命令层次
①系统的人机交互子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
②通过采用树形结构,细化命令的组织方式,如下:
4.详细设计
学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:
管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。
4.1系统用户登录流程图
4.2用户密码修改流程图
4.3教师提交成绩流程图
4.4管理员添加课程流程图
4.5学生