网站大量收购闲置独家精品文档,联系QQ:2885784924

SW03软件需求剖析.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SW03软件需求剖析

处理两个进程的同步问题 * * * * * * * * * * * * 原型使用策略 废弃策略 追加策略 殷人昆: 建立快速原型,进行系统的分析和构造的好处: 增进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化。 软件原型化方法提供了一种有力的学习手段。 使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。 软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。 原型开发技术 可执行规格说明 基于脚本(scenario)的设计 自动程序设计 专用语言 可复用(reusable)的软件 简化假设 ? 可执行规格说明 可执行规格说明是用于需求规格说明的一种自动化技术。使用这种方法,人们可以直接观察他们用语言规定的任何系统性行为。包括 代数规格说明 有限状态模型 可执行的数据流图 ? (1)代数规格说明 代数规格说明使用集合、定义于这些集合上的函数和定义于这些函数上的方程来描述对象。规格说明的操作语义用这些方程表示。 NEW_STACK:→ Stack PUSH:Stack,Element → Stack POP: Stack → (Element | Undefined) POP (NEW_STACK ( ) ) = Undefined POP (PUSH ( stk,elem ) ) = elem 其中,前三行定义了操作的语法,后两行把它们的语义定义为一些方程。 举例:定义一个无界的栈及其操作 ? (2)有限状态模型 parnas提出的使用最广泛的一种可执行规格说明形式。从一个初始状态开始接收输入,到产生输出,状态在推移变化。施加在状态元素上的约束确定了有效状态的推移。 举例:建立用户/程序对话 ? (3)可执行的数据流图 数据流图是基于结构化开发方法的结构化规格说明 用一种可执行的语言程序代替定义处理逻辑的结构化英语,数据流图就成为由可执行语言程序模块组成的网络,在一定环境或工具的支持下就可成为一个可以执行的原型系统。 ? 基于脚本的设计 脚本是指用户界面的原型。一个脚本用以模拟在系统运行期间用户经历的事件。它提供了输入─处理─输出的屏幕格式和有关对话的模型。因此,软件开发者能够给用户显示系统的逼真的视图,使用户得以判断是否符合他的意图。 可在任一脚本中使用一套可复用的软件模块,以表达某一方面的要求。 可使用一种原型语言来描述原型系统。原型开发过程中用这种语言来定义屏幕、数据项、及其相关的操作。从系统的外部描述开始,开发与数据库的接口、错误处理和恢复过程等系统的与外部视图一致的细节。 ? 自动程序设计 自动程序设计是指在程序自动生成环境的支持下,利用计算机实现软件的开发。它可以自动地或半自动地把用户的非过程式问题规格说明转换为某种高级语言程序: 演绎综合手段: 基于数学推理的构造式证明。 程序变换手段: 将一程序转换成另一功能等价的程序,并保持其正确性不变。 实例推广手段: 从实例特征出发,将它推广为待编程序的特征,最后得到程序。 过程化手段: 研究甚高级语言的编译和知识的过程化。 ? 专用语言 专用语言是应用领域的模型化语言。在原型开发中使用专用语言,可方便用户和软件开发者在计划中的系统特性方面的交流。 ? 软件复用技术 利用可复用的模块,做出适当的组合,就可得到快速构造的原型系统。 为了快速地构造原型,这些模块首先必须有简单而清晰的界面;其次它们应当尽量不依赖其它的模块或数据结构;第三,它们应具有一些通用的功能。 ? 简化假设 简化假设是在开发过程中使设计者迅速得到一个简化的系统所做的假设。尽管这些假设可能实际上并不能成立,但它们在原型开发过程中可以使开发者的注意力集中在一些主要的方面。 ? 在修改一个文件时,可以假设这个文件确实存在 在存取文件时,待存取的记录总是存在 一旦计划中的系统满足用户所有的要求,就可以撤消这些假设,并追加一些细节。 ? 系统动态分析 系统的需求规格说明通常是用自然语言来叙述的,但是用自然语言描述往往会出现歧义性。 为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。 最常用的动态分析方法 状态迁移图 时序图 Petri网 状态迁移图 状态迁移图是描述系统的状态如何相应外部的信号进行推移的一种图形表示。 圆圈“○”表示可得到的系统状态 箭头“→”表示从一种状态向另一种状态的迁移。 例如, 当有多个申请占用CPU运行的进程时, 有关CP

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档