图片丢失啦 复杂系统的软件工程和需求工程

默认 最新文章 浏览次数
Please wait a minute...
选择: 显示/隐藏图片
1. 复杂系统的软件工程和需求工程专题前言
计算机科学    2020, 47 (12): 2-2.  
摘要391)      PDF(pc) (365KB)(913)    收藏
相关文章 | 多维度评价
2. 复杂软件系统的重构技术:现状、问题与展望
孟繁祎, 王莹, 于海, 朱志良
计算机科学    2020, 47 (12): 1-10.   DOI: 10.11896/jsjkx.200800067
摘要670)      PDF(pc) (1695KB)(2252)    收藏
软件重构是改善软件质量的一种重要手段它在不改变软件外部行为特性的情况下通过调整软件内部结构来提高软件的可理解性、可维护性和可扩展性.然而随着开源软件的迅猛发展软件的规模和复杂程度日益增加现有的重构技术在应对规模庞大且复杂的软件系统时重构效果并不如意.因此提高重构技术的可扩展性一直是软件工程领域研究的热点.从技术负债角度出发探究重构时机思考重构技术对软件质量的深入影响明确重构技术旨在寻找重构代码的自动化方法从而降低维护成本提高代码质量.文中对工程实例进行分析并对文献进行梳理调研了自2010年至今国内外96篇相关领域的文献尝试以复杂系统的视角对这些研究工作进行归纳、比较提炼总结软件重构领域的研究方向与技术方法探讨重构技术研究中的特点与难点思考重构技术研究中存在的问题及未来的研究方向对软件重构技术的研究趋势进行了展望.
参考文献 | 相关文章 | 多维度评价
3. 微服务时代的复杂服务软件开发
吴文峻, 于鑫, 蒲彦均, 汪群博, 于笑明
计算机科学    2020, 47 (12): 11-17.   DOI: 10.11896/jsjkx.200700181
摘要694)      PDF(pc) (2389KB)(1568)    收藏
微服务时代的软件系统变得越来越复杂传统的软件开发理论、方法和技术不再适用.面向复杂服务软件开发的过程微服务架构有着可扩展性强、灵活性高的优点同时对运维能力和服务管理能力提出了更高的要求需要借鉴群体智能的研究思路和方法直面复杂软件系统开发过程中面临的一系列挑战.文中以复杂系统和群体智能的方法论为指导提出以微服务架构实现智能服务适配开发复杂服务软件系统的技术路线阐述复杂服务软件的自适应架构、模型框架、开发技术和典型支撑工具并通过共享出行的案例分析加以具体解释.
参考文献 | 相关文章 | 多维度评价
4. 用户如何看待产品中的预测分析功能?——面向非功能性需求的调研报告
杨经纬, 魏子麒, 刘璘
计算机科学    2020, 47 (12): 18-24.   DOI: 10.11896/jsjkx.201200055
摘要387)      PDF(pc) (2274KB)(843)    收藏
随着近年来数据分析技术的发展预测分析功能被嵌入到众多互联网商业产品中为企业带来了巨大的服务收益.然而这类功能影响哪些非功能性目标?这类功能对普遍关注的非功能性目标包括软件的可用性、性能和透明度以及用户的隐私乃至个人身心健康等的影响如何?在软件服务商进一步拓展这类技术的应用之前我们需要对预测分析功能所带来的直接和间接影响进行进一步了解.首先对来自国内的565名受访者进行了问卷调研搜集了他们对预测分析功能应用的反馈.初步的分析结果表明尽管许多消费者认可预测分析功能所带来的便利但他们也表示了对产品的透明度、个人生活和隐私等方面的顾虑.在特定情况下由于存在这些顾虑部分用户会选择停止使用预测分析功能甚至放弃使用整个产品.基于调研结果从需求工程的视角讨论了如何把预测分析技术与产品进行有机融合以减轻和消除用户的顾虑同时充分挖掘预测分析技术的价值.
参考文献 | 相关文章 | 多维度评价
5. 工业界需求工程关注点分析
贾经冬, 张筱曼, 郝璐, 谭火彬
计算机科学    2020, 47 (12): 25-34.   DOI: 10.11896/jsjkx.201200048
摘要338)      PDF(pc) (2587KB)(971)    收藏
为使理论有效指导实践以提高需求工程质量了解工业界对需求工程的关注点是十分有必要的.为此提出了基于数据挖掘的4步研究框架.首先筛选合适的工业界数据源包括博客类和问答类网站然后确定合适的关键词以爬取数据并进行清洗随后根据不同的数据特点进行相似度分析和数据标注处理最后完成数据统计分析.研究结果表明国内外工业界对需求工程的关注点各有异同.国内外都关注敏捷需求;国内外都关注用户故事和用例的区别其潜在反映了实践中传统和敏捷混合开发模式下的需求实践问题;国内外都关注实践中工具的应用虽然国内使用工具种类多样但自主开发的工具相对少;国内工业界还关注需求工程的概念和方法以及需求工程师的职业发展但国外基本不关注.此外国内实践中关注需求分析多于需求变更还关注与需求相关的测试和项目管理领域.该研究结果可有效指引需求工程相关理论在工业界的应用以解决实践中的难点并为学术界和工业界提供了可能的研究和发展方向.
参考文献 | 相关文章 | 多维度评价
6. 基于主题模型的Ubuntu操作系统缺陷报告的分类及分析
周凯, 任怡, 汪哲, 管剑波, 张芳, 赵言亢
计算机科学    2020, 47 (12): 35-41.   DOI: 10.11896/jsjkx.200100022
摘要343)      PDF(pc) (2318KB)(791)    收藏
软件缺陷(Bug)是造成系统失效的主要原因之一为了更好地开发软件与修复软件失效需要对缺陷的分布等特征有更好的理解.Ubuntu是一款得到广泛应用的开源软件也是Linux操作系统当前在全球最成功的发行版之一.利用缺陷报告来发掘软件缺陷特征对缺陷进行合理分类并分析操作系统常见缺陷的分布规律及特点对于基于Ubuntu的国产混源操作系统开发、测试及维护过程中的代码质量分析及提升具有重要参考价值.首先获取Launchpad上32805份Ubuntu操作系统的缺陷报告.然后采用主题模型分析Ubuntu上常见的缺陷并结合操作系统的组成特点将其分为内核相关异常、桌面环境异常、网络相关异常、硬件驱动相关异常以及上层应用及开发环境相关异常.进一步利用F1值对分类结果进行评估结果表明缺陷分类具有较好的准确率.最后通过分析缺陷报告统计结果得到Ubuntu操作系统的近期缺陷的一般分布规律和特点同时通过缺陷报告的分类结果得到了有助于进一步认知Ubuntu操作系统缺陷的相关发现和结论.
参考文献 | 相关文章 | 多维度评价
7. 面向机器学习系统的需求建模与决策选择
杨立, 马佳佳, 江华禧, 马肖肖, 梁赓, 左春
计算机科学    2020, 47 (12): 42-49.   DOI: 10.11896/jsjkx.201200021
摘要440)      PDF(pc) (3545KB)(1418)    收藏
机器学习支撑的系统应用越来越普遍但是此类系统的需求通常难以表达完整且可能存在一些难以检测的冲突使得这些系统通常无法在生产环境中高效满足用户的综合需求.此外对于在实际场景中使用的机器学习系统用户信任通常取决于包含可解释性、公平性等非功能需求在内的综合需求的满足程度且在不同领域内应用机器学习通常有特定的需求为保证需求描述的质量及实施过程的决策带来了挑战.为解决以上问题文中提出了一个机器学习系统的需求建模和决策选择框架包括一个MLS(Machine LearningSystems)需求概念模型和机器学习管道过程元模型以及对训练数据集、算法等组件的决策选择方法旨在规范实际场景中机器学习系统的需求设计、开发和评估.实例研究表明提出的MLS需求描述和实现方法是可行且有效的.
参考文献 | 相关文章 | 多维度评价
8. 云环境下的系统使用模式与故障分析
田宇立, 李宁
计算机科学    2020, 47 (12): 50-55.   DOI: 10.11896/jsjkx.200700145
摘要388)      PDF(pc) (2774KB)(907)    收藏
从软件系统使用视角出发开展系统使用模式与故障分析可以帮助软件提供者更准确地把握用户需求、评价系统质量、指导系统运营和完善系统维护方案.云计算系统整合海量计算资源并通过网络接入为用户提供可配置的计算解决方案受到了学术界和工业界的一致关注.深入理解云计算系统的使用负载和软件故障特征对于提高云计算系统的资源利用效率和系统服务可靠性具有重要的促进作用.文中针对云计算环境下的系统使用模式和系统故障进行研究深入分析了Googlecluster云计算系统的真实执行日志从系统使用模式和故障特征等方面对系统进行了描述和总结揭示了系统存在的质量问题并为提高云计算系统的质量奠定了基础.
参考文献 | 相关文章 | 多维度评价
9. 面向中文APP用户评论数据的软件需求挖掘方法
王莹, 郑丽伟, 张禹尧, 张晓妘
计算机科学    2020, 47 (12): 56-64.   DOI: 10.11896/jsjkx.201200031
摘要480)      PDF(pc) (2077KB)(1354)    收藏
从APP用户反馈数据中挖掘用户需求是APP迭代更新和需求获取的一种重要方式用户在APP应用市场中发表对APP不同维度的评价其中蕴含着用户对APP软件的改善需求.但是目前用户反馈数据存在数量大、质量良莠不齐的状况如何从海量的用户评论数据中省时省力地挖掘出有价值的需求具有重要的研究与现实意义.文中着眼于APP开发问题选取360手机助手中的APP用户评论数据旨在挖掘蕴含于用户评论数据中的软件需求.首先从功能性需求与非功能性需求两个维度出发将APP用户评论数据中蕴含的软件需求划分为功能待添加、功能待改进、性能、可用性、可靠性5个需求类别;其次对用户评论进行数据采集、标注构建APP评论需求挖掘数据集;最后利用构建好的数据集进行模型训练与交叉验证探究主流深度学习方法相较于统计机器学习模型在该任务上的表现.实验表明采用的深度学习模型TextCNNText RNN和Transformer相比传统的统计机器学习模型在此任务上更具优势.
参考文献 | 相关文章 | 多维度评价
10. 从信息物理融合系统问题模型到UML用例图的变换方法
李智, 邓杰, 杨溢龙, 韦尚锋
计算机科学    2020, 47 (12): 65-72.   DOI: 10.11896/jsjkx.201200044
摘要422)      PDF(pc) (3269KB)(1245)    收藏
问题框架(Problem FramesPF)方法在需求工程研究中已经获得广泛重视特别是应用于基于环境建模的信息物理融合系统中但如何有效地把问题模型(问题图及相关描述)转换为软件设计和实现仍是一个亟待解决的问题.文中提出了一种问题框架与模型驱动技术相结合的方法其可将问题模型转换为UML(Unified Modeling Language)需求模型中的用例图和概念类图进而指导软件系统的设计和实现.所开发的CASE工具通过支持领域涉众和软件设计人员合作建模来提高需求质量并允许从问题空间的需求模型平滑过渡到解空间的软件设计.通过文献中一个基准案例(邮件分拣控制问题)的扩展版本展示了其可行性及在实际应用场景下的使用从而对推动问题框架方法从理论研究走向实际应用具有重要意义.
参考文献 | 相关文章 | 多维度评价
11. 一种AltaRica3.0模型到NuSMV模型的转换方法
陈朔, 胡军, 唐红英, 石梦烨
计算机科学    2020, 47 (12): 73-86.   DOI: 10.11896/jsjkx.190400035
摘要344)      PDF(pc) (6000KB)(950)    收藏
Alta Rica3.0是一类面向复杂关键系统的安全性建模与分析语言缺乏时态属性的模型检验技术不支持穷尽式的空间检验而Nu SMV支持穷尽式的模型检验技术因此对Alta Rica3.0模型进行扩展提出了基于语言解析器生成器ANTLR(Another Tool for Language Recognition)的Alta Rica3.0模型到NuSMV模型的转换规则和算法.首先利用ANTLR构建Alta Rica3.0平展化GTS模型的AST(Abstract Syntax Tree);其次设计语言结构转换规则显示Alta Rica3.0和NuSMV之间的行为语义对应关系;然后设计转换算法G2N在遍历AST时G2N对结点存储的GTS模型语言信息进行获取和转换在保留语义的情况下通过不断地遍历转换过程来获取转换后的Nu SMV文件;最后以需求工程中的4个典型案例为例进行实验分析验证了G2N的有效性和需求模型的安全性.实验结果表明G2N算法可以在词法和语法层次上完成AltaRica3.0模型到Nu SMV模型的转换工作.
参考文献 | 相关文章 | 多维度评价
12. 基于AADL的自主无人系统可成长框架
丁嵘, 于千惠
计算机科学    2020, 47 (12): 87-92.   DOI: 10.11896/jsjkx.201100173
摘要377)      PDF(pc) (1602KB)(965)    收藏
近年来自主无人系统的开发成本随着硬件设备性能的提高而增加如何高效、智能化地完成开发工作成为无人系统的热门研究领域.基于AADL(Architecture Analysisand DesignLanguage)的自主无人系统可成长框架从系统架构方式、基于配置项的系统工作模式以及原型系统等方面实现了无人系统(无人机、无人车等)软件适应性方案以支撑资源、任务、环境变化时无人系统软件的成长和演化.搭建系统框架时采用基于模型驱动的思想使用AADL模型基表示系统的中间组件既保留了组件之间的继承关系又便于开发者更直观地观察系统结构.系统模块化是实现其可成长性的基础通过统一规范接口书写规则的方式AADL模型基将可替换算法封装在中间组件中算法的迭代与进化映射出了系统的可持续演化过程.通过爬虫的方式建立一个不断扩展的系统组件库组件库除了支持自适应扩展功能外还支持自定义模型的基功能.系统框架的可成长特性除了表现在系统文件的内容可扩展外还表现在系统配置方案的选择多样性.在不同的环境、任务、资源状况下系统的最佳配置项方案可能不同为了找出适应条件的无人系统配置项选项的最优解采用进化算法的思想使系统实现自主进化的过程.最后利用代码自动生成技术实现AADL模型到系统文件之间的转换.通过可成长软件管理平台的运行与测试验证了自主无人系统可成长框架的可行性.
参考文献 | 相关文章 | 多维度评价
13. DCGAN模型改进与SAR图像生成研究
徐永士, 贲可荣, 王天雨, 刘斯杰
计算机科学    2020, 47 (12): 93-99.   DOI: 10.11896/jsjkx.200700109
摘要523)      PDF(pc) (2800KB)(1023)    收藏
针对SAR图像识别软件通过改进DCGAN模型单生成器与单判别器对抗的结构采用多生成器与单判别器进行对抗设计了控制各生成器生成图像平均质量的算法提出了一种基于改进的DCGAN生成SAR图像的方法.为测试和验证多个同类图像识别软件并进行择优需要自行设计不同于训练用的图像来对测软件进行测试.此方法可以为择优测试提供一个公平的基准测试集.实验分别使用原DCGAN模型和改进的DCGAN模型生成目标图像和场景图像并使用公开判别器分别对两种模型生成的新图像进行质量验证.实验结果表明改进的DCGAN模型比原DCGAN模型生成的图像效果更好经其训练生成的新SAR图像与原SAR图像相比质量相当且多样性更好可以满足软件择优测试的需要.
参考文献 | 相关文章 | 多维度评价
14. 开源软件关键开发者类型及协作网络鲁棒性分析
卢冬冬, 吴洁, 刘鹏, 盛永祥
计算机科学    2020, 47 (12): 100-105.   DOI: 10.11896/jsjkx.200300147
摘要228)      PDF(pc) (2733KB)(631)    收藏
文中以开源软件Angular JS项目为例探究关键开发者类型和协作网络鲁棒性.通过抽取代码修订关系构建开发者协作网络分析网络的结构和功能.综合开发者的结构与功能属性进行类型划分探究不同类型开发者流失后网络的结构和功能鲁棒性以此识别出关键开发者类型.最后模拟新开发者的加入机制探讨网络鲁棒性的提升策略.研究发现:开发者的结构和功能属性的不对称性导致了开发者协作网络的结构和功能鲁棒性的不一致性;与传统方法相比对开发者进行类型划分能够更有效地识别关键开发者类型;在社团内部较活跃、与其他社团之间存在密切联系并且拥有大量贡献度的中央核心型开发者对网络鲁棒性影响最大;拥有较大初始度且选择倾向性连接的新开发者加入机制能够有效提高网络鲁棒性.
参考文献 | 相关文章 | 多维度评价
15. 基于排序学习的软件众包任务推荐算法
余敦辉, 成涛, 袁旭
计算机科学    2020, 47 (12): 106-113.   DOI: 10.11896/jsjkx.200300107
摘要303)      PDF(pc) (2366KB)(1027)    收藏
为了更有效地实现软件众包任务推荐提升软件开发质量为工人推荐合适的任务降低工人利益受损风险以达到工人和众包平台双赢的效果设计了一种基于排序学习的软件众包任务推荐方法.首先基于改进的隐语义模型提取工人-任务间的隐含特征;然后结合隐式信息对排序学习模型进行改进并将提取的隐含特征进行排序学习训练获得最优排序模型;最终通过排序模型对测试集任务进行排序得到任务推荐列表从而为工人进行众包任务推荐并采用NDCGMAPRecall推荐评价指标对推荐结果进行检验.实验表明所设计的方法能有效提高软件众包任务推荐的精度其推荐评价指标的NDCGMAPRecall值分别达到0.7220.3260.169.与基于用户的协同过滤算法相比推荐精度提升了18.6%;与仅基于RankNet的排序学习算法相比精度提升了10.2%因此能够有效指导软件众包任务推荐.
参考文献 | 相关文章 | 多维度评价