首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
介绍实时系统设计模式的概念及其应用实例,设计模式的目的是为了把成功的设计和体系结构总结出来,以便在今后的软件开发中重用。设计模式是通过对相关问题的分析而得到的,它描述了某一类问题及其解决方案。使用设计模式能得到已证实的成功设计,并把以往的设计经验以规范的形式记录下来。在电梯控制系统中应用设计模式,可以使设计更健壮、灵活和易于扩展。  相似文献   

2.
在软件设计中,设计模式已被大量采用,以提高系统的可扩展性、可重用性和可维护性.从使用设计模式应用的实际例子出发,研究设计模式在实际的应用中会遇到的协作方面的问题.从系统的可扩展性角度讨论了设计模式协作的度量准则,从中提出了设计模式协作的友好性分类,并通过设计模式的应用的实例来分析设计模式协作的友好性分类准则的使用方式,对设计模式的协作使用提出了指导性的意见和建议.  相似文献   

3.
From Non-Functional Requirements to Design through Patterns   总被引:8,自引:2,他引:6  
  相似文献   

4.
设计模式的应用研究   总被引:14,自引:6,他引:8  
林舒萍  罗键 《计算机工程与设计》2005,26(11):2980-2982,3009
就设计模式的概念和基本模式,以及最新出现的一些模式进行了讨论。针对各种设计模式在实际应用中的合理选择和使用方法,以个人信息管理系统的设计开发为例,展示如何根据设计要求和上下文选择适当的设计模式,说明了设计模式在实际中的使用步骤和方法。  相似文献   

5.
从源码中挖掘设计模式实例具有重要意义,它能够提升软件系统的可理解性和可维护性。基于机器学习方法,提出了一个设计模式挖掘方法。其中,使用类关系图表示软件系统和设计模式,采用子图匹配的方法从软件系统中提取出候选设计模式实例,过滤了大量非设计模式实例组合,提高了设计模式挖掘效率;提出了度量指标,将软件系统和设计模式向量化,采用机器学习的方法对候选设计模式实例进行分类,提高了设计模式挖掘的准确率。实验结果证明此方法效率和有效性上得到了一定的提升。  相似文献   

6.
7.
In recent years, the influences of design patterns on software quality have attracted increasing attention in the area of software engineering, as design patterns encapsulate valuable knowledge to resolve design problems, and more importantly to improve the design quality. One of the key challenges in object-oriented design is how to apply appropriate design patterns during the system development. In this paper, design pattern is analyzed from different perspectives to see how it can facilitate design activities, handle non-functional requirement, solve design problems and resolve design conflicts. Based on the analysis, various kinds of applicability of design patterns are explored and integrated with a goal-driven approach to guiding developers to construct the object-oriented design model in a systematic manner. There are three benefits to the proposed approach: making it easy to meet requirements, helping resolve design conflicts, and facilitating improvement of the design quality.  相似文献   

8.
Design patterns have become a widely acknowledged software engineering practice and therefore have been incorporated in the curricula of most computer science departments. This paper presents an observational study on students’ ability to understand and apply design patterns. Within the context of a postgraduate software engineering course, students had to deliver two versions of a software system; one without and one with design patterns. The former served as a poorly designed system suffering from architectural problems, while the latter served as an improved system where design problems had been solved by appropriate patterns. The experiment allowed the quantitative evaluation of students’ preference to patterns. Moreover, it was possible to assess students’ ability in relating design problems with patterns and interpreting the impact of patterns on software metrics. The overall goal was to empirically identify ways in which a course on design patterns could be improved.  相似文献   

9.
软件设计模式及其在Java类库中的典型实现   总被引:7,自引:0,他引:7  
软件设计模式代表了从成功的系统设计中分离出来的可复用的优秀设计经验,已成为现代软件系统设计的重要研究对象。文章介绍了设计模式的主要特点和使用设计模式给软件设计带来的好处,并就设计模式在Java类库中的一些典型实现进行了分析。  相似文献   

10.
设计模式是人们在实践过程中总结出来的成功设计范例,它的正确选择和使用是发挥模式作用的关键。而改变在设计模式应用过程中过分依靠人工的现状,有着重大的意义。重新应用需求和设计模式的形式化描述,在模式库中找出一组包含新应用领域的模式的可重用的设计以及重用模式的变换适配等方面,详细讨论了一种软件设计模式的自动选择方法。并结合实例给出了这种方法在网上证券交易原型系统中的实现。该方法为设计模式的重用提供了一个有效的途径,形式化描述是其基础,设计模式的组织和检索是其核心。利用此方法选择设计模式,可大大提高模式重用的准确性和软件开发的效率。  相似文献   

