首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Blake  M.B. 《Software, IEEE》2007,24(6):68-77
This article deals with software development life cycles to support development in service-centric software systems. The explosion of information technology (including service-oriented architecture) and its underlying capabilities has led to the evolution of software development life cycles over the past three decades. Software engineers are continuously exploring approaches to software and system development that are domain, application, and technology independent. Early approaches included waterfall life cycles that promote creating concrete requirements before any significant design or development occurs.  相似文献   

2.
《Computer Networks》2000,32(4):389-418
The feature interaction problem is an inherently difficult problem that affects the entire software life cycle for development of new features for reactive systems. A considerable body of work has been created over the last 10 years addressing this problem. To encourage testing and comparing different approaches to the problem, a feature interaction detection contest was held for the Fifth International Workshop on Feature Interactions in Telecommunications and Software Systems. The contest required the participants to use automated tools to address the feature interaction problem in the requirements phase of feature development. The participants were required to discover the pair-wise feature interactions inherent in the requirements for a collection of features. This special issue of COMNET contains the best papers from the participants in that contest. Although there could be only one winner of the contest, all of the approaches represented here provide useful insight into how to approach the feature interaction problem as it affects the requirements phase of feature development. We hope that subsequent contests will provide opportunities to refine these approaches and to address other phases of feature development.  相似文献   

3.
Software process improvement in software development organisations is a complex task that can be solved using knowledge management strategies. In this area, the definition and use of process patterns are a proven approach to apply knowledge management strategies in software engineering organisations. One of the main problems for the effective application of process patterns in the software industry is the difficulty of formalising the knowledge about the development process using these approaches. This study presents a framework to manage software project patterns. This framework (which is composed of a metamodel and a platform for patterns modelling and reuse) is able to formalise the knowledge on software development projects including software engineers’ previous experience, development methodologies, references frameworks and lessons learnt. The authors carried out an empirical study at Carlos III University of Madrid, where junior software engineers used the project patterns defined in this research work. The evidences and findings obtained during the empirical study execution indicates that correctness of the pattern depends on relevance of the bibliographic references used to create it, implementation of a knowledge sharing strategy among the personnel involved and previous experience in the business areas related to the information systems being developed. The results obtained from the empirical study also envisage that the usefulness of an sdPP (Software Development Project Pattern) depends on the ease of identifying when and how to apply a specific sdPP in a software project.  相似文献   

4.
5.
Weaving together requirements and architectures   总被引:1,自引:0,他引:1  
Nuseibeh  B. 《Computer》2001,34(3):115-119
Software development organizations often choose between alternative starting points-requirements or architectures. This invariably results in a waterfall development process that produces artificially frozen requirements documents for use in the next step in the development life cycle. Alternatively, this process creates systems with constrained architectures that restrict users and handicap developers by resisting inevitable and desirable changes in requirements. The spiral life-cycle model addresses many drawbacks of a waterfall model by providing an incremental development process, in which developers repeatedly evaluate changing project risks to manage unstable requirements and funding. An even finer-grain spiral life cycle reflects both the realities and necessities of modern software development. Such a life cycle acknowledges the need to develop software architectures that are stable, yet adaptable, in the presence of changing requirements. The cornerstone of this process is that developers craft a system's requirements and its architecture concurrently, and interleave their development  相似文献   

6.
Understanding the human context in requirements elicitation   总被引:1,自引:0,他引:1  
The human context within which a software system will operate is fundamental for its requirements. It may not appear to be very much related to the system, but it is very relevant in achieving its successful adoption. However, requirements engineers have usually a background in Software Engineering and are not trained to elicit this kind of information. This situation raises the need for analytical tools to deal with these features. These tools should enable collaborative work between requirements engineers, who use them in development, social practitioners, who provide the knowledge and processes underlying these tools, and the customers, who know the domain and intended application of the projects. The framework presented in this paper is based on the socio-psychological Activity Theory and its analysis of human contexts. It includes a repository of social properties and a process to perform this elicitation using it. The paper illustrates its application through a case study on the impact of a new system in the organization of a firm.  相似文献   

