软件工程课程问卷调查
这次调查是为了了解传统软件工程课的基本情况和同学对此门课程的观点以及意见,同时和邹昕老师讲解的软件工程课进行比较,寻找彼此的优点和不足改进之处。
1,喜欢上软件工程这门课吗?____
A,喜欢,觉得很有收获。
B,还行,感觉还不错。
C,一般,觉得意义不大。
D,不喜欢,根本学习不到知识。
选择C的同学请填写:
收获之处:__________________________________
不足之处:__________________________________
选择D的同学请填写原因:___
A,老师讲课太枯燥,不想听
B,只有大作业,别的同学帮忙做了
C,不想学习,觉得没意思
D,其他________________
2,软件工程作业小组人数:___
A,3-5
B,5人以上
3,小组人员工作分配是否合理,每个人工作量如何:___
A,每个人都有自己负责的模块,工作量基本一致
B,大部分成员都尽心做好自己的工作,只有少部分打酱油
C,只有少部分同学主动按时完成任务,大部分拖延打酱油
D,组长一力承担,其余成员基本不编写代码。
4,小组项目的类型:____
A,游戏
B,应用类软件
C,学术应用软件
D,其他类型
5,小组项目是否按照规划需求完成:____
A,比规划完成的还有完美,觉得做得很好,很有收获。
B,完成需求,基本完成各种功能,可以使用。
C,基本还可以,有些高级功能没有实现。
D,想法很美好,现实很残酷,项目基本失败。
6,项目完成最终代码规模约多少行:________
7,你觉得你自己在项目开发中起到什么角色:____
A,是项目组长,基本负责整个项目。
B,按照组长要求完成相对重要的部分,并帮助别的成员写代码
C,基本完成自己的任务
D,基本打酱油,代码都是别人写的
8,你觉得自己组的项目开发有意义吗?___
A,觉得很有意义,非常值得继续研究
B,觉得项目想法很好,很创新,但是开发很有难度
C,觉得自己组做得很好,但是同类型软件有很多,没有什么开发价值
D,觉得根本没意义,就是为了应付作业。
9,你感觉学完这门课最大的收获是:___
A,学会了完成实现大型软件的方能力,思考了很多问题
B,学会了开发大型软件的方法,可以用于实践
C,语言的编程能力和算法
D,团队合作开发的经验
E,对项目开发遇到的问题的解决和处理
F,其他_____________________________
10,你觉得这门最需要改进的地方:_____
A,老师讲课的方式
B,作业项目开发的方式
C,其他______________
11,你希望中的软件工程课应该是什么样子的:
______________________________________________________________
______________________________________________________________
12,你认为现代软件工程课和传统软件工程课有很大区别吗?
A,没有多大区别,课程讲授和项目开发基本一样
B,两者有一定的差别,但是还是觉得传统软件工程课比较好
C,两者有一定的区别,觉得现代软件工程课程更好。
D,差别很大,但是没法比较好坏。
13,你想尝试现代软件工程课程教学吗?
A,非常想尝试
B,如果学校安排上课能接受。
C,觉得和传统软件工程课没有区别
D,不想尝试,觉得没意义。
14,你对软件工程课程的感想:
______________________________________________________________
______________________________________________________________
15,请写出你们软件工程项目开发的流程和时间分配:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
根据询问上过软件工程的学生的回答,大约了解到如下内容:
1,传统软工课程采用分组完成课题项目,小组人数为4-6人不等。
2,大部分同学觉得软件工程课程十分有益,学到了有关软件开发方法及对此方向的思考。
3,很多同学反映传统软工课程枯燥无味,虽然感觉课堂内容很有用。
4,小组项目选取项目类型很广泛,基本涉及各个方面,同学们的想法创意很好。
5,项目组长很负责,基本负责整个项目的开发运转和进度安排。
6,每组总是会有打酱油的人员存在,基本每组1-2人。
7,大部分组项目成功,基本功能实现,还有部分组做得非常牛气,只有少数的组存在不完善等缺陷。
8,在个人感觉收获中,个人感受体会不太相同,大部分人觉得在软件开发,团队合租,编程能力上有很大提高,也有部分同学认为在编写文档,思考开发方向等方面有收获,总之,这门课带给同学很大的益处
9,在改进方面很多人提出课堂授课模式,觉得太枯燥无味,很多同学从选择翘课,到场同学也基本不听课。
10,对于开发流程大部分同学觉得没有概念,觉得在项目开发中只是每个人完成自己的任务,对这个概念不清楚,也是传统软件开发需要改进的方面。
实例采访一:桌面论坛应用软件
内容简介:拟定课题做一个现在并不流行的桌面论坛应用软件。这个桌面论坛基本实现了如下功能:
用户必须登录才能够实用该软件。
对于帖子,除了编辑文本,还应该能够编辑和展示图片、表情等内容。
对于帖子和评论,能够按照一定的顺序(比如时间、热度等)进行排序。
申请创建的分组在通过审核后,默认申请者即位分组管理者。
相比于普通用户,分组管理者对其管理的分组有一些特殊的权限,比如编辑组内的帖子。需求规格说明中有详细描述,不再赘述。
而系统管理员除了对论坛内容具有绝对的控制权限外,还可以对用户进行管理,以及审核分组创建申请的权限。这里系统管理员直接与服务端UI进行交互,而不再设置账号登录。
另外,对于用户间,以及系统管理员对用户的留言,考虑到简洁性,不再开发针对某条留言的回复功能。
具体代码行数:最终代码量在9000-10000行之间,虽然最终的结果可能功能还不算完善,不能应用于市场,但是想法很好,而且基本论坛的功能已经实现了,还有可待开发的潜能。
课程设计体会:针对软件工程课程的感觉,上课的时候收获不多,下课需要花费大量的时间,因此感觉上课浪费时间的意思,整体觉得这门课程虽然学会了开发大型软件的方法,但是大部分处于自学而且很模糊,而且极度感觉需要每周写个文档很烦人,总是处于纸上谈兵的感觉,而且对于编程没有多大的作用。
对这门课的希望改进的地方:
1,觉得课上知识过于抽象化,讲解软件开发方法,UML等等,觉得上课枯燥无味。
2,学生上课积极性不高,课堂效率过低
3,平时软工没有任何作业,基本集中在后面几周完成,时间分配不合理。
4,需要编写太多文档,希望改进软件开发的方法。
5,团队交流过少,信息沟通有障碍,导致程序需要花费很长时间调试。
6,有的成员付出很多,有的成员基本打酱油,却没有得分评判标准。
软工课程感想:
李迪:从我们的软工课上,我们学到的更多是软件开发和项目管理的理论,尽管感觉很有用,但是确实比较枯燥。所以上课的时候很难全部吸收所讲的知识。而通过大作业的完成,我们确实能够感觉到上课所讲的方法对软件开发的重要性。但更多地,大作业带给我们的并不是知识,而是团队合作的能力。
实例采访二:树形去冗文件系统软件开发。
内容简介:本系统名为“树形去冗文件系统”,本树形文件去冗系统基于树形结构布隆过滤器和二阶段布隆过滤器实现块存在查询及定位的文件系统,能够为提供存储服务的公司或组织提高存储速度以及降低存储容量,提高资源的有效利用率。本系统最终将挂载在操作系统上提供相关服务。
具体要求:
本系统只有一个参与者,即为存储中心,所有对于系统的操作都是通过存储中心完成的。基本的操作包括对文件的读取、写入、编辑和修改操作。
具体代码行数:超过一万行。每个人负责不同的模块进行编写,按照要求完成项目设计。
整体感觉是:首先,这门课应该开设,这门课的意义很大,对于大型软件开发方法是十分必要的,大型软件需要团队合作,日程规划等等。一个软件开发团队需要一系列的管理工具,协作工具,软件构建工具,以及能保证软件质量的测试工具。软件开发的方法很多,每种方法都有着各自的使用原则。其次,团队合作交流信息沟通十分重要,通过这门课充分了解到开发大型软件中团队成员要做好自己角色的重要性,不然会导致整个团队进度的推延。
对这门课的希望:
1,希望增加平时作业,提高自己的编程能力
2,提高团队协作开发能力
,3,掌握结构化的软件开发技术,有利于从事今后软件开发工作。
软件工程感想:
谢慧媛:学会了从工程的角度进行软件开发,锻炼了自己的编程能力和团队协作能力,收获很大。虽然感觉自己掌握了很多的学习开发方法,但是没有扎实的软件编程能力和过硬的技术支持,这些都是浮云。这次项目开发深深地让我反省自己两年多大学生活,学习了很多编程语言,但是缺乏联系和熟练,掌握了很多软件开发的方法,却缺于实践,自己需要在这方面加强锻炼。
李宏:软工课上主要讲的是理论的知识,对于其中与做大作业有关的部分比如:前期设计阶段的数据流图分析,模型构建等等在听完课之后有了一定的指导经验,使我在自行设计阶段节省了许多时间与不必要的前期调研工作。
但是,整体来说,软工课程还是过于偏向理论化,对于实践性的工作比较低。虽然老师说作为软工基础需要掌握理论,但是我觉得结合实践来搞理论,理论才会站住脚,我们的理解也会更深。
项目开发感受:
我们的项目是树形去冗文件系统,这个系统是基于Linux平台的,由我们的组长刘俊龙提出。作为组员,对于这个基于Linux平台的项目开始还是缺少理解,但是在组长的指示下有了一定的了解。主要的难点集中在如何能够提高文件去冗的过程速度,这个需要较强的理论基础,所以需要不断借鉴和思考。现在的运行速度有了很大的提高,我们都很高兴。整个项目中,难点较多,虽然很艰难,但是在做完之后对于linux底层的系统有了很深得了解。虽然我自己在这个项目中代码没有写多少,主要负责文档的撰写,但是不断的参与其中让我感受到做项目中,团队合作的重要性,各尽其职,才会让项目更快做完、做好。