11.
组态软件设计中的模式研究   总被引:13,自引:6,他引:7  
工业组态软件的设计是复杂的,为了设计出灵活的、可扩展性好、易维护的工业组态软件,在采用面向对象的软件设计时,引入了设计模式的概念,这些模式来源于众多设计者多年的面向对象的设计成果,这些模式的恰当运用解决了很多组态软件设计问题,使程序优雅而灵活,体现了面向对象编程的优越性。  相似文献   

12.
针对苗族图案的文化传承及设计应用问题,提出基于可拓表征和神经网络的民族图案创新设计方法,对苗族蜡染图案进行解构、映射和重构.首先对苗族蜡染图案进行可拓表征,运用发散树法构建设计生长阶段模型对苗族图案基元进行拓展分析.其次基于感性工学对苗族蜡染图案进行感性意象分析,提出一种面向图案构型、纹样语义和种类的图案解构方法,构建图案特征要素解构空间和情感意象认知空间.运用神经网络构建感性预测模型根据用户意象偏好推荐图案构型等设计要素,对设计思维进行收敛,并与线性回归预测模型进行对比验证其优势性.最后根据神经网络感性预测模型推荐的特征要素应用形状文法对苗族蜡染图案进行细化设计.以苗族蜡染图案为例,验证该方法的可行性,为其他民族图案的解构及创新设计提供参考.  相似文献   

13.
Visualizing Design Patterns in Their Applications and Compositions   总被引:1,自引:0,他引:1  
Design patterns are generic design solutions that can be applied and composed in different applications where pattern-related information is generally implicit in the Unified Modeling Language (UML) diagrams of the applications. It is unclear in which pattern instances each modeling element, such as class, attribute, and operation, participates. It is hard for a designer to find the design patterns used in an application design. Consequently, the benefits of design patterns are compromised because designers cannot communicate with each other in terms of the design patterns they used and their design decisions and trade-offs. In this paper, we present a UML profile that defines new stereotypes, tagged values, and constraints for tracing design patterns in UML diagrams. These new stereotypes and tagged values are attached to a modeling element to explicitly represent the role the modeling element plays in a design pattern so that the user can identify the pattern in a UML diagram. Based on this profile, we also develop a Web service (tool) for explicitly visualizing design patterns in UML diagrams. With this service, users are able to visualize design patterns in their applications and compositions because pattern-related information can be dynamically displayed. A real-world case study and a comparative experiment with existing approaches are conducted to evaluate our approach.  相似文献   

14.
Over many years of research and practices in software development, hundreds of software design patterns have been invented and published. Now, a question which naturally arises is how software developers select the right design patterns from all relevant patterns to solve design problems in the software design phase. To address this issue, in this paper, we propose a two-phase method to select a right design pattern. The proposed method is based on a text classification approach that aims to show an appropriate way to suggest the right design pattern(s) to developers for solving each given design problem. There are two advantages of the proposed method in comparison to previous works. First, there is no need for semi-formal specifications of design patterns and second, the suitable design patterns are suggested with their degree of similarity to the design problem. To evaluate the proposed method, we apply it on real problems and several case studies. The experimental results show that the proposed method is promising and effective.  相似文献   

15.
Liu  Dong  Ren  Zhi-Lei  Long  Zhong-Tian  Gao  Guo-Jun  Jiang  He 《计算机科学技术学报》2020,35(5):963-978

In common design pattern collections, e.g., design pattern books, design patterns are documented with templates that consist of multiple attributes, such as intent, structure, and sample code. To adapt to modern developers, the depictions of design patterns, especially some specific attributes, should advance with the current programming technologies, for example, “known uses”, which exemplifies the use scenarios of design patterns in practice, and “related patterns”, which describes the relatedness between a design pattern and the others within a context. However, it is not easy to update the contents of these attributes manually due to the diversity of the programming technologies. To address this problem, in this work, we conducted a case study to mine design pattern use scenarios and related design pattern pairs from Stack Overflow posts to enrich the two attributes. We first extracted the question posts relevant to each design pattern by identifying the design pattern tags. Then, the topics of the posts were discovered by applying topic modeling techniques. Finally, by analyzing the topics specified for each design pattern, we detected 195 design pattern use scenarios and 70 related design pattern pairs, involving 61 design patterns totally. These findings are associated with a variety of popular software frameworks and programming techniques. They could complement the existing design pattern collections and help developers better acknowledge the usage and relatedness of design patterns in today’s programming practice.

  相似文献   

