首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 468 毫秒
1.
In this paper, we define a number of tools that we think belong to the core of any toolkit for requirements engineers. The tools are conceptual and hence, they need precise definitions that lay down as exactly as possible what their meaning and possible use is. We argue that this definition can best be achieved by a formal specification of the tool. This means that for each semi-formal requirements engineering tool we should provide a formal specification that precisely specifies its meaning. We argue that this mutually enhances the formal and semi-formal technique: it makes formal techniques more usable and, as we will argue, at the same time simplifies the diagram-based notations.At the same time, we believe that the tools of the requirements engineer should, where possible, resemble the familiar semi-formal specification techniques used in practice today. In order to achieve this, we should search existing requirements specification techniques to look for a common kernel of familiar semi-formal techniques and try to provide a formalisation for these.In this paper we illustrate this approach by a formal analysis of the Shlaer-Mellor method for object-oriented requirements specification. The formal specification language used in this analysis is LCM, a language based on dynamic logic, but similar results would have been achieved by means of another language. We analyse the techniques used in the information model, state model, process model and communication model of the Shlaer-Mellor method, identify ambiguities and redundancies, indicate how these can be eliminated and propose a formalisation of the result. We conclude with a listing of the tools extracted from the Shlaer-Mellor method that we can add to a toolkit that in addition contains LCM as formal specification technique.  相似文献   

2.
一种改进的软件工程需求建模框架   总被引:1,自引:2,他引:1  
周慧华  郑明辉 《微机发展》2004,14(2):75-77,81
软件需求建模是软件工程中一个非常重要的环节,同时也是一个非常困难的环节。在统一建模语言UML的基础上,文章提出一种改进的软件工程需求建模框架,在此框架中,引入任务陈述和功能求精树的技术来确定用例,并给出了一个新的用例描述模板。开发人员利用该框架能够更详尽、更精确地获取软件系统的功能需求,并且利用该框架建立的高层次需求模型也比较容易细化为更详细的软件规格说明。  相似文献   

3.
Z is a declarative, non‐executable specification language; its diffusion in the field of requirements engineering outside academia is slow but growing. In this paper we focus on some methods for analyzing and testing Z specification documents, with special emphasis on non‐sequential systems specifications. We describe two techniques we have adopted: the former allows the specifier to add to the requirements document a number of properties that then can be checked using a formal semantics; the latter makes it possible to build directly from the requirements specification document a distributed prototype which can be executed and tested over a network of workstations.  相似文献   

4.
5.
A goal-driven and agent-based requirements engineering framework*   总被引:2,自引:0,他引:2  
The paper presents a requirements engineering framework (REF), where advanced requirements engineering techniques are combined with software quality modelling approaches to provide an environment within which the stakeholders and the analysts can easily cooperate to discover, organise, reconcile and validate the requirements for a new system. By adopting a basic and essential graphical notation, and a clear top-down methodology, REF allows for an effective involvement of the stakeholders, assisting and driving them to an early definition of the desired system's functionalities and quality attributes, while supporting the redesign of the encompassing organisational context to better exploit the new system's capabilities. As a case study, REF is applied to support the requirements engineering process for a complex software-intensive simulation system. Results demonstrate the feasibility of REF and the benefits it offers to the requirements engineering process, but also to the subsequent system development phases. As illustrated through the case study REF can, in fact, be usefully applied as a forerunner for unified modelling language (UML)-based approaches.*Part of this work was completed while the author was Senior Research Fellow with the Computing Information Systems Engineering Group, at the Royal Military College of Science, Cranfield University (UK)  相似文献   

6.
7.

