软件工程课程设计报告 之 总结性报告

时间:2024.3.19

总结性报告

1. 时间

飞Q20xx项目从拟定好课题起,经过问题定义,可行性研究,需求分析,概要设计,详细设计,主要编程,分布测试,总体测试,到整体装配完成历时一个半月。

2. 人员

主程序员(组长):王昌帅

辅程序员:司吉峰、王璐、纪晓文、王松松

文档管理员:王璐、纪晓文

3. 遇到的困难

服务器方面:最开始我们选用的登录模式是利用sqlsever从硬盘上的数据库中读取账号密码进行匹配登录,但这种读取机制降低了登录速度,经过修改,改用了将好友账号密码预读入内存中,直接在内存中进行读取,大幅度节省了登录时间。

客户端方面:区别于类似的大多数即时聊天工具的消息传送机制(即向服务器发送消息经服务器转发),我们利用了典型的p2p(点对点)机制,当好友聊天时,服务器避免了接收和转发消息的负荷,减少了线程数量,既减轻了服务器压力同时又提高了好友间消息传送的速度和质量。

4. 系统性总结

本系统具有以下特点:

? 采用 C/S通信模型设计,有效减轻了服务器的负担,便于后台的管理。将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。

? 采用了Java语言,因为用Java设计的系统是跨平台的,在任何操作系统上,只要安装了Java虚拟机,就可以运行本系统,不用受平台的限制。

? 在客户端都和服务器端都实现了多线程编程技术,以提高系统的效率。使用线程可以把占据长时间的程序中的任务放到后台去处理。

本系统这实现了网络聊天工具所具备的基本功能,即注册、登录、查找好友,添加好友、更改个人资料、查看好友资料、添加删除分组、各分组之间转移好友、发送消息、接收消息、接收系统消息等,还添加了一些特色功能,如隐身,头像的变化,系统管理员可以向每个客户端发送系统消息,上线下线在好友客户端都有提示,密码丢失可以通过密码找回功能通过设置的密保问题找回密码,并可以判断密码的安全等级等。本系统实现了一个与Tencent QQ相似的友好操作界面,简单,易用,适合用户的操作习惯。

该系统具备了网络聊天工具所具备的基本功能,但还有一些功能还没完善,如用户聊天之间的方式仅限于文本通信,还没实现文本传输功能。还没实现修改用户资料的功能等。系统或许存在一些未知的Bug,还需要进一步的改进和测试。在以后的研究中,我们还会研究安全通信协议,保障通信的安全,提高系统的实用性等

本课题需要继续完善的功能有:

?

?

?

? 设计测试用例,全面、系统地测试该系统所存在的一些缺陷;

? 扩展即时消息系统的服务范围,增强系统工作的稳定性和健壮性。

5. 收获与经验

本次课程设计是自大一以来工作量最大的同时也是历时最长的一次大作业任务。与之前大作业不同的在于,这次课程设计所设计的项目课题,所用的编程语言,用到的知识都是以前没有接触过的,完全通过自学掌握。所以工作进度最初进展很慢,不过通过对新知识的学习,和项目实践的锻炼,深入学习java可视化编程,完善操作界面,使其更加适合用户的操作习惯; 设计安全通信机制,保障通信的安全; 加入文件传输功能,丰富用户的信息交流方式;

掌握专业知识的同时,更重要的是项目经验,以及实践中处理各种问题能力的培养。

通过本次项目的复习,我们了解了一个完整的软件开发过程,包括课题定义、可行性研究,需求分析,概要设计,详细设计,测试工作,进一步完善,设计使用说明书,总结提交实验报告。以及其中不同人员和不同的工作,主程序员是一个项目团队的核心,指导整个项目组各个成员的工作,规划整个项目的结构,统一各个部分函数接口,承担着编程过程中最核心的任务,以其为核心各个部分才可以慢慢扩展开来。辅助程序员主要负责各个独立部分的编程设计,对辅助程序员来说,独立性较主程序员的任务更大一些,但是,却要求辅助程序员对自己承担的任务有必须清晰的了解,因为到后期各个部分连接的时候肯定会出现一些问题,修改这些错误要求必须对不同部分有很详细的了解。文档管理员承担着大部分文档编辑工作,但对具体的程序代码也要有一定的了解。

