CN100485612C - 软件需求获取系统 - Google Patents

软件需求获取系统 Download PDF

Info

Publication number
CN100485612C
CN100485612C CNB2006101130559A CN200610113055A CN100485612C CN 100485612 C CN100485612 C CN 100485612C CN B2006101130559 A CNB2006101130559 A CN B2006101130559A CN 200610113055 A CN200610113055 A CN 200610113055A CN 100485612 C CN100485612 C CN 100485612C
Authority
CN
China
Prior art keywords
user
demand
field
preference
notion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006101130559A
Other languages
English (en)
Other versions
CN101140513A (zh
Inventor
王青
赵玉柱
王继喆
舒风笛
李明树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CNB2006101130559A priority Critical patent/CN100485612C/zh
Publication of CN101140513A publication Critical patent/CN101140513A/zh
Application granted granted Critical
Publication of CN100485612C publication Critical patent/CN100485612C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了一种软件需求获取系统。该需求获取系统以用户主导的方式加强用户在需求获取过程中的参与,并为用户在表达其需求时提供个性化的基于领域知识的支持,包括用户偏好的预测和调整、领域需求项的推荐和多用户协同需求获取的建议;支持复杂应用领域中的用户以目标和用例的方式定义其需求,同时支持领域专家对领域需求资产的获取和优化,从而更有效地实现领域知识的复用,以最终获取高质量的需求。本发明所实现的个性化领域知识支持的需求获取系统不但可以满足一般软件需求获取的要求,还能够满足具有跨地域、多用户、用户组织结构复杂、应用领域知识丰富、协同获取等特点的软件需求获取。

Description

软件需求获取系统
技术领域
本发明涉及一种应用于计算机软件开发过程的软件系统,特别是一种用于获取模型化软件需求的软件需求获取系统,属于计算机软件开发技术领域。
背景技术
随着应用软件与社会系统环境关系的日趋密切,软件需求受社会、认知和组织等因素的影响也越发显著。在这种情况下,受知识背景、资源和经验等方面因素的限制,软件开发人员往往难以充分理解以待开发软件的用户为代表的需求拥有者所处的问题空间,与用户的交流也比较困难(由于待开发软件的用户是需求拥有者的典型代表,因此下文中使用“用户”来指代“需求拥有者”)。软件开发人员按照传统的软件工程方法和技术,难以从用户处获得正确的需求,尤其是对于涉及到丰富领域知识、具有多种角色且组织结构复杂的多用户应用软件。让用户在需求过程中发挥主导作用是解决该问题的一个很直接的办法。事实上,用户的参与程度对于项目成败的重要影响已经得到公认。然而,由于用户通常对问题仅具有模糊且局部的认识和理解,并且通常对于软件开发领域知之甚少,因而难以系统、全面地表达出自己的需求。
在目前的技术水平下,降低问题复杂度、提高技术可行性的一个重要手段是面向特定领域。领域工程通过对问题空间的分解和归类,使得问题空间到解空间的转换初步具备了稳定性,从而对于特定领域内系统化的软件重用提供了基本的支持,对于提高软件开发率和软件质量具有很大的推动作用。然而领域工程更多地是为设计和实现阶段的重用提供支持,因此,人们开始寻求新的方法和范型,将领域分析和需求获取相结合,并在需求工程中进行领域知识的重用。已有一些相应的工作强调领域知识在需求工程中的作用,包括组织模型、业务模型的重要性,并提供一些需求框架来引导需求工程活动,或直接利用领域知识,以支持需求获取和需求分析。
由于通常情况下用户对问题的认识和理解模糊,难以系统、完整地给出自己的需求,因此,为用户提供最相关的领域需求信息供其参考及复用,是提高需求质量的有效方法。但目前这方面并没有很好的研究成果,其原因除通过需求框架等方式给出的提示信息不充分外,另一个重要原因就在于忽视了用户的个体差异和用户任务的上下文环境。事实上,在复杂社会系统中,很多应用软件都是多用户的,这些在组织和任务等方面存在关联的用户有不同的背景、目的和任务,相应的知识结构和内容也不尽相同。此外,对于多用户系统,需要拥有局部需求的多用户进行协同,才能得到完整、一致的系统需求。
发明内容
鉴于复杂应用领域中多用户的需求获取存在的困难和现有技术的缺陷,本发明的目的是提供一种个性化领域知识支持的软件需求获取系统,适合于互联网/局域网环境下的软件需求获取。不但可以满足一般系统进行软件需求获取的要求,还能够满足具有跨地域、多用户、用户组织结构复杂、应用领域知识丰富、协同获取等特点的软件需求获取。该需求获取系统面向两类使用者:待开发软件的用户和领域专家。该系统为用户提供了以目标和用例的方式描述其需求的支持,并且基于用户特征模型和行为信息计算和调整用户的偏好,进而根据领域知识为用户提供可复用的领域需求资产,此外还通过计算用户任务与其他用户的关联给出用户间的协同建议。该系统为领域专家提供了对领域需求资产进行获取和优化的支持,从而更有效地支持领域知识的积累和复用,以最终获取高质量的需求。
为实现上述的发明目的,本发明采用下述的技术方案:
所述系统采用浏览器/服务器/数据库三层结构,应用于互联网/局域网上。如图1所示,三层结构分别包含如下的内容:
(1)浏览器层包括用户和领域专家的基于浏览器的操作界面,以及对外部工具的接口;
(2)服务器层包括以下功能模块:用户建模、基于目标和用例的需求获取与建模、个性化领域知识支持、领域需求资产获取与管理以及外部工具接口等;
(3)数据库层包括用户信息库、领域用户库、领域本体库、项目需求库和领域需求库。
其中,所述数据库层的五个数据库分别存储如下的内容:
(1)用户信息库存储用户的角色和用户间关系,以及用户对领域概念的偏好;
(2)领域用户库存储应用领域中的各种用户角色及各角色用户间可能存在的关系;
(3)领域本体库存储应用领域中的本体,即领域中的概念及其相互关系;
(4)项目需求库存储用户以目标和用例的方式定义的项目需求,以及项目基础数据,即为项目所需但不存在于领域数据中的概念及概念间关系、用户角色等;
(5)领域需求库存储应用领域中可重用的软件需求项,包括目标和用例等,是向用户推荐的领域知识的主要来源。
所述服务器层的五个功能模块分别包含如下的功能:
(1)用户建模模块用于用户模型的建立和编辑,所述的用户模型包括用户角色、用户间关系和用户偏好等;
(2)基于目标和用例的需求获取与建模模块用于目标获取、用例获取和项目基础数据更新,为用户提供以目标和用例的方式获取需求,以及更新项目基础数据的支持;
(3)个性化领域知识支持模块包括以下四个算法:用户偏好预测算法和基于用户行为的偏好调整算法用于为用户建模模块提供用户偏好的预测和调整支持;领域需求项推荐算法和多用户协同需求获取建议算法用于在目标和用例的获取过程中为用户提供个性化基于领域知识的可复用需求项和协同建议;
(4)领域需求资产获取与管理模块用于针对某一类应用领域,领域专家对领域需求资产的获取、编辑和优化,所述的领域需求资产包括领域内的概念本体、目标、用例、用户角色和关系等;
(5)外部工具接口模块用于为外部系统和工具提供可扩展标记语言(ExtensibleMarkup Language,XML)格式的需求工程制品。
其中,系统提供的四种个性化的领域知识支持算法分别进行如下的处理:
(1)用户偏好的预测:根据当前用户及其参照用户已定义的偏好,以及概念间的关联程度来预测当前用户未定义的偏好,其中,参照用户(reference user)定义如下:若该用户属于已定义角色,则其参照用户为该角色的其他用户,否则为所有其他用户。
(2)用户偏好调整:根据用户对概念的实际访问次数占对所有概念访问次数的百分比,与该用户对概念的偏好值占该用户对所有领域本体偏好值总和的百分比之间的差异值,对偏好进行调整,使其更符合用户对概念的实际访问情况。
(3)领域需求项推荐:基于当前用户的偏好及其在需求获取过程中的当前任务,对于领域需求库中的每个需求项(包括目标和用例),根据用户对其关键词的偏好值以及该需求项与当前任务之间的关联程度进行打分,分值高的需求项优先推荐。
(4)多用户协同需求获取建议:如果当前用户的相关用户(related user),即与当前用户存在如上下级、协同等关系的用户对任务属性的偏好大于预定义的阈值,则根据用户间关系为当前用户提供分派、提交、协助等协同需求获取的建议。
用户使用所述系统以用户主导的方式进行需求获取,步骤如下:
(1)输入用户角色、关系和偏好等信息,建立用户模型;
(2)进行目标获取,目标采用“与/或”目标树的形式来组织;
(3)如果目标是可操作的,则为目标进行相应用例的获取;
(4)如果目标树的所有叶节点都是可操作目标且定义了相应的用例,则需求获取完成,否则回到步骤(2)继续进行获取。
其中,系统提供的个性化领域知识支持体现在:在步骤(1),用户会得到用户偏好预测的支持;在步骤(2)和(3),多用户以协同的方式进行工作,用户得到领域需求项推荐、多用户协同需求获取建议以及用户偏好调整的支持。
领域专家使用所述系统通过下列两个步骤的反复执行实现领域需求资产的积累和优化,直到项目结束:
(1)获取领域需求资产;
(2)根据项目数据对领域需求资产进行更新和优化;
以上说明了软件需求获取系统的结构和功能,并说明了如何使用该系统。本领域的技术人员应当理解,使用目标或用例表达需求是本领域的公知,不属于本发明对现有技术改进的内容,因此本说明书不再对其进行详细描述。
本发明所实现的个性化领域知识支持的软件需求获取系统不但可以满足一般软件需求获取的要求,还具有以下的特点:基于浏览器/服务器/数据库三层结构,适用于互联网/局域网环境,能够满足跨地域、分布式的需求获取的要求;支持多用户使用,并基于用户组织结构和领域知识提供多用户协同建议,以支持协同获取;加强用户参与,并通过推荐领域需求项来加强领域知识的复用,以提高需求质量;支持领域专家对领域需求资产的获取和优化,更有效地支持复杂应用领域的领域知识的积累和复用等。因此,与现有技术相比,本发明提供的系统能灵活广泛地应用于各种软件的需求获取,具有很好的应用前景。
附图说明
图1为个性化领域知识支持的用户主导需求获取系统的逻辑结构示意图;
图2为本发明所述的个性化领域知识的算法框架示意图;
图3为软件需求获取系统的实现结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明,所举的例子来自开发一个物料管理软件的需求获取,本领域技术人员应能理解,实施例中所述的具体应用领域不应构成对本发明的限制。
(一)数据库层:个性化的领域知识支持的数据基础
如图1所示,在所述需求获取系统的数据库层中,领域本体库、领域用户库、用户信息库、领域需求库和项目需求库是所述个性化的领域知识支持的数据基础。下面详细描述这五个数据库。
1.领域本体库
包含该领域中的概念及其相互关系。
定义1.概念表示为一个二元组Concept=(C_Name,Description),其中:
C_Name为概念的名称,在无歧异的情况下可用于指代该概念;
Description为概念的非形式化描述,通常为自然语言;
例如,概念“物料管理”用XML语言表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<Concept>
  <C_Name>物料管理</C_Name>
  <Description>物料储存、移动、数量、价值、状态变化的管理</Description>
</Concept>
定义2.概念间的关系表示为一个四元组ConceptRelation=(C_Name1,C_Name2,C_RelationType,Weight),其中:
C_Name1和C_Name2为该关系所关联的两个概念的名称;
C_RelationType为概念间关系的类型,同义(近义)、上义和下义是三种最常见的领域无关的概念间关系;
Weight为关系的强度,是值域为[0,1]的有理数,值越大表示关系的强度越大。
例如,概念“物料管理”和“库房管理”的关系用XML语言表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<ConceptRelation>
  <C_Name1>物料管理</C_Name1>
  <C_Name2>库房管理</C_Name2>
  <C_RelationType>上义</C_RelationType>
  <Weight>1</Weight>
</ConceptRelation>
定义3.语义族:对于每个概念c,其语义族SF(c)包括所有与其有同义/近义、上义或者下义关系的概念。
例如,概念“物料管理”的语义族SF(物料管理)={采购管理,库房管理,……}
2.用户信息库
包含用户的角色和用户间关系,以及用户对领域概念的偏好。
定义4.用户表示为一个二元组User=(U_Name,Role),其中:
U_Name为用户的名称,在无歧异的情况下可用于指代该用户;
Role为应用领域的用户角色,例如物料管理系统的物料管理员、采购人员。
定义5.用户间的关系表示为一个三元组UserRelation=(U_Name1,U_Name2,U_RelationType),其中:
U_Name1和U_Name2为该关系所关联的两个用户的名称;
U_RelationType为用户间关系的类型,我们关注领域无关的用户关系,如上下级关系、协同关系等。
例如,物料管理经理A与审核人员B是协同的关系,用XML语言表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<UserRelation>
  <U_Name1>A</U_Name1>
  <U_Name2>B</U_Name2>
  <U_RelationType>协同</U_RelationType>
</UserRelation>
定义6.用户对概念的偏好表示为一个三元组UserConceptPreference=(U_Name,C_Name,Preference),其中:
U_Name同定义4中的U_Name;
C_Name同定义1中的C_Name;
Preference为用户对概念的关注程度,以值域为[0,10]的有理数表示,称为偏好值,值越大表示该用户越关注该概念;
例如,物料管理经理A对概念“库房管理”的偏好值为9,用XML语言表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<UserConceptPreference>
  <U_Name>A</U_Name>
  <C_Name>库房管理</C_Name>
  <Preference>9</Preference>
</UserConceptPreference>
相对于很多适应性系统或推荐系统直接建模用户对被访问实体的偏好,本发明选择根据领域概念本体建模用户偏好,一是因为采用本体便于知识的共享和重用,且更贴近我们建模用户偏好的目的,即在一定程度上表达该用户的领域知识结构;二是实体的更新和变化比领域本体的演化频繁,所以根据领域本体建模用户偏好能获得更好的可持续性。
3.领域用户库
包含领域内的各种用户角色,以及各角色用户间的典型关系,供用户定义其角色和关系时参考。
定义7.角色间的典型关系表示为一个三元组RoleRelation=(Role1,Role2,U_RelationType),其中:
Role1和Role2为该关系所关联的两个用户角色;
U_RelationType同定义5中的U_RelationType,
例如,物料管理经理与审核人员是协同的关系,用XML语言表示为:
<?xml version=″1.0″encoding=″UTF-8″?>
<RoleRelation>
  <Role1>物料管理经理</Role1>
  <Role2>审核人员</Role2>
  <U_RelationType>协同</U_RelationType>
</RoleRelation>
4.领域需求库
包含了可重用的软件需求项,是向用户推荐的信息的主要来源。
定义8.领域目标表示为一个六元组Goal=(G_Name,G_Description,Keywords,G_Operable,C_Relation),其中:
G_Name为目标的名称,在无歧异的情况下可用于指代该目标;
G_Description为目标的非形式化描述,通常为自然语言;
Keywords为目标的关键词集合,目标以领域本体库中的概念作为关键词;
G_Operable表示目标是否可操作,取值为“是”或“否”,可操作的目标有对应的用例,不可操作的目标需要继续分解为子目标;
C_Relation为该目标的子目标间的关系,取值为“与”关系或“或”关系。“与”关系是指当子目标都被满足时父目标才被满足,“或”关系是指当有一个子目标被满足时父目标就被满足。
定义9.领域用例表示为一个六元组UseCase=(UC_Name,UC_Description,Keywords,Actors,ForeignSystems,Interactions),其中:
UC_Name为用例的名称,在无歧异的情况下可用于指代该用例;
UC_Description为用例的非形式化描述,通常为自然语言;
Keywords为用例的关键词集合,用例以领域本体库中的概念作为关键词;
Actors为用例的活动者集合;
ForeignSystems为用例的外部系统集合;
Interactions为活动者与系统的交互流程;
定义10.目标与用例的对应关系表示为一个二元组GoalUseCaseRelation=(G_Name,UC_Name),其中:
G_Name同定义6中的G_Name;
UC_Name同定义7中的UC_Name,为该目标所对应的用例的名称。
例如,下面是用XML语言描述的领域需求项:目标“查询物料信息”:
<?xml version=″1.0″encoding=″UTF-8″?>
<Goal>
  <G_Name>查询物料信息</G_Name>
  <G_Description>查询物料的申请、订购、进货、验收、领退料等步骤的相关签核人
  员及明细资料</G_Description>
  <Keywords>查询,物料,申请,订购,进货,验收,领退料,签核人员</Keywords>
  <G_Operable>否</G_Operable>
  <C_Relation>与</C_Relation>
</Goal>
5.项目需求库
项目需求库存储用户以目标和用例的方式定义的项目需求,以及项目基础数据,即为项目所需但不存在于领域数据中的概念及概念间关系、用户角色等。其中,目标与用例的定义同领域需求库,概念及概念间关系的定义同领域本体库,用户角色的定义同领域用户库。
(二)个性化领域知识支持的算法
基于上述数据基础,所述个性化领域知识支持通过四个算法(图2)实现:基于联合过滤(Collaborative Filtering,CF)算法的用户偏好预测算法、基于用户行为的用户偏好调整算法、基于本体的领域需求项推荐算法和多用户协同需求获取建议算法。下面详细描述这四个算法。
1.所述基于联合过滤算法的用户偏好预测算法如下:
复杂领域内概念数目众多,用户难以一一定义其偏好,本算法提供用户偏好预测的支持。本算法要求用户先定义其对部分概念的偏好,再根据该用户及其参照用户已定义的偏好、用户间的关系、以及概念间的关联程度来预测该用户未定义的偏好。对任意用户ui和领域概念cj,令si,j表示ui对cj的偏好值,Ii表示目前用户ui已定义了偏好值的领域概念的集合,/Ii/表示集合Ii的元素数目,Si表示用户ui已定义的偏好值的平均值,则有:
s &OverBar; i = &Sigma; c j &Element; I i s i , j / | I i | - - - ( 1 )
不妨假定用户ua的参照用户集合为 { u i | 1 &le; i &le; I , a &NotElement; [ 1 , I ] } ,则系统预测用户ua对概念cj的偏好值Sa,j由公式(2)计算:
s a , j = s &OverBar; a + &Sigma; i = 1 l w ( a , i ) ( s i , j - s &OverBar; i ) / &Sigma; i = 1 l w ( a , i ) - - - ( 2 )
其中w(a,i)为用户ua与ui的相似程度,使用Pearson相关系数计算,见公式(3):
w ( a , i ) = &Sigma; c j &Element; I a ( s a , j - s &OverBar; a ) ( s i , j - s &OverBar; i ) &Sigma; c j &Element; I a ( s a , j - s &OverBar; a ) 2 &Sigma; c j &Element; I a ( s i , j - s &OverBar; i ) 2 - - - ( 3 )
2.所述基于用户行为的用户偏好调整算法如下:
本实施例通过用户对某一概念的实际访问情况来分析该用户对该概念的实际感兴趣程度。在用户在进行一段时间的需求获取后,根据该用户对领域概念的实际访问行为分析和调整其偏好值,以符合其实际感兴趣的程度,进而提高系统所推荐的领域知识的准确性。
用户对概念的访问取决于其已定义的需求项(目标或用例):用户定义一个需求项,代表其对该需求项所有关键词的一次访问。假定用户ua定义了m个需求项{rk|1≤k≤m},领域中有n个概念{cj|1≤j≤n},根据ua对cj的偏好值Sa,j与实际访问情况所体现出的关注程度的差异ΔR(见公式(4))调整偏好值Sa,j。公式(4)中的被减数是该用户对概念cj的实际访问次数占对所有概念访问次数的百分比,减数是该用户对概念cj的偏好值占该用户对所有领域本体偏好值总和的百分比。
&Delta;R = &Sigma; k = 1 m correlation ( c j , r k ) &Sigma; l = 1 n &Sigma; k = 1 m correlation ( c i , r k ) - s a , j &Sigma; i = 1 n s a , i - - - ( 4 )
公式(4)中correlation(ci,rk)表示概念ci与需求项rk间的关联度;概念ci与实体item的关联度定义如下:
correlation ( c i , item ) = 1 , if c i &Element; keywords ( item ) max { &pi; relation i , j &CenterDot; w i , j | c j &Element; keywords ( item ) } , else - - - ( 5 )
公式(5)的定义考虑了概念的语义族的影响,其中keywords(item)表示实体item的关键词集合;relationi,j表示概念ci与cj的关系类型:1代表同义(近义)关系,2代表上义关系,3为下义关系;π1、π2、π3分别为这三种关系的贡献权值,一种权值设置方式为1、0.6、0.8;wi,j为概念ci与cj间关系的强度;max{……}指取该集合中的最大值。
根据公式(6)计算调整后的偏好值
Figure C200610113055D00131
s a , i &prime; = s a , i + &Delta;R &CenterDot; ( 10 - s a , i ) , if&Delta;R > 1 / n s a , i + &Delta;R &CenterDot; s a , i , elseif&Delta;R < - 1 / n s a , i , else - - - ( 6 )
3.所述基于本体的领域需求项推荐算法如下:
本算法根据当前用户ua的偏好及其在需求获取过程中的当前任务t推荐最相关的领域需求项。当前任务的信息包括当前需求项及预期的行为,如定义当前目标的子目标或用例等;当前需求项的关键词作为当前任务的关键词,称作任务属性。对于领域需求库中的每个需求项,根据用户对该需求项的偏好以及当前任务与该需求项的关联度进行打分,分值高的需求项优先推荐。
打分同样考虑概念的语义族。令Gi,1、Gi,2、Gi,3分别表示与概念ci有着同义(近义)、上义和下义关系的概念集合,则ci的语义族SF(ci)=Gi,1∪Gi,2∪Gi,3。用户ua对需求项item的偏好打分SP(ua,item)定义如下:
SP ( u a , item ) = &Sigma; c i &Element; keywords ( item ) [ s a , i + &Sigma; k = 1 3 &pi; k &CenterDot; &Sigma; c j &Element; G i , k ( s a , j &CenterDot; w i , j ) ] - - - ( 7 )
任务t与需求项item的关联度打分SC(t,item)定义如下:
SC ( t , item ) = &Sigma; c i &Element; keywords ( item ) [ correlation ( c i , t ) + &Sigma; c j &Element; SF ( c i ) correlation ( c j &CenterDot; t ) ] - - - ( 8 )
对于用户ua,需求项item的得分S(ua,item)为偏好打分和关联度打分的加权和:
S(ua,item)=SP(ua,item)+α·SC(t,item)    (9)
其中α(α>0)为权重调节因子。当用户偏好比较完善时,α可以取小些以提高用户偏好对推荐打分的权重;而当领域需求资产比较丰富时,α可以取大些以提高当前任务属性对推荐打分的权重,例如α=1.5。
用户从所推荐的领域需求项中选择最相关的需求项,该需求项的信息就可以复用在用户的当前任务中。
4.所述多用户协同需求获取建议算法如下:
用户间不同的关系对应着不同的协同行为。本算法根据用户间关系和当前任务,以及相关用户对任务属性的偏好,为当前用户提供协同需求获取的建议。给定当前用户ua及其在需求获取过程中的当前任务t,令RelatedUser(ua)表示用户ua的相关用户的集合,则对于该集合中任一用户ub,与其相关的建议项的生成算法如下:
For each user ub in RelatedUser(ua)
Figure C200610113055D00141
Then根据ua与ub的关系(如上级、下级、协同等)给出相应的建议(如分派、提交、协助等)
End If
End For
算法中的不等式用来判断用户ub对任务t是否有足够的偏好程度;value1和value2为两个预定义的阈值(例如都取0.5),将某个阈值取小算法会对更多的相关用户给出协同建议,取大则会对较少的相关用户给出协同建议;|S|表示集合S中的元素数目。
例如,对于物料管理经理A及其当前任务t“定义目标‘查询物料信息’的子目标”,与A具有“协同”关系的审查人员B对t具有足够的偏好,则系统建议A与B相互协助定义子目标。
(三)个性化领域知识支持的用户主导需求获取系统
基于上述个性化领域知识支持的算法,我们开发了个性化领域知识支持的用户主导需求获取系统,适合于互联网/局域网环境下的需求获取,为用户在表达其需求时提供个性化的领域知识支持,同时支持领域专家对领域需求资产的获取和优化。
所述个性化领域知识支持的用户主导需求获取系统包括Web页面、业务规则、领域知识支持、业务实体和数据访问五个子系统(图3),这种组织方式有利于代码的维护和功能的扩展;其中
(1)Web页面子系统包括用户与系统的交互界面,进行用户操作事件的处理;包括所述的用户建模、基于目标和用例的需求获取与建模、领域需求资产获取与管理和外部工具接口等各功能的Web页面;
(2)业务规则子系统处理(1)中所述各Web页面所对应功能的业务规则;
(3)领域知识支持子系统实现了个性化的领域知识支持的四个算法,为用户在需求获取的过程中提供个性化的领域知识服务;
(4)业务实体子系统对数据库中的各种数据进行了封装,降低了程序设计与数据库设计的耦合程度;
(5)数据访问子系统封装了对数据库的访问,便于业务规则子系统中业务规则的变更;
所述Web页面子系统提供的交互页面及其功能详细描述如下:
(1)用户建模:用户模型的建立和编辑,包括:
◆编辑用户基本信息,如用户的个人信息、用户角色等;
◆编辑用户间关系,系统根据领域用户库中相应角色间的典型关系进行提示;
◆编辑用户偏好,即用户对于应用领域内概念的偏好程度;除了手动编辑用户偏好,系统还提供用户偏好的自动预测和基于用户行为的偏好自动调整。
(2)系统需求获取与建模:针对待开发的软件系统,用户使用目标和用例进行用户主导的需求获取与建模,此外还包括项目基础数据的更新。系统在此过程中为用户提供领域需求项的推荐和多用户协同需求获取建议。
◆目标获取:以“与/或”目标树的形式组织目标,定义目标的详细信息。
◆用例获取:为可操作目标定义详细的用例。
◆项目基础数据更新:用户根据需要为项目区域增加新的基础数据。
(3)领域需求资产获取与管理:针对特定应用领域,实现对可复用领域需求资产的获取、编辑和优化。
◆领域需求资产获取:领域专家利用此功能获取领域需求资产,包括领域的目标、用例、概念和用户角色等。
◆领域需求资产管理:领域需求资产的编辑和优化,同时领域专家在此从项目数据提取有用资产,对领域需求资产进行扩展和优化。
(4)外部工具接口:从项目信息和领域需求资产中选取需要的数据导出为XML格式的需求工程制品,供外部系统和工具使用。
以上内容对本发明所述的个性化领域知识支持的用户主导需求获取系统进行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说,在不背离本发明的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。

Claims (7)

1.一种软件需求获取系统,包括浏览器/服务器/数据库三层结构,其中:
1)浏览器层包括基于浏览器的操作界面和对外部工具的接口;
2)服务器层位于浏览器层和数据库层之间,包括:
用户建模模块,用于建立和编辑用户模型;
基于目标和用例的需求获取与建模模块,用于提供以目标和用例的方式获取需求的支持,以及为项目增加需要的基础数据;
个性化领域知识支持模块,用于通过算法提供对用户偏好的预测和调整支持,并在目标和用例的获取过程中为用户提供个性化基于领域知识的可复用需求项和协同建议;
外部工具接口,用于为外部系统和工具提供可扩展标记语言格式的需求工程制品;
3)数据库层包括用户信息库、领域用户库、领域本体库、项目需求库和领域需求库;
用户信息库用于存储用户的角色和用户间关系,以及用户对领域概念的偏好;
领域用户库用于存储应用领域内的各种用户角色,以及各角色用户间的关系;
领域本体库用于存储应用领域中的概念及相互关系;
项目需求库用于存储用户以目标和用例的方式定义的项目需求,以及项目基础数据;
领域需求库用于存储应用领域中可重用的软件需求项。
2.如权利要求1所述的软件需求获取系统,其特征在于,所述的服务器层还包括领域需求资产获取与管理模块,用于提供对领域需求资产的获取、编辑和优化。
3.如权利要求1所述的软件需求获取系统,其特征在于,所述对用户偏好的预测通过用户偏好预测算法实现,具体为:根据当前用户及其参照用户已定义的偏好,以及概念间的关联程度来预测当前用户未定义的偏好。
4.如权利要求1所述的软件需求获取系统,其特征在于,所述对用户偏好的调整通过用户偏好调整算法实现,具体为:根据用户对概念的实际访问次数占对所有概念访问次数的百分比,与该用户对概念的偏好值占该用户对所有领域本体偏好值总和的百分比之间的差异值,对偏好进行调整,使其更符合用户对概念的实际访问情况。
5.如权利要求1所述的软件需求获取系统,其特征在于,所述的为用户提供个性化基于领域知识的可复用需求项通过领域需求项推荐算法实现,具体为:基于当前用户的偏好及其在需求获取过程中的当前任务,对于领域需求库中的每个需求项,根据用户对其关键词的偏好以及该实体与当前任务之间的关联程度进行打分,分值高的需求项优先推荐。
6.如权利要求1所述的软件需求获取系统,其特征在于,所述的为用户提供个性化基于领域知识的协同建议通过多用户协同需求获取建议算法实现,具体为:如果当前用户的相关用户对任务属性的偏好值大于预定义的阈值,则根据用户间关系为当前用户提供分派、提交、协助等协同需求获取的建议。
7.如权利要求1~6任一项所述的需求获取系统,其特征在于,该系统的实现包括:
Web页面子系统,包括服务器层各功能模块的Web页面,用于处理用户操作事件;
业务规则子系统,用于处理所述各Web页面所对应功能模块的业务规则;
领域知识支持子系统,用于实现个性化的领域知识支持的算法;
业务实体子系统,用于封装数据库中的各种数据;
数据访问子系统,用于封装对数据库的访问。
CNB2006101130559A 2006-09-08 2006-09-08 软件需求获取系统 Expired - Fee Related CN100485612C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101130559A CN100485612C (zh) 2006-09-08 2006-09-08 软件需求获取系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101130559A CN100485612C (zh) 2006-09-08 2006-09-08 软件需求获取系统

