文档介绍:软件需求分析
软件需求的含义及特点
软件需求(Software Requirements)是在业务需求分析和用户需求分析的基础上,从抽象的概念层次上确定系统的要素、构成和结构,得出系统的逻辑模型,并为系统设计提供依据。
(1) 内在性:站在系统内部的角度,分析软件系统的要素、构成和结构。
(2) 概念性:
第一,面向业务领域,反映业务概念;
第二,在较宏观和抽象的层次进行分析工作,一般不过多涉及具体细节;
第三,不涉及系统的实现环境。
(3) 一致性:软件需求所确定逻辑模型应该具有逻辑一致性,它要纠正需求模型中存在的冗余及错误。
特点:
(1)用例分析
用例分析包括提取用例涉及的概念类,确定概念类之间的关系,以及绘制用例分析类图和用例分析交互图三项工作。
(2)概念类分析
概念类分析(Conception Class Analysis)是对所提取的各概念类的职责、属性、关系和特殊需求所进行的分析。
软件需求的主要工作
概念类(Conception Class)是在概念层次上,对系统的抽象要素的一种称谓。
概念类主要来源于业务领域中的客观实体、系统与外界的交互处理和对系统要素的控制三个方面。
概念类面向用户需求,一般不考虑性能要求,具有突出业务领域、突出概念性及大粒度的特征。
UML把概念类分为实体类、边界类和控制类三种类型,并表示成为下图所示的两种形式。
概念类的类型
实体类(Entity Class)是系统表示客观实体的抽象要素。
例如,书店中的“书目”、“书单”、“书款”等。
实体类一般对应着在业务领域中的客观事物,或者是具有较稳定信息内容的系统元素。
实体类来源于业务分析中所确定的实体,实体字典是确定实体类的依据。
书目
书单
书款
边界类(Boundary Class)是描述系统与参与者之间交互的抽象要素。边界类只是对系统与参与者之间交互的抽象建模,并不表示交互的具体内容及交互界面的具体形式。
例如,“售书界面”用来抽象地描述售书员与书店系统的交互处理,见图。
控制类(Control Class)是表示系统对其它对象实施协调处理、逻辑运算的抽象要素。
例如,在书店系统中,“出售图书”就属于控制类,见下图。
用例分析是指从概念层次上对一个用例的分析及分析的结果。
用例分析的结果有两种图:
1)用例分析类图表示用例概念类结构;
2)用例分析协作图表示各概念类之间动态交互信息。
第一步: 用例分析