Recommender systems for requirements are typically built on the assumption that similar requirements can be used as proxies to retrieve similar software. When a stakeholder proposes a new requirement, natural language processing (NLP)-based similarity metrics can be exploited to retrieve existing requirements, and in turn, identify previously developed code. Several NLP approaches for similarity computation between requirements are available. However, there is little empirical evidence on their effectiveness for code retrieval. This study compares different NLP approaches, from lexical ones to semantic, deep-learning techniques, and correlates the similarity among requirements with the similarity of their associated software. The evaluation is conducted on real-world requirements from two industrial projects from a railway company. Specifically, the most similar pairs of requirements across two industrial projects are automatically identified using six language models. Then, the trace links between requirements and software are used to identify the software pairs associated with each requirements pair. The software similarity between pairs is then automatically computed with JPLag. Finally, the correlation between requirements similarity and software similarity is evaluated to see which language model shows the highest correlation and is thus more appropriate for code retrieval. In addition, we perform a focus group with members of the company to collect qualitative data. Results show a moderately positive correlation between requirements similarity and software similarity, with the pre-trained deep learning-based BERT language model with preprocessing outperforming the other models. Practitioners confirm that requirements similarity is generally regarded as a proxy for software similarity. However, they also highlight that additional aspect comes into play when deciding software reuse, e.g., domain/project knowledge, information coming from test cases, and trace links. Our work is among the first ones to explore the relationship between requirements and software similarity from a quantitative and qualitative standpoint. This can be useful not only in recommender systems but also in other requirements engineering tasks in which similarity computation is relevant, such as tracing and change impact analysis.

  相似文献   

8.
A formal requirements specification language plays an important role in software development. Not only can such language be used for stating requirements specification, but also can be used in many phases of software development life cycle. The FRORL project started from constructing a language with a solid logical foundation and further expanded to research in verification, validation, requirements analysis, debugging, and transformation. Research in this project aided in some industrial applications in which a code generation tool produced software for embedded systems. This article reports the experiences gained from this project and states the value of research in knowledge-based software engineering.  相似文献   

9.
10.
11.
针对大型应用软件中嵌入脚本语言问题,提出了一种快捷而通用的语法分析器设计与实现方法。建立了脚本语言文法的描述规范;设计并实现了语法分析的算法。实例表明,该算法实现的语法分析器完全可以达到工程要求。  相似文献   

12.
Mining association rules and mining sequential patterns both are to discover customer purchasing behaviors from a transaction database, such that the quality of business decision can be improved. However, the size of the transaction database can be very large. It is very time consuming to find all the association rules and sequential patterns from a large database, and users may be only interested in some information.

Moreover, the criteria of the discovered association rules and sequential patterns for the user requirements may not be the same. Many uninteresting information for the user requirements can be generated when traditional mining methods are applied. Hence, a data mining language needs to be provided such that users can query only interesting knowledge to them from a large database of customer transactions. In this paper, a data mining language is presented. From the data mining language, users can specify the interested items and the criteria of the association rules or sequential patterns to be discovered. Also, the efficient data mining techniques are proposed to extract the association rules and the sequential patterns according to the user requirements.  相似文献   


13.
System and software requirements documents play a crucial role in software engineering in that they must both communicate requirements to clients in an understandable manner and define requirements in precise detail for system developers. The benefits of both lists of textual requirements (usually written in natural language) and software engineering models (usually specified in graphical form) can be brought together by combining the two approaches in the specification of system and software requirements documents. If, moreover, textual requirements are generated from models in an automatic or closely monitored form, the effort of specifying those requirements is reduced and the completeness of the specification and the management of the requirements traceability are improved. This paper presents a systematic review of the literature related to the generation of textual requirements specifications from software engineering models.  相似文献   

14.
15.
Recent research in software engineering has produced a number of techniques for structuring an understanding of systems. Many of these techniques are applicable to the design of embedded computer systems and produce designs whose structures are easily expressible in the ada language. This language is itself structured so that the design of a system can be expressed independently of its implementation. Thus ada can be a useful system design language (SDL) with these techniques. This paper describes the software design problem in the development of embedded computer systems. It shows how ada can be used as an SDL, as well as a system implementation language. The essential point is that as an SDL ada encourages designers to use recent theory to develop better structures for their systems, and its subsequent use to implement the systems preserves those structures in the product.  相似文献   

