软件工程结构化分析

需求分析的概念

需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么”这个问题。也就是对目标系统提出完整、准确、清晰、具体的要求。在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面的形式准确描述软件的需求。

具体来说,可以将系统的需求分为功能需求和非功能需求两大类,具体可以分为如下8种类型:

功能需求:这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。例如:如果旅客预定机票过程中没有指定座位偏好,机票预订系统就应当随机为它分配。

非功能需求:非功能需求描述了系统必须展现的属性或特性和必须要遵守的约束,包括系统在性能、可靠性和可用性、接口、约束等方面的特征。

一、乘客应当能够随时打印自己已经办好登机手续的所有航段的登机牌,

如果乘客信息没有指定座位偏好,机票预订系统就应当为它分配

你的第一题回答为:(功能需求)

二、机票预定系统在一个月内发生故障的次数低于三次,

系统中存储的数据应该避免发生缺失

你的第二题回答为:(可靠性需求)

三、机票预定系统在处理一个业务请求平均响应时间为100ms,

系统支持的QPS(Query Per Second,每秒处理请求数)在500以上

你的第三题回答为:(性能需求)

四、因乘客身份认证未通过导致机票预定失败时,机票预定系统会给用户显示错误提示并给出反馈,同时通知人工客服来进行进一步核实

你的第四题回答为:(出错处理需求)

五、在任何时刻机票预定系统中的服务器或备份服务器至少有一个是可用的,一个月内系统中的不可用时间不能超过系统运行总时间的3%

你的第五题回答为:(可用性需求)

六、机票预定系统应该提供第三方的登录和支付接口

你的第六题回答为:(接口需求)

七、乘客不能预定同一时间点的多张机票

你的第七题回答为:(逆向需求)

八、机票预定系统需要按照国际化(用户界面提供多种语言)进行开发

你的第八题回答为:(约束)

九、机票预定系统应该为以后多家航空公司的入驻提供预留空间

你的第九题回答为:(将来可能提出的需求)

结构化分析的概念

结构化分析的定义

结构化分析(Structured Analysis,SA)是指20世纪70年代末,由Demarco等人提出的,是面向数据流进行需求分析(Requirements Analysis,RA)的方法,旨在减少分析活动中的错误,建立满足用户需求的系统逻辑模型。

结构化分析的要点

根据软件内部数据传递、变换的关系,采用自顶向下,逐层分解的方法,经过一系列分解和抽象,建立系统的逻辑模型。结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。

结构化分析的方法

结构化分析方法给出了一系列帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用数据流图、数据字典及描述加工逻辑的结构化语言、判定表和判定树等工具来建立一种结构化的目标文档和需求规约说明书。

  1. 数据流图(Data Flow Diagram,DFD):描述系统由哪几部分组成,各部分之间有什么联系。
  2. 数据字典(Data Dictionary):定义了数据流图中每一个图形元素。
  3. 结构化语言、判定表、判定树:详细描述数据流图中不能被再分解的每一个加工。

结构化分析的优缺点

结构化分析方法是通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;并将分析的结果用图形表示,方法简单,易于掌握和使用,是一种行之有效的方法。但它也具有一定的局限性,主要表现在:

  1. 结构化分析方法要求对系统有完整确切的需求定义,这是非常困难的。
  2. 结构化分析方法需要书写大量的文档,随着分析的深入,这些文档需要及时进行更新,即使在工具的辅助下,仍有一定的难度。
  3. 结构化分析方法描述的模型仅仅是书面的,因此该方法的人机界面表达能力差,很难使从中及时地获得用户的反馈信息。

结构化分析的组成

结构化分析方法主要包括以下4个部分:

  1. 信息域,数据模型(E-R图)
  2. 软件功能,功能模型(数据流图)
  3. 软件行为,行为模型(状态/活动图)
  4. 分层细化

来源:Lw中

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月1日
下一篇 2022年4月1日

相关推荐