




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 工程设计实践文档模板 目 录 项目任务书 . 错误 !未定义书签。 项目组成员表 . 4 项目策划书 . 5 需求分析 . 7 计算机系项目状态报告表 . 8 项目沟通会议纪要 . 11 系统详细设计 . 14 项目总结表 . 21 参考文献 . 错误 !未定义书签。 致谢 . 错误 !未定义书签。 1 项目任务书 一、项目基本情况 项目编号 项目名称 21 点纸牌 项目起止日期 目指导老师 陈科 杨菊英 二、项目描述 1、项目背景与目的 设计一款以 21 点玩法为主的纸牌类游戏,该程序是一个 21 点的扑克牌游戏,玩家一共可以要 5张牌,如果牌的点数超过 21,则暴了,自动出局;在不超过 21 点的情况下,玩家与庄家(计算机)比较牌点数的大小,大者为赢。 附加要求: ( 1)程序中一共有 52 张扑克牌可以随机抽取,大于 10 的点数为 10,现要求大于 10 的点数全部为半点; ( 2)高级玩家可以查看下一张牌,即按 H 键,然后要求输入密码,密码正确可以看牌,并决定是否要牌。当然,在游戏规则上不能泄露这个秘密; ( 3)可以编写作弊程序,即按某一个键(自定)去查看计算机的牌面,并根据计算机所得的牌来输入自己想要的牌,当然,在界面上不能显示这点秘密(看过后即清屏); ( 4)每次要牌后可以设定 下注值 ,即如果开始下的是 10 金币 的注,如果牌好,你可以要求再下注,当然不能超过你所有的总钱数。 注意: 为避免信息的丢失,基本信息需要在存储在磁盘文件中。 2、项目目标 1、显示扑克牌牌面信息 该模块为系统启动界面,在游戏启动之初,游戏界面可以显示所有扑克牌的牌面(同时以文字形式描述游戏规则)。 2、随机抽取扑克牌 该模块可以实现 52 张扑克牌的随机抽取(一场游戏中玩家随机抽取的扑克牌数量不能超过 5 张)。 3、查看下一张随机抽取扑克牌牌面信息 该模块结合键盘 H 键实现下一张随机抽取的扑克牌牌面信息的提取(需要在程序中设计下一张牌2 信息提取的密码)。 4、牌面点数总和计算 该模块实现每一轮发牌之后的牌面点数总和计算操作(主要针对庄家,即计算机)。 5、作弊程序 该模块实现的具体功能参考上文附加要求的第三点。 6、下注值设定 该模块实现游戏启动之后的赔率设定,需要玩家给出一个初始下注值(该初始值不能超过玩家拥有金币的上限),每一轮要牌之后可以 追加投注(投注金币值不能超过玩家拥有金币的上限)。 7、金币设定 该模块实现游戏启动初始阶段玩家拥有的金币数量(一般设定为 100 金币,要求保存在磁盘文件中)和庄家(计算机)拥有的金币数量(一般设定为 1000 金币)。 8、输赢判定 该模块实现游戏结束之后玩家与庄家(计算机)之间的输赢判断,赢家可以获取输家的所有下注金币(该金币值不设上限)。若庄家(计算机)金币已输完,则游戏开始下一轮,玩家的金币累计到下一轮,不重置为初始值。 9、界面风格 每一组项目任务组根据自己组员的喜好设定个性化的界面 景音乐等。 三 、项目任务分工 1、工程设计 I 实践课程目的 工程设计 1开设的宗旨秉承计算机系人才培养方案宗旨,培养和输送合格的软件工程师,所以该课程的开设就是让学生在该实践类课程中,熟悉并充分掌握软件开发流程中的每个环节和步骤,主要目的如下: (1) 巩固和加深对基本知识的理解,提高综合运用课程知识的能力。 (2) 掌握软件设计的基本内容和设计方法,并培养规范化软件设计的能力。 (3) 掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 (4) 达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及团队合作能力。 项目角色 职责 投入工作量 A 完成需求分析、程序整体框架设计,设计程序模块 35% B 理解程序整体框架,设计程序模块 20% 3 C 理解程序整体框架,设计程序模块 20% D 理解程序整体框架,设计程序模块,撰写项目文档 25% 四、项目评价标准 (1) 每组必须有可运行的程序( 25 分); (2) 每组必须提交各项软件开发文档,包括项目策划书、项目组成员表、需求分析、系统详细设计、项目总结表、小组项目沟通会议纪要、项目状态报告表( 50 分) (3) 每组有 示,答辩时能回答老师提出的问题( 30 分) 2. 评分标准 (1) 教师要不定期检查项目完成进度,团队协作情况,进行严格的监督和审查,并记录平时成绩。 (2) 程序完成情况及运行结果; (3) 按照要求认真完成各项软件开发文档,能够对自己的程序设计思想通过 行展示并能回答教师提问。 注意:总分不足 60 分视为不通过。以上三项缺一不可,否则视为不通过,不能到得相应学分。 4 项目组成员表 一、项目基本情况 项目编号 项目名称 21 点纸牌 项目起止日期 目组组长学号 1440610729 项目组组长姓名 何吉贵 项目指导老师 陈科、杨菊英 二、项目组成员 成员学号 成员姓 名 项目角色 职责 投入工作量 联系电话 1440610730 何吉贵 项目组长 总体负责系项目想 30%1440610725 刘胡科 项目核心成员 研发支持项目 25%1440610727 杨伟 项目核心成员 研发支持 20% 1440610729 谢熙 项目核心成员 测试支持 25%备注: 1、 项目角色分为:项目组长、项目核心成员、项目非核心成员、项目其他人员、项目赞助人 2、 职责根据实际情况填写,参考职责有:总体负责、研发支持、客户关系、供应链支持、产品技术支持、接待策划 3、 投入工作量根据实际情况填写,以百分比 %形式,所有成员的总和为 100% 5 项目策划书 一、项目基本情况 项目编号 项目名称 21 点纸牌 项目起止日期 目指导老师 1、 陈科、杨菊英 二、项目描述 1、项目背景与目的 “ 21 点”是一个古老的扑克牌游戏,游戏规则是:各个参与者设法使自己的总分为 21 而不超过这个数值。扑克牌的分值取它们的面值, A 充当 1 分或11 分(由玩家自己选择一种分值), J、 Q 和 K 人头牌都是 10 分。庄家对付 1 7 个玩家。在一局开始时,包括庄家在内的所有参与者都有两张牌。玩家可以看到他们的所有牌以及总分,而庄家有一张牌暂时是隐藏的。接下来,只要愿意,各个玩家都有机会再拿一张牌。如果某个玩家的总分超过了 21(称为“引爆”),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于 16,那么他就必须再拿牌。如果庄家引爆,那么还没有引爆的所有我玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩 家和庄家打成平局。 综合应用所学的 C 语言程序设计及数据结构知识,自行设计并实现一个较为完整的 21 点纸牌游戏系统。通过系统分析、系统设计、编程实现,写实验报告等环节,初步掌握初级游戏软件系统的设计方法和步骤,提高灵活运用程序语言进行软件开发的技能,提高程序设计水平和分析问题、解决问题的能力。 2、拟用关键技术:数组,文件。 3、项目目标 软件名称: 21 点纸牌 用户文档:任务书、进度计划表、项目组成员表、项目策划书、需求分析书、项目状态报告表、项目沟通会议纪要、系统详细设计、项目总结表、教师审查表。 6 其它: ( 1)提供友好的用户界面,使操作人员的工作量最大限度的降低; ( 2)有良好的可扩充性,可以容易地加入其他系统的应用; ( 3)平台设计具有一定灵活性和超前性; ( 4)强化团队协作能力,提高软件开发能力。 三、项目评价标准 1、软件能正常运行,基本实现各功能模块功能; 2、项目策划书、需求分析、详细设计文档等资料; 软件能正常运行,文档资料描述清晰可视为合格。 对于以上项目前期策划书内容,项目组成员及指导老师一致同意通过! 成员学号 成员姓名 项目角色 职责 学生签字确认项目策划书 1440610730 何吉贵 项目组长 总体负责 1440610725 刘胡科 核心成员 研发支持 1440610727 杨伟 核心成员 研发支持 1440610729 谢熙 核心成员 测试支持 指导教师签字确认项目策划书 1、 2、 7 需求分析 一、项目开发背景 当今计算机已经在全国大部分地区得到了广泛的普及,为满足人们对 21 点纸牌游戏的软件使用需求, 21点游戏的软件开发又是一件十分急迫又有前景的开发。随着社会的发展科技的进步,计算机的应用在社会各领域中都得到了普及。越来越多的人都感受到利用计算机来玩各种游戏的快捷,且更能满足人们消耗业余时间的心理。 21 点游戏是一款典型的纸牌游戏,其使用面积极广,应用人说极多,界面要求低,是一款不错的上机编写程序实例。 二、功能概述 21 点纸牌游戏最多允许 7 位玩家,在开始时每一位玩家都先发两张牌,只有庄家的第一张牌隐藏,其余的牌都是明着的,接下来,只要愿意,各个玩家都有机会依次再拿一张牌。如果某个玩家的总分超过 了 21(称为“引爆”),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只有庄家的总分等于或小于 16,那么他就必须再拿牌。如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家与庄家打成平局。 8 电子科技大学成都学院 计算机系 项目状态报告表 填表日期: 2015 年 6 月 5 日 项目编号 项目名称 21 点纸牌 当前项目状况 按计划进行 比计划提前 落后计划 一、当前任务状态 (简要描述任务进展情况) 关键任务 状态描述 1. 分析项目背景,做准备工作 对项目背景进行分析,简单了解此项目的需求。 2. 需求分析 根据项目任务书分析了项目中的功能模块,精细化需求。 3. 技术支持的学习 对功能模块所需要用到的知识进行学习。 二、存在的困难 1、由于不能实地调研,可能项目背景分析和调研的数据不是很准确。 2、开发平台不是很熟练,不过正在努力解决。 3、由于缺少经验,文档格式和书写存在不规范的地方。 以上内容由学生填写,以下内容由老师填写 检查评语 检查教师 签 名 教务科科长签字 盖 章 说明: 2、本表应妥善保管,以便装订; 9 电子科技大学成都学院 计算机系项目状态报告表 填表日期: 2015 年 6 月 10 日 项目编号 项目名称 21 点纸牌 当前项目状况 按计划进行 比计划提前 落后计划 一、当前任务状态 (简要描述任务进展情况) 关键任务 状态描述 对需求进一步核实。 准备工作进一步落实 。 对技术知识进一步学习掌握 。 二、存在的困难 以上内容由学生填写,以下内容由老师填写 检查评语 检查教师 签 名 教务科科长签字 盖 章 说明: 2、本表应妥善保管,以便装订; 10 电子科技大学成都学院 计算机系项目状态报告表 填表日期: 2015 年 6 月 15 日 项目编号 项目名称 21 点纸牌 当前项目状况 按计划进行 比计划提前 落后计划 一、当前任务状态 (简要描述任务进展情况) 关键任务 状态描述 检测各个模块的功能。 完善项目详细设计。 对源程序在开发环境下运行调试 二、存在的困难 以上内容由学生填写,以下内容由老师填写 检查评语 检查教师 签 名 教务科科长签字 盖 章 说明: 2、本表应妥善保管,以便装订; 11 项目沟通会议纪要 一、基本信息 会议名称 项目启动会 召集人 陈科、杨菊英 会议日期 2015 年 5 月 11 日 会议时间 18:00 会议地点 二教 108 记录人 何吉贵 会议参会人 (学生签字 ) 1 何吉贵 2 刘胡科 3 杨伟 4 谢熙 5 6 7 8 二、会议目标 分析项目背景,分配准备工作,讨论需求分析和详细设计 三、会议概要(发言人的观点、意见和建议) 陈老师:向我们介绍了工程设计 1 设计项目的相关内容,包括项目的背景与目的,项目的目标,和项目的评价标准。讲解了下我们还需要掌握什么知识。 分组并系统自己抽题目。 四、会议决议(会议结论) 经过这次会议,我们大致了解了毕业设计项目的事宜,分析了项目的任务,初步理解了文档的格式与写法,清楚了各自初期项目的任务。 12 一、基本信息 会议名称 详细设计检查 召集人 陈老师、 杨老师 会议日期 2015 年 6 月 5 日 会议时间 12:00 会议地点 二教 108 记录人 何吉贵 会议参会人 (学生签字 ) 1 何吉贵 2 刘胡科 3 杨伟 4 谢熙 5 6 7 8 二、会议目标 检查项目完整性及催促进度 三、会议概要(发言人的观点、意见和建议) 杨老师:进一步检查项目进度,督促我们加快步伐。最后,老师对项目人员分工进行了微调,进一步明确了任务。 何吉贵:针对系统详细设计和老师进行了讨论,修改和添加了部分内容。 刘胡科:利用开发工具,练习编程,为系统开发做最后准备。 谢熙:测试练习。 四、会议决议(会议结论) :快点做 项目沟通会议纪要 一、基本信息 会议名称 编码 召集人 陈老师、杨老师 会议日期 2015 年 6 月 15 日 会议时间 12:00 会议地点 二教 108 记录人 何吉贵 13 会议参会人 (学生签字 ) 1 何吉贵 2 刘胡科 3 杨伟 4 谢熙 5 6 7 8 二、会议目标 老师检查我们的项目进度,学生提出项目中遇到的问题 三、会议概要(发言人的观点、意见和建议) 陈老师、杨老师:检查了我们的项目进度,和同学探讨系统开发过程中遇到的问题,并一一解答。 组员:小组成员相互配合,演示系统编写情况,对遇到的问题向老师进行了询问,在老师的帮助下得到了解决;对部分模块的功能进行了调整。 四、会议决议(会议结论) 通过这次会议,基本改正了开发过程中不足的地方,项目开发进入后期修改阶段。 14 系统详细设计 1 数据定义 系统中主要涉及到玩家人数、扑克牌分值、玩家分值,而这些数据由多个类型不相同的函数实现,具体如下: 2 函数定义 系统采用面向过程形式实现,每一功能编写成一个函数,在 数中利用选择来进行不同的跳转,实现相应功能,具体如下: ( 1) :系统实现入口; ( 2) :游戏实现函数; 3 系统实现 ( 1) 系统主界面 ( 2) 关键代码段: 0; 15 请输入你的名字: n); %s, s 你的名字 %s,真是一个不错的名字。让我们开始吧 n, i,k,n; 5,5; ,; ; i=0;& i0)/电脑自动判断庄家是否要牌 i=1+10.0*(; i); if(A) /电脑自动判断庄家的 A 的点值为 1 或 11 17 k=1+(; if(k=1) i=11; i=1; i; 您还要继续要牌吗? n); n); n); %d,&k); if(k=1) i=1+10.0*(; i); if(A) /询问判断玩家的 A 的点值为 1 或 11 您有一张 A,您想要 A 作 1 还是 11? n); 1. 1n ); 2. 11n); if(%d,&n) & n=1) i=1; i=11; 18 您要到的第 %d 张牌是 An,i+1); 您要到的第 %d 张牌是 %dn,i+1,i); i; if(i=4) 您手中已有 5 张牌,一决胜负的时刻到啦! n); if(=0) if(=0) 庄家爆牌了,您也爆牌了!真可惜啊,庄家的牌面值是 %d,您的牌面值是 %dn, n 唉 n); if(=0) 您爆牌了!您的牌面值是 %dn n, if(=0) 庄家爆牌了!哈哈!庄家的牌面值是 %dn, 19 n); 庄家的牌面值是 %d,您的牌面值是 %dn, if(=1) n); n); 4 系统测试 ( 1)测试目的 为执行测试提供用例,指导测试的实施,查找分析缺陷,评估测试质量。 ( 2)测试范围 本次设计中主要 考虑系统功能测试。 ( 3) 测试用例 20 系统模块 功能点 用例说明 前置条件 输入 /显示 预期结果 测试结果 备注 玩家名字及抽到的点数 信息输入及玩家的点数 玩家名字可输入性 进入游戏 单击文字输入玩家名字 1) 输入汉字,如李,张 2) 输入英文字符,如 本变成白色输入状态并有闪烁字符光标 文本框变成输入状态,有闪烁光标 玩家抽取的 点数 进入游戏 输出玩家抽到的牌的点数 输出玩家抽到的牌 的点数 显示玩家随机抽 取的点数 判断玩家点数和并做比较 进入游戏 电脑自动判断庄家的 A 的点值为 1 或 11,分别对庄家和玩家的点数求和 电脑自动判断庄家是否要牌电脑自动判断庄家的 A 的点值为 1 或 11,输出游戏结果 输出游戏结果,并询问玩家是否继续 21 项目总结表 一、项目基本情况 项目编号 项目名称 21 点纸牌 制作日期 2015 年 6 月 18 日 项目指导老师 1、 陈科 2、杨菊英 二、项目完成情况总结 时间:每一阶段都按指导老师规定的任务一步一步地完成,具体如下: 们完成了项目背景分析,了解开发工具,初步撰写了需求分析文档和系统详细设计文档。 们初步完成了需求分析文档和系统详细设计文档,开始了软件的编程。 成了系统模块的设计,以及编程实现了各个模块的功能。 备答辩材料,进行答辩。 用户文档: 任务书、进度计划表、项目组成员表、项目策划书、需求分析书、计算机系项目状态报告表、项目沟通会议纪要、系统详细设计、项目总结表、教师审查表。 编程语言及环境: (1)开发语言: c (2)开发工具: 三、项目经验、教训总结 22 1. 经过这次工程设计,我们对 C 开发有了更加成熟的认识,对测试程序掌握的更加熟练。 2. 由于平时很少做项目,这次毕业设计给了我们一个机会,也是考察我们学习知识的非常好的机会,让我们认识到自己编程方面的不足,加强了我们的编程能力。 3. 完成项目后,感觉自己使用 能力也上升了,了解了更多的 4. 由于对设计内容的认识不够充分,认为四个人两个月做一个项目绰绰有余,所以开始都不急做,到后来做项目的时间比较紧,让我们意识到以后做事要循序渐进,不要等到最后时刻才赶工,以免影响做事的质量。 5. 因为时间的关系,我们团队在后来都非常认真,大家合作的很愉快,任务分配和完成都还不错,让我们一时到团队的力量的强大,让我们学习到了以后在社会中应该多多利用团队解决困难。 四、签字 学号 姓名 签字 1440610725 何吉贵 1440610725 刘胡科 1440610727 杨伟 1440610729 谢熙 23 电子科技大学 成都学院 2018 届实践
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电影场记合同模板
- 二零二五版公司无偿使用车辆合同
- 属事业单位招聘面试资格二零二五年
- 天猫运营承包合作协议
- 卫生间改造施工方案计划
- 2025年记忆绵家居制品项目建议书
- 人教版七年级数学《整式的加减》教案
- 人教部编版四年级上册语文《女娲补天》教案
- 公司出游租车合同样本
- 借款分红合同标准文本
- 食品复检申请书
- 医院管理贵重药品管理制度
- 项目部管理岗位人员配置及职责表
- 成人癌性疼痛护理-中华护理学会团体标准2019
- 清明节主题班会缅怀先烈致敬英雄爱国主义教育PPT课件(含完整内容)
- 《病理学基础》知识考核试题题库与答案
- YC/T 227-2007光滑工件退刀槽
- 定向井设计暨compass操作指南讲解
- 惯性导航PPT汇总
- FZ/T 10005-2018棉及化纤纯纺、混纺印染布检验规则
- 《绿色建筑概论》整套教学课件
评论
0/150
提交评论