软工工程课程关系系统个人报告Word文档格式.docx
- 文档编号:22099344
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:41
- 大小:340.70KB
软工工程课程关系系统个人报告Word文档格式.docx
《软工工程课程关系系统个人报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《软工工程课程关系系统个人报告Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
在学校中实用这款软件,可以使全校师生选课,授课更加方便快捷。
本选课系统教师有优先选择更改的权利,管理员负责教师之间的协调和教室的调配。
系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。
系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;
到达时间段以后,学生可以登陆网站选择课程。
教师用户登陆网站后可以开设课程,在下拉菜单中可以选着时间段,以及给与选择时间段的空余教室选择,如果教师对时间或者教室有特殊安排,可以联系管理员,管理员向各个教师之间进行协调,或者根据空余教室进行安排,将更改的时间或者教室以发布通知的形式发送到选课系统的首页。
教师为每门课程设置一个学分,并可以在课程结束后给予分数,并且可以查询更改分数。
对于学生用户,登陆系统后,可以查询各种课程,以及课程的详细信息,学生可以选择课程和退选课程,当这门课结束时,可以查询到自己获得的分数。
2.实体集设计
详细设计请参照《项目需求说明书》
3功能需求设计
4.性能需求设计
1.正确性需求
系统正确性需求主要包括:
·
系统能够把教室的使用情况,课程的信息,学生的信息,准确地导入数据库中
管理员及用户查询时能够从数据库中准确地读取并且在界面显示
2.时间特征需求
响应时间:
0.5秒以内
更新处理时间:
0.5秒钟以内
数据的转换和传送时间:
1秒以内
解题时间:
3.稳定性需求
该系统部署后,在硬件和支持软件没有发生变化的情况下,能够一直保持运行状态,直到系统被升级或替代
4.灵活性需求
操作方式上的变化:
该软件实用与现在流行的操作系统
5.扩展性需求
支持环境的扩展:
系统运行所要求的操作系统可以从Windows平台扩展到Mac平台等
6.数据管理能力需求
系统数据库中应能对一定数量教师信息,课程信息和学生个人信息进行存储。
7.故障处理能力需求
系统出现软件故障时,为满足信息处理的要求,可以采取数据恢复来解决,因此平时要注意经常进行数据备份
三.项目设计的基本原理和采用的主要方法与技术:
1.技术概括:
课程管理系统运用到了C#语言来实现模块功能和界面设计,.NET,socket通信,MVC三层架构,WINDOWS服务来实现客户端的正常稳定的运行。
2技术原理
(a).C#与.NET技术
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;
它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
组成.net软件技术的组件,组件之一,“智能”客户端应用软件和操作系统,包括PC、PA、手机或其他移动设备通过互联网、借助WebServices技术,用户能够在任何时间、任何地点都可以得到需要的信息和服务。
例如:
可以在手机上阅读新闻、定购机票、浏览在线相册等等。
现在我们假设一种场景,如公司内使用的CRM系统,应用了.NET的解决方案后所有的业务人员便可以通过手机或PDA直接访问客户信息了。
(b).socket通信,MVC三层架构,WINDOWS服务
Socket通信以其传输速度快且稳定的优点在程序开发中应用非常的广泛。
所谓Socket通常也称作“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:
服务器监听,客户端请求,连接确认。
服务器监听:
是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
客户端请求:
是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。
为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:
是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。
而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
MVC(ModelViewController)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。
使用MVC的目的是将M和V实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据你可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
三层架构(3-tierapplication)通常意义上的三层架构就是将整个业务应用划分为:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
MicrosoftWindows服务(即,以前的NT服务)使您能够创建在它们自己的Windows会话中可长时间运行的可执行应用程序。
这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。
这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。
还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。
四.本人实现项目的过程与步骤
本人主要负责数据库设计、数据库建立、分配项目任务、记录项目进度、部分模块实现;
参与了可行性分析,需求分析,接口设计,数据结构设计等。
(一).项目开发计划的设计
组长提出了我们的课题,我根据组里的人员能力和特点分配了组里人员的大致负责方向。
记录每次会议的内容和问题。
(二).需求分析
需求分析的过程中,根据数据流图,本人负责了功能需求的描述,分别设计了学生,教师,管理员的功能需求描述。
然后跟组员讨论,功能的结果,并按照意见修改。
(三).概要设计
本人在概要设计中,根据组员提供的数据流图和用例图,描述了功能需求与类的关系和本次课题需要用到的数据结构。
其中包括整体数据结构和客户端数据结构。
把数据结构设计交给模块设计的组员。
接着通过理解组员给的模块设计说明,给框架结构设计者提供了一定的分析和帮助。
对类图和E/R图的设计和修改提出了意见。
(四).详细设计
在详细设计中,本人主要设计了数据库和及其建立和部分模块的实现。
(一).
数据库部分说明“课程管理系统”的数据库设计、结构情况,用于开发人员进行项目设计,同时也为后续的数据库维护工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料。
设计过程如下
数据库服务器:
SQLServer2008R2
应用程序端:
VisualStudio2010
1.根据E/R图,首先设计出实体集和关系。
2.分析数据结构,设计数据类型和极其约束。
3输入设计好的数据以备测试。
4检查数据库的设计及测试
(二)。
由于本人编程能力有限,在组长的帮助下设计了修改密码模块。
过程如下:
1根据模块设计和接口设计,设计修改密码算法过程。
2设计算法,根据需求描述完善代码。
我负责的模块是修改密码信息,算法上主要问题就是连接数据库的问题。
处理好数据库、数据集、规则集、结果集、客户端上的联系和实质。
建立数据库的一般过程。
(1).具体就是首先进行驱动联接,然后对数据库进行访问,访问的方式为(oledb),
(2).在联接数据库的时候需要导入2个包SYSTEM.DATA和SYSTEM.DATA.OLEDB。
(3).创造连接对象
(4).写连接指明驱动,指明数据源,指明连接哪个数据库,用户名,密码,并打开连接
(5).连接好数据库,然后做查询,修改
(6).修改后关闭联接
实际过程如下
首先打开DATASET,然后添加-数据-XML架构,接着新建数据集,新建连接,输入服务器和数据库,然后建立查询,配置好SQL语句即可。
3测试并修改代码。
4完成模块功能
(五).测试
主要负责测试添加用户信息模块实现的测试(并没用测试工具测试)。
并填写记录。
(六).分配项目任务并记录开发过程
由于编程能力有限,本人负责分配项目并记录开发过程,让编程任务主要由组长实现。
五.个人遇到的困难与获得的主要成果
总体概述:
主要成果(3部分)
(一)功能需求描述
根据其他组员的用况图,和需求调查,我设计了主要实体集的功能描述,首先绘出用况简述表,然后用用例设计流描述功能。
具体收获如下:
.1教师需求分析
1.1识别用例
用况简述表
编号
名称
使用者
说明
注册教师信息
教师
2
登录系统
3
修改教师信息
先登录
4
发布课程
5
查询课程状态
6
查询学生名单
7
录入成绩
1.2客户的用例图
1.3用例事件流描述
1.31注册教师信息
用例编号:
用例名称:
教师注册个人信息
用例描述:
教师通过客户端进行注册自己的个人信息
前置条件:
无
后置条件:
如果用例成功,则用户建立新的教师账户,否则系统状态不变
基流:
教师通过客户端进入注册界面
教师输入用户名,密码以及个人信息提交
系统验证教师用户名,系统为教师建立账户
系统保存到数据库
教师进入系统
替代流:
如果输入用户名已存在,系统提示错误信息,用户可以重新输入或终止该用例
1.32登录系统
教师登录系统
对教师的身份进行验证,教师通过客户端进行登录
教师用户注册成功
用例成功,则教师进入系统,否则系统状态不变
教师通过客户端进入登录界面
教师客户输入用户名,密码
教师收到身份验证结果提示信息
如果输入用户名验证失败,系统提示错误信息,教师可以重新输入或终止该用例
1.33修改教师信息
教师修改个人信息
教师设置个人信息,如购房意向的添加和撤销,联络方式的变更等
教师身份验证通过
用例成功,则系统更新用户信息
基流:
用户登陆系统
用户进入修改个人信息界面
用户修改个人的信息提交
系统对数据库进行更新
1.34发布课程
教师发布课程
教师通过客户端对即将发布的课程进行发布
用例成功,则系统中增加发布的课程
教师登陆系统
教师进入发布课程界面
教师填写课程基本信息
系统从数据库查询,课程时段可用教室,选择上课地点
教师确认课程信息并提交
1.3.5查询课程状态信息
查询课程状态信息
教师通过自定义或系统提示的进行对课程查询,显示课程信息,包括是否通过审批
用例成功,则教师用户显示课程查询结果
基本流:
教师打开课程查询界面
教师输入要查询的信息提交
系统对数据库进行查询
系统显示结果
1.3.6查询学生名单
教师对课程进行查询后,可查询学生名单
教师身份验证通过,根据需求查询某门课程
用例成功,则显示课程对应学生信息查询结果
教师自定义查询课程
教师进入课程状态界面,进行查询学生名单操作
系统显示学生名单
1.3.7成绩录入
成绩录入
客户对课程进行相应的学生成绩录入
客户身份验证通过,查询某门课程,显示学生信息
用例成功,则系统将根据学生信息添加相应课程成绩
教师查询课程,并执行查询学生名单操作
教师进入学生成绩录入操作
系统将成绩录入结果的数据保存
2学生需求分析
客户的功能需求使用用例图的方法描述
2.1识别用例
注册学生信息
学生
修改学生信息
查询课程信息
选课
查看选课结果
查看课程教室
8
退课
2.2客户的用例图
2.3用例事件流描述
2.2.3.1注册学生信息
学生注册个人信息
学生通过客户端进行注册自己的个人信息
如果用例成功,则学生建立新的账号,否则系统状态不变
学生通过客户端进入注册界面
学生输入用户名,密码以及个人信息提交
系统验证用户名,系统为客户建立账户
客户进入系统
扩展点:
异常处理:
用户名,密码,个人信息不符合格式要求。
提示错误,重新注册。
2.2.3.2登录系统
学生登录系统
对学生的身份进行验证,学生通过客户端进行登录
学生注册成功
用例成功,则学生进入系统,否则系统状态不变
学生通过客户端进入登录界面
学生输入用户名,密码
学生收到身份验证结果提示信息
学生进入系统
如果输入用户名验证失败,系统提示错误信息,学生可以重新输入或终止该用例
用户名,密码不正确或不存在。
重新输入。
2.2.3.3修改个人信息
学生修改个人信息
学生可根据个人实际情况更改自己的个人信息。
学生身份验证通过
学生登陆系统
学生进入修改个人信息界面
学生修改个人的信息提交
个人信息有误,重新填写
2.2.3.4查看课程信息
查看课程信息
学生通过客户端对课程信息进行查看
客户身份验证通过
用例成功,则系统显示课程信息
学生登陆系统
学生进入查看课程界面
学生从数据库查询,显示结果
2.2.3.5选课
根据已有课程选课
客户身份验证通过,并且在选课时间
用例成功,则学生请等待选课结果。
客户打开选课界面
客户选课提交
系统录入数据库
系统显示报名成功,等待结果
超过选课时间,不允许选课,退出界面。
2.2.3.6查看选课结果
根据系统选课,选出各个学生选课结果
用例成功,则系统显示选课结果
客户登录系统
客户进入选课结果界面
系统显示选课结果。
2.1.3.7查询课程教室
查询课程教室
学生可以查询自己选到的课程的教室
客户进入查询课程界面
2.1.3.8退课
学生退课
客户身份验证通过,并且在退课期间
系统显示结果,并且更新数据库
客户登陆系统
系统显示退课界面
客户确认删除
系统从数据中删除学生
超出退课时间,退出界面
2.1.3.9查询成绩
9
查询成绩
学生查询成绩
系统显示查询成绩界面
3系统管理员需求分析
系统管理员的功能需求使用用例图的方法描述
3.2.1识别用例
管理员
查询学生信息
查询教师信息
审批课程
公布选课结果
公布教室
公布学生名单
公布成绩
3.2.2客户的用例图
3.2.3用例事件流描述
3.2.3.1登录系统
管理员登录系统
管理员通过客户端进入登录界面
管理员进入系统
3.2.3.2查询学生信息
查询数据库中学生的信息
管理员登录
用例成功,则系统显示学生信息
管理员登陆系统
进入学生信息界面
系统从数据库中反馈结果
3.2.3.3查询教师信息
查询数据库中教师的信息
管理员身份验证通过
用例成功,则系统显示教师信息
管理员登陆系统
学生进入查看教师信息界面
3.2.3.4审批课程
管理员根据教师提供的课程和教师,确认课程发布到选课系统
管理员打开审批课程界面
系统从数据库中提取教师发布课程信息
审批确认
输入系统选课课程数据库
审批失败,取消课程
3.2.3.5公布选课结果
系统公布选课结果
客户进入公布选课结果界面
管理员从数据库中提取选课结果
3.1.3.6公布教室
系统公布教室
用例成功,则系统显示教室结果
客户进入公布教室结果界面
管理员从数据库中提取教室结果
3.1.3.7公布学生名单
系统公布学生名单
用例成功,则系统显示学生名单结果
管理员登录系统
客户进入公布学生名单结果界面
3.1.3.8公布成绩
系统公布学生成绩
用例成功,则系统显示成绩结果
客户进入公布成绩界面
管理员从数据库中提取成绩结果
(二)数据库设计(截图)
根据组员E/R图的描述和系统数据设计,建立数据库。
成果截图如下
Account
Course
Grade
Respond
教室预约申请表:
教室使用记录表:
学生上课记录表:
(三)模块设计
我主要设计修改密码模块
主要为数据库的连接,其中驱动访问和访问数据库为核心
修改密码模块(学生,教师,管理员)以学生为例
遇到的困难
1.需求分析上的困难,主要在功能的设计(是否全面?
是否可行?
是否容易出现BUG?
)。
在组员的帮助下,完成了数据流的过程和功能描述。
2.数据库的建立是否完整并正确的描述了E/R图所描述的内容。
弱实体集的建立。
数据的约束等等。
3.模块算法的实现。
怎样实现联接数据库。
4.分配组员任务的合理性。
六.测试与运行记录
登录模块测试(学生,教师,管理员)
正确进入
失败进入
修改课程,添加课程等模块测试(管理员)
所添加的课程为“张钊”
管理课程(学生,教师不能管理)以学生为例
预约教室(管理员学生不能预约)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 课程 关系 系统 个人 报告
