首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software-intensive systems. Software architecture community has developed numerous methods, techniques, and tools to support the architecture process (analysis, design, and review). Historically, most advances in software architecture have been driven by talented people and industrial experience, but there is now a growing need to systematically gather empirical evidence about the advantages or otherwise of tools and methods rather than just rely on promotional anecdotes or rhetoric. The aim of this paper is to promote and facilitate the application of the empirical paradigm to software architecture. To this end, we describe the challenges and lessons learned when assessing software architecture research that used controlled experiments, replications, expert opinion, systematic literature reviews, observational studies, and surveys. Our research will support the emergence of a body of knowledge consisting of the more widely-accepted and well-formed software architecture theories.  相似文献   

2.
A web service-based web application (WSbWA) is a collection of web services or reusable proven software parts that can be discovered and invoked using standard Internet protocols. The use of these web services in the development process of WSbWAs can help overcome many problems of software use, deployment and evolution. Although the cost-effective software engineering of WSbWAs is potentially a very rewarding area, not much work has been done to accomplish short time to market conditions by viewing and dealing with WSbWAs as software products that can be derived from a common infrastructure and assets with a captured specific abstraction in the domain. Both Product Line Engineering (PLE) and Agile Methods (AMs), albeit with different philosophies, are software engineering approaches that can significantly shorten the time to market and increase the quality of products. Using the PLE approach we built, at the domain engineering level, a WSbWA-specific lightweight product-line architecture and combined it, at the application engineering level, with an Agile Method that uses a domain-specific visual language with direct manipulation and extraction capabilities of web services to perform customization and calibration of a product or WSBWA for a specific customer. To assess the effectiveness of our approach we designed and implemented a tool that we used to investigate the return on investment of the activities related to PLE and AMs. Details of our proposed approach, the related tool developed, and the experimental study performed are presented in this article together with a discussion of planned directions of future work.  相似文献   

3.
Software product line (SPL) engineering is increasingly being adopted in safety-critical systems. It is highly desirable to rigorously show that these systems are designed correctly. However, formal analysis for SPLs is more difficult than for single systems because an SPL may contain a large number of individual systems. In this paper, we propose an efficient model-checking technique for SPLs using induction and a SAT (Boolean satisfiability problem) solver. We show how an induction-based verification method can be adapted to the SPLs, with the help of a SAT solver. To combat the state space explosion problem, a novel technique that exploits the distinguishing characteristics of SPLs, called feature cube enlargement, is proposed to reduce the verification efforts. The incremental SAT mechanism is applied to further improve the efficiency. The correctness of our technique is proved. Experimental results show dramatic improvement of our technique over the existing binary decision diagram (BDD)-based techniques.  相似文献   

4.
Jullig  R.K. 《Software, IEEE》1993,10(3):11-22
A software synthesis method that combines elements of graphical tools, specification writing, and code construction is discussed. Practical applications of the components and efforts to integrate them into a conceptually coherent prototype environment are described. The hallmarks of the approach are the use of formal methods and a general-purpose inference engine, supported by a comprehensive, interactive development environment. The development model is a formal method, but it differs from other formal approaches in that its notations are used primarily to represent programming knowledge and support automated code generation. The performance of the system is also described  相似文献   

5.
The effective documentation of Architectural Knowledge (AK) is one of the key factors in leveraging the paradigm shift toward sharing and reusing AK. However, current documentation approaches have severe shortcomings in capturing the knowledge of large and complex systems and subsequently facilitating its usage. In this paper, we propose to tackle this problem through the enrichment of traditional architectural documentation with formal AK. We have developed an approach consisting of a method and an accompanying tool suite to support this enrichment. We evaluate our approach through a quasi-controlled experiment with the architecture of a real, large, and complex system. We provide empirical evidence that our approach helps to partially solve the problem and indicate further directions in managing documented AK.  相似文献   

