哈尔滨工业大学软件工程学科
硕士研究生培养方案
计算机科学与技术学院
20##年6月
软件工程学科硕士研究生培养方案
学科代号:0835
学科专业名称:软件工程
一、培养目标
1.树立爱国主义和集体主义思想,掌握辩证唯物主义和历史唯物主义的基本原理,树立科学的世界观与方法论。具有良好的敬业精神和科学道德。品行优良、身心健康。
2.能够适应科学进步及社会发展的需要,在软件工程学科上掌握坚实的基础理论、系统的专门知识,掌握本学科的现代实验方法和技能,具有从事科学研究或独立担负专门工程技术工作的能力。有严谨的科研作风,良好的合作精神和较强的交流能力。
3.在科学研究或专门工程技术工作中具有一定的组织和管理能力。
4.具有良好的学术研究和社会活动素质,成为学科带头人、工程技术负责人和政府部门领导人的后备人才。
5. 软件工程硕士生要具有较丰富的工程实践经验和企业经历,培养良好的职业素质,成为企业总裁、总经理或总工程师等软件产业领军人物的后备人才。
二、研究方向
1. 软件服务工程与服务计算
2. 服务科学与工程
3. 软件工程技术与软件体系结构
4. 软件可靠性与软件测试
5. 智能软件理论与机器学习
6. 数据挖掘与商务智能
7. 软件工程应用(含:①网络与信息安全技术②语言处理与信息检索③数字媒体与游戏④移动互联⑤物联网工程⑥数字化企业与电子商务⑦嵌入式系统与软件⑧图像处理与检索⑨生物信息处理软件等)
8.程序分析技术与应用
三、课程学习及论文工作时间
硕士研究生的培养年限原则上为二年。
对于学术研究型(以下简称系列1)的硕士生,重点培养其从事软件工程科学研究工作的能力,为攻读博士学位打下良好的基础。系列1硕士生原则上应以推荐攻博的方式取得攻读本学科博士学位的资格。
对于应用研究型硕士生(以下简称系列2),重点培养其软件工程实践和独立担负专门工程技术工作的能力,为毕业后从事软件工程技术应用型工作打下良好的基础。要求系列2研究生能够独立完成一个完整的并具有一定难度的应用型研究、工程设计、技术开发、软件项目管理课题,其学位论文阶段可以根据课题情况及学生意愿在学校或相关企业中完成,并可根据实际情况适当延长毕业论文工作时间。在延长期间,学校不收取学费,生活费由相关企业或导师及学生共同负担。系列2的硕士研究生可通过推荐考核或参加入学考试的方式取得攻读本学科博士学位的资格。
对于工程硕士生(以下简称系列3),第1年在校学习,完成课程学习任务,期间参加不少于3周的企业实训;第2年赴企业实习,在企业完成学位论工作,要求结合企业的实际项目,通过需求分析、系统分析、系统设计、系统实现、测试等环节,提高解决工程问题的能力,为毕业后从事软件的设计与开发工作打下基础。要求系列3的研究生在一个企业实习不少10个月,中途更换实习企业,实习期将适当延长,在延长期间,学校不收取学费。
系列2、3的硕士研究生可通过推荐考核或参加入学考试的方式取得攻读本学科博士学位的资格。
所有系列1研究生需在2年内在指定范围的学术期刊(见附录)上发表1篇学术论文,所有系列2和系列3研究生独立完成一个完整的并具有一定难度的应用型研究、工程技术开发、软件项目管理课题,课题完成后须经学院指定的验收组验收。如果未能达到上述要求,则培养年限适当延长。系列1硕士生如果不继续攻读博士学位且未能达到相关要求者,则培养年限相应延长。
四、课程体系及学分要求
软件工程学科课程体系分为3个系列,所有课程均按一级学科设置。
系列1硕士研究生在攻读学位期间,所修总学分数为32~36学分。
课程体系框架如下:
(1)学位课(19学分)
思想政治理论课程(3学分)(课堂讲授2学分,社会实践1学分)
第一外国语(2学分)
数学基础课或基础理论课(4学分)
学科基础课与学科专业课(10~12学分)
学位课均为考试课程。
(2)选修课(6~8学分)
(3)专题课与实践环节(3~6学分)
(4)学术交流(1学分)
(5)论文环节
开题报告 (1学分)
中期检查 (1学分)
系列1
系列2硕士研究生在攻读学位期间,所修总学分数为30~34学分。
课程体系框架如下:
(1)学位课(17学分)
思想政治理论课程(3学分)(课堂讲授2学分,社会实践1学分)
第一外国语(2学分)
数学基础课或基础理论课(4学分)
应用基础课与应用技术课(8~10学分)
学位课均为考试课程。
(2)选修课(6~8学分)
人文管理类课必选一门
(3)专题课与实践环节(3~6学分)
应用实践课学分不少于2学分
(4)学术交流(1学分)
(5)论文环节
开题报告 (1学分)
中期检查 (1学分)
系列2
系列3
五、学位论文及有关要求
学位论文工作的主要目的是培养硕士研究生独立思考、勇于创新的精神和从事科学研究或担负专门技术工作的能力,使研究生的综合业务素质在系统的科学研究或工程实际训练中得到全面提高。学位论文工作阶段包括开题报告、中期检查和论文答辩等环节,硕士研究生应在导师指导下独立完成硕士学位论文工作。
学位论文的选题一般应结合本学科的研究方向和科研项目,鼓励面向国民经济和社会发展的需要选择应用型课题。确定学位论文工作的内容和工作量时应全面考虑硕士研究生的知识结构、工作能力和培养年限等方面的特点。学位论文的题目一般应于硕士研究生入学时或第二学期初确定。
系列1的硕士学位论文要求做一个原型或仿真系统,具有一定的理论深度和难度,重点培养学生从事科学研究工作的能力,为将来攻读博士学位或从事学术研究型工作打下良好的基础。
系列2的硕士学位论文侧重于对研究生工程或管理实践能力、动手能力的锻炼和提高,要求研究生能够独立完成一个相对完整的并具有一定难度的应用型研究、工程技术开发、软件项目管理课题并进行应用或测试验证,重点培养学生独立担负专门工程技术工作的能力,为将来从事工程技术应用型工作打下良好的基础。要求相当规模的程序实现或系统调试,并经过检查验收。
系列3的硕士学位论文侧重于工程项目的分析、设计、实现过程中的技术和方法,要求研究生结合企业实际项目,独立完成软件系统的开发过程,重点培养学生解决实际问题的能力,为将来能够独立承担并完成工程项目打下坚实的基础。
所有系列硕士生的研究工作在答辩前两个月必须经过学院组织的毕业资格审查(含结题验收),通过者方可申请毕业答辩,未通过者需申请办理延期答辩手续。在毕业资格审查中,以研究中心、研究所、教研室为单位对研究生论文和工作进展情况进行排序,其中,后10%的研究生要上报学院,由学院组织的研究生毕业资格评审组进行评审,并做最终裁定哪些研究生通过毕业资格审查或延期毕业。
系列2或系列3学生的学位论文阶段可以根据课题情况及学生意愿,在学校或相关企业中完成。
对于系列1硕士论文,要求包含以下内容:问题的提出、理论基础与模型、方法探索与改进、算法设计与关键技术实现、系统设计与实现、仿真与实验验证、性能分析与结果评价等。
对于系列2或系列3硕士论文,要求包含以下内容:应用背景与问题分析、需求分析与系统建模、软件体系结构与系统设计、软件开发与实现、系统测评与应用验证、软件项目管理等。
硕士研究生学位论文开题报告一般应于研究生入学后的第二学期末或第三学期初前完成。硕士研究生学位论文的中期检查一般应于研究生入学后的第三学期末或第四学期初前完成。开题报告或中期检查未能通过者,则在达到要求后重新进行开题报告或中期检查,其培养年限适当延长。
学位论文答辩一般在硕士研究生入学后的第四学期末进行。硕士研究生在申请学位论文答辩时,应按照《哈尔滨工业大学硕士研究生论文答辩及学位申请工作细则》进行。
第二篇:软件工程课程设计
课程设计(大作业)报告
课程名称: 软件工程
设计题目: 多用户五子棋游戏 院 系:
班 级: 2011级计算机科学与技术1班 组长姓名: 何清华
指导教师: 赵卿老师
组 员: 陈飞、朗胜、孟李阳、宋罗飞、
设计时间: 20xx年12月21日至12月22日
信息技术学院
昆明学院课程设计(大作业)任务书
一、概述 ........................................................................................................... 2
1.1 前 言 ................................................... 2
二、 需求分析 ................................................................................................. 2
2.1业务需求 ................................................. 3
2.1.1 此系统使用范围要求 ............................................................................................. 3
2.1.2 功能要求 ................................................................................................................. 3
2.2 性能需求 ................................................. 4
2.3 系统平台需求 ............................................. 4
三、 开发工具、环境及其技术 ................................................................... 4
3.1 JAVA简介 ............................................... 4
3.2 JAVA 编程环境: ......................... 错误!未定义书签。
3.2.1 环境变量 ............................................................................... 错误!未定义书签。
3.2.2 Eclipse插件 ........................................................................ 错误!未定义书签。
四、 程序设计思路与实现 ........................................................................... 5
4.1程序设计思路 ............................................. 5
4.1.1.设计思想 ............................................................................................................... 5
4.1.2.程序设计分析 ....................................................................................................... 6
4.2 程序设计 ............................................... 10
五、主要参考文献 ......................................................................................... 14
六、总结 ......................................................................................................... 14
1
课程设计(大作业)报告
一、 概述
1.1 前 言
电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。通过系统的学习,人们就可以使用它开发出功能齐全,满足特殊需求的应用程序。Java语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。在系统的学习了软件工程和Java语言之后,这次课程设计,正好将学过的Java语言中的各种技术综合起来,用eclipse开发工具编写一个小游戏,既对自己学过的技能进行一次检验,也能系统地将学过的知识复习巩固。
二、 需求分析
软件需求分析是软件开发周期的第一个阶段,也是关系到软件开发成败的关键一步。对于任何一个软件而言,需求分析工作都是至关重要的一步。只有通过软件需求分析,才能把软件的功能和性能由总体的概念性描述转化为具体的规格说明,进而建立软件开发的基础。实践表明,需求分析工作进行得好坏,在很大程度上决定了软件开发的成败。 软件需求分析的任务是:让用户和开发者共同明确将要开发的是一个什么样的软件。具体而言,就是通过对问题及其环境的理解、分析和综合,建立逻辑模型,完成新软件的逻辑方案设计。
2
2.1业务需求
2.1.1 此系统使用范围要求
此系统为智力游戏,适合于各类游戏爱好者。由于其经典性及其游戏的简单性,各类人士都可以也都爱玩。人们在与电脑对战享受娱乐的同时,也会体会到自己的智力也会有所提升。
2.1.2 功能要求
该款游戏主要由以下几个模块组成:
(1)人机对弈模式:选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。
(2)人人对弈模式:选择该模式可以实现人与人之间的对弈,系统会提示哪方先下,然后玩家之间交替的下棋,同样系统会在下完每次棋后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。
(3)悔棋功能:这个功能也是根据游戏的实际需求而存在的,在现实生活中难免有失误下错了棋,那么就需要悔棋。此功能提供了悔棋功能,使得下棋的灵活性有所提高。玩家若想悔棋,则只需选择悔棋按钮便可以重新下过刚才的棋。 (4)更换棋盘背景:此功能可以根据玩家的爱好任意更换棋盘的背景颜色,由
3
于每个人对颜色的喜好不一样,因此这个功能也是非常必需的。更换一种玩家所喜欢的颜色,玩家能发挥得更好。
2.2 性能需求
该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式和人机对弈两种模式,所以从这个角度来说,该款游戏需要能很好的在两种模式间良好的转换。虽然系统不大,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给于新手一定的帮助。技术可行性:运用Windows2000/XP以上的操作系统,SQL SERVER2005的数据库技术,开发以Windows XP为用户的操作平台,界面友善、功能齐全的《五子棋双人对战小游戏》。经济可行性:一方面,新系统中棋盘界面和更强劲的功能支持,再加三局两胜制的规则,不仅增加了游戏的趣味性,而且使游戏者更尽兴;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境。操作可行性:操作上是键盘的使用,主要凭借输入坐标确定棋子落子位置,方便简单。使用前只要看明白游戏规则及其方法即可。
2.3 系统平台需求
编程语言:JAVA
操作系统:Windows xp系列
开发工具:eclipse
三、 开发工具、环境及其技术
3.1 JAVA简介
Java技术是一门编程语言,也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。(题外话:Java热门的原因之一就是一个跨平台的概念,跨平台类似跨浏览器的好处也是如此,这也是现在AJAX技术流行的原因之一。另外现在热炒的RIA富客户端的概念下的技术除了AJAX外还有Adobe的Flash/Flex,微软的Silver Light,SUN的JavaFX等,个人更看好FLash/Flex,原因是Flash插件在浏览器端占用率很高)
4
四、软件设计
4.1设计思路
4.1.1.设计思想
1、功能列表如下:
a) 输出棋盘;
b) 显示用户行程,提示用户下子;
c) 查看用户的输入是否出界;
d) 悔棋,下错位置可以悔棋;
e) 记录并显示每局游戏结束时的步数;
f) 判断每局游戏输赢,显示每局游戏的获胜者及分数。 g) 判断是否进行下一局。
h) 判最终赢家(三局两胜)
退出游戏
用例图如下:
5
游戏说明
判断胜负
2.本程序要实现五子棋的游戏功能,必须先有一个棋盘,所以,通过继承
JPanel,然后在JPanel上画出一个17*17的棋盘,另外还有三个按钮:重新开局、请黑方下子和请白方下子,提醒用户进行相应的操作。当然,JPanel必须放在JFrame中,所以,又通过继承JFrame得到一个实例。
3.对于下棋的操作,通过对JPanel增加鼠标事件监听器MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上(即棋盘数组)的位置(数组的下标)。
4.判断此处是否已经有棋子,如果有则提示玩家重新下子,否则通过java里的画图函数在此处画上棋子,重新刷新输出棋盘。
5.判断该颜色棋子的上下左右是否满足连续五个,是的话提醒相应玩家获胜,不是的话,更换玩家下棋。
6.对于玩家的更换是程序自动的,每次用户点击鼠标后,若本局还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方获胜程序技术。
4.1.2.程序设计分析
1. 本款游戏有“游戏”和“选项”两个选项,其中“游戏”包括开局、重新开始、结束游戏几个选项;选项里边则包括对弈模式、悔棋、更改背景颜色几个选项,玩家可以根据具体需要选择使用。
2. 绘制棋盘,17条横线,17条竖线,在直线交点处下棋子(实心黑白圆形)。
3. 首先程序会判断对弈模式是人机对弈还是人人对弈模式,若是人机对弈则 6
是玩家先下,玩家是黑方,电脑是白方。若是人人对弈,则是黑方先下,黑白交替下子。
4. 棋盘处于鼠标监听状态,当鼠标在棋盘上有点击操作的时候,程序会获得鼠标点击的坐标然后换算成对应的棋盘的位置,再判断此处是否有棋子,假如没有,那么在此处画出对应颜色的实心棋子,假如已经有棋子了,则提示玩家此处已经有棋子请重新下棋。
5. 当选择的是人机对弈模式的时候,轮到电脑下子时,电脑会通过算法计算每个没有棋子的位置的重要性来选择最重要的位置下子。 6. 人机对弈算法简介:
本款游戏最核心的地方就是算法,因为这是整个程序最难的模块。算法的中心思想是:利用分数代表每个位置的重要程度,越重要的位置的分数值会越高,当电脑下棋时会先将电脑和玩家棋型的分数分别计算一遍,然后选择二者中分数最高的点下子。如果玩家的分数高,那么代表电脑应该防守,如果电脑的分数高,那么代表电脑应该进攻。 具体的分数值赋值如下:
7
每个位置的分数的计算方式是各个方向的分数相加,最后找出电脑棋型和玩家棋型的分数的最高的位置为电脑的下棋点下棋。
7. 当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜利。棋局结束后,任何一方均不能继续操作。
8.数据词典:
变量及说明
数据编码:数据名(标识符)
库名:三局两胜制双人对战五子棋游戏
信息:
变量 类型 说明
x1 int 黑子下棋行数
y1
x2 int 黑子下棋列数 int 白子下棋行数
y2 int 白子下棋列数
n int 下棋步数
score1 int 黑子分数
score2 int 白子分数
i int 棋盘行数
j int 棋盘列数
p int 黑棋赢的盘数
q int 白棋赢的盘数
m int 下棋的局数
heim int 单局黑子赢后,将要下的局数
baim int 单局白子赢后,将要下的局数
8
9
4.2 程序设计
#include<iostream>
using namespace std;
int Hsheng(char a[][15]); //判断o子是否获胜的函数 int Bsheng(char a[][15]); //判断x子是否获胜的函数 int he(char a[][15]); //判断是否平局 void qipan(char a[15][15]) //执行输出棋盘命令 {
cout<<"本游戏采用二维数组实现,棋盘为15X15的二维直角坐标系,均从1到15,祝二位游戏愉快.";
for(int i=0;i<15;i++) //打印棋盘
{
for(int j=0;j<15;j++)
cout<<a[i][j];
cout<<endl;
}
}
int main()
{
char a[15][15]; int x,y;
for(int i=0;i<15;i++)
for(int j=0;j<15;j++)
a[i][j]=' ';
qipan(a);
while(1)
{
int a1=1;
while(1)
{
for(;a1;)
{
cout<<"请输入o子下的位置:"; //输入o子的位置
cin>>x>>y; if(a[x][y]=='o'||a[x][y]=='x') //判断是否已有子 {cout<<"已有子请重下"<<",";continue;}
else if(x>=15||y>=15)
10
{cout<<"输入错误请重输"<<",";continue;}
else
{ a[x][y]='o'; a1=0;}
}
break;
}
qipan(a); //下好o子后将棋盘显示 if(Hsheng(a)) //判断o子是否已经获胜 {cout<<"o子获胜"<<endl; break; }
while(1) //下x子
{
cout<<"请输入x子下的位置:";
cin>>x>>y;
if(a[x][y]=='o'||a[x][y]=='x'||x>=15||y>=15)
{
for( ; a[x][y]=='o'||a[x][y]=='x'; )
{
cout<<"已有子请重下";
cout<<"请输入x子下的位置:";
cin>>x>>y;continue;
}
for ( ; x>=15||y>=15||x; )
{
cout<<"输入错误请重输"<<","; //判断输入棋子位置是否正确
cout<<"请输入x子下的位置:";
cin>>x>>y;continue ;
}
a[x][y]='x';break;
}
else
{a[x][y]='x'; break;}
}
qipan(a); //再一次输出棋盘
if(Bsheng(a)) //判断x子是否已经获胜 11
{cout<<"x子获胜"<<endl; break; }
if(he(a)) //判断是否平局 {cout<<"平局"<<endl; break;}
}
return 0;
}
int Hsheng(char a[][15])
{
int i,j;
for(i=0;i<15;i++)
for(j=0;j<15;j++)
if(a[i][j]=='o'&&a[i][j+1]=='o'&&a[i][j+2]=='o'&&a[i][j+3]=='o'&&a[i]
[j+4]=='o')
return 1;
for(j=0;j<15;j++)
for(i=0;i<15;i++)
if(a[i][j]=='o'&&a[i+1][j]=='o'&&a[i+2][j]=='o'&&a[i+3][j]=='o'&&a[i+4][j]=='o')
return 1;
for(i=0;i<15;i++) //判断左斜5个 for(j=0;j<15;j++)
if(a[i][j]=='o'&&a[i+1][j+1]=='o'&&a[i+2][j+2]=='o'&&a[i+3][j+3]=='o'&&a[i+4][j+4]=='o')
return 1;
for(i=0;i<15;i++) //右斜5个
for(j=14;j>3;j--)
if(a[i][j]=='H'&&a[i+1][j-1]=='o'&&a[i+2][j-2]=='o'&&a[i+3][j-3]=='o'&&a[i+4][j-4]=='o')
return 1;
return 0;
}
int Bsheng(char a[][15]) //同o,只是改字符 12
{
int i,j;
for(i=0;i<15;i++)
for(j=0;j<15;j++)
if(a[i][j]=='x'&&a[i][j+1]=='x'&&a[i][j+2]=='x'&&a[i][j+3]=='x'&&a[i]
[j+4]=='x')
return 1;
for(j=0;j<15;j++)
for(i=0;i<15;i++)
if(a[i][j]=='x'&&a[i+1][j]=='x'&&a[i+2][j]=='x'&&a[i+3][j]=='x'&&a[i+4][j]=='x')
return 1;
for(i=0;i<15;i++)
for(j=0;j<15;j++)
if(a[i][j]=='x'&&a[i+1][j+1]=='x'&&a[i+2][j+2]=='x'&&a[i+3][j+3]=='x'&&a[i+4][j+4]=='x')
return 1;
for(i=0;i<15;i++)
for(j=14;j>3;j--)
if(a[i][j]=='x'&&a[i+1][j-1]=='x'&&a[i+2][j-2]=='x'&&a[i+3][j-3]=='x'&&a[i+4][j-4]=='x')
return 1;
return 0;
}
int he(char a[][15])
{
for(int i=0;i<15;i++)
for(int j=0;j<15;j++)
{
if(a[i][j]==' ') //当棋盘全部子都不是' '时才能return 1,即棋盘已下满
return 0;
}
return 1;
}
13
程序说明:本程序定义了各种操作函数、各种状态判定宏,思想明确,思路清晰。各个判断选择了不同路径,因此继续进行或输出结果。程序中,“循环”的利用非常直接和清晰,双方交替下棋,因此循环往复。最终决出胜负或最终平局。分析时,也考虑了许多种情况,针对各个情况均作出了相对措施和解决方案。
程序采用循环进行双方交替下棋,并进行了很多判断。首先判断棋盘是否已满,若棋盘已满,则输出平局,结束游戏;若棋盘未满,则继续进行。然后判断“0”方是否胜出,若“0”方获胜,则输出“0”方获胜,结束游戏;若“0”方没有获胜,则继续进行。再判断“x”方是否获胜,若“x”方获胜,则输出“x”方获胜,结束游戏;若“x”方没有获胜,则继续进行。回到“首先”的判断。如此循环??
五、主要参考文献
[1] 张海藩编著 《软件工程导论》(第五版) 清华大学出版社 2008
[2] 王小春编著 《Pc游戏编程(人机博弈)》 重庆大学出版社 2005
[3] 李宁等编著 《Java Web 开发技术大全》 清华大学出版社 2009
[4] 耿祥义,张跃平编著 《JSP实用教程》 清华大学出版社 2003
[5] 吴其庆编著 《Java程序设计实例教程》 冶金工业出版社,2006
[6] 田淑梅、廉龙颖、高辉 《软件工程——理论与实践》 清华大学出版,2011-8-18
六、总结
该五子棋程序基本上实现了五子棋的游戏功能,有双方下棋的界面及最终结果判定的界面。同时该程序采用二维坐标实现,明了易懂,方便玩家在游戏过程中的操作,使游戏更加简便。该游戏基本实现了游戏的一般有球和特征。在游戏的源程序及文档方面,也严格遵守软件工程思想,立足实验要求,确定任务,需求分析,设计和编码,每个步骤清晰易懂。当然该系统也有很多不足的地方,第一次进行独立的软件工程课程设计,也会有很多些细节没考虑到。这款游戏也是在不断的调试和修改中不断的得到完善。希望老师能够指出不足,帮助我们不断提高。
在设计过程中我们小组遇到了很多困难,我们小组都团结在一起,遇事一起解决,在不懂的地方一起讨论并请教他人,最终所有的问题都一一被解决。在小组成员的不懈努力下,系统终于实现了。同时我们也感受到软件工程是一个庞大的计算机学科,我们要投入更多的精力和时间去学习它。总之,这次的软件工程课程设计让我们学到了很多,学会了团结协作,让我们受益匪浅。
14