413,934 research outputs found

    Exploring design patterns with the Java programming language

    Get PDF
    This project describes and discusses the concepts of design patterns giving a historical background as well as citing contributions to the software development field and current research efforts. In addition, the advantages and disadvantages of using design patterns and efforts to encourage design pattern usage in software organizations are discussed. Seven design patterns (Builder, Adapter, Composite, Template Method, Facade, Mediator and Strategy) were chosen as the basis for example concrete applications. The concrete applications are given in the form of design documentation, source code and executable software. The applications demonstrate the use of design patterns in developing object oriented software applications. The applications are implemented in the Java programming language. The Java programming language was used because it is a popular object oriented programming language. An aspect of its popularity comes from its ability to execute with Java enabled browsers on a variety of computing platforms. Noted researchers in the area of design patterns assert that design patterns are language independent, however, much of the implementation in the area of design patterns has been written in the C++ language. The contribution of this project lies in implementing selected design patterns in Java and noting experiences that support or refute the conjecture that design patterns are language independent

    Evaluating Wikis as a Communicative Medium for Collaboration Within Colocated and Distributed Engineering Design Teams

    Get PDF
    Wikis, freely editable collections of web pages, exhibit potential for a flexible documentation and communication tool for collaborative design tasks as well as support for team design thinking early in the design process. The purpose of this work is to analyze dimensions of wiki technologies from a communication perspective as applicable to design. A wiki was introduced in a globally distributed product development course, and the experiences and performance of colocated and distributed teams in the course were assessed through observations, surveys, and site usage analytics. With a focus on communication in design, we explore the advantages and disadvantages of using wikis in student engineering design teams. Our goal is to use wiki technologies to enhance support for design processes while exploiting the potential for increasing shared understanding among teams. Distributed teams used the wiki more as a design tool and were more supportive of its use in the course whereas colocated teams used it for documentation. The usage patterns, the number and type of files uploaded, and the wiki structure provided indicators of better performing teams. The findings also suggest ways to improve and inform students about best practices using the wiki for design and to transform the wiki as a support tool for communication during early design collaboration

    The Pattern Instance Notation: A Simple Hierarchical Visual Notation for the Dynamic Visualization and Comprehension of Software Patterns

    Get PDF
    Design patterns are a common tool for developers and architects to understand and reason about a software system. Visualization techniques for patterns have tended to be either highly theoretical in nature, or based on a structural view of a system’s implementation. The Pattern Instance Notation is a simple visualization technique for design patterns and other abstractions of software engineering suitable for the programmer or designer without a theoretical background. While based on a formal representation of design patterns, using PIN as a tool for comprehension or reasoning requires no formal training or study. PIN is hierarchical in nature, and compactly encapsulates abstractions that may be spread widely across a system in a concise graphical format, while allowing for repeated unveiling of deeper layers of complexity and interaction on demand. It is designed to be used in either a dynamic visualization tool, or as a static representation for documentation and as a teaching aid

    A Comparative Study of Project Management System Web Applications Built on ASP.Net Core and Laravel MVC Frameworks

    Get PDF
    With rapid advancement in the field of computer science, the ways we use and interact with web applications have changed immensely. Developers must create web applications for browsers, cell phones, and search engines that are accessible and easy to use in various devices. Therefore, the efficiency of software development is critical. Software Design Patterns are an essential part of software development which is intended to solve real-world problems by creating templates of best practices. Design patterns bring clarity, cost-effectiveness, and better communication in the software development cycle. They also improve the development speed, support features, and usage, and they reduce expenses. Documentation and maintenance of established web applications frameworks are major advantages of software design patterns. The study Is of Model-View-Controller (MVC) software design patterns. It analyzes and compares ASP.Net Core and Laravel PHP web application development frameworks. MVC facilitates reuse of code and separation of application layers. It explains the development experience of Project Management Web application on ASP.Net Core and Laravel. For example, web applications include a document library, a note page, and a discussion forum. Web applications use compatible programming languages such as HTML, JavaScript, and CSS. Comparative analysis has been done based on the developer’s experience and performance monitoring tools. The study concludes that the Project Management System (PMS) web application built using ASP.Net Core on Windows is better when compared to PMS built with Laravel on Ubuntu and Windows operating systems. The developer’s conclusion is based on the use of the MVC design pattern, learning curve, framework features, documentation, and application performance

    User's manual for rocket combustor interactive design (ROCCID) and analysis computer program. Volume 2: Appendixes A-K

    Get PDF
    The appendices A-K to the user's manual for the rocket combustor interactive design (ROCCID) computer program are presented. This includes installation instructions, flow charts, subroutine model documentation, and sample output files. The ROCCID program, written in Fortran 77, provides a standardized methodology using state of the art codes and procedures for the analysis of a liquid rocket engine combustor's steady state combustion performance and combustion stability. The ROCCID is currently capable of analyzing mixed element injector patterns containing impinging like doublet or unlike triplet, showerhead, shear coaxial and swirl coaxial elements as long as only one element type exists in each injector core, baffle, or barrier zone. Real propellant properties of oxygen, hydrogen, methane, propane, and RP-1 are included in ROCCID. The properties of other propellants can be easily added. The analysis models in ROCCID can account for the influences of acoustic cavities, helmholtz resonators, and radial thrust chamber baffles on combustion stability. ROCCID also contains the logic to interactively create a combustor design which meets input performance and stability goals. A preliminary design results from the application of historical correlations to the input design requirements. The steady state performance and combustion stability of this design is evaluated using the analysis models, and ROCCID guides the user as to the design changes required to satisfy the user's performance and stability goals, including the design of stability aids. Output from ROCCID includes a formatted input file for the standardized JANNAF engine performance prediction procedure

    UML representation of object-oriented design antipatterns

    Get PDF
    Nowadays the ability to apply, implement and modify patterns of design and architecture has become a one of primary skills for software engineers. Competence of pattern design and implementation involves detecting and correcting inefficient solutions known as antipatterns. However, unlike patterns, very few antipatterns have a graphical representation so that an inefficient solution to a specific problem can be detected visually and refactored. Detecting antipatterns is not simple even with full set of technical documentation. This paper proposes a graphical UML representation of antipatterns to detect them at various stages of the software lifecycle. It proposes a method to refactor described antipatterns to improve software design quality and avoid software development process risks. UML diagrams modeling of 18 antipatterns is presented and refactoring method for all of them was described. Most of antipatterns were diagrammed using information from text descriptions and additional notes about arguable properties of antipatterns were included

    A Comparison of Perinatal Care Providers\u27 use of the National Institute of Child Health and Human Development Standardized Terminology in Documentation of Intrapartal Fetal Heart Rate Patterns

    Get PDF
    The purpose of this study was to determine if perinatal team members; nurses (RN) and primary care providers (PCP), were using the NICHD standardized terminology to document Fetal Heart Rate patterns during labor. Agreement in documentation of FHR and agreement in concept between the RN and PCP was also studied. A descriptive, comparative research design was used. Cohen?s Kappa statistics measured agreement in documentation of FHR patterns and Chi square measured agreement in concept, p\u3c 0.05 for each. A retrospective medical records chart review was performed on 400 charts, meeting inclusion criteria, from three community hospitals. There were three data collection points and four criteria reviewed. This study found the use of NICHD terminology to document FHR alarmingly low (RN=51%; PCP=13%). It was used most often for decelerations (81%) RN, (22%) PCP, and least often for variability (19%) RN, (3%) PCP. Incomplete documentation was extremely high for the PCP (69%) and 81 charts (20%) had no FHR documentation. Agreement in documentation varied between the RN and PCP. They agreed most often on accelerations (81.4%) and least often on baseline rate (41.5%). When looking at all there points in time the RN and PCP agreed in documentation 59% but agreed in concept 78%. There were four areas where the RN and PCP agreed in their use of NICHD terminology: Accelerations on admission n=151, Kappa=0.091, p=0.007; variability during labor n=68, Kappa=0.27, p=0.015; variability prior to delivery n=33 Kappa=0.33, p=0.010, and decelerations during labor n=103, Kappa=0.16, p=0.018. Data from this study supports expanding this research, to identifying barriers to documentation. It also appears that education in use of NICHD terminology is needed

    Using Codecharts for formally modelling and automating detection of patterns with application to Security Patterns

    Get PDF
    Software design patterns are solutions for recurring design problems. Many have introduced their catalogues in order to describe those patterns using templates which consist of informal statements as well as UML diagrams. Security patterns are design patterns for specific security problems domains, therefore, they are described in the same manner. However, the current catalogues describing security patterns contain a level of ambiguity and imprecision. These issues might result in incorrect implementations, which will be vital and at high cost security flaw, especially after delivery. In addition, software maintainability will be difficult thereafter, especially for systems with poor documentation. Therefore, it is important to overcome these issues by patterns formalisation in order to allow sharing the same understanding of the patterns to be implemented. The current patterns formalisation approaches aim to translate UML diagrams using different formal methods. However, these diagrams are incomplete or suffer from levels of ambiguity and imprecision. Furthermore, the employed diagrams notations cannot depict the abstraction shown in the patterns descriptions. In addition, the current formalisation approaches cannot formalise some security properties shown the diagrams, such as system boundary. Furthermore, detecting patterns in a source-code improves the overall software maintenance, especially when obsolete or lost system documentation is often the case of large and legacy systems. Current patterns detection approaches rely on translating the diagrams of the patterns. Consequently, the issue of detecting patterns with abstraction is not possible using such approaches. In addition, these approaches lack generality, abstraction detection, and efficiency. This research suggests the use of Codecharts for security patterns formalisation as well as studying relationships among patterns. Besides, it investigates relationships among patterns. Furthermore, it proposes a pattern detection approach which outperforms the current pattern detection approaches in terms of generality, and abstraction detection. The approach competes in performance with the current efficient pattern detection approaches

    Digital Graphic Documentation and Architectural Heritage: Deformations in a 16th-Century Ceiling of the Pinelo Palace in Seville (Spain)

    Get PDF
    Suitable graphic documentation is essential to ascertain and conserve architectural heritage. For the first time, accurate digital images are provided of a 16th-century wooden ceiling, composed of geometric interlacing patterns, in the Pinelo Palace in Seville. Today, this ceiling suffers from significant deformation. Although there are many publications on the digital documentation of architectural heritage, no graphic studies on this type of deformed ceilings have been presented. This study starts by providing data on the palace history concerning the design of geometric interlacing patterns in carpentry according to the 1633 book by López de Arenas, and on the ceiling consolidation in the 20th century. Images were then obtained using two complementary procedures: from a 3D laser scanner, which offers metric data on deformations; and from photogrammetry, which facilitates the visualisation of details. In this way, this type of heritage is documented in an innovative graphic approach, which is essential for its conservation and/or restoration with scientific foundations and also to disseminate a reliable digital image of the most beautiful ceiling of this Renaissance palace in southern Europe.Instituto Universitario de Arquitectura y Ciencias de la Construcción (IUACC) of the VII Plan Propio de Investigación y Transferencia in the University of Sevill
    corecore