6.
The role of software architecture with respect to usability has evolved over the past 20 years. The architectures of the 1980s and early 1990s assumed that usability was primarily a property of the presentation of information. Therefore, simply separating the presentation from the dialogue and application made it easy to modify that presentation after user testing. A more popular belief in the 1990s was that usability concerns greatly affected system functionality as well as the presentation. This emphasis took attention away from architectural support (beyond separation). Achieving the correct functionality for a given system became paramount. It is our observation that even if presentation and functionality of a system are well designed, the usability of a system can be greatly compromised if the underlying architecture does not support human concerns beyond modifiability. This paper will present a new role for software architecture in usability, preliminary research and practice stemming from this role and a research agenda for the future.  相似文献   

7.
The paper argues that strategic decisions about software architectures need to be based on a social and economic analysis of which designs are likely to succeed and become accepted by users. Software architecture is increasingly having to take account of customisation, reuse, end-user development and system configuration. The relationship between architecture and end users’ requirements is investigated, to propose a cost-benefit framework to support reasoning about architectural choices from the perspective of end users. The relationships between architectural decisions and non-functional requirements is reviewed, and the impact on architecture is assessed using a case study of developing configurable, semi-intelligent software to support medical researchers in e-science domains.  相似文献   

8.
Bass  L. John  B.E. 《Computer》2001,34(10):113-115
Software engineers should consider usability as a quality attribute in their architectural a designs. Usability determines how effectively and comfortably an end-user can achieve the goals that gave rise to an interactive system. It is an important attribute to consider during all phases of software design, but especially during architectural design because of the expense involved in adding usability aspects after users have tested the system. Since the 1980s, ongoing work on supporting usability through software architectural constructs has focused on the iterative design process for the user interface, which involves initial design, user testing, re-design to correct detected flaws, re-testing, and so on. The traditional software architectural response to repeated and expected modifications to the user interface is to use separation, encapsulation and information hiding to localize the user interface  相似文献   

9.
Scenario-based analysis of software architecture   总被引:2,自引:0,他引:2  
Despite advances in clarifying high level design needs, analyzing a system's ability to meet desired quality criteria is still difficult. The authors propose using scenarios to make analysis more straightforward. In their case study report, they analyze lessons learned with this approach. They developed the Software Architecture Analysis Method, an approach that uses scenarios to gain information about a system's ability to meet desired quality attributes. Scenarios are brief narratives of expected or anticipated system uses from both user and developer views and they provide a look at how the system satisfies quality attributes in various use contexts  相似文献   

10.
软件体系结构的使用是提高软件质量、减少软件开销和促进软件生产率提高的最有效方法之一,面向Agent技术的提出为复杂分布式问题的求解找到了办法.分析了软件体系结构和软件Agent技术的主要内容,提出基于Agent的软件体系结构,阐明了基于Agent的软件体系结构的总体结构及其在大型软件开发中的应用.  相似文献   

11.
为了分离软件系统中的核心关注点和横切关注点,通过引入面向方面软件开发的思想设计了一种面向方面软件体系结构模型,并详细分析了该模型的三个基本构成单元,即构件、连接件和方面构件。最后通过一个网上支付实例验证了该模型具有一定的理论意义和实用价值。  相似文献   

12.
This paper will show how architecture design and analysis techniques rest on a small number of foundational principles. We will show how those principles have been instantiated as a core set of techniques. These techniques, combined together, have resulted in several highly successful architecture analysis and design methods. Finally, we will show how these foundations, and the techniques that instantiate them, can be re-combined for new purposes addressing problems of ever-increasing scale, specifically: addressing the highly complex problems of analyzing software-intensive ecosystems.  相似文献   

13.
The main objective of software inspections is to find faults in software documents. The benefits of inspections are reported from researchers as well as software organizations. However, inspections are time consuming and the resources may not be sufficient to inspect all documents. Sampling of documents in inspections provides a systematic solution to select what to be inspected in the case resources are not sufficient to inspect everything. The method presented in this paper uses sampling, inspection and resource scheduling to increase the efficiency of an inspection session. A pre-inspection phase is used in order to determine which documents need most inspection time, i.e. which documents contain most faults. Then, the main inspection is focused on these documents. We describe the sampling method and provide empirical evidence, which indicates that the method is appropriate to use. A Monte Carlo simulation is used to evaluate the proposed method and a case study using industrial data is used to validate the simulation model. Furthermore, we discuss the results and important future research in the area of sampling of software inspections.  相似文献   

