软件工程导论 习题四

1.

以一个简单的俄罗斯方块游戏系统规格说明为例,用自然语言描述如下:
游戏的每个状态对应一个游戏界面,开始状态下,但变量cd_start=1是进入正常游戏的状态,cd_start=2时 进入读取游戏状态,cd_start=3
据储存结束后返回正常游戏状态,在正常游戏状态下,如果变量game_res=0,则游戏结束,进入游戏
是进入得分榜界面查看。在得分榜界面按任意键返回开始界面,在读取游戏界 面,当游戏数据读取完成后进入正常游戏状态,正常游戏状态下,同
时按下左键和右键进入储存游戏界面,数
用有穷状态的描述如下:
结束画面。  可见,用自然语言书写的系统规格说明书,罗嗦繁杂,并且可能存在矛盾,二义性,含糊性,不完整性及抽象 层次混乱等问题。
状态机J:{开始,正常游戏(游戏进行中),得分榜,读取游戏,储存游戏,游戏结束}
输入集K:{按键UP,按键DOWN,按键LEFT,按键RIGHT,寄存器变量cd_start ,寄存器变量game_res}
转换函数T:如下图
初始态S:{开始}
终态集F:{游戏结束}

可见形势化语言描述更加简洁明了,无歧义。

PS题外话:tomcat的安装过程出了点问题,另外查看并学习了几个简单网页的源代码。

时间: 2024-11-05 15:52:44

软件工程导论 习题四的相关文章

软件工程P37习题四程序代码

//可移动的HelloWord语句  import java.awt.Color; import java.awt.Cursor; import java.awt.Font; import java.awt.Point; import java.awt.event.MouseEvent; import javax.swing.JLabel; import javax.swing.JWindow; import javax.swing.event.MouseInputListener; publi

软件工程导论 习题二

目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机.某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性. 医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏.体温.血压.心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告.请画出系统的数据流图 •从问题陈述可知,

软件工程导论 习题二(1.2.3.5)

1. 开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,如果做不到这些,那么花费在这些工程上的任何时间.人力.软硬件资源和经费,都是无谓的浪费.可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计过程,就是在较高层次上以较抽象的方式进行的系统分析和设计的过程.可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决.一般说来,至少应该从以下三个方面研究每种解法的可行性:a.技术可行性.对要开发项目的功能. 性能和

软件工程导论 习题五

1.耦合式对一个软件结构内不同模块之间互联程度的度量.耦合强弱取决于接口的复杂度,进入或访问某一模块的点,以及通过接口的数据.一般模块之间的可能的连接方式有七种,构成耦合的七种类型,它们的关系为: A. 非直接耦合:两个模块没有直接的关系(模块1和模块2),独立性最强 B.数据耦合:即一个模块访问另一个模块的时候,彼此之间是通过数据参数来交换输入.输出信息的,这种耦合为数据耦合.这种耦合较为松散,模块间独立性较强. C.特征耦合:即一组模块通过参数传递记录信息,用户情况是个数据结构,图中模块都与

《软件工程导论》课后习题解答

来源:https://blog.csdn.net/Rong_Toa/article/details/80771976 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意. (2)软件产品的质量往往靠不住. (3)一般软件很难维护. (4)软件生产效率很低. (5)软件开发成本越来越大. (6)软件成本与开发进度难以估计. (7)软件技术的发展远远满足不了计算机应用的普及与深入

现代软件工程 第十四章 练习与讨论

15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test),你怎么看? 我猜想和踢足球类似,还是那几个原因: 人太牛: 不世出的天才,例如高德纳写书时发现排版软件不好用,就自己写了一个.也没听说他为这个软件项目请了什么独立测试人员.对了,他不读Email,有秘书帮他处理这些事——这也是一种分工! 有些软件工程师是在后台钻研和开发高难度的算法,或者做某种后台的处理工作,这个工作本身的难度较高,测试主要是自己通过工具完成.如果一定要找一个测试人员,这个测试人员的水平要相当高才行,如果水平那

《软件工程导论》读后感想与疑惑

<软件工程导论>读后感想与疑惑 疑问1: 根据2.1节我们知道可行性研究至少从技术.经济和操作可行性三个方面分析,那么应如何理解文中首句指出的:"可行性研究的根本目的不是解决问题,而是确定问题是否值得去解决." 疑问2: 按照教材内容编排顺序,可行性研究放在了需求分析之前.这意味着应该先进行可行性研究再进行需求分析吗?如果不是,那为什么不把需求放在前面呢,应如何理解这二者之间的关系? 疑问3: 在之前的课程中曾经学习过"管理信息系统"和"决策支

陈爽 软件工程导论week2.1

软件工程导论week2.1 第一章概论问题:1.程序=算法+数据结构  软件=程序+软件工程软件工程的目标是创造足够好的软件,可以从用户满意度,可靠性,软件流程的质量,可维护性等方面判断,但是我们没有自己做过大的软件工程体系的项目,之前做的新闻管理系统,就是十几条新闻做查询,增删改查等数据库操作,但是真正的新闻管理系统每天需要管理的新闻量达到上千条甚至上百万条,我们自己做出来的系统能否承受住这样大数据量的考验呢?如何从这几方面衡量标准来改善一下我们已经做过的新闻管理系统软件呢?2.学生电脑的系统

软件工程导论课后习题Github作业(把一个英文句子中的单词次序逆序,单词中字母正常排列)

Java源代码  package yly; import java.util.Scanner; public class ruanjian { public static void main(String[] args) { // TODO Auto-generated method stub String q = "how are you"; String[] aa=(String[]) q.split(" "); for(int i = aa.length ;i