软件工程课程设计完成版
软件工程课程设计任务书(模板及参考)

编号: 大连理工大学本科生课程设计任务书课程名称:软件工程课程设计指导教师:项目名称:粒子群主题网站小组名称:组长姓名:上课时间:2009年7月13 日- 7月25 日大连理工大学软件学院20 年月日1 设计目的软件工程课程设计是在学生系统的学习了《软件工程》课程后,综合运用所学的知识,设计开发一个小型的实际系统。
要求学生运用软件工程的思想,严格按照软件生命周期各个阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。
通过对具体系统的设计和开发,使得学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法开发和维护软件。
2 设计要求(1)选用迭代式开发的过程模型,运用软件工程的方法,规范地完成规模小、功能较为简单的软件开发,包括需求分析、设计、编码和测试。
(2)学生5人组成一个项目小组,一人为组长,其他人为组员,组内成员分工明确、团结协作、相互配合,共同完成选题的设计。
(3)课程设计时间为2周。
(4)开发平台.NET3.5,语言(C# \ ASP),数据库设计工具Powerdesigner;数据库系统MSSQL Server 2005(5)具体指标:1)可以选择结构化分析/设计(SA/SD)或面向对象方法(OOA/D)2) 结构化分析/设计(SA/SD)a)需求分析:分析系统的静态功能和动态行为每一位小组成员能够描绘分配的子功能需求每一位小组成员完成分配子功能的数据流图DFD,要求绘制到3级DFD3小组负责人组织完成系统的DFD3b)设计:完成系统的功能模块设计每一位小组成员根据需求的DFD3图,完成分配的子功能模块设计,用HIPO图表征。
每一位小组成员设计分配的子功能模块的接口每一位小组成员能够完成分配的子功能程序流程的逻辑设计小组负责人组织完成系统的总体结构集成c)软件实现:每一位小组成员完成分配的子功能界面的设计每一位小组成员完成分配的子功能代码编写小组负责人在.NET框架下,组织完成系统的实施d)软件测试:每一位小组成员完成分配的子功能的单元测试小组负责人负责组织系统的测试用例,不少于20个,完成测试工作3)面向对象方法(OOA/D):以UML为主a)需求分析:分析系统的静态功能和动态行为每一位小组成员完成一个用例分析,用例规约描绘功能性需求每一位小组成员完成一个用例下的活动图小组负责整个系统的用例图,完成功能划分小组负责整个系统的活动图,描述系统的动态行为b)分析设计:完成系统的功能模块设计根据用例分析,小组共同协商,完成选取设计模式,设计系统的架构,用包图和构件图表示每一位小组成员完成所分配的用例功能的动态设计,至少绘制一个顺序图,设计系统的对象及交互每一位小组成员完成所分配的用例功能的类图设计小组共同协商,完成整个系统的类图设计和组件的封装设计小组共同协商利用.NET的持久化技术,完成类的持久化设计c)详细设计:每一位小组成员完成所分配的用例功能的每个类的属性、方法和关系的设计;完成复杂方法程序流程图的逻辑设计;每一位小组成员完成所分配的用例功能的界面设计d)软件实现:每一位小组成员完成所分配的用例功能实现,使用在.NET3.5的框架下,编写类、界面和DAO等小组负责集成系统e)软件测试:每一位小组成员完成所分配的用例功能类方法和类状态测试小组负责完成系统的测试,测试用例不少于20个,完成测试工作3 题目粒子群主题网站粒子群算法是一种基于群智能的演化计算方法,1995年由kennedy和Eberhart受到人工生命(Artificial Life)的研究结果启发而提出。
软件工程课程设计报告模板