14.
Introduces a general, extensible diagrammatic syntax for expressing software architectures based on typed nodes and connections and formalized using set theory. The syntax provides a notion of abstraction corresponding to the concept of a subsystem, and exploits this notion in a general mechanism for pattern matching over architectures. We demonstrate these ideas using a small example architecture language with a limited number of types of nodes and connectors, and a small taxonomy of architectures characterized as sets of patterns in the language  相似文献   

15.
基于软件体系结构的可靠性分析   总被引:2,自引:1,他引:2       下载免费PDF全文
近年来,软件体系结构(Software Architecture,SA)可靠性作为软件性能评估的关键因素,越来越受到关注。针对SA自身的特点及构件之间的关系,提出了SA的6种基本结构,给出了相应可靠性计算模型,证明了基本结构的完整性和讨论了基本结构的选择问题,并在此基础上描述了整个SA可靠性模型。与现有的许多SA可靠性分析和评估方法相比,提出的方法便于从运行效率和可靠性出发,选择更合实际的结构组成最终的SA,从而有利于指导软件体系结构的设计,更准确地估算SA的可靠性。  相似文献   

16.
Our research deals with the use of software architecture (SA) as a reference model for testing the conformance of an implemented system with respect to its architectural specification. We exploit the specification of SA dynamics to identify useful schemes of interactions between system components and to select test classes corresponding to relevant architectural behaviors. The SA dynamics is modeled by labeled transition systems (LTSs). The approach consists of deriving suitable LTS abstractions called ALTSs. ALTSs offer specific views of SA dynamics by concentrating on relevant features and abstracting away from uninteresting ones. Intuitively, deriving an adequate set of test classes entails deriving a set of paths that appropriately cover the ALTS. Next, a relation between these abstract SA tests and more concrete, executable tests needs to be established so that the architectural tests derived can be refined into code-level tests. We use the TRMCS case study to illustrate our hands-on experience. We discuss the insights gained and highlight some issues, problems, and solutions of general interest in architecture-based testing.  相似文献   

17.
周勇  王苹 《计算机应用研究》2012,29(5):1756-1760
提出基于SARSA算法的在线规划软件体系结构自适应方法,用来解决由于环境内在固有的不确定性、复杂性和不可预见性而产生的离线规划的局限性。在线规划方法指可以根据当前的环境状况自动选择行动的规划方法。结合Robocode的实例详细阐述了实现基于SARSA算法的在线规划方法的三个关键问题和过程策略;为解决自适应的状态和行动表述、适应度和可受理集合关键问题,提出了自适应在线规划的策略。最后用Robocode的坦克战斗实例,证明了基于SARSA在线规划软件体系结构自适应方法的可行性和有效性。  相似文献   

18.
The golden age of software architecture   总被引:5,自引:0,他引:5  
Shaw  M. Clements  P. 《Software, IEEE》2006,23(2):31-39
  相似文献   

19.
随着IT技术的不断发展,越来越多的人把关注目光投入到了计算机软件领域,而软件构架凭借其在软件设计过程中的重要地位更是得到了大家的重视。本文以软件构架为研究对象进行分析,从软件架构与软件框架的概念谈起,阐述了软件架构的发展历程,并总结了软件架构的现状及其局限性。  相似文献   

20.
王念桥 《计算机时代》2012,(4):37-38,40
模型-视图-控制器(MVC)模式是一个框架级的设计模式,该模式将软件设计中的关注点分离开来,从而使程序更有弹性。随着软硬件的发展,基于MVC模式演化出了一些相关模式。模型-视图-表示器(MVP)模式就是由MVC演变而来。文章将首先介绍了可能的MVP模式的实现方法,然后讨论了该模式的应用,以及所带来的益处。  相似文献   

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

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