7.
软件需求开发方法研究是当前复杂软件系统开发中最重要的问题之一。本文首先基于软件开发生命周期模型,对软件需求开发工作进行了介绍。进而总结了软件需求所必须包含的内容,分析了软件需求的特性。基于迭代改进的开发方法,本文将需求开发工作分解为需求捕获、需求分析、需求编写和需求确认四部分活动,并对每部分工作的详细活动和目的进行了分析和总结。软件开发工程实践证明,科学的软件需求开发方法是提高软件开发效率,提高软件开发质量的重要手段。  相似文献   

8.
Rech  J. Bogner  C. Haas  V. 《Software, IEEE》2007,24(6):99-104
Software projects in small-and medium-sized enterprises (SMEs) produce similar work products when building interactive software systems. For each project, software engineers create requirements, design specifications, source code, data schemes, and so forth, gain experience with these work products, and create associated products such as test cases for the source code or inspection plans for the requirements. All of this constitutes knowledge that the engineers can reuse in new variants of the software system.  相似文献   

9.
Intelligent Development Environment and Software Knowledge Graph   总被引:1,自引:0,他引:1       下载免费PDF全文
Software intelligent development has become one of the most important research trends in software engineering. In this paper, we put forward two key concepts — intelligent development environment (IntelliDE) and software knowledge graph — for the first time. IntelliDE is an ecosystem in which software big data are aggregated, mined and analyzed to provide intelligent assistance in the life cycle of software development. We present its architecture and discuss its key research issues and challenges. Software knowledge graph is a software knowledge representation and management framework, which plays an important role in IntelliDE. We study its concept and introduce some concrete details and examples to show how it could be constructed and leveraged.  相似文献   

10.
Laddad  R. 《Software, IEEE》2003,20(6):90-91
Software engineers are always looking for ways to improve modularity in software. Doing so makes software easier to develop and maintain and improves its overall quality. Recently, aspect-oriented programming emerged as a new modularity technique that aims to cleanly separate the implementation of crosscutting concerns (requirements and design elements that affect multiple modules). AOP is an evolutionary step that improves the implementation's comprehensibility and simplifies incorporating new requirements as well as changes to existing ones. This systematic approach promises direct mapping of requirements and design intentions to the implementation. Such a mapping lets you trace the reasoning behind a piece of code's existence. Efficiently implementing crosscutting concerns also has an important indirect benefit: it frees resources to concentrate on the quality of the core implementation. All these factors work together to improve software quality.  相似文献   

11.
领域大数据应用开发与运行平台技术研究   总被引:1,自引:0,他引:1  
王建民 《软件学报》2017,28(6):1516-1528
随着大数据技术在不同领域的快速应用,构建大数据应用系统的开发与运行一体化平台,降低大数据技术在各行各业应用普及的门槛,为面向领域的大数据应用系统的快捷开发和高效运行提供方法、工具和平台支撑,成为大数据产业发展的迫切需求。由于大数据固有的复杂性、动态性、多样性及其价值独创性,目前尚未形成系统化的大数据软件开发方法,难以满足不同领域对大数据全生命周期处理的多样化需求。大数据时代的软件工程面临的挑战,体现在互为依赖的两方面:面向大数据全生命周期的集成设计开发环境和基于软件生命周期的系统运行分析工具。本文结合特定领域的实际需求,研究面向领域的大数据应用系统开发与运行一体化平台技术,覆盖大数据生命周期(获取、清洗、集成、分析、呈现)以及软件生命周期(设计、开发、运行、优化),形成自管理、自适应、自优化的平台化解决方案。在此基础上,开展面向装备物联网及气象民生服务的大数据示范应用,以验证平台的有效性。  相似文献   

