软件非功能需求建模及设计技术研究

来源 :北京大学 | 被引量 : 0次 | 上传用户:fyf7228912
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统在人们日常生活和工作中的广泛应用以及软件技术和应用的不断发展和革新,人们对软件质量提出了更高的要求。诸如安全性、性能和可靠性等非功能需求得到人们越来越多的关注,甚至对软件是否可用起着决定性的作用。与功能性需求类似,非功能需求的影响也会贯穿软件开发的整个生命周期。不同的非功能需求会导致不同的软件设计和实现,例如,影响软件体系结构风格的选择、设计方案的选择、实现算法以及部署策略的选择等。因此,在软件开发的需求分析及设计等阶段,就应该开始考虑对非功能需求进行处理。  分析模型和设计模型是软件开发过程中重要的两类模型。它们是通过对被开发的软件系统进行需求分析和设计后得到的制品。目前的分析与设计方法对于功能性需求已经有了较好的处理方式,但是对于非功能需求分析以及如何将其落实到设计模型中仍然缺乏系统化的方法。因此,有必要针对非功能需求分析及相关的设计方法开展进一步的研究。  为了在软件分析与设计阶段支持非功能需求的建模,本文首先对目前非功能需求相关的分析及设计方法进行了调研。通过分析发现,直接使用这些方法将对非功能需求进行描述并将非功能需求落实到设计模型还存在诸多问题,主要体现在:非功能需求的描述方法多样,但主要只侧重于非功能需求的某一方面的描述,而且与当前流行的建模语言存在语法和语义上的不一致;在得到非功能需求操作化策略之后,将其等同为一个新的功能需求,然后采用与功能实现相同的技术来对其进行实现,没有考虑到非功能需求操作化策略实现的特点;针对非功能需求的设计不是独立于功能设计而存在的,而是反过来影响功能设计,最终和功能设计集成起来,现有的方法对于将非功能和功能部分进行集成缺乏相应的技术支持手段。  针对上述问题,本文提出了在软件分析和设计阶段对非功能需求进行建模的方法,具体工作包括:  (1)提出了一个支持非功能需求分析的元模型及一种基于约束情况图的可视化表示法。本文首先通过研究典型的非功能需求分析和描述方法,对涉及到的概念进行分析,提出一个非功能需求元模型。该元模型对非功能需求早期阶段的描述、非功能需求的精化及非功能需求操作化等各个阶段中涉及到的概念进行了定义,支持对非功能需求进行分析并利用其中定义的概念对非功能需求进行建模。然后,提出了一种名为约束情况图的可视化表示法。该表示法提供了一个集成化的视图,使得能在同一个图上对非功能需求、操作化结果及与功能需求的关系进行表示,为后续的设计阶段提供更加直观和完整的输入。  (2)提出一种基于角色的对非功能需求策略的实现进行建模的方法。为解决针对非功能需求的系统设计问题,本文首先总结了几种典型非功能需求的操作化策略;通过分析操作化策略在不同应用中的实现方式,提出了一种基于角色的建模语言,用来对非功能需求操作化策略的实现模型进行建模。通过构造角色模型,将需求转换为设计相关的元素。该模型显式地表示了为了实现非功能需求策略,设计模型中的元素应当具有的特征。此外,按照对设计模型影响方式的不同,提出了一种对非功能需求操作化策略进行分类的方式。并基于该分类,提出了若干非功能需求操作化策略的实现模式,用于帮助设计人员构造具体的非功能需求操作化策略对应的角色模型。  (3)提出一种利用标注将非功能模型与功能模型进行集成的方法。为了将非功能需求的影响落实到具体的设计模型中,最终构造出既满足功能需求又满足非功能需求的设计模型,本文提出了一种利用标注建立非功能模型与功能模型之间的关联,并采用相关技术将非功能模型与功能模型集成进行集成的方法。该方法以非功能需求策略实现模型及功能模型作为输入,通过责任驱动的标注,利用面向方面的技术或直接集成的方式将非功能需求所对应的设计元素与功能模型进行半自动的合并。同时,在集成后的模型中采用注记将非功能需求相关的元素标记出来,提高了非功能需求的可追踪性并以及模型的可修改性。  上述工作将软件分析和设计阶段的非功能需求建模问题分为三个子问题:非功能需求描述、针对非功能需求的系统设计以及非功能模型与功能模型的集成,提出了相应的方法和技术支持,使得在软件开发早期开始,就能对非功能需求进行系统化的处理。该方法可看作是当前流行的功能需求建模的一个补充,它与现有方法一起,最终构造出更加完整的既反映了功能需求又反映了非功能需求的分析和设计模型。
其他文献
近几年,宽带互联网迅速普及,多媒体技术发展日新月异,向大规模用户提供流媒体服务成为互联网的关键应用之一。大规模网络流媒体应用面临着可扩展性和服务质量两个关键技术需求。
随着计算机、自动化和网络技术的发展,水站远程监控系统的规模越来越大,这造成设备管理困难,设备驱动程序多样化,系统耦合度高等问题。同时,水站业务需求越来越复杂,包含了多
在环境监测、交通网络、数据中心等很多领域中,对异常事件及时、及早的检测和跟踪,是一件非常重要而有意义的事。尤其是在很多领域中,事件发生后往往具有扩散性的特征,会影响周围
随着计算机图象处理技术的发展,人们已将其用于艺术作品的保护和修复领域.该文以敦煌莫高窟为背景,介绍了变色壁画色彩虚拟恢复技术,主要包括以下内容:将图象处理和人工智能
云存储是近些年计算机学科中研究的热门课题。云存储的出现提升了用户随时随地访问文件的便捷性、降低了存储成本、带来了信息存储的新理念。目前云存储的产品已经较为丰富,越
近二十年以来,虚拟现实一直是计算机领域的热点。人们设计虚拟现实系统以满足自身娱乐、工作、探索各种方面的需求。在虚拟现实系统设计和实现的过程中,研究员和工程师会面临各
近年来信息安全事故频繁发生,信息安全越来越受到从国家、行业到个人的重视。我国当前信息安全形势严峻,尤其体现在网络安全方面,没有网络安全就没有国家安全,网络安全和信息
本文设计并实现了基于Erlang OTP的虚拟计算平台中Erlang代码的在线演化模块,为该平台提供良好的代码管理功能。在调研了已有代码在线演化技术的基础上,本文重点考虑了代码版本
随着硬件、网络及通信等技术的迅速发展,异构资源的使用已经不可避免,合理的使用异构资源已变得越来越重要并成为当今的研究热点。针对面向Julia语言的云编程环境中任务(程序
本文主要是研究在非特定场合下针对单目标的跟踪问题。给定一段视频,人为选择出将要跟踪的目标,然后在后续的视频中,对该目标的位置进行判断,进而得到目标准确的位置。   视觉