Publications (2)

Publication Number Publication Date
CN101140513A CN101140513A (zh) 2008-03-12
CN100485612C true CN100485612C (zh) 2009-05-06

Family

ID=39192474

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101130559A Expired - Fee Related CN100485612C (zh) 2006-09-08 2006-09-08 软件需求获取系统

Country Status (1)

Country Link
CN (1) CN100485612C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878945B2 (en) * 2008-12-12 2020-12-29 Koninklijke Philips, N.V. Method and module for linking data of a data source to a target database
US8700577B2 (en) * 2009-12-07 2014-04-15 Accenture Global Services Limited GmbH Method and system for accelerated data quality enhancement
CN102103501B (zh) * 2010-12-14 2014-01-15 中国科学院软件研究所 一种针对返工预测软件开发成本和执行时间的方法
US20130016875A1 (en) * 2011-07-12 2013-01-17 Naoufel Boulila Method, apparatus, and computer program product for generation of traceability matrices from video media
CN102253838B (zh) * 2011-07-26 2015-04-15 华中科技大学 一种基于网格的信息系统开发通用支撑平台
CN104915398B (zh) * 2015-05-29 2019-01-29 北京京东尚科信息技术有限公司 一种网页埋点的方法及装置
CN107423035B (zh) * 2017-02-24 2021-02-09 中国人民解放军海军大连舰艇学院 一种软件开发过程产品数据管理系统
CN110888629A (zh) * 2019-10-30 2020-03-17 南京大学 一种面向软件资产复用的众包需求管理和分析框架
CN113806635B (zh) * 2021-09-22 2024-02-09 深圳市微琪思服饰有限公司 一种基于S2b2C模式的个性化服装定制平台系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794169A (zh) * 2005-12-29 2006-06-28 吉林大学 框架定制的模型驱动软件生成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794169A (zh) * 2005-12-29 2006-06-28 吉林大学 框架定制的模型驱动软件生成方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
一种改进的软件工程需求建模框架. 周慧华,郑明辉.微机发展,第14卷第2期. 2004
一种改进的软件工程需求建模框架. 周慧华,郑明辉.微机发展,第14卷第2期. 2004 *
基于本体的需求自动获取. 金芝.计算机学报,第23卷第5期. 2000
基于本体的需求自动获取. 金芝.计算机学报,第23卷第5期. 2000 *
软件需求分析的研究. 王继成,高珍.计算机工程与设计,第23卷第8期. 2002
软件需求分析的研究. 王继成,高珍.计算机工程与设计,第23卷第8期. 2002 *