12.
There is a general consensus on the importance of good Requirements Engineering (RE) for achieving high quality software. The modeling and analysis of requirements have been the main challenges during the development of complex systems. Although semi-formal, scenario driven approaches have raised the awareness and use of requirement engineering techniques, mostly because of their intuitive representation. Scenarios are a well established approach to describe functional requirements, uncovering hidden requirements and trade-offs, as well as validating and verifying requirements.The ability to perform quantitative analysis at the requirements level supports the detection of design errors during the early stages of a software development life cycle, and helps reduce the cost of later redesign activities. In order to achieve this goal, non-functional aspects and in particular time-related aspects have to be incorporated at the software requirement phase. This is essential in order to correctly model and analyze time dependent applications at early stages in system development.The widespread interest in time modeling and analysis techniques provides the major motivation for our paper. The objective of the article is to provide readers with sufficient knowledge about existing timed scenario approaches to guide them in making informed decisions to when and how time aspects can be incorporated in their development process. In order to support this process, we present a comprehensive classification, evaluation and comparison of time-based scenario notations. In order to evaluate these existing notations, we introduce a set of eleven time-related criteria and apply them to categorize and compare forty seven scenario construction approaches.  相似文献   

13.
安全关键软件需求中的相关知识大多需要手工提取,既费时又费力。近年来,人工智能技术逐渐被应用于安全关键软件设计与开发过程中,以减少工程师的手工劳动,缩短软件开发的生命周期。文中提出了一种安全关键软件术语推荐和需求分类方法,为安全关键软件需求规约提供了基础。首先,基于词性规则和依存句法规则对候选术语进行提取,通过术语相似度计算和聚类方法对候选术语进行聚类,将聚类结果推荐给工程师;其次,基于特征提取方法和分类方法将安全关键软件需求自动分为功能、安全性、可靠性等需求;最后,在AADL(Architecture Analysis and Design Language)开源建模环境OSATE中实现了原型工具TRRC4SCSTool,并基于工业界案例需求、安全分析与认证标准等构建实验数据集进行了实验验证,证明了所提方法的有效性。  相似文献   

14.
Like any other quality attribute, usability imposes specific constraints on software components. Features that raise the software system's usability have to be considered from the earliest development stages. But, discovering and documenting usability features is likely to be beyond the usability knowledge of most requirements engineers, developers, and users. We propose an approach based on developing specific guidelines that capitalize upon key elements recurrently intervening in the usability features elicitation and specification process. The use of these guidelines provides requirements analysts with a knowledge repository. They can use this repository to ask the right questions and capture precise usability requirements information.  相似文献   

15.
The standard software development life cycle heavily depends on requirements elicited from stakeholders. Based on those requirements, software development is planned and managed from its inception phase to closure. Due to time and resource constraints, it is imperative to identify the high-priority requirements that need to be considered first during the software development process. Moreover, existing prioritization frameworks lack a store of historical data useful for selecting the most suitable prioritization technique of any similar project domain. In this paper, we propose a framework for prioritization of software requirements, called RePizer, to be used in conjunction with a selected prioritization technique to rank software requirements based on defined criteria such as implementation cost. RePizer assists requirements engineers in a decision-making process by retrieving historical data from a requirements repository. RePizer also provides a panoramic view of the entire project to ensure the judicious use of software development resources. We compared the performance of RePizer in terms of expected accuracy and ease of use while separately adopting two different prioritization techniques, planning game (PG) and analytical hierarchy process (AHP). The results showed that RePizer performed better when used in conjunction with the PG technique.  相似文献   

16.
高洁  卓汉魁  李磊 《计算机科学》2012,39(8):141-146,177
目前,软件系统已逐渐成为日常生活中不可缺少的组成部分。利用人工智能的方法进行软件需求获取,可以在短时间内自动获取软件需求,有利于避免人为的理解偏差以及节省人力时间成本。为了解决软件需求的自动获取问题,利用智能规划与机器学习的方法,将需求领域转化为部分规划域,并建立了具有不确定性效果的动作模型学习算法AMLCP。应用该算法,可以获得完整规划域以及需求规格说明。  相似文献   