软件工程课程设计报告题目基于cv的人脸识别匹配学院:信息科学技术学院专业:计算机科学与技术班级: XXX班姓名:王XXX学号: 202415612546报告内容(1)课程设计要求要求:(1)设计背景:随着科技的不断发展,人工智能技术在各个领域得到了广泛的应用。
人脸识别技术作为一种生物特征识别技术,具有高安全性、便捷性和实用性等特点,已逐渐成为现代社会中不可或缺的一部分。
为了提高人脸识别的准确性和实时性,本设计要求基于计算机视觉库(OpenCV)开发一套人脸识别匹配系统。
(2)对采集到的人脸图像进行预处理;(3)提取人脸特征;(4)进行人脸识别匹配;(5)输出识别结果;(6)训练自己的识别图集;(2)相关人工智能方法阐述和数据集(1)利用OpenCV库中的Haar级联分类器,通过加载预训练模型来快速且有效地检测图像中的正面人脸。
在人脸识别的应用中,OpenCV库提供了一系列强大的工具和算法。
我首先采用了Haar级联分类器来检测图像中的面部区域。
这种方法通过加载预训练的Haar级联模型,能够有效地识别图像中的正面人脸。
Haar级联分类器是一种基于机器学习的方法,它通过训练大量的正面和负面图像来创建一个能够识别特定目标的模型。
这个模型是一系列级联的弱分类器,每个分类器都基于图像的Haar特征,即图像中相邻区域的亮度差异。
级联设计允许快速排除非面部区域,从而提高检测效率。
(2)我们使用OpenCV库对灰度图像进行多尺度扫描,通过缩放和进行像素分析,以适应不同尺寸和距离的面部,从而提高人脸识别的准确性。
我运用OpenCV库中的函数对灰度图像进行多尺度扫描,以检测不同大小的面部。
这种多尺度扫描方法通过对图像进行缩放和像素扫描,来查找可能的面部区域。
一旦找到潜在的匹配,它就会使用更复杂的分类器来确定是否真的是一个面部。
这种方法能够适应不同距离和不同尺寸的面部,从而提高识别的准确性。
(3)在人脸识别过程中,提取面部ROI并转换为灰度图像是为了减少计算量,集中处理与人脸相关的关键信息,并加速识别过程。
软件工程课程设计

软件工程课程设计论文校医院体格检系统—实现体格检查人员维护姓名:唐姣年级:2012级院系:信息管理系专业:电子信息工程指导教师:刘超群2014年12月25日湖南财政经济学院信息管理系软件工程课程设计课程设计成绩评定表软件工程课程设计任务书系部名称:信息管理系专业:电子信息工程年级:2012学生姓名:唐姣学号:2012550525一、设计题目校医院体格检系统—实现体格检查人员维护二、主要内容本课程设计要求学生运用软件工程的思想,严格按照软件各阶段的目的和任务来完成一校医院体格检系统,本系统主要包括体格检查人员信息维护、各种体检活动管理(五官科、内科、眼科、验血)、体格检查综合报表生成等主要功能。
三、具体要求1、分析阶段该系统需完成以下工作:(1)实时查询医务室使用状况;(2)在线申请医务室使用权;(3)按照医务室编号检索一医务室的基本信息。
2、设计阶段针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。
(1)该系统具有4个基本功能成分:①用户登录②校医院信息管理③医生信息查询④医务室申请(2)根据分析,导出系统的功能模块图。
(3)设计数据库。
使用SQL Server 2000创建数据库。
确定数据库中数据表的组成。
确定数据表中字段的构成、主键字段和有关字段的约束条件等。
依靠数据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约束。
(4)根据功能确定软件模块组成及调用关系。
如图1所示。
图1 模块组成及调用关系3、编码阶段建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块的编码,由此使软件设计具体化为软件作品。
4、测试阶段编写合适的测试用例完成系统的测试工作并分析结果。
5、编写课程设计报告(1)设计题目(2)任务要求(3)系统总体方案(4)各功能模块和流程图(5)心得体会和参考资料四、主要技术路线提示1、面向对象分析方法,认真阅读相关知识,完成系统的功能分析和系统设计。
软件工程课程设计(进销存管理系统)

