软件技术基础最后一次大作业之设计文档
黑子的足球软件设计文档
| 文件状态 | 当前版本: | v3.0 |
|---|---|---|
| [ ]正在修改 | 作者: | 张子扬 |
| [√] 正式发布 | 完成日期: | 2022年12月17日 |
修正历史
| 2022.12.3 | v1.0 | 初稿 |
|---|---|---|
| 2022.12.5 | v1.1 | 增加游戏音效、提高游戏帧率 |
| 2022.12.7 | v2.0 | 提高开头界面观感以及AI智能程度 |
| 2022.12.9 | v2.1 | 进一步完善了音效并增添了小彩蛋 |
| 2022.12.14 | v3.0 | 完善了游戏机制并提高了整体操作性 |
1. 引言
1.1 编写目的
编写概要设计文档的目的主要是用抽象的语言对整个需求进行概括,确定系统的物
理配置,确定系统的处理流程和系统的数据结构、接口设计、UI,以及实现对系统的初步设
计。另外通过建立目标系统的逻辑模型,也使得软件编程人员对目标系统有一致的认识。
1.2 背景
- 待开发的软件系统:黑子的足球竞技小游戏
- 项目任务提出者:黑子的足球小组
- 项目开发者:杜新宇、万岩、胡云皓
- 用户:儿童、学生群体
- 实现该软件系统的环境:windows,linux,Mac等系统
- 开发环境:PyCharm
1.3 范围
本说明书适用于游戏的迭代开发阶段。
1.4 定义及缩写
| 缩写 | 定义 |
|---|---|
| 黑子的足球 | 黑子的足球是一款足球类双人竞技小游戏。玩家通过控制对应按键与AI一起组队踢球,通过积分高低来一决胜负。 |
1.5 参考文献
| 书名或文档名 | 作者 |
|---|---|
| Python编程 从入门到实践 第2版(图灵出品) | [美] 埃里克·马瑟斯 |
| Python游戏编程快速上手 | [美] Al Sweigart |
2.总体设计
2.1 目标概要
本系统要实现一个基于长方形地图的足球类竞技游戏。通过控制不同的按键,来选择人物并与其他AI组队,从而实现足球竞技。最后以进球数目为积分来判断胜负。
2.2 技术选择
我们的项目要实现一个小游戏,首先考虑用 python实现。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。其中Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows、Linux、Mac OS 等操作系统,具有良好的跨平台性。可以很容易地在 windows 和安卓操作系统中建立和运行项目。
2.3 系统功能

2.4 系统性能
整个项目打包为exe程序。使用者不需要构建python环境并安装额外的库。运行exe程序
即可开始游戏,十分的便捷。
3.运行环境
由于系统只是一个简单足球类游戏,所以目前不存在服务器通信。在平台上,暂定为windows,不进行 Android 及其他平台的移植。
硬件要求:主机一台
软件要求:
| 端 | 软件 | 备注 |
|---|---|---|
| 客户端 | Windows10/8/7 | Windows 操作系统 |
| 开发端 | PyCharm | 开发软件 |
| 开发端 | Pygame | 开发所需额外库 |
主机配置要求:
| 类别 | 标准配置 | 最低配置 |
|---|---|---|
| 计算机硬件 | CPU: Pentium 4 或以上;内存: 512 MB 或以上;硬盘:5GB 或以上 | CPU: Pentium 3;内存: 256 MB;硬盘:1GB |
| 软件 | Windows10 | Windows7 |
4.外部因素
4.1 存在的应用软件
Python3.6
4.2 第三方应用软件
无
4.3 外部数据源
无
5.技术技能
项目管理人员:配置管理、系统分析等相关技术
程序开发人员:python
测试人员:Junit 等测试技术
6.解决方案架构
6.1 系统体系结构
本开发系统为单用户的体系结构。该体系结构较为简单,整个系统运行在一台计算机
上,由一个用户占用全部资源,不同用户之间不共享和交换数据。
6.2 包图

我们采用三层架构(3-tier architecture) 的软件设计方式。通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。具体来说,用户的鼠标点击操作被 UI 层侦听到,随后通过逻辑处理层调用相应的响应方法进行响应,并在 UI 层做出相应反馈,另外,逻辑处理层可能访问 UserDefault 微型数据库进行数据存取。
6.3领域模型

6.4 模块视图

- UI模块代码:


- 逻辑模块:




- 数据模块:
![]()

6.5 用户界面
用户初始页面为黑子的足球开始界面,背景图为一只可爱的中分头小鸡。点击开始游戏就可以转入足球场,按下空格键即可开始游戏。游戏界面由一个长方形绿色足球场构成。长方形正上方显示数字,可显示当前两个队伍的比分。
7.面向对象设计技术
- 代码模块:


7.1 对外部系统的支持
本系统是一个简单的单机游戏系统,没有提供外部接口(如多人对战模块、用户登
录模块),扩展性不是特别多。
7.2 系统安全
本系统不存在安全方面的设计。
8.研发风险
8.1 技术风险
本开发团队成员经验不足,对涉及的项目部分所需要的开发软件和开发技术不熟悉,
在研发的过程中可能会遇到不少的开发问题。
8.2 团队管理风险
团队是初次合作,相互之间默契不够。各个团队成员所负责的内容不同,最终可能因
接口不规范导致相互之间难以顺利关联。另外,管理人员缺乏相关经验,管理规范化程度较
低。

浙公网安备 33010602011771号