Also Published As

Publication number Publication date
CN101140513A (zh) 2008-03-12

Similar Documents

Publication Publication Date Title
CN100485612C (zh) 软件需求获取系统
CN113392227B (zh) 面向轨道交通领域的元数据知识图谱引擎系统
CN100412870C (zh) 采用元推荐引擎的门户个性化推荐服务方法和系统
Vinodh et al. Application of fuzzy analytic network process for supplier selection in a manufacturing organisation
CN101794226B (zh) 一种适应多业务抽象层次的服务化软件构造方法和系统
CN102937901B (zh) 多租户架构设计方法
McGregor et al. Guest editors' introduction: Successful software product line practices
CN103390047A (zh) 聊天机器人知识库及其构建方法
Ninaus et al. INTELLIREQ: intelligent techniques for software requirements engineering
Chun et al. Domain knowledge-based automatic workflow generation
Hammad et al. Application of KDD techniques to extract useful knowledge from labor resources data in industrial construction projects
Xu et al. Knowledge evaluation in product lifecycle design and support
CN108536718A (zh) 一种基于输入输出语义化实现的管理信息化的方法和系统
Bruno et al. Efficient management of product lifecycle information through a semantic platform
Anderer et al. Hierarchical forecasting with a top-down alignment of independent-level forecasts
Zhao Knowledge management and organizational learning in workflow systems
Mahdiloo et al. A novel data envelopment analysis model for solving supplier selection problems with undesirable outputs and lack of inputs
Bai Innovative mode of human resource management of university teachers based on intelligent big data analysis
Shi et al. Human resources balanced allocation method based on deep learning algorithm
Mahdavi et al. Exploring the utility of semantic web technology in building performance simulation
CN103514503A (zh) 一种it基础设施变更评估系统
Wang et al. Application of Service Modular Design Based on a Fuzzy Design Structure Matrix: A Case Study from the Mining Industry
Afsarmanesh et al. On service-enhanced product recommendation guiding users through complex product specification
Jensen et al. IT Tools and standards supporting Mass Customization in the Building Industry
Darari et al. LinkedLab: A linked data platform for research communities

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090506

Termination date: 20180908

CF01 Termination of patent right due to non-payment of annual fee