16.
In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical studies on the application of these techniques in industrial settings. Our goal is to investigate to which extent NLP can be practically applied to detect defects in the requirements documents of a railway signalling manufacturer. To address this goal, we first identified a set of typical defects classes, and, for each class, an engineer of the company implemented a set of defect-detection patterns by means of the GATE tool for text processing. After a preliminary analysis, we applied the patterns to a large set of 1866 requirements previously annotated for defects. The output of the patterns was further inspected by two domain experts to check the false positive cases. Additional discard-patterns were defined to automatically remove these cases. Finally, SREE, a tool that searches for typically ambiguous terms, was applied to the requirements. The experiments show that SREE and our patterns may play complementary roles in the detection of requirements defects. This is one of the first works in which defect detection NLP techniques are applied on a very large set of industrial requirements annotated by domain experts. We contribute with a comparison between traditional manual techniques used in industry for requirements analysis, and analysis performed with NLP. Our experience shows that several discrepancies can be observed between the two approaches. The analysis of the discrepancies offers hints to improve the capabilities of NLP techniques with company specific solutions, and suggests that also company practices need to be modified to effectively exploit NLP tools.  相似文献   

17.
Early in a program, engineers must determine requirements for system reliability and availability. We suggest that existing techniques gathered from diverse fields can be incorporated within the framework of systems engineering methodology to accomplish this. Specifically, adopting probabilistic (Monte Carlo) design techniques allows the designer to incorporate uncertainty explicitly into the design process and to improve the designer's understanding of the root causes of failures and how often these might realistically occur. In high‐reliability systems in which failure occurs infrequently, rare‐event simulation techniques can reduce the computational burden of achieving this understanding. This paper provides an introductory survey of the literature on systems engineering, requirements engineering, Monte Carlo simulation, probabilistic design, and rare‐event simulation with the aim of assessing the degree to which these have been integrated in systems design for reliability. This leads naturally to a proposed framework for the fusion of these techniques.  相似文献   

18.
Software-intensive systems of the future are expected to be highly distributed and to exhibit adaptive and anticipatory behavior when operating in highly dynamic environments and interfacing with the physical world. Therefore, visual modeling techniques to address these software-intensive systems require a mix of models from a multitude of disciplines such as software engineering, control engineering, and business process engineering. As in this concert of techniques software provides the most flexible element, the integration of these different views can be expected to happen in the software. The software thus includes complex information processing capabilities as well as hard real-time coordination between distributed technical systems and computers.In this article, we identify a number of general requirements for the visual model-driven specification of next generation software-intensive systems. As business process engineering and software engineering are well integrated areas and in order to keep this survey focused, we restrict our attention here to approaches for the visual model-driven development of adaptable software-intensive systems where the integration of software engineering with control engineering concepts and safety issues are important. In this survey, we identify requirements and use them to classify and characterize a number of approaches that can be employed for the development of the considered class of software-intensive systems.  相似文献   

19.
MFS是一个基于重写技术的程序开发系统.它提供的程序设计语言MFSL是扩展的函数式语言与代数规约语言相结合的混合语言.在这种混合语言中引入了能够提高效率和满足用户特殊需求的优化规则定义机制.语言的类型系统以及在语言和系统中引入的证明和测试机制能够使人们在开发过程中较早地发现问题,提高所开发系统的正确性.在系统的实现中采用的必要平行最外归约策略、图归约、证据测试集等技术能够使所开发的系统具有很高的实现效率.应用这一程序开发系统,能够较快地开发出正确且效率较高的程序.  相似文献   

20.
从软件需求定义到形式功能堆约的自动转换是需求工程的重要问题之一。文中以软件需求定义语言NDRDL和形式功能规给语言Z为基础,探讨了基间的自动转换技术,特别是从NDRDL需求定义自动获取Z形式规约中状态空间与操作定义的技术。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号