《软件工程设计报告.doc》由会员分享,可在线阅读,更多相关《软件工程设计报告.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程课程设计报告课 题: 学生学籍管理系统 专业班级: 电子商务(技术方向)1班 小组成员: 学 号: 指导教师: 目录一引言3(一)调查背景3(二)调查内容41.调查对象52.调查方法6二关于书籍购买渠道的概述9(一)参与调查中广东各高校在校学生选择书籍购买渠道的情况3(二)各在校学生对于渠道选择的原因4(三)对于目前书籍购买渠道处在的不足和建议4三、书籍购买渠道的调查结果及其分析14(一)调查背景3(二)调查内容4(一)调查背景3(二)调查内容4(一)调查背景3(二)调查内容4四、相关建议和措施21(一)从网上书店的发展来看3(二)从传统书店的应对方式来看4(三)综合两者的情况来看32
2、3一学生学籍管理系统可行性分析报告1.引言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来了极大的方便。1.1编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。1.2项目背景开发软件名称:学生学籍
3、管理系统项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C+为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序。 1.3定义 学生信息管理系统: 学生信息管理是帮助教学人员、行政人员对人事档案的管理软件。使用汉语编程语言,独立完成其功能。1.4参考资料软件工程导论,张海藩、倪宁 人民邮电出版社。实用软件工程,郑人杰等,清华大学出版社。2.任务概述2.1要求主要功能:为学生提供学籍管理服务,方便学生对其基本信息和成绩的查询,加强学校对学生
4、基本信息的管理。性能要求:学籍管理系统提供的信息必须准确的反应在相应的查询平台上。学籍系统的定单必须无差错的存储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。输出要求:数据完整,详实。输出要求:简捷,快速,实时。安全与保密要求:服务器的管理员享有对学生基本信息库及机票信息库和成绩信息库的管理与修改。管理员只享有对订票信息库的部分修改(写入与读出)。完成期限:预计六个月,即截止2021年12月25日。2.2目标高校学生学籍管理系统以计算机为工具,通过对教学管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教
5、学质量的监督检查,从而全面提高教学质量。软件开发的意图为便于学校的管理,方便查看有关学校及学生的情况。如教务处对学生成绩的修改、删除、查找、添加等。2.3运行环境操作系统:Windows 2000 ,Windows XP,Windows 2003,Windows Vista支持环境:Microsoft Visual Studio 2005数 据 库:Microsoft SQL Server 20002.4条件与限制1建议开发软件运行的最短寿命为3年2进行系统方案选择比较的期限为2个月3本系统无法律和政策方面的限制;4用Visual studio作前端的应用开发工具 ,利用SQL sever作为
6、 后台的数据库,充分利用了Visual studio和SQL sever的优点,利用WINDOWS_XP作为系统平台;5建议开发软件投入使用的最迟时间为3个月。3.技术可行性分析3.1系统简要描述在学校系统中的终端是安装了Windows NT的PC机,主要目的是向请求查询的服务器传递数据。当终端向服务器发出查询请求时,服务器根据学生信息库的实时数据,向终端发送数据,显示在终端的屏幕上。3.2处理流程和数据流程4.系统分析这章主要讲的是学生成绩管理系统的逻辑分析,系统分析在整个系统中具有重要作用为系统的设计打下基础。 4.1背景分析 学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行
7、合理地安排,以期让教务处中最短的时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生、学生成绩进行各种查询。4.2组织机构分析 学生信息管理组织机构主要是由:学生管理,成绩管理,等组成。图2-1为组织机构图。 图2-1组织机构图职责:学生管理:管理一些学生的资料,具体是学生的学号、姓名、班级、专业, 所学科目,。 成绩管理:管理学生的成绩录入、删除、排序、查询、检索等。4.4业务流程分析 主要的业务是:学生的资料的输入,学生综合资料的查询、修改、删除、统计等造作的实现,然后是将结果可以显示出来。业务流程图如图2-4学生学生资料的输入综合资料查询修改删除添加输出结果统计图2-4
8、4.5数据流程的分析 数据流程图是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合反映出信息在系统中的使用、加工处理、传递、存储的整体情况。数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况,担却无法表达各个处理的详细内容,因此还要对数据流程图中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。 数据字典的任务就是对数据流程图中的出现的所有被命名的图形元素在数据字典中作为一个条目加以定义,便得每一个图形元素的名字都有一个确切的解释。数字是对数据流程图的补充说明,它的编制和维护是一项非常繁重的工作,一旦建立起来,从系统分析直至系统运行都用到它。
9、由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。流程图如下图2-5 学生成绩管理系统0层数据流程图4.6数据存储分析数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系
10、“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R图可画成下图。学生课程成绩学习mn二学生学籍管理系统需求分析1学生学籍管理系统的功能要求学生学籍管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的学生学籍管理,为同学的的查询提供准确、精细、迅速的基本信息。1.1信息录入功能在这个功能里包括学生基本信息,班级课程信息,学生学期成绩单及成绩单表格和班级名单的
11、录入。1.2浏览功能浏览功能包括浏览学生成绩,浏览班级课程,浏览课程名称和专业信息。1.3查询功能查询功能包括按班级和学号查询成绩,按班级查询课程设置。另外,我们为了保证个人信息不外泄,在进入本系统之前我们必须输入下确的密码。这样可以防止非法用户越权操作损害数据库而造成损失。2学生学籍管理系统的性能需求2.1数据精确度查询时应保证查全率,通过唯一的关键可以查询到记录,例如学号。2.2时间特性一般操作的响应时间应在2-3秒内,对软磁盘和打印机的操作也要在这个时间段完成。2.3适应性可以处理大量数据3学生学籍管理系统的数据需求学生学籍管理系统的数据需求包括如下几点:3.1数据录入和处理的准确性和实
12、时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。3.2数据的一致性与完整性由于系统的数据是共享的,在不同的终端中,信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合
13、完整性约束,系统应该拒绝该数据。3.3数据的共享与独立性整个学籍查询系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4学生学籍管理系统的数据字典系统中的数据元素: 名字用户数据 别名用户信息 描述用户输入信息 定义用户数据=学号,姓名,出生日期,班级,籍贯,电话 位置输入 名字录入的数据 别名录入信息 描述用户输入到数据库中的信息 定义录入数据=学号+姓名+出生日期+班级+籍贯+电话 位置录入信息,数据库 名字修改的数据 别名修改信息 描述用户要修
14、改的数据库中的内容 位置保存到学籍库 名字学生信息 别名显示信息 描述显示到显示屏的信息 定义学生信息=学号+姓名+出生日期+班级+籍贯+电话 位置输出到显示屏 名字学号 描述唯一的表示学籍库中学生的关键语 定义学号=(数字) 位置录入信息,保存信息,学生信息,学籍库 名字姓名 描述学生的性别 定义性别=男,女 位置查询信息,修改信息,录入信息,保存信息,显示信息 名字出生年月 描述学生的出生日期 定义出生日期=年+月+日 位置查询信息,修改信息,录入信息,保存信息,显示信息 名字所在班级 描述学生所在班级 定义所在班级=院系+年级+班级 位置查询信息,修改信息,录入信息,保存信息,显示信息
15、名字籍贯 描述学生出生的所在地 定义籍贯=4字符16 位置查询信息,修改信息,录入信息,保存信息,显示信息 名字电话 描述学生的联系方式 定义籍贯=10数字13 位置查询信息,修改信息,录入信息,保存信息,显示信息5.学生学籍管理系统的逻辑模型学生学籍管理系统的逻辑模型如下图所示:学号家庭住址姓名性别学生基本信息出生年份籍贯专业班级本校住址个人联系电话家庭联系电话 成绩信息 学号课号 课名 成绩上课时间 教师号6.学生学籍管理系统的运行要求学生学籍管理系统中的各个子系统的硬件和软件的配置如下:6.1服务器端子系统的运行要求:系统软件: Window NT Server数据库管理系统:SQL S
16、erver 硬件要求:Pentium III 450以上, 258M RAM, 14G HD6.2客户端子系统的运行要求:系统软件: Window NT Workstation数据库管理系统:SQL Server 硬件要求:Pentium 133以上, 32M RAM, 4.3G HD三、总体设计说明书1概要设计1.1数据流的设计系统方案确定。通过对系统的调研与分析,系统主要应完成的功能如下:学生信息的录入、修改、删除,成绩的查询、排序、统计等功能。本系统在执行时,先根据操作人员的基本需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
17、所以其数据流图应该是事物型的。其数据处理流程图如下3.1. 查询、更新查询、录入、更新、删除学生信息管理部门综合数据各类信息图3.1.1管理员1.2系统物理结构设计根据系统业务要求的分析,数据关系的分析以及数据流程的分析可以设计出此事务型系统的结构。本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(设备、存储区域)。此系统的结构层次图如下3.1.2 图3.1.2学生信息成绩管理系统维护学生成绩管理班级管理学生信息管理成绩查询成绩查询成绩查询成绩查询信息查询信息查询信息添加信息删除信息更新信息查询1.3系统维护设计 由于系统较小没有外加维护模块,因为维护工
18、作比较简单,仅靠一些基本维护措施即可。但为便于维护,应该设计了三种日志:系统运行日志、操作日志、出错日志。三种日志根据不同的重要程度采取存放在文件和数据库的方式,系统管理员可以很轻松地监控系统运行情况。2代码设计2.1学生模块的设计此模块主要是用来学生查询自己的信息,首先调用shjk类中的lijie方法,实现数据库的链接和相关功能(查找、获取记录)。2.2老师模块的设计此模块的设计思路和学生的是一致的,首先调用shjk类中的lijie方法。但是和学生模块不同时的是登陆身份不同所以执行的功能也不同,这个模块可以进行(添加、删除、修改、获取记录)。2.3登陆界面模块的设计根据的系统的要求要做出友好
19、界面,首先设置窗体formborderstyle属性为None,然后插入窗体的背景图片。 3.详细设计详细设计说明书是对系统架构进行详细直观描述,从而完成详细设计,作为软件实现的基础。在概要设计中已经对系统进行了基本划分,而每个基本模块又可划分成多个小模块,下面对各模块中的一些基本功能函数进行分析和设计。3.1添加学生信息模块设计程序描述添加新学生信息。功能添加新学生的信息,包括姓名、学号等信息。输入项姓名char 学号char 班级char 专业char 3.2查询学生信息模块设计程序描述对学生信息做查询操作。功能根据输入的学生查询条件查询并显示相应学生的信息,并且可以对其进行查询操作。输人
20、项班级:字符串型专业:字符型学号:字符型输出项合法:显示出查询学生的信息页面非法:重新查询 输入查询条件合法?显示所查学生信息 3.3修改,删除学生信息模块设计程序描述对学生信息做修改删除操作。功能根据输入的学生条件对其进行修改,删除操作。输人项学号:字符型输出项合法:显示出查询学生的信息页面非法:显示没有4数据库设计4.1逻辑结构设计 经过对学生成绩管理的分析,本系统中的实体类型有:学生、教师、成绩、班级。(1) 班级和学生之间存在联系“拥有”,它是一对多。(2) 学生和成绩之间存在联系“记录”,它是一对多。(3) 老师和学生之间存在联系“管理”,它是一对多。4.2物理结构 本系统采用的为S
21、QL server2000数据库命名StuMaySys,里面有若干个表,其表名称对照见下表:编号表名称说明1Student学生信息表2Student_course学生成绩表3course课程表4class班级表5Syuser用户表2.1表的详细物理结构1. Student 2. Student_course 3. Course 4. Class 5. 运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服
22、务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。6.运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速ATM 网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。7.出错处理设计7.1 出错输出信息程序在运行时主要会出现两种错
23、误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。出错信息必须给出相应的出错原因,例:全部班机座位已满!查无此定位信息!等。7.2出错处理对策所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用 SQL SE
24、RVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。8安全保密设计由于数据的传输上需要通过网络传输,为了客户资料进行保密,需要在网络的传输过程中对数据进行加密。这个工作主要是在准备网络包,及解开网络包这两个模块完成,它们各对数据进行加密及解密还原工作。在加密算法选择上将使用RSA 加密算法。具体算法可参照参考资料中Computer Networkp.598。9维护设计维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL S
25、ERVER 的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。四、测试分析报告1系统测试说明1.1系统相关内容测试1.1.1信息录入的测试 信息录入包括班级名单录入,学生基本情况录入,学生注册登记录入。(1)班级名单录入窗口的测试该测试的目的是保证添加班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在添加班级窗口中输入空的班级号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。(2)学生基本情况录入窗口的测试该测试的目的是保证添加学生信息窗口的正确性与在数据输入不正确时的容错与纠
26、错性。具体通过在添加记录框中输入重复的学生名,空用学生名等来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。1.2数据查询窗口的测试该测试的目的是保证数据查询窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在查询成绩信息的查询方式窗口中输入空的班级编号,空的学期,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。1.3系统执行测试1.3.1信息录入的测试结果(1)班级名单录入窗口的测试在班级输入表单中如果没有填写班级编号,系统应该出现班级编号不能为空的提示,但是在系统测试中出现即便不输入班级编号系统仍能执行命令操作的错误,因此对系统进行修改,
27、加入语句:IF EMPTY(THISFORM.班级编号1.VALUE) =MESSAGEBOX(班级编号不能为空,请重新输入!,48+0+0,警告)THISFORM.班级编号1.SETFOCUS。这样系统就可以按照预期的设计弹出错误提示对话框。当输入的班级编号已经存有记录时,系统会提示已有次记录,请重新输入班级编号。 图4-1出错提示窗口2(2)学生基本情况录入窗口的测试在输入界面中如果没有输入身份证号码,会提示身份证号不能为空,请重新输入。当输入的身份证号码位数不足是系统也会出现相应的错误提示:身份证号不足位,请重新输入。通过测试即便身份证号位数不足系统也没有出现错误提示,因此加入语句:IF
28、 LEN(ALLTRIM(THISFORM.身份证号1.VALUE)18 =MESSAGEBOX(身份证号不足位,请重新输入!,48+0+0,警告) THISFORM.身份证号1.SETFOCUS这样系统才能正常运行。 图4-2出错提示窗口31.3.2数据查询窗口的测试在学生考试成绩查询窗口中,如果没有输入相应的班级编号,系统会提示:请输入班级编号。没有输入学期,系统会提示:请输入学期。通过测试,系统,没能给出错误提示加入语句:MESSAGEBOX(请输入班级编号!,48+0+0,信息窗口)系统在没有输入班级编号的情况下才会给出错误提示。 图4-4出错提示窗口9以上所有的模块测试过程都要求系统
29、能在用户输入出错时给出正确并不影响到数据的安全与完整性的提示。通过测试系统基本达到设计要求,系统功能完整,用户界面良好,错误处理基本正确。 但是在测试中也发现系统的一些不足与缺陷,通过加语句使系统基本上运行正常。总的来说,软件通过测试,基本上达到需求分析阶段所提出的要求。五、总结性报告通过两星期的课程设计实习,我们从中受益匪浅,并且对软件这一门课程有了更深一步的认识。我们把这学期所学的理论知识和实践联系起来,在所开发的项目中渐渐成长。虽然我们对这些新的知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。发现问题,提出问题,解决问题,使我们从不足之处出发,寻找新的学习方向。将其中调用的那
30、些我看不懂的函数一一查清楚,逐渐弄懂它的设计思路,思考它有哪些不足,有哪些地方还须要改进,有什么更好的方法、更简单的方法去实行。这次学习使我克服了偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了做系统是一项非常烦琐周密的学习活动,它不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎。在实习中,我们设计了一组对学生学籍进行管理的系统,它基本满足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对学生学籍更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对学生信息
31、的输入和存取、读取,对学生相关信息的删除和插入,并且可以按学号查询学生的相关信息,以及按平均分的高低对学生成绩进行排序等的功能。但软件中仍然存在一些不足,例如在输入有关学生的数据时名字没有限定,插入新的学生信息的程序还有待完善,删除后没有把新的学生信息列表进行保存,菜单不美观等。学好计算机要重视实践操作,不仅仅是学习数据结构,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以在以后的学习过程中,我会更加注视实践操作。我们一边实习一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用实习的机
32、会充实自己,并希望这样的机会能被更好更多地提供。参考文献:1 刘振安、刘燕君、孙忱.C+语言课程设计-北京:机械工业出版社,2007.12 陈维兴,林小茶.C+面向对象程序设计教程-北京:清华大学出版社,2004.83 网站:4王珊,萨师煊. 数据库系统概论(第四版) M. 北京:高等教育出版社, 2008. 120-1255 萨师煊. 数据库系统和系统分析 J. 计算机工程与设计, 1984, 16(2): 18-206 韩朝军,梁冰,刘莹. SQL Server管理与开发技术大全 M.北京:人民邮电出版社, 2007. 170-172 7 萨师煊. 数据库的理论与实践 J. 计算机科学, 1983, 17(3): 36-398杨湖,李凤蕾,王斌. SQL Server 2005 数据库系统开发案例精选 M.北京:人民邮电出版社,2007.91-1399钱雪忠数据库原理及应用(第二版)M. 北京:北京邮电大学出版社,2007.67-110