软件工程常见分析手法

Posted yqj234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程常见分析手法相关的知识,希望对你有一定的参考价值。

软件生命周期由三部分组成:软件定义、软件开发、软件维护。
其中软件定义时期又可以分为三个阶段:问题定义、可行性研究、需求分析。
软件需求分析
需求分析
需求分析的特点
需求分析的原则
需求分析的任务
需求分析的方法
需求分析
需求分析处于软件定义时期的最后一个阶段,同时又处于软件正式开发起始阶段,关系到整个软件的开发和维护。
基本任务是回答“系统必须做什么”这个问题。该阶段要提交详细的数据流图、数据字典和算法描述。


需求分析的特点
困难点:
1.需求易变性
用户在开始时提出一些功能需求,当对系统有一定的了解后,会提出一些需求。以后随着理解的深入会不断提出新的需求。用户需求的变动是一个极为普遍的问题,即使是部分变动,也往往会影响到需求分析的全部,导致不一致性和不完备性。

2.问题的复杂性
一方面是由用户所涉及的因素繁多引起的,如运行环境和系统功能等;另一方面是扩展的应用领域本身的复杂性。

3.交流障碍
涉及人员较多,系统分析员要与软件系统用户、问题领域专家、需求工程师、项目管理员等进行交流。但是这些人具备不同的背景知识,处于不同的角度,扮演不同的角色,造成了相互之间交流的困难。

4.不完备性和不一致性
由于用户各类人员对于系统的要求所处的角度不一样,所以对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾。需求分析要消除其矛盾,形成完美及一致的定义。

需求分析的原则
为使需求分析科学化,在软件工程的分析阶段中提出了许多需求分析方法。但要遵循一下原则:
(1)把复杂问题按功能进行分解并逐层细化。
(2)必须能够表达和理解问题的数据域和功能域。
(3)建立模型。

需求分析的任务



1.问题明确定义
在可行性研究的基础上,双方通过交流,对问题都有进一步的认识,所以可确定对问题的综合需求:
(1)功能需求
(2)性能需求
(2)环境需求
(2)用户界面需求
(2)系统的可靠性、安全性。可移植性、可维护性等需求

2.导出软件的逻辑模型
分析人员根据前面获取的需求资料,要进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。同时对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分。最后要用图文结合的形式,建立起新系统的逻辑模型。

3.编写文档
通过分析确定了系统必须具有的功能和性能,定义了系统中的数据,描述了数据处理的主要算法。应该把分析的结果用正式的文件记录下来,作为最终软件的部分材料。


需求分析的方法
1.功能分解法(将一个系统看成是若干功能的集合)
功能分解=功能+子功能+功能接口

2.结构化分析方法(研究数据如何流动以及各端点如何处理)
结构化分析=数据流+数据处理(加工)+数据存储+端点+处理说明+数据字典

3.信息建模方法
信息建模=实体(对象)+属性+关系+父类型/子类型+关联对象

4.面向对象的分析
面向对象=对象、类+结构与连接+继承+封装+消息通信
 

 ​​​​​​​

以上是关于软件工程常见分析手法的主要内容,如果未能解决你的问题,请参考以下文章

软件工程常见分析手法

计算机网络攻击的常见手法

软件设计---高层设计:共性可变性分析和分析矩阵

阅读任务-阅读笔记1

浅析10种常见的黑帽seo手法

qc七大手法:关系图法、KJ法、系统图法、矩阵图法、矩阵数据分析法、PDPC法、网络图法的内容是啥