16.
Software Product Lines (SPLs) are an approach to reuse in-the-large that models a set of closely related software systems in terms of commonalities and variabilities. Design patterns are best practices for addressing recurring design problems in object-oriented source code. In the practice of implementing SPL, instances of certain design patterns are employed to handle variability, which makes these “variability-aware design patterns” a best practice for SPL design. However, currently there is no dedicated method for proactively developing SPLs using design patterns suitable for realizing variable functionality. In this paper, we present a method to perform generative SPL development with design patterns. We use role models to capture design patterns and their relation to a variability model. We further allow mapping of individual design pattern roles to (parts of) implementation elements to be generated (e.g., classes, methods) and check the conformance of the realization with the specification of the pattern. We provide definitions for the variability-aware versions of the design patterns Observer, Strategy, Template Method and Composite. Furthermore, we support generation of realizations in Java, C++ and UML class diagrams utilizing annotative, compositional and transformational variability realization mechanisms. Hence, we support proactive development of SPLs using design patterns to apply best practices for the realization of variability. We realize our concepts within the Eclipse IDE and demonstrate them within a case study.  相似文献   

17.

Software design patterns are well-known solutions for solving commonly occurring problems in software design. Detecting design patterns used in the code can help to understand the structure and behavior of the software, evaluate the quality of the software, and trace important design decisions. To develop and maintain a software system, we need sufficient knowledge of design decisions and software implementation processes. However, the acquisition of knowledge related to design patterns used in complex software systems is a challenging, time-consuming, and costly task. Therefore, using a suitable method to detect the design patterns used in the code reduces software development and maintenance costs. In this paper, we proposed a new method based on conceptual signatures to improve the accuracy of design pattern detection. So we used the conceptual signatures based on the purpose of patterns to detect the patterns’ instances that conform to the standard structure of patterns, and cover more instances of patterns’ variants and implementation versions of the patterns and improve the accuracy of pattern detection. The proposed method is a specific process in two main phases. In the first phase, the conceptual signature and detection formula for each pattern is determined manually. Then in the second phase, each pattern in the code is detected in a semi-automatic process using the conceptual signature and pattern detection formula. To implement the proposed method, we focused on GoF design patterns and their variants. We evaluated the accuracy of our proposed method on five open-source projects, namely, Junit v3.7, JHotDraw v5.1, QuickUML 2001, JRefactory v2.6.24, and MapperXML v1.9.7. Also, we performed our experiments on a set of source codes containing the instances of GoF design patterns’ variants for a comprehensive and fair evaluation. The evaluation results indicate that the proposed method has improved the accuracy of design pattern detection in the code.

  相似文献   

18.
In this paper, we discuss how the idea of design patterns can be used in the context of the World Wide Web, for both designing and implementing web sites or more complex information systems. We first motivate our work by discussing which are the most outstanding problems in designing Web-based information systems. Then we briefly introduce design patterns and show how they are used to record and reuse design information. We next present some simple though powerful design patterns and show known uses in the WWW. Finally, we outline a process for building applications by combining a design methodology (OOHDM) with design patterns.  相似文献   

19.
Uwe Zdun 《Software》2007,37(9):983-1016
Software patterns provide reusable solutions to recurring design problems in a particular context. The software architect or designer must find the relevant patterns and pattern languages that need to be considered, and select the appropriate patterns, as well as the best order to apply them. If the patterns and pattern languages are written by multiple pattern authors, it might be necessary to identify interdependencies and overlaps between these patterns and pattern languages first. Out of the possible multitude of patterns and pattern combinations that might provide a solution to a particular design problem, one fitting solution must be selected. This can only be mastered with a sufficient expertise for both the relevant patterns and the domain in which they are applied. To remedy these issues we provide an approach to support the selection of patterns based on desired quality attributes and systematic design decisions based on patterns. We propose to formalize the pattern relationships in a pattern language grammar and to annotate the grammar with effects on quality goals. In a second step, complex design decisions are analyzed further using the design spaces covered by a set of related software patterns. This approach helps to systematically find and categorize the appropriate software patterns—possibly even from different sources. As a case study of our approach, we analyze patterns from a pattern language for distributed object middleware. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

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

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