CN109656811A - 基于可用性模式和安全性模式的软件用例生成方法 - Google Patents
基于可用性模式和安全性模式的软件用例生成方法 Download PDFInfo
- Publication number
- CN109656811A CN109656811A CN201811365834.7A CN201811365834A CN109656811A CN 109656811 A CN109656811 A CN 109656811A CN 201811365834 A CN201811365834 A CN 201811365834A CN 109656811 A CN109656811 A CN 109656811A
- Authority
- CN
- China
- Prior art keywords
- case
- software
- sexual norm
- safety profile
- generation method
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了涉及软件工程领域的一种基于可用性模式和安全性模式的软件用例生成方法,包括以下步骤:自定义业务处理过程中的非功能性需求;将非功能性需求引入与功能性需求对应的用例表生成扩展用例表;以扩展用例表为基础对场景业务过程进行描述得到软件用例。本发明以软件需求规格说明书文档为研究主体,以需求功能用例为研究对象,设计并提出了九种可用性模式与九种安全性模式,并采用需求用例表的形式提供一种用户用例表示。功能需求中嵌入可用性模式及安全性模式,为软件设计及编码的优化提供了指导。自定义生成的扩展用例表可以作为开发人员进行开发、测试和客户最终验收的基础需求依据。
Description
技术领域
本发明涉及软件工程领域,具体公开了一种基于可用性模式和安全性模式的软件用例生成方法。
背景技术
可用性模式和可用性特征在当今的软件行业以及许多软件系统构建过程中发挥着不可小觑的作用,但若没有HCI(人机交互)专家参与开发过程,系统仅凭软件工程师来构建,由于缺乏可用性专业知识的则在后期产品交付后常常会面临诸多软件系统可用性问题的消极反馈。通过向软件工程师展示典型可用性特征存在,何时以及如何考虑这些特征以及特定功能的正面和负面影响(例如,系统架构,系统成本或可用性),对软件质量的提升以及软件生命周期的延续发挥着至关重要的作用。
软件需求规范是一项困难而复杂的任务,现如今虽有许多CASE(计算机辅助软件工程,Computer Aided Software Engineering)工具可以帮助开发软件,但是它们鲜有支持基于NL(自然语言,Natural language)对需求描述。SRS(需求规格说明文档,SoftwareRequirements Specification)除了缺乏特异性外,在业务非功能需求方面的完整性与一致性也存在较大的提升空间,尤其是在可用性及安全性方面。近年来,软件安全与可用问题已经得到业界人士的足够重视,软件可用性及安全性需求是由软件系统的可用性属性及安全性属性来决定的,能够指导开发者在满足软件系统基本功能属性基础之上对软件持续可用以及软件质量安全做出约束与限定,从而降低开发风险、维护系统稳定与持续可用。
行业内提出过包括软件安全需求知识库和基于安全需求模板的安全需求获取框架。该方法根据系统的需求规格说明书中的功能性需求描述,回答需求文档中每个安全需求模板的问题,根据用户回答的模板问题作为构造安全操作序列,将操作序列与功能组件进行正则表达式匹配验证,若成功则说明为保证该系统的安全不需要此安全功能;若缺陷匹配不通过,则说明为保证系统安全需要此安全功能组件。该发明中模板的定义基于问答,不同客户的回答准则不同可能引发安全性需求的变化。
目前,国内外基于XML(可扩展标记语言,Extensible Markup Language)描述的复杂文档自动生成方法通过对文档内容分组,以及定义样式索引,从而简化复杂文档管理过程。该方法在一定程度上能够减轻用户在撰写复杂格式文档时对文档样式的关注度,但基于XML描述的复杂文档自动生成方法在操作性方面较为复杂,并不能良好适用于软件文档制品开发;此外,该发明方法并未针对软件需求文档的特点对需求的功能、用例、数据描述、性能等方面给出解决方案。
发明内容
本发明目的在提供一种基于可用性模式和安全性模式的软件用例生成方法,以解决现有技术中存在的技术缺陷。
为实现上述目的,本发明提供了基于可用性模式和安全性模式的软件用例生成方法,包括以下步骤:
自定义业务处理过程中的非功能性需求;
将非功能性需求引入与功能性需求对应的用例表生成扩展用例表;
以扩展用例表为基础对场景业务过程进行描述得到软件用例。
优选地,非功能性需求包括可用性模式和安全性模式。
优选地,可用性模式包括允许撤销、后台运行、自动保存、实时验证、进度显示、预览、滑鼠提示、下拉框模糊查询以及数据回收站。
优选地,安全性模式包括密码实时检测、登录失败处理、多重登录限制、访问限制、并发保护限制、数据备份与恢复、文件过滤、数据加密存储以及加密传输。
优选地,扩展用例表包括用例名、用例目标、优先级、输入输出、参与角色和用例过程中任意一种或几种的组合。
本发明具有以下有益效果:
本发明提出一种基于可用性模式和安全性模式的软件用例生成方法,以软件需求规格说明书文档为研究主体,以需求功能用例为研究对象,归纳、设计了非需求功能,包括九种可用性模式与九种安全性模式,并采用需求用例表的形式提供了用例表示形式。本方法将基于非结构化自然语言文本描述的具体业务功能需求数据转化为基于用例表的半结构化数据,以实现软件需求工程阶段文档的功能需求有效开发与最大化重用;基于用例表所描述的用例过程,可直接作为后期软件设计与开发及测试的参考指导;此外,所述方法将定义的九种可用性模式及九种安全性模式以用例表为载体,在具体用例过程中引用,攻克了需求开发人员关于性能模糊方面的一大难题,进一步提高了需求文档的准确性与完整性,实现软件需求工程阶段文档的有效开发与最大化重用。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例的基于安全性和可用性的软件用例生成方法流程图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1:
本发明提供了基于可用性模式和安全性模式的软件用例生成方法,参见图1,包括以下步骤:
S1:自定义业务处理过程中的非功能性需求。
软件非功能性需求是指依一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求。包括安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩充性。软件功能性需求是描述一个系统的行为,与系统的功能性相关。举个例子:软件主页有一个按钮,点进去就是历史记录,此为功能需求;软件使用的内存不超过10Mb,此为非功能需求。
S2:将非功能性需求引入与功能性需求对应的用例表生成扩展用例表。
传统的用例生成方法是以“用例图+用例规约”的UML(Unified ModelingLanguage,统一建模语言)用例模型进行生成的,具体是根据软件需求开发中的所涉业务流程需求,制定基于场景的用例表来描述。本发明将功能需求与非功能需求均以文本方式在用例规约中限定,通过扩展用例表的形式进行描述。
S3:以扩展用例表为基础对场景业务过程进行描述得到软件用例。
规范设计的扩展用例表能够作为开发人员和用户进行开发、测试和验收的基础需求依据,涉及的可用性模式和安全性模型能够作为产品经理和开发人员进行软件设计及编码的软件优化指导。
优选地,非功能性需求包括安全性模式和可用性模式。
可用性是指交互式IT产品/系统的重要质量指标,指的是产品对用户来说有效、易学、高效、好记、少错和令人满意的程度,即用户能否用产品完成任务,效率如何,主观感受怎样,实际上是从用户角度所看到的产品质量,是产品竞争力的核心。这类属性会关联到具体的技术性功能需求。对于可用性模式定义为针对软件产品所需实现的用户可用性目标,客观地描述预期产品质量属性的可感知要求,以保证软件产品易理解、操作易学、使用高效、用户满意等效果。每一种模式代表一类可用性问题的特征及一般性解决方法。本申请定义了九种可用性模块。
安全性是指与防止对程序技术性的非授权或者意外访问的能力有关的软件属性。是判断、评价系统性能的一个重要指标,是在功能开发过程中采用一些复杂和严苛的特殊手段进行确认与验证的过程及数据。如用户权限、动态口令、数据库加密字段。对于安全性模式定义为针对软件产品所需实现的用户安全性目标,客观地描述预期产品质量属性的安全稳定要求,以保证软件产品持续稳定、安全可靠、防攻击入侵等效果。每一种模式代表一类安全性问题的特征及一般性解决方法。本申请定义了九种可用性模块。
优选地,可用性模式包括允许撤销、允许后台作业、自动保存、实时验证、进度显示、预览、滑鼠提示、下拉框模糊查询以及数据回收站。
本发明以软件需求规格说明书文档为研究主体,以需求功能用例为研究对象,归纳、设计了九种可用性模式与九种安全性模式
可用性模式作为非功能需求典型的一类,本发明将其归纳为九种模式。每种可用性模式描述了用户在使用交互式软件系统时潜在的相关典型问题,并给出该问题在用例过程中的功能性解决方案,以及推荐解决方案的触发条件、基本原理和实际场景。各个模式构成一个可用性模式集。在需求定义期间,软件工程师可以使用该可用性模式集来定义、描述、表示其正在构建的软件系统的可用性约束。九种可用性模式具体描述如下:
①Undo:允许用户撤销其操作;
②Run in Background:允许用户通过系统执行可长时间运行的后台任务,同时可以继续其他作业的进行。
③Auto-Save:自动保存更改,用户无需关心是否保存。
④Live Validation:实时验证。如验证用户是否正确输入,并能给予用户及时反馈。
⑤Progress Display:进度显示,通知用户完成那些长时间任务所需要的剩余时间。
⑥Preview:允许用户提前预览需执行某项操作的项目全局内容或列表。
⑦Mouse Hover:移动鼠标覆盖按钮时提示预点击操作功能说明。
⑧Select Vague Query:支持用户在下拉框中模糊查询,如输入首字母或拼音,检索到相关内容。
⑨Recycle Bin:允许用户移动数据到虚拟的回收站中而不是永久的删除,并允许用户回收这些数据。
九种可用性模式可根据需要选择其适用范围为全局或局部,在用例表中通过触发条件引用具体可用性模式定义参见下表1。
表1
优选地,安全性模式包括密码实时检测、登录失败处理、多重登录限制、访问限制、并发保护限制、数据备份与恢复、文件过滤、数据加密存储以及加密传输。
安全性模式作为非功能需求典型的一类,本发明将其归纳为九种模式。每一种安全性模式描述了用户在使用交互式软件系统时潜在的相关典型问题,并给出该问题在用例过程中的功能性解决方案,以及推荐解决方案的触发条件、基本原理和实际场景。各个模式构成一个安全性模式集。在需求定义期间,软件工程师可以使用该安全性模式集来定义、描述、表示其正在构建的软件系统的安全性约束。具体描述如下:
①Password Live Validation:密码实时检测。实时检测密码强度,保证字符大小写、数字、特殊符号至少任两种组合。
②Login Failure Lock:登录失败锁定。限制非法登录次数,登录失败自动退出,达到阈值时锁定账户。
③Synchronous Login Restriction:多重登录限制。对单账号多重并发登录加以限制,单个账号仅允许一个设备IP登录。
④Access Restrictions:访问限制。对访问IP与port限制,对访问时长以及次数给出限定。
⑤Concurrence Protection:并发保护限制。允许用户对同一资源不冲突地访问与操作,禁止矛盾操作。
⑥Backup and Recovery:数据备份与恢复。定期对历史数据以及日志记录数据备份至文件,存储本地。
⑦File Filter:文件过滤。禁止上传.exe/.asp等格式文件。
⑧Encrypted Storage:数据加密存储。使用3DES/AES/MD-5等方式对明文加密存储。
⑨Cryptograph Transfer:加密传输。通过加密技术在通信传输过程中保证数据完整性。
九种安全性模式可根据需要选择其适用范围为全局或局部,在用例表中通过触发条件引用具体安全性模式定义参见下表2。
表2
优选地,扩展用例表包括用例名、用例目标、优先级、输入输出、参与角色和用例过程中任意一种或几种的组合。
在需求开发阶段,采用自定义用例表对具体应用场景下系统功能过程的描述取代传统的用例图结合场景用例说明的形式,将非结构化文本文档转化为基于文档构件的结构化或半结构化需求模块。具体包括:用例名、用例目标、优先级、输入输出、参与角色以及引用可用性、安全性模式的用例过程等。
下表3为一种用例表。
表3
在软件需求分析过程中的功能描述阶段,采用自定义用例表的方法对功能用例过程描述。下表4为用户登录用例表
表4
表3与表4中带有●的为可用性模式,带有■的为安全性模式。
实施例2:
客户与实施人员交流协商、双方讨论澄清并达成一致需求后,针对制定的功能清单设计功能用例时提供一种基于可用性和安全性模式的软件用例生成方法。
主要包括如下过程:
步骤1,添加用例名:对用例业务功能处理的概括;
步骤2,添加用例目标:明确用例在该场景下实现的功能目标;
步骤3,添加用例优先级:对该用例在整体功能清单的地位做出优先级限定,分为:低、中、高三种。
步骤4,规定“输入与输出”:对用例场景下该功能模块的输入规定,以及最终预期得到的输出结果;
步骤5,添加参与角色:参与用例过程的角色;
步骤6,添加用例过程描述:用例参与者在所述场景下为实现功能目标所执行的一系列操作过程,形式如:角色1:执行操作1;
步骤7,添加可用性模式,选择所需模式并完成描述后,最终通过在具体用例过程所涉及操作后添加“触发条件”,即可添加实现可用性模式在用例表中添加。对用例过程S6中角色执行操作所涉及可用性模式做出规范描述:
可用性名称:名称1;
可用性描述:描述1;
具体场景及操作:场景及操作1;
触发条件:条件1;
步骤8,添加可用性模式,选择所需模式并完成描述后,最终通过在具体用例过程所涉及操作后添加“触发条件”,即可添加实现安全模式在用例表中添加。对用例过程S6中角色执行操作所涉及安全性模式做出规范描述:
安全性名称:名称1;
安全性描述:描述1;
具体场景及操作:场景及操作1;
触发条件:条件1;
步骤1-8实现一种基于可用性模式和安全性模式的软件用例生成方法,最终封装为相应功能需求的用例表,可供需求重用、知识共享。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.基于可用性模式和安全性模式的软件用例生成方法,其特征在于,包括以下步骤:
自定义业务处理过程中的非功能性需求,所述非功能性需求包括可用性模式和安全性模式;
将非功能性需求引入与功能性需求对应的用例表生成扩展用例表;
以扩展用例表为基础对场景业务过程进行描述得到软件用例。
2.根据权利要求1所述的基于可用性模式和安全性模式的软件用例生成方法,其特征在于,所述安全性模型包括密码实时检测、登录失败锁定、多重登录限制、访问限制、并发保护限制、数据备份与恢复、文件过滤、数据加密存储以及加密传输。
3.根据权利要求1所述的基于可用性模式和安全性模式的软件用例生成方法,其特征在于,所述可用性模式包括允许撤销、允许后台作业、自动保存、实时验证、进度显示、允许预览、滑鼠提示、下拉框模糊查询以及数据回收站。
4.根据权利要求1所述的基于可用性模式和安全性模式的软件用例生成方法,其特征在于,所述扩展用例表包括用例名、用例目标、优先级、输入输出、参与角色和用例过程中任意一种或几种的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365834.7A CN109656811B (zh) | 2018-11-16 | 2018-11-16 | 基于可用性模式和安全性模式的软件用例生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365834.7A CN109656811B (zh) | 2018-11-16 | 2018-11-16 | 基于可用性模式和安全性模式的软件用例生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656811A true CN109656811A (zh) | 2019-04-19 |
CN109656811B CN109656811B (zh) | 2021-05-18 |
Family
ID=66111270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811365834.7A Active CN109656811B (zh) | 2018-11-16 | 2018-11-16 | 基于可用性模式和安全性模式的软件用例生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656811B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968769A (zh) * | 2010-10-22 | 2011-02-09 | 中国人民解放军理工大学 | 一种基于行为模型的软件安全性测试用例生成方法 |
CN102331970A (zh) * | 2011-07-28 | 2012-01-25 | 北京航空航天大学 | 面向安全苛刻系统的自动化测试资源管理方法及其平台 |
US8443336B2 (en) * | 2007-10-03 | 2013-05-14 | Siemens Corporation | System and method for applying model-based testing to train control systems |
CN104572031A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN107045439A (zh) * | 2016-12-26 | 2017-08-15 | 天津大学 | 基于安全需求模板的软件安全需求获取系统及方法 |
-
2018
- 2018-11-16 CN CN201811365834.7A patent/CN109656811B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443336B2 (en) * | 2007-10-03 | 2013-05-14 | Siemens Corporation | System and method for applying model-based testing to train control systems |
CN101968769A (zh) * | 2010-10-22 | 2011-02-09 | 中国人民解放军理工大学 | 一种基于行为模型的软件安全性测试用例生成方法 |
CN102331970A (zh) * | 2011-07-28 | 2012-01-25 | 北京航空航天大学 | 面向安全苛刻系统的自动化测试资源管理方法及其平台 |
CN104572031A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN107045439A (zh) * | 2016-12-26 | 2017-08-15 | 天津大学 | 基于安全需求模板的软件安全需求获取系统及方法 |
Non-Patent Citations (1)
Title |
---|
陈文兵: ""基于软件测试的质量度量研究和应用"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109656811B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710243B (zh) | 基于可视化平台的区块链开发方法、装置、服务器及介质 | |
CN101415001B (zh) | 使用安全注解的组合应用 | |
CN101495986B (zh) | 非受管网络中公共身份的帐户同步 | |
JP2005259113A (ja) | プロセス編集装置、プロセス管理装置、プロセス編集プログラム、プロセス管理プログラム、記録媒体、プロセス編集方法及びプロセス管理方法 | |
CN107409129B (zh) | 使用访问控制列表和群组的分布式系统中的授权 | |
CN111552953B (zh) | 安全策略作为服务 | |
CN103731428A (zh) | 对版权用户进行权限管理的方法及系统 | |
US9432344B2 (en) | Secure storage and sharing of user objects | |
Faily et al. | Eliciting and visualising trust expectations using persona trust characteristics and goal models | |
CN106997440A (zh) | 一种角色访问控制方法 | |
Vivas et al. | Towards a business process-driven framework for security engineering with the UML | |
CN113190609B (zh) | 数据仓库管理方法及系统、装置、存储介质、电子设备 | |
KR101926566B1 (ko) | 다중 서버 환경을 갖는 문서 공동 편집 시스템에서 편집 명령 처리를 수행하기 위한 편집 명령 처리 서버 장치 및 그 동작 방법 | |
KR101599470B1 (ko) | 소스 배포 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체 | |
Paja et al. | STS-tool: security requirements engineering for socio-technical systems | |
CN109656811A (zh) | 基于可用性模式和安全性模式的软件用例生成方法 | |
CN113761478B (zh) | 一种软件产品的授权方法及装置 | |
Autili et al. | On the automated synthesis of enterprise integration patterns to adapt choreography-based distributed systems | |
Martínez et al. | Model-based analysis of Java EE web security configurations | |
CN112291250B (zh) | 一种多能源设备数字孪生数据流通信权限管理方法及系统 | |
CN101960420A (zh) | 无代码自动配置 | |
Martínez et al. | On the need for intellectual property protection in model-driven co-engineering processes | |
KR101539337B1 (ko) | 온라인 서비스 플랫폼 기반의 모바일 앱 자동 생성 방법 및 그 시스템 | |
JP2011180635A (ja) | ファイルアクセス制御装置、方法及びプログラム | |
CN109325007B (zh) | 记录锁定方法和装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |