软件设计实践报告目录一、需求分析 (2)1.1 项目背景 (2)1.2 设计目的 (2)1.3 设计语言 (2)二、详细设计 (3)2.1 主要功能 (3)2.2 概要设计 (3)2.3 各模块详细的功能描述 (3)2.4 主要界面 (4)2.5 测试 (6)三、系统存储设计 (7)四、系统实现 (7)五、总结 (8)六、参考文献 (10)一、需求分析1.1 项目背景随着搞笑规模的不断扩大,学生人数的成倍增长,各种信息的数量也随之剧增,单纯依靠人工管理很不方便,甚至难以实现。
但如今计算机和网络技术的应用和普及,计算机付诸实现管理成为可能。
不少组织机构都才用了信息管理系统,来实现海量信息的存放和查看,修改等操作,同样学生信息管理作为学校管理的一项主要内容,若借助信息管理系统来实现,就可以在一定程度上减轻学校管理的难度。
不同的院校由于其规模和理念的不同,管理方式也不尽相同,对于学生信息管理可能也有不同的需求,针对那些各院系需要分别对本院系学生信息进行单独简单管理的情况,就需要设计一个小的信息管理系统来提供支持。
随着社会的进步,各种信息量也逐渐增加,包括在学校内,对学生和教师的信息管理就是一个重要的环节,对于新录入的学院要及时添加其相关信息,对于已经毕业的学院也要及时删除,同时,在校学生的信息还可以进行随时更新编辑,以便保证数据的完整性和正确性。
1.2 设计目的信息管理系统是学校工作中一项非常重要的组成部分,用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求对数据的各种操作的输入、保存和输出。
收集数据以及数据流程,为后面的工作处理打下基础,本系统是针对院校的学生、教师信息管理,用户包括学生和老师,主要涉及学生的基本信息和老师的基本信息。
本系统易操作性比较强,用户无需进行进行培训。
本软件适用于学校管理人员进行简单的信息管理时使用。
1.3 设计语言系统采用C#语言结合框架开发,Microsoft C#是一种简单的、流行的、面向对象的、类型安全的编程语言,它是为生成运行在.NET Framework上的、广泛的企业级应用程序而设计的。
二、详细设计2.1 主要功能信息管理系统的功能总结起来,总共有下面几种主要功能:1、管理学生信息管理学生的基本信息,包括添加、修改、删除、查询。
可以更具条件查询学生信息。
2、管理教师信息管理所有教师的基本信息,包括添加、修改、删除、查询。
同样可以根据条件查询。
3、备份与还原备份与还原同样是不可或缺的模块,当系统出现故障导致信息出错,可以利用备份还原模式,还原以前保存下来的数据,不至于造成太大损失。
2.2 概要设计2.3 各模块详细的功能描述学生信息管理:操作员可以对学生基本信息录入、删除。
教师信息管理:操作员可以对学生基本信息录入、修改、删除。
备份:为了防止信息的丢失或出错,可先将录入完整的信息备份起来。
备份文件存储在名字为bak的文件夹里面,还原:当系统出现故障或是信息出错,可以讲预先备份好的数据还原。
当系统需要恢复数据是,程序从bak文件夹里面取出名字为相应的文件,读取到名字为school.bin的文件中。
查询功能:操作员可以根据不同的筛选条件选出要查找的信息。
修改模块:查询结果显示出来后,单击右键单击选中项,会有相应的选项,包含修改项,对需要修改的信息进行修改,修改之后要保存。
2.4 主要界面1. 主操作窗口主窗口在此界面操作员可以添加信息,然后将添加的信息保存,还可以选择备份,当系统出现故障的时候不至于使信息丢失,如果系统出现故障,还原以前保存的备份就可以了,用户还可以更具添加人员的名字首字母查找。
查找完之后,筛选出来的信息就会显示在列表中,选中一行单击右键可以查看该学生或老师的详细信息。
2. 添加信息窗口添加信息窗口操作员可以选择要添加人员的身份,来填写不同的信息,姓名和身份证号是必填项。
其他的为非必填项。
3. 详细情况查看窗口详细信息显示窗口在主界面根据筛选条件查找后,单击右键选择详细信息查看会出现此窗口,此窗口的输入框默认都是不可用的,只有操作员选择编辑后才可以对信息进行修改。
2.5 测试针对源程序荷香印的模块进行调试,如检测添加的信息是否成功,是够出现异常信息,针对预先的设想,对象因的模块的功能通过实际操作进行测试,检查各功能的完备性和可操作性,对不满意的地方进行改进和完善。
我保持着细心认真的态度,对组件的功能需求逐个的进行测试,争取不放过任何一个哪怕微不足道的BUG,最终找出的程序存在的若干缺陷并解决,希望可以更好的完善组件,为用户提供高品质优良的产品,带来更加高效的服务。
同时在本次试验之中走了许多弯路,如对各个功能项的测试杂乱无章,想到哪测到哪,而没有按照一定的顺序,导致之间浪费了许多时间整理。
同时对于测试方法自我的不够熟练,没有能够有针对性的对需求进行测试,很可能会遗漏许多明显的缺陷,导致缺陷报告的不完整,会在今后慢慢改进。
三、系统存储设计序列化是指对象实例的状态存储到存储媒体的过程,在此过程中,现将对象的公共字段和私有字段以及类的名称转换为字节流,然后再把字节写入数据流。
在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。
存取本可以使用数据库设计,我想尝试使用文本来保存信息,平时这方面知识使用的比较少,接触的也不较少,对我来说是个挑战,我查阅了很多资料,当两个进程在进行远程通信时,彼此可以放松各种类型的数据。
无论何种类型的数据,都会以二进制序列的形式在网络上传送,发送方需要把这个对象转换为字节序列,才能在网络上传送,介绍方则需要把字节序列在恢复为对象。
我们经常需要将对象的字段值保存到磁盘中,并在以后检索此数据,尽管不是用序列化也能完成这项工作,但这种方法通常很繁琐而且容易出错,并且在需要跟踪对象的层次结构时,会变得越来越烦琐,序列化提供了轻松实现这个目标的方法。
四、系统实现在主操作界面操作员可以添加信息,然后将添加的信息保存,还可以选择备份,当系统出现故障的时候不至于使信息丢失,如果系统出现故障,还原以前保存的备份就可以了,用户还可以更具添加人员的名字首字母查找。
查找完之后,筛选出来的信息就会显示在列表中,选中一行单击右键可以查看该学生或老师的详细信息。
在添加信息界面操作员可以选择要添加人员的身份,来填写不同的信息,姓名和身份证号是必填项。
其他的为非必填项。
在详细信息显示界面根据筛选条件查找后,单击右键选择详细信息查看会出现此窗口,此窗口的输入框默认都是不可用的,只有操作员选择编辑后才可以对信息进行修改。
五、总结本次设计是我第一次独立的完成一个完整的设计过程。
我做的是信息管理系统,在这次课设中我体会很深,也学会了很多东西,懂得了很多以前不懂得知识,也明白了一些事情。
通过这次课程设计,真正达到了学与用的结合,增强了在软件应用方面的理解,对自己参加软件设计积累了不少经验,在实验过程中,从需求分析,到概念设计和逻辑设计。
在数据存储与读取方面我学到了很多东西,通过这次设计我也深刻的体会到,在软件编码前,一定要有一个严密的逻辑,对数据的处理流程也要非常清楚,不然在以后的写代码过程中会遇到很多问题,在学习过程中,我也声望查了不少资料,也看了一些别人设计的报告,学以致用,自我创新,完成了这份自己的报告,从学到用,从用又到学,不断修改,系统更新。
在本系统的开发过程中,由于我是初次独立开发软件,在知识、经验方面都有不少缺陷和不足,另外,在整个开发过程中,时间也比较仓促。
因此,该系统必然存在一些缺陷和不足。
信息管理系统存在很多不足,功能方面也有很多不足,但是操作方便、效率高。
在确定好自己的设计题目之后,却陷入了摸不着头绪、无法下手的状态,不知道怎么进行设计,所以认真看了下以前学过的书记。
了解了系统设计的基本流程、总体布局以及系统开发前所要做的一些准备公共,特别是系统分析的重要性,这样做到了心中有数,先把管理系统划分为几大模块,然后在思考进行细分。
脑子里逐步形成了系统框架,开始进行布局设计,经过反复的修改才基本成型,以为以后的设计会很顺利,在数据的存储和读取也遇到了不小的问题,自己的知识在这方面有比较薄弱,后来经过自己查阅资料和向别人请教终于把遇到的问题解决,自己也学到了很多以前不懂得知识。
在编写代码的过程中,我充分体会到了编程工作的辛苦,因为每一个细微的细节都必须十分清楚。
如果稍有不慎,就会遗留bug,而且往往很多时候,程序我自己认为很正确,但就是会出错,在查找过程中,面临着否认自己的过程,非常的难受,同时由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往一天写来什么都没做成功,这个过程给我沉重打击,当看到程序没错误能执行出来时,心中的喜悦难以用语言来表达。
当看到别人程序的功能非常的完善,而且界面也很漂亮,总希望自己的程序也多一些功能,编写一个优秀的程序绝不是一蹴而就的事情,需要长时间积累和完善,而这方面又是我的弱项,因此在同学的帮助下,我认识到了自己的不足和劣势,不要贪图大而全,只要尽我所能,编写一个使用简单的程序也是一件很不容易的事情。
在同学的帮助和自己的努力之下,我终于做出了一个简单的程序,虽然程序的功能简单,而且我想在使用中,肯定会有所不足,因为学生信息管理系统工作的内容非常的丰富,我涉及到的仅仅是学生信息管理系统中一部分简单的内容,李世绩的客户需求很定还有一定的距离,但是他毕竟代表者我对这段时间的知识的掌握。
由于我的知识浅薄,经验不足,因此在该程序的设计方面还有很多不足,比如功能过少,只是简单的实现了数据添加、修改、查看、删除,因此今后需要深入的学习和努力。
六、参考文献[ 1 ] 谭浩强等,《C语言设计教程》,清华大学出版社[ 2 ] 郑宇军,《C#面向对象程序设计》,人民邮电出版社[ 3 ] 周之英,现代软件工程,科学出版社[ 4 ] 李红等,管理信息系统开发与应用,电子工业出版社。