The term "quality software" refers to software that is easy to maintain and evolve. The presence of Anti-patterns and patterns is recognized as one of the effective ways to measure the quality of modern soft...
详细信息
ISBN:
(纸本)9781538617533
The term "quality software" refers to software that is easy to maintain and evolve. The presence of Anti-patterns and patterns is recognized as one of the effective ways to measure the quality of modern software systems. The paper presents an approach which supports the software analysis, development and maintenance, using techniques that generate the structure of software design patterns, find Anti-patterns in the code and perform Code Refactoring. The proposed approach is implemented in a software tool, which could support the real phases of software development and could be used for educational purposes, to support "Advanced software Engineering" course.
software design patterns are abstract descriptions of best practice solutions for recurring design problems. The information about which design pattern is implemented where in a softwaredesign is very helpful and imp...
详细信息
ISBN:
(纸本)9781479915668;9781479915682
software design patterns are abstract descriptions of best practice solutions for recurring design problems. The information about which design pattern is implemented where in a softwaredesign is very helpful and important for software maintenance and evolution. This information is usually lost due to poor, obsolete or lack of documentation, which raises the importance of automatic recognition techniques. However, their vague and abstract nature allows them to be implemented in various ways, which gives them resistance to be automatically and accurately recognized. This paper presents the first recognition approach to be solely based on machine learning methods. We build a training dataset by using several existing recognition tools and we use feature selection methods to select the input feature vectors. Artificial neural networks are then trained to perform the whole recognition process. Our approach is evaluated by conducting an experiment to recognize six designpatterns in an open source application.
Network designpatterns may greatly improve the reliability of large distributed software systems. However, this potential is not fulfilled unless network patterns strictly follow accepted standards. We propose run-ti...
详细信息
ISBN:
(纸本)9781424408580
Network designpatterns may greatly improve the reliability of large distributed software systems. However, this potential is not fulfilled unless network patterns strictly follow accepted standards. We propose run-time measurement as a systematic verification tool to identify standard designpatterns. It is shown that measured standard state probabilities have constant and finite asymptotic behavior. Case study simulations - for Component-Configurator and distributed Observer, among other patterns - validate the approach.
designpatterns have been used successfully to build well-organized, flexible software systems. In the reverse engineering field, detecting designpatterns can simplify program comprehension by providing clues about t...
详细信息
ISBN:
(纸本)9780769547367
designpatterns have been used successfully to build well-organized, flexible software systems. In the reverse engineering field, detecting designpatterns can simplify program comprehension by providing clues about the rationale behind the system's design. However, the precision and recall of existing approaches to design pattern detection leave room for improvement. In this paper, we introduce a novel technique called FiG that complements existing detection methods by utilizing fine-grained static information contained in the software system. Our approach filters a large number of false positives by utilizing fine-grained rules that describe the static structure of a design pattern. We have implemented our approach in the context of the Eiffel programming language. Several experiments were performed to determine the effectiveness of the proposed approach.
In the era of spatio-temporal big data, geographic information systems have to deal with a myriad of big data induced challenges such as scalability, flexibility or fault-tolerance. Furthermore, the rapid evolution of...
详细信息
ISBN:
(纸本)9789897582523
In the era of spatio-temporal big data, geographic information systems have to deal with a myriad of big data induced challenges such as scalability, flexibility or fault-tolerance. Furthermore, the rapid evolution of the underlying, occasionally competing big data ecosystems inevitably needs to be taken into account from the early system design phase. In order to generate valuable knowledge from spatio-temporal big data, a holistic approach manifested in an appropriate architectural design is necessary, which is a non-trivial task with regards to the tremendous design space. Therefore, we present the conceptual architectural framework of BigGIS, a predictive and prescriptive spatio-temporal analytics platform, that integrates big data analytics, semantic web technologies and visual analytics methodologies in our continuous refinement model.
This paper describes a model-driven toolchain for developing component-based applications that enables users to use the same models that define their application to execute them. In this vein, models always remain tru...
详细信息
ISBN:
(纸本)9789897581946
This paper describes a model-driven toolchain for developing component-based applications that enables users to use the same models that define their application to execute them. In this vein, models always remain true to the final application, unlike other approaches where a model tranformation generates a skeleton of the final application after the first steps of the development process. These kind of approaches normally end up with models that represent a different application than the one present in the code.
Smart grids are power distribution networks characterised by an increased level of automation of the infrastructure, sensors and actuators connected to monitoring and control centres, and are strongly supported by inf...
详细信息
ISBN:
(纸本)9781479936168
Smart grids are power distribution networks characterised by an increased level of automation of the infrastructure, sensors and actuators connected to monitoring and control centres, and are strongly supported by information and communication technology (ICT). Consequently, smart grids are more vulnerable to cyber-attacks. In this position paper, we advocate the need for management patterns that capture best-practices for ensuring the resilience of smart grids to cyber-attacks and other related challenges. Management patterns are akin to software design patterns in the sense that patterns promote the use of well-established solutions to recurring problems. These patterns describe how to orchestrate the cyber-physical behaviour of ICT, industrial control systems and human resources in a safe manner, in response to cyber-attacks.
This paper presents an object-oriented world model for the road traffic environment of autonomous (driverless) city vehicles. The developed World Model is a software component of the autonomous vehicle's control s...
详细信息
ISBN:
(纸本)9781424478668
This paper presents an object-oriented world model for the road traffic environment of autonomous (driverless) city vehicles. The developed World Model is a software component of the autonomous vehicle's control system, which represents the vehicle's view of its road environment. Regardless whether the information is a priori known, obtained through on-board sensors, or through communication, the World Model stores and updates information in real-time, notifies the decision making subsystem about relevant events, and provides access to its stored information. The design is based on software design patterns, and its application programming interface provides both asynchronous and synchronous access to its information. Experimental results of both a 3D simulation and real-world experiments show that the approach is applicable and real-time capable.
software extensibility is a software engineering principle that characterizes how easily new features can be added to the software system by requiring no or minimal rewrite of existing code base. software that is exte...
详细信息
software extensibility is a software engineering principle that characterizes how easily new features can be added to the software system by requiring no or minimal rewrite of existing code base. software that is extensible leads to reduced development time, increased stability and security, and better support of software assurance and maintenance. Although it is critically important, the Department of Defense (DoD) utilizes software development documents that provide only limited information and guidance on software extensibility. Moreover, the software development processes supported by the DoD do not fully address Model-View-Controller (MVC), a design pattern that industry experts recommend for a higher degree of software extensibility. This thesis studies the designpatterns and software extensibility in the context of the DoD software development environment with the case study on mobile application design. The design guidance on software extensibility developed in this thesis will integrate well with currently utilized DoD software development documents and processes.
Cílem této diplomové práce je popis návrhových vzorů a dalších ověřených programátorských praktik využívaných při vývoji aplikací pro OS Android. ...
详细信息
Cílem této diplomové práce je popis návrhových vzorů a dalších ověřených programátorských praktik využívaných při vývoji aplikací pro OS Android. V rámci teoretické části je proveden rozbor návrhových vzorů, programovacího jazyka Kotlin, dependency injection, reaktivního programování a automatického testování aplikací. Praktická část se zabývá návrhem a implementací aplikace, na které jsou demonstrovány výhody využívání návrhových vzorů a ověřených programátorských praktik popsaných v teoretické části.
暂无评论