1.一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤一、对需求文本上的自然语言进行解析,获取需求文本对应的SD表达式;
步骤二、将步骤一所得SD表达式转换成ROM表达式;
步骤三、将步骤二得到的ROM表达式转换成SysML需求图元素;
3-1.对需求文本中的各句法成分按照词性为名词和动词;
将动词分为以下六类:
(1)继承类动词(Vj):该类动词表达的意思为“继承”,包括“继承”、“接受”;
(2)验证类动词(Vy):该类动词表达的意思为“验证”,包括“验证”、“研究”;
(3)改善类动词(Vg):该类动词表达的意思为“改善”,包括“改善”、“提高”;
(4)满足类动词(Vm):该类动词表达的意思为“满足”,包括“满足”、“实现”;
(5)包含类动词(Vb):该类动词表达的意思为“包含”,包括“包含”“包括”;
(6)其他类动词(Vq):该类动词为除了以上五类动词以外的动词;
3-2.将SysML需求图中的需求分为三类:“主要需求”、“功能需求”和“子需求”;以ROM表达式中与其他句法成分存在关系的数量最多的那个名词作为“主要需求”;
3-3.若一个含有“主要需求”的句子中存在“包含类动词”,且存在与“主要需求”的关系为“Constraint”的名词,则以该与“主要需求”的关系为“Constraint”的名词作为“功能需求”;
3-4.若一个含有“功能需求”的句子中存在“继承类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与“功能需求”的关系为“Constraint”的名词作为第一待定名词;若一个句子中仅有一个第一待定名词,则该第一待定名词作为“子需求”;若一个句子中存在多个第一待定名词,则分别判断该句子内各第一待定名词两两之间的关系,将与该句子中其他第一待定名词存在“Connection”关系的第一待定名词均作为“子需求”;
3-5.若一个含有“子需求”的句子中存在“改善类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第二待定名词;
若一个“子需求”仅对应一个第二待定名词,则该第二待定名词作为“用例”;若一个“子需求”对应有多个第二待定名词,则分别判断该“子需求”对应的各第二待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第二待定名词均作为“用例”;
3-6.若一个含有“子需求”的句子中存在“满足类动词”,且存在与“子需求”的关系为“Constraint”的名词,则该与“子需求”的关系为“Constraint”的名词作为第三待定名词;
若一个“子需求”中仅对应一个第三待定名词,则该第三待定名词作为“模块”;若一个子需求对应多个第三待定名词,则分别判断该“子需求”对应的各第三待定名词两两之间的关系,将与其他第二待定名词存在“Connection”关系的第三待定名词均作为“模块”;
3-7.若一个含有“功能需求”的句子中存在“验证类动词”,且存在与“功能需求”的关系为“Constraint”的名词,则该与功能需求的关系为“Constraint”的名词作为第四待定名词;若一个句子中仅有一个第四待定名词,则该第四待定名词作为“测试案例”;若一个句子中存在多个第四待定名词,则判断该句子内各第四待定名词两两之间的关系,将与其他第四待定名词存在“Connection”关系的第四待定名词均作为“测试案例”;
步骤四、将步骤三得到的SysML需求图元素整合为SysML需求图;
4-1.将步骤三得到的各SysML需求图元素分别放入框中;将各“功能需求”与“主要需求”用十字准线相连;
4-2.将各“功能需求”与对应“子需求”分别用带箭头直线相连,并在所有“功能需求”与“子需求”之间的带箭头直线上标注《deriveReqt》;
4-3.将各“功能需求”与对应“测试案例”分别用带箭头直线相连,并在所有“功能需求”与“测试案例”之间的带箭头直线上标注《verify》;
4-4.将各“子需求”与对应“用例”分别用带箭头直线相连,并在所有“子需求”与“用例”之间的带箭头直线上标注《refine》;
4-5.将各“子需求”与对应“模块”分别用带箭头直线相连,并在所有“子需求”与“模块”之间的带箭头直线上标注《satisfy》。
2.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤一中,获取SD表达式的方式通过Stanford Parser句法解析工具实现。
3.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤二中,SD表达式到ROM表达式的映射规则集如下:SD表达式中的amod,nmod:of,compound,auxpass,acomp,ccomp,neg,cop,npadvmod关系均映射为ROM表达式的Constraint关系;SD表达式中的cc,conj,nn,parataxis,number,cordmod,preconj关系均映射为ROM表达式的Connection关系;SD表达式中的csubj,iobj,num,attr,csubjpass,dep关系均映射为ROM表达式的Predicate关系。
4.根据权利要求1所述的一种从需求文本转换到SysML需求图的转换方法,其特征在于:步骤4-1中,十字准线为一条端部带有 符号的直线, 符号位于十字准线与“主要需求”的连接处。