本次课程设计最重要的是让我们收获了一些宝贵的项目开发经验:项目最开始的全局规划,接口统一工作很重要以及数据结构的选择因为这涉及到以后各部分连接时的统一问题,一旦刚开始没有统一好,连接时会有很多问题,导致各部分不能很好的连接,很多功能或属性没有很好的利用。另外,项目后期的bug修改也很重要,因为由不同程序员编写程序在正确性、高效性,和格式上都有很大的不同,自然会在连接时产生一些问题,更改这些问题时便不再是某个部分的问题,而是全局的问题,需要各个程序员协调完成修改工作,而且我们也了解到,工程项目越大,后期产生的bug也会越多,起初我们忽视了后期bug修改的工作量,导致在完成时间上一拖再拖。

总而言之,尽管本次课程设计使我们纠结了很长的时间,遇到了很多困难,但我们真心的为我们所获得工作经验和成果而高兴,截止到完成文档时,我们的飞QQ20xx已经实现了局域网内以及校园内网各个客户端的即时聊天,并且速度和质量得到了各用户的好评,我们还将继续完善飞Q20xx,让更多人知道了解它,继续学习继续努力。


第二篇:软件工程课程设计总结报告


软件工程课程设计总结报告

1.选题理由及情况说明、小组分工情况

? 选题理由:

随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。

? 情况说明:

《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。图书管理系统软件LMS V1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。 ? 小组分工情况:

组长:高俊麒 负责主界面、系统操作那一块的所有。数据环境的建立与连接等 项目需求分析规格说明书、软件测试计划。 测试主界面与其他各个窗体的连接、系统操作。 组员:许萦英 负责图书查询、读者查询、数据库的建立。 项目开发计划书、项目可行性研究报告。 测试图书流通中的借书、还书。 组员:耿慧 负责图书流通中的借书、还书。 项目详细设计规格说明书、项目需求分析规格说明书。 测试图书查询、读者查询、读者借阅信息以及读者口令修改。

2.可行性研究报告

见《可行性研究报告》

3.项目开发计划书

见《项目开发计划书》

4.系统需求规格说明书

见《系统需求规格说明书》

5.概要设计说明书

见《概要设计说明书》

6.详细设计说明书

见《详细设计说明书》

7.系统现状及设计心得体会

系统现状:

1. 能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:

1) 图书信息的录入、删除及修改。

2) 图书信息的多关键字检索查询。

3) 图书的出借、返还和资料统计。

2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括:

1) 读者信息的登记、删除及修改。

2) 读者资料的统计与查询。

3.能够对需要的统计结果提供列表显示输出。

4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。

设计心得体会:

终于在平安夜那天,做完了并测试完了这个图书管理系统。对于一个系统的搞定,我有以下几个方面的感受。

第一、对于一个文档编写人员、项目经理来说,你们是一个系统的核心开发人员。一个系统的搞定,特别是一个大的系统的搞定。这不是小打小闹,从人的角度上讲:是要讲一种团队合作的精神的,组长一开始就要负责将系统分解进行小组的分工,先将哪些人该做哪些事分清楚,这样每天每个人都有活儿去干,最后再分别对每个模块进行单元测试,测试完后,再对整个系统连起来进行集成测试。从软件工程的角度上讲:这是要有一定的规范的。特别是这个文档的编写,我就感觉到学了软件工程以后编系统就是不一样。以前编系统毫无系统化、规范化,而这一次,都要按思路,首先第一天完成可行性研究报告、项目开发计划书,第二天完成系统需求规格说明书、概要设计说明书。编系统就要有一定的工程化的意识,有一定的文档编写的能力。

而且也要注意这个代码的编写上面,要让我们小组成员也能看懂我的代码,这就要求代码要具有一定的可读性,即代码旁要加上注释。这一点也很符合软件工程的观点。

第二、对于一个数据库设计人员来说,一个系统的实现,首先要能熟悉

数据库系统原理和面向对象的分析方法。并且要严格按照需求规格说明书将系统划分为哪几个对象、哪几个类,每个类有哪些属性,而且这个数据库一旦设计出来了,就不能进行大的改动了,否则到后来受影响的不仅仅是数据库了,而且还有VB程序的一些内部代码的设计。但不管是什么类,都有一个ID号,一个NAME,是属于人的类,就要有权限Privity,是属于东西的类,就要有状态STATUS,每个类将来就对应了一张基本表。然后再根据系统的功能的要求,建立若干个查询。最后还得将该数据库与一个数据访问对象(例如ODBC),再将ODBC与VB数据环境或ADO控件相连,就可在VB环境下操纵数据库中的数据。

第三、对于一个系统的开发人员来说, 我想最重要的不是仅仅将系统设计成一个无错的状态,就可以说完成了,而是要严格按照概要设计说明书、详细设计说明书的一套文档来指导自己的编写工作。以前普遍认为,文档可写也可以不写, 而编码是最重要的。现在可以这么说,先有文档,后有编码。文档是要排在第一位的,然后才是编码。写文档的人是真正的系统分析工作,是指导你去编程的,这样编码就不会这样随便,胡乱瞎编。出了什么错误,在哪儿出的错误,也不知道,互相推诿,测试也测试不出。没有一定的根据,没有一定的测试用例就去测试。

