软件系统分析是一个系统的过程,旨在明确软件系统的需求、设计、功能和性能。以下是软件系统分析的主要步骤和方法:
功能分析
工作域分析:确定系统应具备的功能(工作域)。
功能展开和分配:分析功能的结构,将功能展开并分配到相应的软件部件。
功能关系分析:分析各功能之间的关系,整理它们之间传递的信息。
数据流图:利用数据流图描述信息在系统中的流动与处理情况。
信息分析
输入/输出/保存信息:明确系统的输入、输出和保存信息。
信息结构关系:明确各信息之间的结构关系。
信息量调查:调查各信息的信息量。
报表和文件格式:调查各种报表和文件的格式。
数据词典:建立粗略的数据词典,定义系统中使用的数据。
环境分析
系统目的和限制条件:明确系统的目的和限制条件。
组织机构和计算机利用情况:了解使用单位的状况、经营方针和组织机构,以及计算机利用情况。
硬件、软件及其他接口:相关的硬件、软件及其他接口部分。
用户操作环境和要求:用户的操作环境及操作要求、习惯、法律、制度上对软件的制约。
物理分析
业务活动状况:了解实际业务活动状况,特别对一些活动要点进行分析。
物理流量分析:明确在这些要点之间什么东西在流动,如何进行流动。
物理模型:对物理流量进行模型化,得到实际业务系统的物理模型。
人类工程过程
活动分析:环境交互及划分任务,进行任务分析。
语义分析和设计:动作精确定义,“对话”设计。
语法和词法设计:各个动作和命令的形式,硬件与软件实现。
用户环境设计:将硬件、软件和其他系统生成元素组合起来。
结构化分析方法
自顶向下分析:通过将系统划分为一系列功能模块,建立数据流图和数据字典来描述系统的结构和行为。
功能分解和模块化:强调系统功能的分解和模块化,便于理解和设计。
面向对象分析方法
对象和类设计:识别对象及其属性,确定对每个对象可以做些什么,确定每一个对象可以对其他对象做些什么。
类关系图:系统结构级设计。
用例图:从外部视角描述系统的参与者(用户)与系统功能用例的关系。
部署图:描述系统的部署结构。
其他方法
可行性研究:包括经济可行性、技术可行性、运行可行性和法律可行性。
成本效益分析:估计新系统所需成本和可能产生的效益。
需求规格说明书:完全弄清用户对软件系统的确切要求,并用文档描述。
通过上述步骤和方法,软件系统分析旨在确保软件系统的需求被明确、设计合理、功能全面,并且满足用户和系统的期望。