We all know that the web is a fantastic resource of information that can help us, but we also know that information is often hard to find. Website Wanderer is a column where we have invited an active researcher or dev...
详细信息
We all know that the web is a fantastic resource of information that can help us, but we also know that information is often hard to find. Website Wanderer is a column where we have invited an active researcher or developer in some area to share their knowledge of which websites are worth visiting. In this issue, we focus on patterns-encapsulations of knowledge that can be reused in some way when developing software.
In complex information systems, some features may recur hundreds of times. Therefore, identifying such features and suggesting suitable design solutions for them can simplify the development and maintenance of such co...
详细信息
In complex information systems, some features may recur hundreds of times. Therefore, identifying such features and suggesting suitable design solutions for them can simplify the development and maintenance of such complex systems. In that regard, this work introduces five designpatterns that were utilized to develop data management features that recurred many times in several web-based information systems used to manage enterprise and student data at the German Jordanian University. In this context, a softwaredesign pattern describes a solution to design repeating software features. The proposed designpatterns are documented in a general manner using UML diagrams to enable utilizing them in different web development platforms and to allow their development using popular object-oriented programming languages. In particular, the suggested patterns seek to solve the following software features: flexible user interface for data management, reusable module for dependent dropdown filters, table data lazy loading, unified modules to handle data addition and editing, and page state restoration when navigating between related pages. Not to mention, the validation results show that the discussed designpatterns were used hundreds of times while implementing six information systems for the university. Specifically, one of the patterns was utilized more than 700 times. Additionally, as it seems that some of the designpatterns in this work were not investigated in related work.
作者:
Herrmann, ASchöning, TDLR
German Aerosp Ctr D-38108 Braunschweig Germany DLR
German Aerosp Ctr D-38108 Neustrelitz Germany
While rapidly increasing the software safety and reliability requirements of space-born satellite missions the reduction of processing software development costs is of global interest. To achieve the mission goals bot...
详细信息
While rapidly increasing the software safety and reliability requirements of space-born satellite missions the reduction of processing software development costs is of global interest. To achieve the mission goals both the quality of the applied program design and implementation have a remarkable influence. Because remote sensing data processing software is highly complex and costs a lot to develop, reusing software helps to economize payments significantly and creates maximum benefit to meet quality needs. For the small satellite mission CHAMP the Packet Telemetry Recommendation of the European Space Agency ESA gave the main idea to develop an object-oriented program design of an on-ground data processing system. Due to several on-board satellite instruments (sensors, optical cameras etc.) the amount and the structure of the remote sensing data is completely different. This, of course, requires satellite specific converting algorithms, and with the above mentioned recommendations only standard processing steps can be performed. However, when considering future satellite projects the softwaredesign to use must be tailored to the mission specific requirements of the application data handling only. This paper shall report the application of object-oriented softwaredesign within the CHAMP project. Based on the Telemetry Packet Standards, the hierarchy of abstract classes is a joined application of the designpatterns 'abstract factory' and 'facade'. The growth of flexibility as well as the limitations of their use are discussed with implementation examples. The reuse of both the software architecture and the abstract base classes is also planned for the small satellite mission BIRD. (C) 2000 Editions scientifiques et medicales Elsevier SAS.
Context: Although the concept of the softwaredesign pattern is well-established, there is relatively little empirical knowledge about the patterns that experienced users consider to be most valuable. Aim: To identify...
详细信息
Context: Although the concept of the softwaredesign pattern is well-established, there is relatively little empirical knowledge about the patterns that experienced users consider to be most valuable. Aim: To identify which patterns from the set catalogued by the 'Gang of Four' are considered to be useful by experienced users, which ones are considered as not being useful, and why this is so. Method: We undertook a web-based survey of experienced pattern users, seeking information about their experiences as software developers and maintainers. Our sampling frame consisted of the authors of all of the pattern papers that we had identified in a preceding systematic review of studies of patterns. Results: We received 206 usable responses, corresponding to a response rate of 19% from the original sampling frame. Most respondents were involved with software development rather than maintenance. Conclusion: While patterns can provide a means of sharing 'knowledge schemas' between designers, only three patterns were widely regarded as valuable. Around one quarter of the patterns gained very low approval or worse. These observations need to be considered when using patterns;teaching students about the pattern concept;and planning empirical studies about patterns. (C) 2012 Elsevier B.V. All rights reserved.
During software development, security is often dealt with as an add-on. This means that security considerations are not necessarily seen as an integral part of the overall solution and might even be left out of a desi...
详细信息
ISBN:
(纸本)9783319185002;9783319184999
During software development, security is often dealt with as an add-on. This means that security considerations are not necessarily seen as an integral part of the overall solution and might even be left out of a design. For many security problems, the approach towards secure development has recurring elements. software design patterns are often used to address a commonly occurring problem through a "generic" approach towards this problem. The design pattern provides a conceptual model of a best-practices solution, which in turn is used by developers to create a concrete implementation for their specific problem. Most software design patterns do not include security best-practices as part of the generic solution towards the commonly occurring problem. This paper proposes an extension to the widely used MVC pattern that includes current security principles in order to teach secure softwaredesign in an integrated fashion.
software design patterns are solutions to common software problems that are proven to work adequately in particular scenarios. Deciding which design pattern to use for a given software problem often requires practical...
详细信息
ISBN:
(纸本)9781450381284
software design patterns are solutions to common software problems that are proven to work adequately in particular scenarios. Deciding which design pattern to use for a given software problem often requires practical knowledge acquired with experience in a similar domain and can be highly subjective and error-prone. Further, for novice programmers, an automated approach would be of tremendous help as it would provide practical knowledge required for deciding which design pattern to use for a particular software problem. The majority of research in softwaredesign pattern prediction involves using software structure and features in determining which design pattern to implement. However, there are circumstances where software engineers would prefer to know which design pattern to be used by looking at the design problem during or before the implementation phase. Existing design pattern prediction tools cannot be utilized in this scenario due to the absence of code and class structures. To address this issue, this paper proposes a new approach that analyzes the context of the software problem from text and predicts a suitable design pattern for the given problem context using feature learning, neural embedding, and classification. We evaluate our approach on a case study from Stack Overflow with more than 66,000 questions that discuss problems and consequences related to 23 designpatterns. Results show that our approach can predict designpatterns from the text with 82% overall accuracy.
Modern life has increasingly become intertwined with technology, and recent years have witnessed a growth in technologies that support people in, for instance, leading healthier and more sustainable lifestyles. At the...
详细信息
Modern life has increasingly become intertwined with technology, and recent years have witnessed a growth in technologies that support people in, for instance, leading healthier and more sustainable lifestyles. At the centre of this growth has been persuasive systems design, which has been shown to have a positive effect on individuals' behaviour and their use of systems. This dissertation consists of five studies, encompassing a literature review, two quantitative studies with a total of 227 respondents, and two constructive studies that address the central research question of the dissertation: How can integrating judgment and decision-making processes and persuasive software design patterns enhance the development of behaviour change support systems? The primary theoretical framework for the research is the Persuasive Systems design model. This is a model that outlines the key requirements for developing persuasive systems, consisting of the theoretical underpinnings, persuasion context analysis, and four feature categories. In recent years, improving the design of persuasive systems to better achieve their intended objectives has been an important topic. This dissertation, in addition to examining the role of persuasive software features in influencing behaviour, also integrates behavioural economics and software design patterns into the design of persuasive systems. Additionally, the interplay between the categories and other constructs such as perceived competence is investigated through statistical analyses. Overall, results reveal that persuasive system features have an impact on the efficacy of behaviour change support systems. Additionally, integrating behavioural economics concepts that explain the reasons why individuals deviate from expected behaviour and software design patterns can help improve the development of persuasive systems and further enhance their efficacy.
As Air Force operations continue to move toward the use of more autonomous systems and more human-machine teaming in general, there is a corresponding need to swiftly evaluate systems with these capabilities. We suppo...
详细信息
As Air Force operations continue to move toward the use of more autonomous systems and more human-machine teaming in general, there is a corresponding need to swiftly evaluate systems with these capabilities. We support this development through softwaredesign improvements of the execution of human cognitive performance experiments. This thesis sought to answer the following two research questions addressing the core functionality that these experiments rely on for execution and analysis: 1) What data infrastructure software requirements are necessary to execute the experimental design of human cognitive performance experiments? 2) How effectively does a central data mediator design pattern meet the time-alignment requirements of human cognitive performance studies? To answer these questions, this research contributes an exploration of establishing designpatterns to reduce the cost of conducting human cognitive performance studies. The activities included in this exploration were a method for requirements gathering, a meta-study of recent experiments, and a design pattern evaluation all focused on the experimental design domain.
software design patterns are solutions to common software problems that are proven to work adequately in particular scenarios. Deciding which design pattern to use for a given software problem often requires practical...
详细信息
ISBN:
(纸本)9781450381284
software design patterns are solutions to common software problems that are proven to work adequately in particular scenarios. Deciding which design pattern to use for a given software problem often requires practical knowledge acquired with experience in a similar domain and can be highly subjective and error-prone. Further, for novice programmers, an automated approach would be of tremendous help as it would provide practical knowledge required for deciding which design pattern to use for a particular software problem. The majority of research in softwaredesign pattern prediction involves using software structure and features in determining which design pattern to implement. However, there are circumstances where software engineers would prefer to know which design pattern to be used by looking at the design problem during or before the implementation phase. Existing design pattern prediction tools cannot be utilized in this scenario due to the absence of code and class structures. To address this issue, this paper proposes a new approach that analyzes the context of the software problem from text and predicts a suitable design pattern for the given problem context using feature learning, neural embedding, and classification. We evaluate our approach on a case study from Stack Overflow with more than 66,000 questions that discuss problems and consequences related to 23 designpatterns. Results show that our approach can predict designpatterns from the text with 82% overall accuracy.
software architectural designpatterns represent best practice solutions to common design challenges. However, applying designpatterns in practice can be difficult because they are typically documented to be domain i...
详细信息
software architectural designpatterns represent best practice solutions to common design challenges. However, applying designpatterns in practice can be difficult because they are typically documented to be domain independent. This makes applying them in a particular domain difficult. Knowing where and at what level of abstraction software architectural designpatterns should be applied in a given domain is not always clear. Currently, there are no existing approaches for building and validating domain specific software architectures that focus on reusing and composing existing software architectural designpatterns. This dissertation addresses this gap by developing a software product line (SPL) based approach to building and validating domain specific software architectures from software architectural designpatterns. The key contributions of this research include: the definition of distributed real-time and embedded (DRE) executable designpatterns; the definition of a SPL design approach that captures SPL variability at a higher degree of granularity using designpatterns; the definition of different levels of required executable design pattern customizations; and a feature and design pattern based functional validation approach. Additionally, a domain specific SPL and two real world case studies are provided to validate and demonstrate the applicability of this approach.
暂无评论