1、目 录1 选题背景12 系统需求分析22.1 理解需求22.2 分析需求32.3 用例分析或系统数据流图32.4 需求分析说明书42.4.1 概述42.4.2 系统描述42.4.3 系统功能需求42.4.4 系统性能需求52.4.5 目标系统界面52.4.6 目标系统其他需求73系统设计93.1总体设计93.1.1 总体结构设计93.12 概念数据模型设计103.1.3 数据结构设计123.2 详细设计144系统测试计划184.1概述184.1.1编写目的184.1.2 定义184.1.3 参考资料184.2 计划184.2.1 测试方案184.2.2 测试条目194.3 结论195 课程设计
2、总结205.1 课程设计主要内容205.2 课程设计体会20 II1 选题背景信息社会的高科技,商品化的高效性,使计算机的应用普及到经济和社会生活的各个领域,为了使计算机操作方便于手工劳动,为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公带来极大的方便。学生学籍管理系统以计算机为工具,管理人员以计算机为工具,通过学生学籍管理系统对学生的信息进行管理,把管理工作人员从烦扰的工作中解脱出来。学生学籍管理工作是学校管理工作的重要组成部分。随着高校办学规模的扩大和招生人数的增加,学籍管理也显得尤为重要。作为学校,除了育人,就是育知,学生学籍管理的计算机化是整个学校教务管理的重要一
3、部分,介于它的重要性,学生学籍管理系统的开发与应用就逐渐提上议程。并占着越来越重要的分量。运用学籍管理系统可以减轻教学人员的工作量,减小开支,提高工作效率与准确率,能够节省时间。对于一个学校而言,管理好学生的学籍,是非常重要的。因此,开发一套学生学籍管理系统是非常必要的。学生学籍管理工作主要是学生基本信息的管理包括学生的基本信息(姓名、学号、性别、籍贯、班级号、成绩、登录密码),专业的基本信息(专业名、专业号、院系、人数),课程信息(课程名、课程号、学时)等的管理,主要包括数据输入、修改、删除、追加、查询和统计等功能,学生学籍管理系统能够高效、准确地完成这些功能,并能达到界面美观友好、使用方便
4、。 2 系统需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。在分析软件需求和书写软件需求规格说明书的过程中,分析
5、员和用户都起着关键、必不可少的作用。只有用户才真正知道自己需要什么,但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来。需求分析和规格说明书是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的技术,集中精力细致工作,而且必须严格审查验证需求分析的结果。2.1 理解需求理解需求就是进行用户调研,然后对用户提出的要求进行理解和思考,并列出所有的用户需求。下面是一份“需求文本说明”,它是对“学生学籍管理系统”的终端用户和客户进行调研后编写
6、的。这里列出如下比较关键的需求部分。(1)录入、查询和修改学生信息,包括学生的姓名、学号、性别、籍贯、班级号、成绩等。(2)录入、查询和修改课程信息,包括课程名、课程号、学时等。(3)录入、查询和修改专业信息,包括专业名、专业号、院系、人数等。(4)录入、查询和修改学生每学期的成绩信息。(5)对基础数据进行维护。(6)提供数据统计、查询等功能。(7)系统客户端运行在Windows各版本平台下,有较好的图形用户界面。(8)系统应该有很好的可扩展性。(9)系统应该容易上手,方便使用。 2.2 分析需求分析需求又叫设计需求、开发需求或获取需求,就是描述系统的需求,对客户的需求进行定义,通过定义系统中
7、的关键域来建立模型。分析的根本目的是在开发者和提出需求的客户之间建立一种理解和沟通机制。因此,“学生学籍管理系统”的需求分析也应该是开发人员和客户一起来完成的。需求分析主要包括以下任务。第1项任务:画出系统的总体结构图,包括系统管理、学生信息管理和学生成绩管理。第2项任务:画出系统的数据流图。第3项任务:写出系统需求分析说明书,对系统进行描述。2.3 用例分析或系统数据流图 第一层数据流图:学生填写个人信息,管理员将学生信息录入学生学籍管理系统,并做成统计表将信息输出,学生可以查看自己的基本信息和成绩信息。 图 2.1 第一层数据流图第二层数据流图:将学生信息录入包括成绩信息,做出统计表,可以
8、查询班级平均成绩和各科平均成绩。图2.2 第二层数据流图2.4 需求分析说明书2.4.1 概述本需求分析说明书是为了开发学生学籍管理系统而编写,主要面向系统分析员、程序员、测试员和最终用户。本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用,也是项目完成后系统验收的依据。2.4.2 系统描述这是一个学生学籍管理系统,它可以提高学籍管理工作的效率,具有对学生个人信息,课程信息,所选课程信息进行管理及维护功能。学生可以通过此系统进行个人信息、考试成绩的查询。系统开发的总体任务是实现学生学籍管理的系统化、规范化、自动化。2.4.3 系统功能需求(1)管理员的功能需求管理员权限最大,可以对学生
9、,课程,老师进行管理。管理员对功能需求细分如下:有关学生信息的浏览,包括学生的姓名,性别,学号,班级号,籍贯,登录密码和成绩。学生的添加,本系统由管理员对学生的信息进行添加,还有学生信息修改和删除。学校基本课程的浏览,包括课程名,课程号,学时。学校基本课程的添加,修改及删除。(2)学生的功能需求学生只是利用本系统进行与自己有关的信息查询,输入等,不必关心其他的内容,学生对功能的需求如下:浏览个人基本信息,具体内容包括姓名,性别,学号,班级号,籍贯,登录密码和成绩。学生登录系统后,修改个人信息,为了保证系统安全性,只要求学生修改个人登录密码。浏览课程信息,具体内容包括课程名,课程号,学时。浏览个
10、人选课情况。浏览个人成绩。2.4.4 系统性能需求(1)系统易操作性所开发系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。(2)系统可维护性由于系统涉及的信息比较广,数据库中的数据需定期更新,系统可利用的空间及性能也随之下降,为了使系统更好的运转,学院可以对系统数据及一些简单的功能进行独立的维护及调整。(3)系统开发性该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因为外部系统的不同而要做大量的修改工作。2.4.5 目标系统界面用户进入学生学籍管理系统主界面后,填写用户名,密码,选择身份。如图2.3所示图2.3 登录界面管理员添加用户。如图2.4所示图2.4
11、 添加用户管理员删除学生信息。如图2.5所示图2.5 删除学生信息管理员修改学生信息。如图2.6 所示图2.6 修改学生信息2.4.6 目标系统其他需求(1)普通用户的需求对于只有查看权限的用户,能够通过上网浏览学校网页来查看数据,实现基本的信息查看。(2)各部门管理员的需求能够对系统进行设置,以适应不同用户的需求。对不同系统的管理员分配不同的权限,教务处系统管理员具有最高的管理权限。(3)精度需求在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,由于本系统使用了数据结构,可以满足各种精度的需求。(4)时间需求在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。3
12、 系统设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么做”的时候了。在系统设计阶段包含了总体设计和详细设计阶段。总体设计的基本目标就是回答“概括的说,系统该如何实现”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等。详细设计阶段的根本目标是确定应该怎样设计具体的实现所要求的系统,也就是说经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这份描述直接翻译成用某种程序设计语言书写的程序。3.1 总体设计总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段的数
13、据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,制定实现这个方案的计划。3.1.1 总体结构设计学生学籍管理系统主要包括系统管理、学生信息管理、成绩信息管理。系统管理具体包括添加用户、修改用户、查询用户;学生信息管理具体包括添加信息、修改信息、查询信息;成绩信息管理具体包括添加成绩、修改成绩和查询成绩。如图3.1所示图3.1 总体结构图3.12 概念数据模型设计本系统的实体有:学生实体、专业实体、课程实体。学生实体具体的描述E-R图如图3.2所示图3.2 学生实体E-R图专业实体具体描述如图3
14、.3所示图3.3 专业实体E-R图课程实体具体描述E-R图。如图3.4所示图3.4 课程实体E-R图学生学籍管理系统的整体的E-R图如图3.5所示 图3.5总体E-R图3.1.3 数据结构设计创建数据库利用SQL Server 2008自带的数据库工具创建数据库,步骤如下:(1)启动SQL Server 2008数据库。首先在服务器端操作界面上单击【开始】|【程序】|【Microsoft SQL Server】|【服务管理器】,然后单击【启动】按钮,即启动SQL Server 2008。(2)启动企业管理器。在单击【开始】|【程序】|【Microsoft SQL Server】|【企业管理器】
15、,启动数据库的管理界面。(3)新建数据库。展开【Microsoft SQL Server】|【local】|【数据库后】,右击【数据库】,在弹出菜单中选择“新建数据库”命令后,弹出新建数据库窗口。在“名称”项中输入新数据库的名称“学生学籍管理系统”。单击“数据文件”标签页后,输入数据库文件的存放位置,单击“事物日志”标签页后,输入数据日志的存放位置。单击“确定”按钮,即完成数据库的创建。(4)也可以直接使用SQL语句创建数据库。表3.1 实体属性表实体属性学生学号、姓名、班级号、学生成绩、性别、密码、籍贯管理员管理员ID、密码专业专业号、专业名、院系、人数课程课程号、课程名、学时表3.2 专业
16、表字段名类型空值约束条件专业号IntNot null主键专业名Varchar(30)Not null院系Varchar(30)Not null人数int表3.3 学生表字段名类型空值约束条件学号IntNot null主键姓名Varchar(30)Not null性别Char(2)班级号Varchar(30)Not null外键学生成绩Varchar(30)密码moneyNot null籍贯char表3.4 管理员信息表字段名类型空值约束条件管理员IDVarchar(10)Not null主键密码Varchar(10)Not null表3.5课程表字段名类型空值约束条件课程号IntNot nul
17、l主键课程名Varchar(30)Not null学时Varchar(30)3.2 详细设计详细设计是要设计出程序的“蓝图”,以后程序员要根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。考虑程序代码的质量的时候必须注意,程序的“读者”有两个,那就是计算机和人。 在软件的生命周期中,设计测试方案、诊断程序错误、修改和改进程序等都必须首先读懂程序。实际上对于长期使用的软件系统而言,人读懂程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更重要的是要看它是否容易阅读和理解。详细设计的目标不仅仅是逻辑上正确的实
18、现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。进入系统主页后,用户登录,登陆成功选择角色,若是管理员,有学籍管理、课程管理和成绩管理,学籍管理具体包括增加学籍信息、删除学籍信息、修改学籍信息,课程管理具体包括增加课程信息、删除课程信息、修改课程信息,成绩管理具体包括增加成绩信息、删除成绩信息、修改成绩信息;若是学生,接下来的操作有修改密码、查看个人信息、查看课程信息、查看成绩。具体的学生学籍管理系统总体流程图。如图3.6所示图3.5 总体流程图用户登录后输入用户名和密码并选择角色,进入学生学籍管理系统。具体流程图如图3.7所示 图3.7 用户登录流程图进入学生学籍管理系统后,
19、若是管理员,则其有学籍管理课程,课程管理和成绩管理的功能.管理员权限具体流程图。如图3.8所示图3.8 管理员权限流程图用户进入学生学籍管理系统后,若是学生登录,有修改密码,查看个人信息,查看课程信息和查看成绩等功能.学生权限具体流程图如3.9所示图3.9 学生权限流程图4 系统测试计划4.1 概述在开发软件系统的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免的会产生差错。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来
20、,那是不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误,避免发生不可挽回的错误。4.1.1编写目的 软件测试是为了发现软件的错误,该文档的读者对象是老师,以指导软件测试过程。4.1.2 定义静态测试:主要方法有审阅、检查。单元测试:组装测试,系统测试。4.1.3 参考资料(1)软件工程张海藩 编著,清华大学出版社,2009.7 . (2)实用软件工程(第3版), 赵池龙等 主编,电子工业出版, 2011.1 .(3)软件工程概论李存珠,李宣东 编著,南京大学计算机系讲义,2001.8. (4)需求分析报告 4.2 计划4
21、.2.1 测试方案 结合需求分析报告的功能点列表、性能点列表,采用以黑盒子为主、白盒子为辅的测试方法,检查“学生学籍管理系统”各模块的输入、输出系统相应地是否结合需求分析报告的要求,并检查系统对异常情况的承受能力。4.2.2 测试条目(1)建立并维护全部学生学籍信息的测试;(2)建立并维护全部学生成绩信息的测试;(3)系统管理功能的测试;(4)管理学生与专业之间的对应关系的功能测试;(5)管理学生与课程之间的对应关系的功能测试;(6)管理用户、密码功能的测试;4.3 结论 以上所有的模块测试过程,都要求系统能在用户输入出错时,给出正确的响应,并不影响到数据的安全与完整性。成功的系统设计,必须通
22、过以上的测试才能确认。 5 课程设计总结5.1 课程设计主要内容本次课程设计通过开发一个实例,详细的讲解了“学生学籍管理系统”的开发过程,主要包括以下内容:“学生学籍管理系统”的需求分析“学生学籍管理系统”的概要设计“学生学籍管理系统”的详细设计“学生学籍管理系统”的编程实现“学生学籍管理系统”的测试5.2 课程设计体会参考文献1 张海藩.软件工程M.北京:人民邮电出版社.2009.07 2 萨师煊.数据库系统概论M.北京:高等教育教育出版社.2006.013 傅铅生.信息系统的分析与设计M. 国防工业出版社.2005.03. 4 王珊.数据库系统概论(第四版)M.高等教育出版社.2006.5 5 王江宁.我国企业人事管理的现状及改革研究J.南方论刊.2009.12 6 秦辉.企业人力资源开发与管理的现状与对策J.现代商业.2010.06 7 邹方磊.企业人事管理设计与开发J.北京邮电大学.2005.11 企业人事管理系统的设计与实现21