22分析面临的主要问题 1、问题域和系统责任复杂性日益增长 问题域( problem domain):被开发系统的应用领域, 即在现实世界中由这个系统进行处理的业务范围。 系统责任( system responsibilities):所开发的系统应 该具备的职能。 困难所在: 分析人员,多半不是问题域的专家;问题域专家多半 不是软件专家 系统所面临的问题域比以往更为广阔和复杂,系统比 以往更为庞大 硬件性能提高价格的下降;编程效率不断提高。对需 求分析的压力比其它开发阶段更为巨大
2.2 分析面临的主要问题 1、问题域和系统责任复杂性日益增长 问题域(problem domain):被开发系统的应用领域, 即在现实世界中由这个系统进行处理的业务范围。 系统责任(system responsibilities):所开发的系统应 该具备的职能。 困难所在: 分析人员,多半不是问题域的专家;问题域专家多半 不是软件专家; 系统所面临的问题域比以往更为广阔和复杂,系统比 以往更为庞大。 硬件性能提高价格的下降;编程效率不断提高。对需 求分析的压力比其它开发阶段更为巨大
2、交流问题 软件工程是非常“面向人的”,是一项思维活动、思想 交流和人为因素十分密集的工作 与用户和领城专家的交流 分析人员之间的交流 与用户和领域专家的再交流 与设计人员的交流 与管理人员的交流 如果分析所产生的文档使分析员以外的其他人员都很难 读懂,那就很不利于交流。这会使彼此的思想不易沟通, 并容易隐藏许多错误
2、交流问题 软件工程是非常“面向人的”,是一项思维活动、思想 交流和人为因素十分密集的工作。 ·与用户和领域专家的交流 ·分析人员之间的交流 ·与用户和领域专家的再交流 ·与设计人员的交流 ·与管理人员的交流 如果分析所产生的文档使分析员以外的其他人员都很难 读懂,那就很不利于交流。这会使彼此的思想不易沟通, 并容易隐藏许多错误
3、需求的不断变化 引起需求变化的因素 用户 客观原因,主观原因 竞争因素 经费 技术因素 软件开发者必须以合作的态度满足用户需求 易变部分和稳定部分 功能:最易变 外部接口:很易变 属性:较易变 对象:较稳定
3、需求的不断变化 引起需求变化的因素 用户 客观原因,主观原因 竞争因素 经费 技术因素 软件开发者必须以合作的态度满足用户需求 易变部分和稳定部分: 功能:最易变 外部接口:很易变 属性:较易变 对象:较稳定
软件复用的要求 复用级别提高分析结果复用 个分析模型中的可复用部分用于多个系统 个分析模型在多种条件下实现 对分析提出了更高的要求
4、软件复用的要求 复用级别提高——分析结果复用 一个分析模型中的可复用部分用于多个系统 一个分析模型在多种条件下实现 对分析提出了更高的要求
22分析方法综述 功能分解法( function decomposition) 功能分解=功能 +子功能 +功能接口 以系统需要提供的功能为中心来组织系统。 首先定义各种功能,然后把功能分解为子功能,同时定 义功能之间的接口 对较大的子功能进一步分解,直到可给出明确的定义 根据功能/子功能的需要设计数据结构。 优点与缺点: 直接地反映用户的需求,所以工作很容易开始。 不能直接地映射问题域,很难检验分析结果的正确性。 对需求变化的适应能力很差。 局部的错误和局部的修改很容易产生全局性的影响
2.2分析方法综述 功能分解法(function decomposition) 功能分解= 功能 +子功能 +功能接口 以系统需要提供的功能为中心来组织系统。 首先定义各种功能,然后把功能分解为子功能,同时定 义功能之间的接口。 对较大的子功能进一步分解,直到可给出明确的定义。 根据功能/子功能的需要设计数据结构。 优点与缺点: 直接地反映用户的需求,所以工作很容易开始。 不能直接地映射问题域,很难检验分析结果的正确性。 对需求变化的适应能力很差。 局部的错误和局部的修改很容易产生全局性的影响