第四,对于一个系统测试人员来说,一个系统的最终实现,最后就要靠你们来完成代码的最后审核工作。一个系统的最后是交付给用户的。所以对一个系统的最后审核工作,一定要慎之又慎。一定要几乎查出系统的所有毛病、弱点。只有这样做了,才会真正对用户负责。

这个系统的实现,给了我们一次绝好的机会,去了解软件工程的思想,用软件工程的一套方法去编制系统,一改我们对管理信息系统的认识和看法,明白了软件工程书上说的东西,不是枯燥无味的,而是前辈总结出来的精华所在。在以后的开发过程中,也要注重这种思想,真正将这门课程学通了。

8.相关资料及参考文献

[1]郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。

[2]王立福,麻志毅。《软件工程》(第二版)。北京:北京大学出版社,20xx。

[3]唐学忠,王文。《Visual Basic程序设计教程》北京:中国电力出版社,20xx。

[4]费贤举的关于开发图书管理系统的批文。

更多相关推荐:
软件工程课程设计个人体会

数学与信息工程学院项目名称:实验室设备管理系统专业班级:11计教1班学号:1129020xx5姓名:蒋一瑭承担角色:美工,问题处理组号:08同组组长:邓磊同组其他成员:王宇翔马富伟江涛指导教师:钟美完成起止日期…

《软件工程》课程设计个人报告

软件工程课程设计报告海天一色网上书店软件工程课程设计个人报告题目网上书店学院名称信息科学与工程学院专业班级计算机092班报告人姓名梁宏报告人学号20xx01051413承担角色网页设计员同组组长安文龙同组其他成...

软件工程课程设计总结

我们所选择的图书管理系统的课程设计对我们是新的挑战和尝试的过程,利用所学习的软件设计知识并制作一个关于图书管理系统,在具体的设计与实施中,我们看到并感受到了一个管理系统的具体分析,对具体的设计步骤。思路、方法有…

软件工程课程设计总结

专业:08计本2班姓名:张敬宇学号:20806032039在我们整个软件工程过程中,我体会到了许多,也学到了许多。在项目要进行自由分组后,我们的项目小组便诞生了。我们小组由3个成员组成,在相互商量后我们也确定了…

软件工程课程设计心得总结

软件工程课程设计个人总结学期就快要结束了到了最后一周居然还有软件工程课程设计还要考试真的有点忙啊不管怎样还是好好干吧把对工程的理论研究学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛工作内容安排软...

刘玉绘 软件工程课程设计总结报告

淮海工学院软件工程课程设计报告书题目名称图书信息管理系统班级组别软件082班组员姓名刘玉绘石岩廖南徐洪卫徐浩然杨晨磊

软件工程课程设计个人报告--李效伦

软件工程课程设计个人报告机票预订系统李效伦专业名称软件工程班级20xx级3班学号20xx01050515承担角色ADE同组成员郭瑶瑶20xx01050509同组成员韩方杰20xx01050607指导教师倪丽娜老...

软件课程设计小结

软件课程设计小结在我们整个软件工程过程中,我体会到了许多,也学到了许多。我们班由16名同学组成,在相互商量后我们确定了我们班的项目,是做一个计算器程序。在老师的指导下我们的项目也正式开始了。在整个项目开发过程中…

软件工程课程设计报告

企业工资管理系统目录引言2课题研发的背景2课题研发的目的与意义2第一章可行性研究211技术可行性分析212社会可行性分析313经济可行性分析314操作可行性315可行性研究结论3第二章需求分析321系统主要功能...

软件工程课程设计总结报告

软件工程课程设计总结报告1.选题理由及情况说明、小组分工情况?选题理由:随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的…

软件工程课设心得

软件工程课设心得软件工程是一门实践性很强、交叉性很强的学科,它提供给我们的不仅是一种方法论,更是一种世界观。在没有接触软件工程这门课时,我一直认为软件就是程序。能编出解决问题的程序就ok了,从没有想过,在写一个…

(完整)软件工程课程设计

软件工程程序设计学生成绩管理系统班级姓名学号专业学院指导老师完成日期ltlt软件工程gtgt课程设计任务书08051051班一设计目的学会运用软件工程的基本原理进行软件项目的分析设计实现测试和维护培养学生良好的...

软件工程课程设计报告总结(30篇)