实验一:项目计划、分析和设计
[ 实验日期 ] 2 0 1 0 年 6 月 8 日
[ 实验目的 ]
初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需
求文档、项目计划表、设计文档。本程序实现的主要技巧在二维数组的应用上。目的是通过游戏程序增加编程的兴趣,提高编程水平。
[ 实验内容 ]
图函数底层,依据项目可行性研究的结果,进行需求分析和设计,编写简要的需求规格说明书,绘制程序流程图。
根据编写贪吃蛇程序,掌握软件工程思想及要领,进一步巩固编程思想和掌握画
[ 实验原理和步骤 ]
当前的建模方法主要有传统的结构化分析、设计方法(SA/D)和面向对象分析、
设计方法(OOA/D)两种,以下只对SA/D进行说明。
分析阶段:
结构化分析(SA)是一种建模技术 ,它通过一定方法帮助开发人员定义系统需
要什么功能,系统需要存储和使用哪些数据,以及为完成这些功能,系统需要什么样的输入和输出以及如何把这些功能结合在一起来完成任务。结构化分析方法的实质是采用一组分层数据流图及相应的数据字典作为系统的模型,从总体来看是一种强烈依赖数据流图的自顶向下的建模方法。由事件列表、数据流图、实体关系图、数据流定义、数据字典、结构化英语、状态转换图等最终构成系统的分析模型。 分析阶段的重要文档有《可行性研究报告》、《项目计划》和《需求规格说明》。
设计阶段:
分总体设计和详细设计两阶段。总体设计阶段的任务主要是确定系统由哪些模块
组成,以及这些模块之间的相互关系;详细设计阶段的任务主要是设计每个模块的处理过程。
总体设计又称为概要设计或初步设计,它的基本目的就是回答“概括地说,系统
应该如何实现?”这个问题。总体设计通常由系统设计和结构设计两个阶段组成。系统设计阶段确定一个合理的、具体的实现方案;结构设计阶段确定软件的结构,即确定系统由哪些模块组成,以及这些模块之间的相互关系。
常用的结构化设计(SD)方法有面向数据流分析(DFA)的设计方法和面向数据的设计方法【如Jackson方法(JSD)和逻辑构造程序方法 (LCP)(一般用于详细设计)】。
DFA方法以数据流图为基础,它定义了把DFD(变换型数据流,事务型数据流及混合型)变换成软件结构图(SC)的不同映射方法。DFA设计技术实施的通用步骤:(1)复查并精化DFD;(2)确定DFD类型;(3)把DFD映射到系统模块结构,设计出模块结构的上层;(4)基于DFD逐步分解高层模块,设计出下层模块〈初步结构〉;(5)根据模块独立性原理,精化模块结构,得到更为合理的软件结构;(6)模块接口描述;(7)修改和补充数据词典;(8)制定测试计划。
详细设计阶段的任务主要是确定每个模块的处理过程,包括(1)确定每个模块的算法。(2)确定每一个模块的数据组织。(3)为每个模块设计一组测试用例。(4)编写详细设计说明书。详细设计阶段采用的方法是结构化程序设计(SP),与SA,SD方法衔接。目标是给出可以直接用以编码的程序逻辑结构,强调清晰第一。 具体步骤是:准备项目计划表、代码复查检查表、时间记录日志、缺陷记录日志等表格;程序功能陈述,完成需求文档;填写项目计划表;完成设计文档,填写时间记录日志。
[ 实验报告要求 ]
一、需求规格说明书
1、引言 1.1编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,进一步定制软件开发的细节问题撰写此文档,以使本软件开发更为具体,明确,使开发人员更为方便,也便于以后软件的维护。本文档面向的读者主要是委托单位的管理人员、项目经理以及开发人员和维护人员。 1.2背景
待开发的系统软件是一款名叫贪吃蛇的小游戏,这款游戏是你叫简单、大家比较喜
爱的小游戏,该软件的实现对运行的环境较为宽松,该游戏的提出者与实现者为李东,面向对象为广大玩家。
1.3定义
SA/D:结构化分析设计方法 OOA/D:面向对象分析设计方法 SA:结构化分析 SD:结构化设计 DFA:面向数据流分析
DFD:变换型数据流,事务型数据流及混合型 SC:软件结构图 SP:结构化程序设计
贪吃蛇程序:贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,游戏结束。
1.4参考资料
《个体软件过程》、《软件设计文档国家标准》 2任务概述 2.1目标
本程序实现的主要技巧在二维数组的应用上。目的是通过游戏程序增加编程的兴趣,
提高编程水平。通过对游戏的编写以及对游戏的实际操作,提高大家对编程的兴趣与欲望,让大家在玩的过程中领悟编程思想。
2.2用户特点
该小游戏适合各年龄阶层,可以说是老少皆宜,但要求有一定的C语言基础,一边在玩的时候,领悟其中的编程思想。
2.3假定和约束
本程序开发期限为2010/6/5,开发经费基本为零。
IPO图