一、系统背景随着现代科学技术的迅猛发展,计算机技术已渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
作为国内市场的一些中小超市,他们在信息化过程中的步伐要落后大中型超市,而对于这些企业的资源管理,信息的存储和处理也显的迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的电算化进程是必不可少的。
在会计业务中,产成品的完成,发出和结存关系到超市销计划的完成和流动资金占用情况,而销售核算子系统是电算化会计系统中一个关键且比较复杂的子系统。
通过这个子系统提供的信息可以了解企业的经营成果,通过产品销售收入用来补偿已消耗的生产资料,支付工资和其他费用,缴纳税金并实现利润。
超市进销存管理系统是目前应用于公司或企业进销存管理系统中的典型代表,它涉及商品或货物管理中主要的几个方面,即进货、销售、库存。
本文利用Visual Basic完成管理平台设计,构造所用的类库;使用Access数据库存储数据,限单机使用。
主要阐述了进销存管理系统的设计目标,系统要求、总体设计、详细设计、测试等。
二、系统的需求分析1、理解需求本系统通过进销存系统的终端用户和客户的进行调研后,得出系统需求的关键部分如下:(1)进货管理商品进货信息管理:商品进货信息包括商品进货数量、单价、供货商、进货日期、等。
商品进货管理功能完成进货信息登记、修改和删除等。
更新库存:进货信息的变动直接关系到库存的变化(2)库存管理库存商品信息管理::商品库存信息包括商品进货数量、单价、供货商、进货日期、等。
商品库存管理功能完成库存信息登记、修改和删除、查询等。
(3)销售管理信息管理:商品销售信息包括商品销售数量、单价、统计日等商品销售。
管理功能完成销售信息登记、修改和删除,以及销售总汇查询。
软件工程课程设计-学生信息管理系统

数据库设计
数据表设计
01
根据系统需求,设计合理的数据表结构,包括学生信息表、课
程信息表、成绩信息表等。
数据关系设计
02
定义数据表之间的关系,如学生信息表和成绩信计
03
采用加密技术对敏感数据进行加密存储和传输,确保数据的安
全性。
界面设计
界面风格设计
版本控制
Git
关键代码实现
学生信息管理
实现学生信息的增删改查功能 ,包括基本信息、成绩、奖惩 情况等。
课程信息管理
实现课程信息的增删改查功能 ,包括课程名称、学分、任课 教师等。
用户登录验证
通过用户名和密码进行身份验 证,采用MD5加密密码确保安 全性。
班级信息管理
实现班级信息的增删改查功能 ,包括班级名称、班主任、学 生列表等。
THANKS
感谢观看
等。
课程管理
系统应支持课程的添加、修改、查询和删除 ,包括课程名称、课程描述、授课老师等。
用户管理
系统应提供用户注册、登录、权限分配等功 能,确保不同用户角色的操作权限。
非功能性需求
系统性能
系统应保证稳定运行,处理速 度快,响应时间合理。
数据安全
系统应采取必要的数据加密和 备份措施,确保学生信息的安 全性和完整性。
3
学生信息管理系统通常采用B/S或C/S架构,具有 用户界面友好、操作简便、数据安全性高等特点 。
设计目标与要求
实现学生信息的全面管 理,包括基本信息、成 绩信息、课程信息、奖
惩信息等。
01
保证数据的安全性和完 整性,采用合理的权限 控制和数据备份机制。
03
采用先进的软件开发技 术和工具,确保系统的
《软件工程》课程设计——_学生选课系统