17.
ContextConstructing bespoke software development methodologies for specific project situations has become a crucial need, giving rise to Situational Method Engineering (SME). Compared with Software Engineering, SME has a long way to go yet; SME approaches are especially deficient as to support for modeling, portability, and automation. Model-Driven Development (MDD) has been effectively used for addressing these issues in Software Engineering, and is also considered a promising approach for resolving them in SME.ObjectiveThis paper aims to address the shortcomings of existing SME approaches by introducing a novel MDD approach, specifically intended for SME purposes, that uses a pattern-based approach for model transformation.MethodDeveloping a MDD approach for SME requires that a modeling framework, consisting of modeling levels, be defined for modeling software development methodologies. Transformation patterns should also be specified for converting the models from one level to the next. A process should then be defined for applying the framework and transformations patterns to real SME projects. The resulting MDD approach requires proper evaluation to demonstrate its applicability.ResultsA framework and a semi-automated process have been proposed that adapt pattern-based model transformation techniques for application to the methodology models used in SME. The transformation patterns have been implemented in the Medini-QVT model transformation tool, along with two supplementary method bases: one for mapping the situational factors of SME projects to requirements, and the other for mapping the requirements to method fragments. The method engineer can produce the methodology models by using the method bases and executing the transformation patterns via the tool.ConclusionThe validity of the proposed approach has been assessed based on special evaluation criteria, and also through application to a real-world project. Evaluation results indicate that the proposed approach addresses the deficiencies of existing approaches, and satisfies the practicality requirements of SME approaches.  相似文献   

18.
Our paper describes the requirements and possibilities of integration of metrics tools in the field of software quality assurance. Tools for the support of the measurement process are herein classified as Computer Assisted Software Measurement and Evaulation Tools (CAMETools). Software measurement regarded as a special type of metrics application provides a great amount of basic information for the evaluation of the software development process or the software product itself. Our paper examines the effectiveness and destination of software measurement in tool-based software development and is based on an analysis of more than 20 CAME tools in the Software Measurement Laboratory at the University of Magdeburg. CAMEtools are useable for the process, product, and resources evaluation in all phases of the software life cycle (including the problem definition) for different development paradigms. The efficiency of CAME tools is described on the basis of a general measurement framework. This framework includes all steps in the software measurement and evaulation process: metrics definition, selection of the evaluation criteria, tool-based modelling and measurement, value presentation and statistical analysis. The framework includes the main aspects of the process evaluation techniques (Capability Maturity Model, ISO 9000-3 etc.) and product evaluation (ISO 9126, etc.). It is not a disjointed set of aspects: our measurement framework represents an incremental technique for the application of quantification of quality aspects in a required quality assurance  相似文献   

19.
软件技术债务运用了经济学中"债务"的概念来描述软件开发中为了实现项目短期利益而实施的技术折中,但从长期目标来看,技术债务会影响软件的质量、成本和开发效率,因此,有必要对其进行系统有效的管理面向软件生命周期中因持续不断出现的需求变更而引起的技术债务,提出需求变更技术债务的定义,对需求变更的技术债务进行量化,借助经济学中"...  相似文献   

20.
Software engineering is an often used term to describe the activities, methods, and tools of large scale software development. There is an ongoing discussion whether Software Engineering can be considered as an engineering discipline. In many respects the development of software shares common properties of other engineering disciplines. In contrast to “classical” engineering fields, theories, questions, and approaches from the social sciences are more important than those from the natural sciences. This is investigated here by comparing the situation found in software engineering with several concepts of engineering in general. Three viewpoints are used to guide this comparison: one is a social stereotype of engineers; the second is the organization of engineering profession organizations; and the third are capabilities which the engineers of the future will need. This revised version was published online in June 2006 with corrections to the Cover Date.  相似文献   

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

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