-1-
绪 论
自进入90年代以来 , 企业竞争日益激烈 。 但不论企业生产的产品如何不同 , 它们的根本目标都是要 制造出满足顾客需求的产品 , 同时努力缩短产品的开发周期 , 降低产品的成本 , 提高产品质量 , 这样才能提高企业的竟争力 。
随着时代的发展 , 计算机与网络的普及大大改变了人们的生活方式 、 消费观念 。 人们日益要求与众不同、 富有个性和时尚品味的商品 , 消费特点呈求新 、 求变的趋势 。 这就对企业的生产提出了新的要求 , 一是需由原来的大规模统一化生产向小批量 、 多品种 、 按需定做的方向转变 , 二是如何不断地改进产品 , 发 明新产品 , 并且最大限度地缩短从新产品的概念生成到通过销售产品产生现金流的时间。 如何系统 、 全面地获取用户对产品的需求 , 并将这种要求贯穿于产品设计开发的全过程 , 真正生产出用户认可的产品 , 成为企业生产过程中的一大关键任务 。 该文将探讨如何将面向对象软件需求分析方法运用于机械产品需求分析阶段 。
-2-
软件需求分析与机械产品需求分析
正如世间万物一样 , 软件和机械产品都有着自己的生命周期 。 软件的生存期分为制定计划 , 需求分析和定义 , 软件设计 , 程序编写 , 软件测试 , 运行 / 维护。 机械产品的全生命周期,包括 : 市场调研 , 需求分析 , 概念设计 , 详细设计 , 制造 , 销售使用 , 报废 。
软件需求分析是软件开发的基础 。 通过软件需求分析 , 将软件功能和性能 的总体概念描述为具体的软件 需求规格说明书。 需求分析阶段研究 的对象是软件项 目的用户要求 。 软件需求分为功能需求和非功能需求。
机械产品需求分析是要确定对产品的各种要求 , 并以精确而中性的形式描述产品的信息 , 制订产品设计说明书 。 标准的产品设计说明书中阐明为完成 特定的功能和动作需要而对产品结构所做的要求 , 包括性能 、 质量 、 可靠性 、 安全性、 产品生命周期 、 美学 、 人类工程学等方面的要求。
软件需求与机械产品需求的比较见表 1。
由表1可看出软件需求与机械产品需求具有很大的类比性 , 因此可以考虑将软件需求分析方法应用于机械产品的需求建模中。 现有的机械产品需求建模缺少系统化的工具 , 完善统一的表达方法以及对后续各阶段的支持 , 而这些正是软件需求分析方法所具有的优点。
-3-
软件需求分析方法
常用的软件需求分析方法有面向数据流的结构化分析方法 (SA ), 面向数据结构的Jackson方法(JSD),面向对象的分析方法以及用于建立动态模型的状态迁移图或 Petri网等。该文中采用 OOSE的用例图方法 。 OOSE (Object-Oriented software Engineering)是Jacobson在1992年提出的用例驱动的面向对象开发方法 。 用例图现已成为标准建模语言UML的一部分。用例 (use case)是指用户使用系统时所执行的一个与行为相关的事务系列 , 这个系列是在与系统的会话中完成的。 每一个用例都是使用系统 的一条途径 , 是用户与计算机之间的一次典型交互作用 。 用例图描述的是参与者 (actor)所理解的系统功能。参与者与用户不同,参与者是用户在使用系统时所充当的角色。
通过用例图建立需求模型的3个步骤阅:
(l) 寻找参与者
获取用例首先要找出系统的参与者 。可以通过一些问题的答案来识别参与者 , 如:谁使用系统的主要功能(主要使用者 );谁需要系统支持他们的日常工作;谁来 维护 、管理使系统正常工作脯助使用者);系统需要操纵哪些硬件;系统需要与哪些其它系统交互 , 包含其它计算机系统和其它应用程序;对系统产生的结果感兴趣的人或事物。
(2) 寻找用例
一旦确定了参与者 , 就可以对每一个参与者提出问题以获取用例 , 如:参与者要求系统提供哪些功能渗与者需要做什么)?;参与者需要读 、 产 生 、删除 、修改或存贮的信息有哪些类型;必须提醒参与者的系统事件有哪些 ? 或者参与者必须提醒系统的事件有哪些? 怎样把这些事件表示成用例中的功能 ?为了完整地描述用例 , 还需要知道参与者的某些典型功;能否被系统自动完成 ;系统需要何种输人输出? 输人从何处来 , 输出到何处去。当前运行系统 (也许是一些手工操作而不是计算机系统)的主要问题 。
(3) 建立用例间的关系
用例间的关系有使用(use)和扩展(extend)关系。 使用和扩展是两种不同形式的继承关系。 当一个用例与另一个相似 , 但所做的动作多一些 , 可以用到扩展关系。 当有一相似的动作存在于几个用例中 , 又不想重复描述该动作时 , 可用到使用关系。
用例间的关系有使用(use)和扩展(extend)关系。 使用和扩展是两种不同形式的继承关系。 当一个用例与另一个相似 , 但所做的动作多一些 , 可以用到扩展关系。 当有一相似的动作存在于几个用例中 , 又不想重复描述该动作时 , 可用到使用关系。
-4-
用例图在机械产品需求模中的应用
如果想将用例图这一软件需求分析方法应用于机械产品的需求建模中,首先要考虑的是机械产品与软件之间存在的差别 。
机械产品有外型和结构的特点 , 以物理实体的形式存在 ;而软件以存贮介质为载体而存在 , 其本身是逻辑实体 , 无具体形态。 这种差异主要体现在详细设计阶段 。机械产品的生产遵循边界递减效益原则 , 而软件业是典型的边界递增效益 , 其第一件产品成本昂贵 , 而以后的第N(N>1)件产品的成本基本等于拷贝成本 。 这种差异主要体现在制造过程与成本的消耗计算上。
机械产品与软件在需求分析阶段的不同主要体现在 :
----用户依性别性别 、年龄、收人、健康状况等个体特征不同在使用机械产品的过程中所产生的功能需求不同 , 而在使用软件过程中 , 用户依其担当的角色不同而产生的功能需求不同。
----机械产品的使用使用过程中产品功能隐含在动作中 , 而在软件的使用中功能直接等于操作动作。
因此 , 具体到用例图在机械产品需求分析中的运用便会与在软件需求分析中的定义有所不同:
----在软件需求分析中,参与者是用户使用系统时充当的角色,角色是与系统功能对应的,而在机械产品的需求分析中,由于相同角色在以相同动作使用产品时所产生的功能需求可能不尽相同,所以参与者是指具有差异性特性的用户。
----在软件需求分析中,用例是系统执行的一系列动作,这些动作直接就是参与对系统的功能要求。而在机械产品的需求分析的用例图中,参与者的动作隐含了对系统的功能要求,并且还需由用例图眏射出功能要求。
表2为用例图在软件与机械产品需求分析中的不同定义:
采用用例图对机械产品需求建模的四步骤 :
(1 )寻找参与者
首先要找出在产品的全生命周期中所有与产品有关联的人 , 并以各种差异性特征来区分他们 。 可以通过用户回答一些问题的答案来识别参与者 , 如 :1)谁使用产品的主要功能;2)谁在日常的生活工作中需要使用产品;3)谁来购置 、搬运 、安装 、修理 、回收产品。
(2 )寻找用例
一旦确定了参与者 , 就可以对每一个参与者提出问题以获取用例 , 如 :1)参与者要求产品提供哪些功能 (参与者需要用产品做什么 );2)参与者需要操作哪些动作;3)产品可能在什么样的环境中使用 , 环境对产品的使用有什么限制;产品的使用需要什么外部输人(能源、原料 、信号等 ), 会产生什么输出。4)当前产品使用中存在的主要问题。
(3) 建立用例间的关系
(4) 映射用例到功能需求
-5-
应用实例
文章以自行车为例采用用例图的方法进行需求分析建模 。 在生成用例图时 , 遵从先高层次后低层次的原则 。
在获得用例图后 , 还需将用例映射到功能需求。
-6-
结 论
该文通过对软件与机械产品的需求进行比较 , 说明了将软件需求分析方法应用于机械产品的需求分析建模的可行性 。 同时通过对OOSE的用例图方法进行详细分析与扩展 , 说明了在对用例图的基本概念进行置换后可直接使用用例图方法对机械产品的需求进行建模。 这种机械产品需求建模方法具有系统化 、表达方式直观简洁 、支持全生命周期后续各阶段等特点 。
#The End #
作者:凌劲如,饶学寨,邓家提
图片来源:互联网
-------------------------------------------------------
本内容来源于互联网,版权归原作者所有,供学习交流使用,严禁商用,如有侵权请联系我们删除。
-------------------------------------------------------