《软件工程》课程设计手册 (3)1.1 开辟背景 (3)1.2 开辟目的 (3)1.3 开辟运行境 (3)1.4 系统功能 (3) (3)2.1 系统需求 (3)2.2 功能需求 (3)2.3 业务流图 (3) (4)3.1 基本设计概念和处理流程 (4)3.2 系统层次模图 (4)3.3 系统层次模块图 (4)3.4 模块设计 (5) (5)4.1 数据库的逻辑设计 (5)4.2 数据库的配置 (6) (8)5.1 学生登录模块的设计与实现 (8)5.2 学生注册模块的设计与实现 (9)5.3 学生查询模块的设计与实现 (9)5.4 学生选课模块的设计与实现 (10) (10) (10) (11)1.1 开辟背景Internet 的飞速发展深刻地影响了人们的日常生活和商业运作方式。
人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。
社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。
1.2 开辟目的传统的手工选课不仅复杂,也牵涉了不少的人力,对管理也造成为了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。
1.3 开辟运行环境:开辟工具:java 语言开辟环境:JDK1.4 系统功能:(1) 登录、注册功能.(2) 选课功能(3) 查询功能2.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
采集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。
2.2 功能需求通过系统功能分析,针对普通的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询;(2) 本系统主要实现学生信息管理和选课查询。
软件工程导论课程设计[定稿]好
添加标题 添加标题 添加标题 添加标题
定义:软件需求规格说明书是软件工程导论课程设计的重要任务之一, 用于描述软件的功能、性能、接口等方面的要求。
目的:确保开发人员对软件需求有充分理解,避免开发过程中的误解和 返工。
内容:ቤተ መጻሕፍቲ ባይዱ括软件的功能需求、非功能需求、接口需求等,需清晰、准确、 完整地表达用户需求。
编写要求:编写软件需求规格说明书需要遵循一定的规范和标准,如采 用统一的术语和格式,确保文档易于阅读和维护。
制定软件设计计划
确定软件系统的 目标和功能
分析用户需求和 业务流程
设计软件系统的 架构和模块
制定软件系统的 测试计划和验收 标准
完成软件设计并编写设计文档
完成软件系统的需求分析、设 计、编码、测试和部署
通过软件工程导论课程设计,学生 可以学习到实际软件开发中所需的 技能和工具,为未来的职业发展打 下坚实的基础。
软件工程导论课程设计的任务 和要求
设计一个简单的软件系统
任务:分析用户需求,设计 软件架构,编写代码并测试
要求:符合软件工程规范, 能够实现基本功能,具备良 好的用户体验和可维护性
编写软件需求规格说明书
优秀作品评选与表彰
评选标准:功 能完整性、技 术难度、创新 性、用户体验
评选过程:学 生提交作品、 教师评审、现
场答辩
表彰方式:颁 发证书、奖金、 展示优秀作品
激励作用:激 发学生的学习 积极性、促进 团队协作和交
流
THANK YOU
汇报人:
系统测试与优化
系统测试的目的: 发现并修复软件中 的缺陷和错误
测试类型:单元测 试、集成测试、系 统测试和验收测试
测试方法:黑盒测 试、白盒测试和灰 盒测试
软件工程课程设计报告
软件工程课程设计报告一、需求分析:1、本系统只有一个文件,包含学生姓名、成绩。
姓名、语文成绩、数学成绩、英语成绩均由键盘输入。
(1)文件名:file(2)文件类型:顺序文件(3)文件结构姓名数学语文英语数据类型字符型单精度数单精度数单精度数数据占用长度字节字节字节字节(4)文件记录长度:、输出时根据操作显示排名或查询成绩,按姓名、数学成绩、语文成绩、英语成绩。
、该程序具有初始化学生成绩,录入学生成绩,修改学生成绩,删除学生成绩,添加学生成绩,按总成绩查询,按姓名查询,按总分查询排名,按英语成绩查询,显示所有学生的数据等功能。
、测试数据:例如:姓名语文数学英语小五小王小李按姓名查询:输入姓名小五,显示语文成绩,数学成绩,英语成绩按语文成绩排序:姓名语文数学英语小王小李小五、数据流图:二、概要设计:、类的定义格式:<类名>{<成员函数或函数数据成员的说明>::<数据成员或成员函数的说明>}<各个成员的实现>、定义数组类型{:下标和数据元素值组成的数据堆集合,其中任意两个数据队的下标各不相同。
:():建立一个数组。
():返回下标位的元素值。
():将下标位的数据对的值为.}3、义字符串类型{:: 字符串是由(≤)各字符组成的有限序列”……”(≤)(): 建立一个空串(): 撤销一个串(): 求串长(): 置为空串(): 串赋值(): 串连接(): 串插入(): 串删除(): 串替位(): 取子串(): 求子串在主串中的位置}三、详细设计1、主程序模块的基本算法(){初始化{根据显示键入操作符}(根据状态标志位返回);{(键入的操作符)'':{ 录入模块}'':{ 总成绩查询模块}'':{按姓名查询模块}'':{ 添加成员模块}'':{删除模块}'':{ 修改模块}'':{显示所有学生成绩模块}'':{按总分查询排名}'':{按语文查询排名}'':{按数学查询排名}'':{按英语查询排名}} <<"您想继续进行其他操作吗?()"<<;;{>>;('''')<<"指令错误!请重新输入!"<<;;}();('')<<"请输入操作代码( 录入按总分查询按姓名查询增加人员删除人员修改数据显示所有成员数据按总分排名按语文排名按数学排名按英语排名)"<<;>>;}('');( <){[];<<" !"<<;、子程序函数清单(因为所用到的算法比较简单算法略)();();();();();DEL();();();();();();();、学生成绩管理软件由主控模块形成顶层模块,由初始化,数据录入,增加人员,删除人员,修改数据,按总成绩查询,按语文成绩查询,按数学成绩查询,按英语成绩查询模块组成一级模块如图:四、调试分析:()由于我们在各模块中用到的状态标志位太多,而且在定义时出现了错误,在老师和同学们的帮助下,我们组的成员齐心协力使得错误很快得到了解决。
软件工程(应用专业)课程设计_...
《软件工程》课程设计任务书一.目的软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。
通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。
二.要求:1.一人一组。
2.熟悉Rose开发环境。
3.掌握UML的基本模型元素(如角色、用例、类等)。
4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。
5.进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图,建立完整的系统数据库的逻辑模型。
6.完成对系统的建模实现。
7.期末进行检查,并提交设计报告。
三.题目及时间、地点安排2010-2011第一学期第18周星期五进行课程设计成果的演示与检查(具体地点另行通知),同时提交源程序和课程设计报告。
四.报告要求:1.实验题目2.实验目的3.实验要求4.实验内容5.系统设计的源程序和文档(包括说明)6.心得体会五.参考资料:1.Wendy Boggs & Michael Boggs 著邱仲潘译《UML与Rational Rose2002从入门到精通》电子工业出版社2.Martin Fowler & Kendall Scott:UML Distilled Second Edition A Brief Guide to the StandardObject Modeling Language3.UML参考手册4.Jason T. Roff 著张瑜杨继萍等译《UML基础教程》清华大学出版社5.参见本中心服务器ftp:\\s@172.16.38.223软件开发基础或《软件工程课程设计》目录下的相关文档。
软件工程课程设计报告
软件工程课程设计报告旅游信息管理系统姓名: ___________________________学号: _____________________专业: ______ 软件工程 ___________________ 班级:14软件工程1班_______________ 指导教师:__________________________1.课程设计概述 ------------------------------------------------- 1 - 1.1系统目的 (1)1.2系统任务 (1)1.3运行环境 (2)2. ---------------------------------------------------------------------------------------------- 项目的可行性研究---------------------------------------------------- 2 - 2.1旅游网站的可行性研究 (2)2.2.1技术可行性.............................................. -2 - 2.2.2经济可行性.............................................. -3 -2.2.3操作可行性.............................................. -3 -3.需求分析 ------------------------------------------------------ 3 -3.1功能需求分析.............................................. -4 -3.2性能需求分析.............................................. -4 -4.概要设计 ------------------------------------------------------ 5 4. 1系统结构图................................................. -8 4.2系统登陆流程图 (7)4. 3系统E-R图 (8)4.4数据字典.................................................. -9 -5.课程设计完成结果分析与个人小结 ------------------------------ 10 -参考文献----------------------------------------------------- 11 - 1.课程设计概述1.1系统目的该系统主要建立一个完整的旅游网站,突出旅游特点,有美观的界面设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课 程 设 计 课程名称 软件工程课程设计 题目名称 五子棋 专业班级 13级计算机软件工程班
学生姓名 张小蒙、张浩、柏祝林 张红伟、杨伟平、王威风、鲍金林
学 号 51302041034、51302041045、51302033026 51302041043、51302041006、51302041011 51302041041
指导教师 储德锋
二○一四年十二月二十日 1 / 25
目 录 引言 .............................................................. 3 一、题目内容及要求 ................................................ 3 1.1、题目内容 ................................................... 4 1.2、课程设计的实验环境 ......................................... 4 二.课程内容设计 .................................................. 4 2.1、课程设计主要内容 ........................................... 4 2.2、需求分析 ................................................... 4 2.3、概念设计 ................................................... 5 三.详细设计 ...................................................... 6 3.1、工作流程图 ................................................. 6 四.程序的功能分配 ................................................ 6 4.1、棋盘的绘制 ................................................. 7 4.2、添加抛出异常 ............................................... 8 4.3、玩家下棋分配模块 ........................................... 8 4.4、下棋后进行输赢判断 ......................................... 9 4.5判断输赢 ................................................... 10 4.6显示赢家 ................................................... 13 五.具体代码实现 ................................................. 14 六.测试结果 ..................................................... 20 6.1、进入游戏界面 .............................................. 20 6.2、根据角色分配进行下棋 ...................................... 21 2 / 25
6.3、输赢提示,并且提示是否重新开始下棋 ........................ 22 6.4、如果点击Y/Y则重新开始 .................................... 23 七.缺陷 .......................................................... 23 八.总结 .......................................................... 23 九.参考文献 ..................................................... 24 3 / 25 引言 Java是由美国的sun microsystems 公司发展出来的一套面向对象程序语言,因为它的面向对象,分散运算,跨平台等等特性,又支持多线程。使得许多用过的人都爱不释手。 Java既是一种程序设计语言,也是一个完整的平台。作为一种程序语言,它简洁、面向对象、安全、健壮,以及适用于Internet技术;而作为一个平台(JRE,Java Runtime Environment,Java运行环境或者说是Java虚拟机),对于符合Sun公司Java标准的应用程序,都可以在Java平台上正确运行,与程序运行的操作系统无关。 Java发展到今天,已从编程语言发展成为全球第一大通用开发平台。Java技术已被计算机行业主要公司所采纳。1999年,Sun公司推出了以Java2平台为核心的J2EE、J2SE和J2ME三大平台。随着三大平台的迅速推进,全球形成了一股巨大的Java应用浪潮。 这个五子棋游戏正是用这个平台做的,在实践中充分体现出了Java面向对 象给我们带来的方便。多用户聊天程序也让我体会到了Java多线程的强大功能。 4 / 25
一、题目内容及要求 1.1、题目内容 设计一个15*15五子棋棋盘,有两玩家交替进行对战,并可以实现以下功能: 1. 选择玩家下棋的先后顺序 2. 判断输赢 3. 输出赢家信息 4. 重新开始
1.2、课程设计的实验环境 硬件要求能运行win7操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 课程设计的预备知识 熟悉java语言及ECLIPSE开发工具。
二.课程内容设计 2.1、课程设计主要内容 五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。经过一个学期的学习,使我对Java有了一定的了解。但要深入理解Java语言,单靠看书是不够的。必须通过课程设计,设计一个比较大的程序,才能更深一步地理解Java语言。在这次课程中,我选择了网络五子棋作为课题。通过这次设计,是我对这门课有了更深层次的理解java。
2.2、需求分析
本系统主要是完成五子棋游戏的基本操作,在玩游戏的过程中玩家可以放松心得到娱乐。本系统需要满足以下要求:本程序实现了一个小的五子棋游戏,可以实现两个人在用一台机器上进行游戏。程序会自动判断谁输谁赢,在游戏的开始,第一个人可以选择执白棋还是黑棋,之后点击开始进行游戏。
5 / 25
2.3、概念设计
网络五子棋是采用网络协议为TCP/IP的网上对弈游戏,运用“客户端-服务器“(c/s)网络架构模式。实通过Internt连接在任何地方与不同玩家进行对战。服务器可以创建任意多局游戏。通过使用多线程和网络套接字SOCKET来实现游戏之间的通讯,它是基于点对点的通讯。开始让服务器初始化建立服务器套接字SOCKET,基于某个端口PORT,服务器始终处于监听状态。客户端是动作的发起者,何时发出申请由客户端决定。客户端向服务器发出申请,服务器给予响应。打开客户端套接字SOCKET,连接到服务器端的地址ADDRESS和端口PORT。连接建立后,创建一个SOCKET实例,并开始一个线程,监听该客户端请求。服务器继续监听其它用户的连接。服务器通过数据输入流从客户端接收信息,并且通过数据输出流把相应的信息发送给客户端。客户端发送请求和响应接收到的各种信息。在服务器和客户端之间传递的消息格式是采用“[消息类别]+内容“组成的,服务器 6 / 25
三.详细设计 3.1、工作流程图 7 / 25 四.程序的功能分配
4.1、棋盘的绘制 public class Gobang { //定义一个二维数组来充当棋盘 private String[][] board; final private int A=2; //定义棋盘的大小 private static int BOARD_SIZE = 15; public void initBoard() { //初始化棋盘数组 board = new String[BOARD_SIZE][BOARD_SIZE]; //把每个元素赋为"╋",用于在控制台画出棋盘 for (int i = 0 ; i < BOARD_SIZE ; i++) { for ( int j = 0 ; j < BOARD_SIZE ; j++) { board[i][j] = "╋"; } } } //在控制台输出棋盘的方法 public void printBoard() { //打印每个数组元素 for (int i = 0 ; i < BOARD_SIZE ; i++) { for ( int j = 0 ; j < BOARD_SIZE ; j++) { //打印数组元素后不换行 System.out.print(board[i][j]); } //每打印完一行数组元素后输出一个换行符 System.out.print("\n"); } }
}