932 research outputs found

    Identifying cognitive aspects to improve business process reengineering

    Get PDF
    Knowledge-intensive processes are widely used to recover from errors, handle exceptional cases and complaints, and to improve or adapt a process itself. In this context, evolved Business-Process Reengineering (BPR) techniques are changing to give some answers to this reality. In this paper, we identify some cognitive aspects used by traditional and recent reengineering models. We provide a framework highlighting how cognitive aspects might improve reengineering through knowledge and perception modelling.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Privacy-Preserving Reengineering of Model-View-Controller Application Architectures Using Linked Data

    Get PDF
    When a legacy system’s software architecture cannot be redesigned, implementing additional privacy requirements is often complex, unreliable and costly to maintain. This paper presents a privacy-by-design approach to reengineer web applications as linked data-enabled and implement access control and privacy preservation properties. The method is based on the knowledge of the application architecture, which for the Web of data is commonly designed on the basis of a model-view-controller pattern. Whereas wrapping techniques commonly used to link data of web applications duplicate the security source code, the new approach allows for the controlled disclosure of an application’s data, while preserving non-functional properties such as privacy preservation. The solution has been implemented and compared with existing linked data frameworks in terms of reliability, maintainability and complexity

    Maintenance vs. Reengineering Software Systems

    Get PDF
    Maintenance and reengineering terms are closely coupled with each other. These terms came from the world of hardware objects. Now these entered the world of software and are well suitable for software systems. It is difficult to draw a clear cut line between these two terms. Many a times these are used interchangeably. Reengineering of software systems is a topic of importance and in coming time it will be gaining more attention in the world of software systems. Software managers are often confused over maintenance and reengineering. These two terms should be separated to promote the subject matter because one is problem for the other. I will try to put them in different non overlapping regions. Maintenance and reengineering are two different areas in software engineering. Maintenance is for running the system till the age of the system where as the reengineering make the system new to work for another life span. Scope of reengineering is vast and challenging as compared to maintenance. Reengineering is to reduce the expenses on software systems in the organizations. Reengineering has more scope in the world of software than in the world of hard ware objects. Software systems and software objects do not wear and tear out like hardware objects in the real world. Maintenance is close to repair/mend where as reengineering is very close to new development

    A document-like software visualization method for effective cognition of c-based software systems

    Get PDF
    It is clear that maintenance is a crucial and very costly process in a software life cycle. Nowadays there are a lot of software systems particularly legacy systems that are always maintained from time to time as new requirements arise. One important source to understand a software system before it is being maintained is through the documentation, particularly system documentation. Unfortunately, not all software systems developed or maintained are accompanied with their reliable and updated documents. In this case, source codes will be the only reliable source for programmers. A number of studies have been carried out in order to assist cognition based on source codes. One way is through tool automation via reverse engineering technique in which source codes will be parsed and the information extracted will be visualized using certain visualization methods. Most software visualization methods use graph as the main element to represent extracted software artifacts. Nevertheless, current methods tend to produce more complicated graphs and do not grant an explicit, document-like re-documentation environment. Hence, this thesis proposes a document-like software visualization method called DocLike Modularized Graph (DMG). The method is realized in a prototype tool named DocLike Viewer that targets on C-based software systems. The main contribution of the DMG method is to provide an explicit structural re-document mechanism in the software visualization tool. Besides, the DMG method provides more level of information abstractions via less complex graph that include inter-module dependencies, inter-program dependencies, procedural abstraction and also parameter passing. The DMG method was empirically evaluated based on the Goal/Question/Metric (GQM) paradigm and the findings depict that the method can improve productivity and quality in the aspect of cognition or program comprehension. A usability study was also conducted and DocLike Viewer had the most positive responses from the software practitioners

    Reengineering legacy software to object-oriented systems

    Get PDF
    NASA has a legacy of complex software systems that are becoming increasingly expensive to maintain. Reengineering is one approach to modemizing these systems. Object-oriented technology, other modem software engineering principles, and automated tools can be used to reengineer the systems and will help to keep maintenance costs of the modemized systems down. The Software Technology Branch at the NASA/Johnson Space Center has been developing and testing reengineering methods and tools for several years. The Software Technology Branch is currently providing training and consulting support to several large reengineering projects at JSC, including the Reusable Objects Software Environment (ROSE) project, which is reengineering the flight analysis and design system (over 2 million lines of FORTRAN code) into object-oriented C++. Many important lessons have been learned during the past years; one of these is that the design must never be allowed to diverge from the code during maintenance and enhancement. Future work on open, integrated environments to support reengineering is being actively planned

    Cost Model for Reengineering an Object Oriented Software System

    Get PDF
    The cost of reengineering of object-oriented software is often significantly less than the cost of developing new software. Object oriented software systems are more reusable. Reengineering of software systems rather than developing new software will save precious time and resources. Reengineering reduces the cost of maintenance by increasing the software quality and reducing complexity.To justify reengineering, the cost of reengineering software must be estimated and compared with the cost of new software. The cost of reengineering depends upon many factors but major factors are the portion of the software (number of objects) to be reengineered and complexity (interrelationship between objects) of the software. In this paper efforts are done to present a reengineering cost estimation model. On the basis of this model, software managers can take a decision whether to maintain, reengineer or retire the software

    An Empirical Study of a Repeatable Method for Reengineering Procedural Software Systems to Object- Oriented Systems

    Get PDF
    This paper describes a repeatable method for reengineering a procedural system to an object-oriented system. The method uses coupling metrics to assist a domain expert in identifying candidate objects. An application of the method to a simple program is given, and the effectiveness of the various coupling metrics are discussed. We perform a detailed comparison of our repeatable method with an ad hoc, manual reengineering effort based on the same procedural program. The repeatable method was found to be effective for identifying objects. It produced code that was much smaller, more efficient, and passed more regression tests than the ad hoc method. Analysis of object-oriented metrics indicated both simpler code and less variability among classes for the repeatable method

    Reengineering framework for open source software using decision tree approach

    Get PDF
    A Software engineering is an approach to software development. Once software gets developed and delivered, it needs maintenance. Changes in software incur due to new requirements of the end-user, identification of bug in software or failure to achieve system objective. It has been observed that successive maintenance in the developed software reduces software quality and degrades the performance of software system. Reengineering is an approach of retaining the software quality and improving maintainability of the software system. But the question arises “when to reengineer the software”. The paper proposed a framework for software reengineering process using decision tree approach which helps decision makers to decide whether to maintain or reengineer the software systems

    Identifying cognitive aspects to improve business process reengineering

    Get PDF
    Knowledge-intensive processes are widely used to recover from errors, handle exceptional cases and complaints, and to improve or adapt a process itself. In this context, evolved Business-Process Reengineering (BPR) techniques are changing to give some answers to this reality. In this paper, we identify some cognitive aspects used by traditional and recent reengineering models. We provide a framework highlighting how cognitive aspects might improve reengineering through knowledge and perception modelling.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Abstraction : a notion for reverse engineering.

    Get PDF
    corecore