792,265 research outputs found

    Software reengineering

    Get PDF
    Today's software systems generally use obsolete technology, are not integrated properly with other software systems, and are difficult and costly to maintain. The discipline of reverse engineering is becoming prominent as organizations try to move their systems up to more modern and maintainable technology in a cost effective manner. JSC created a significant set of tools to develop and maintain FORTRAN and C code during development of the Space Shuttle. This tool set forms the basis for an integrated environment to re-engineer existing code into modern software engineering structures which are then easier and less costly to maintain and which allow a fairly straightforward translation into other target languages. The environment will support these structures and practices even in areas where the language definition and compilers do not enforce good software engineering. The knowledge and data captured using the reverse engineering tools is passed to standard forward engineering tools to redesign or perform major upgrades to software systems in a much more cost effective manner than using older technologies. A beta vision of the environment was released in Mar. 1991. The commercial potential for such re-engineering tools is very great. CASE TRENDS magazine reported it to be the primary concern of over four hundred of the top MIS executives

    Preparing Software Re-Engineering via Freehand Sketches in Virtual Reality

    Get PDF
    Re-architecting a software system requires significant preparation, e.g., to scope and design new modules with their boundaries and constituent classes. When planning an intended future state of a system as a re-engineering goal, engineers often fall recur to mechanisms such as freehand sketching (using a whiteboard). While this ensures flexibility and expressiveness, the sketches remain disconnected from the source code. The alternative, tool-supported diagramming on the other hand considerably restricts flexibility and impedes free-form communication.We present a method for preparing the architectural software re-engineering via freehand sketches in virtual reality (VR) that can be seamlessly integrated with the model structure of a software visualization and, thus, also the code of a system, for productive use: Engineers explore a subject system in the immersive visualization, while freehand sketching their insights and plans. Our concept automatically interprets sketched shapes and connects them to the system’s source code, and superimposes code-level references into a sketch to support engineers in reflecting on their sketches.We evaluated our method in an iterative interview-based case study with software developers from four different companies, where they planned a hypothetical re-engineering of an opensource software system.Video Demonstration — https://youtu.be/NKC5YpH3n4

    Using GeoTools to Implement the Multi -Criteria Evaluation Analysis : Weighted Linear Combination Model

    Get PDF
    Multi-Criteria Evaluation Analysis (MCEA) is a decision making method employed to solve optimization problems that require the evaluation of a set of criteria to build an optimal decision. Where MCEA is integrated with GIS, optimization problems with spatial aspects, such as finding the best location of a facility across an area, could be solved. MCEA is implemented through different criteria decision rules among of which is the Weighted Linear Combination (WLC) which has five different phases: 1) criteria definition, 2) criteria normalization, 3) weights definition, 4) criteria weighting, and 5) weighted criteria sum-overlaying. Free and Open Source GIS Software (FOSS GIS) is getting more popular. Indicators on this popularity include: 1) the number of governmentally funded projects, 2) the number of downloads, 3) and the increasing number of use cases of open source GIS software. Some governments have even decided to replace their proprietary software with FOSS software. Implementation of MCEA models in GIS software varied among loose-coupling, tight-coupling, and full-integration. In loose-coupling, GIS and MCEA are coupled through a file exchange mechanism. In tight-coupling, both systems share a common interface. In full-integration, custom programming scripts could be written to implement different MCEA tasks and models. Previous studies showed that most GIS software have limited capabilities to perform MCEA except for IDRISI, Common GIS, ILWIS, and TNT-GIS. Among of them, only ILWIS is an open source software distributed under GPL license. In this thesis, a desktop computer application, MC-Analyst, has been developed using GeoTools, a Java open source GIS software library, Java SE 1.7, and NetBeans IDE 7.3 to implement MCEA-WLC model. The milestone works of the thesis included: 1) The feasibility of using FOSS in general and FOSS GIS in specific was researched, 2) A survey of the literature that researched previous efforts and implementations for integrating MCEA in GIS software was carried out, 3) Experiencing software development using a FOSS GIS library, GeoTools, in order to address strength and weakness points for development using GeoTools and FOSS GIS, and 4) Some recommendations concerning future development approaches to produce better integrated MCEA and FOSS GIS systems were addressed for future works. To test MC-Analyst, a previous case study that located best sites to build solar farms in Colorado was employed. The output of the case study application was examined by altering input criteria weights for the main layers of solar DNI, distance to transmission lines, and distance to primary roads in the GIS-MCEA/WLC model. Different outputs found as expected that when a higher weight had been given to one criterion, the final suitability result showed noticeable higher suitability in areas where that factor was considered optimal. Raster and vector data processing capabilities of GeoTools were explored to perform basic GIS functions and it showed strong support for such functions. It was also found that in order for MC-Analyst to work as a standalone fully integrated Multi-Criteria Spatial Decision Support System (MC-SDSS), it would require other tasks that are found in common desktop GIS applications such as re-projection, clipping, and resampling. Therefore, re-using the source code of an open source desktop GIS application such as uDig or gvSig and integrate the developed MCEA-WLC model with it to produce fully integrated MC-SDSS could be of great interest for future development for FOSS GIS community. This would create an effective product that might compete with effective proprietary GIS software that implements MCEA models. The study showed also that before choosing a software library to start with, the development team should be acquainted with other possible open source and free software applications and libraries in order for the development process to be smooth and to output a productive application.Optimization problems exist in many disciplines. Regardless of the field in which the optimal solution is sought, all optimization problems share a common nature; seeking the best possible solution that must meet a set of criteria which are defined by a group of experts or professional shareholders in the field of the optimization problem. Therefore, by combining an optimal solution seeking methodology (Evaluation Analysis) and the multiple criteria of the problem (Multi-Criteria), a new term emerged, Multi-Criteria Evaluation Analysis (MCEA). MCEA is used with Geographic Information Systems (GIS is an information system that stores, processes, analyzes, and presents geographic information) to solve optimization problems that have a spatial nature such as finding optimal locations for some kind of facility or activity. Some implementation of MCEA models have existed in some GIS packages. IDRISI, Common GIS, ILWIS, and TNT-GIS are major GIS software that provided some kind of implementation of MCEA models. Among the four GIS software, only ILWIS is a Free and Open Source Software (FOSS). FOSS GIS is getting more popular. Indicators on this popularity were listed in the thesis. As FOSS GIS is getting more popular, a great potential of MCEA implementation is found in FOSS GIS. In this thesis, a desktop computer application, MC-Analyst, has been developed using GeoTools, an open source GIS development kit, to implement a MCEA model. MC-Analyst benefited from GeoTools's strong support for basic GIS functions that made MCEA model implementation easier. To test MC-Analyst, a previous case study that investigated a spatial optimization problem to evaluate Colorado landscape to locate best sites for solar energy farms in Colorado was employed. The different outputs that resulted from different inputs to MC-Analyst were analyzed and found as expected. The study demonstrated FOSS integration and concluded that developing a fully-integrated and competent spatial decision support system could be of great interest for future development for FOSS GIS community. The study also concluded the necessity for a developer to be acquainted with other possible and different FOSS GIS software components in order for the development process to be smooth and to output productive applications

    Requirements engineering for computer integrated environments in construction

    Get PDF
    A Computer Integrated Environment (CIE) is the type of innovative integrated information system that helps to reduce fragmentation and enables the stakeholders to collaborate together in business. Researchers have observed that the concept of CIE has been the subject of research for many years but the uptake of this technology has been very limited because of the development of the technology and its effective implementation. Although CIE is very much valued by both industrialists and academics, the answers to the question of how to develop and how to implement it are still not clear. The industrialists and researchers conveyed that networking, collaboration, information sharing and communication will become popular and critical issues in the future, which can be managed through CIE systems. In order for successful development of the technology, successful delivery, and effective implementation of user and industry-oriented CIE systems, requirements engineering seems a key parameter. Therefore, through experiences and lessons learnt in various case studies of CIE systems developments, this book explains the development of a requirements engineering framework specific to the CIE system. The requirements engineering process that has been developed in the research is targeted at computer integrated environments with a particular interest in the construction industry as the implementation field. The key features of the requirements engineering framework are the following: (1) ready-to-use, (2) simple, (3) domain specific, (4) adaptable and (5) systematic, (6) integrated with the legacy systems. The method has three key constructs: i) techniques for requirements development, which includes the requirement elicitation, requirements analysis/modelling and requirements validation, ii) requirements documentation and iii) facilitating the requirements management. It focuses on system development methodologies for the human driven ICT solutions that provide communication, collaboration, information sharing and exchange through computer integrated environments for professionals situated in discrete locations but working in a multidisciplinary and interdisciplinary environment. The overview for each chapter of the book is as follows; Chapter 1 provides an overview by setting the scene and presents the issues involved in requirements engineering and CIE (Computer Integrated Environments). Furthermore, it makes an introduction to the necessity for requirements engineering for CIE system development, experiences and lessons learnt cumulatively from CIE systems developments that the authors have been involved in, and the process of the development of an ideal requirements engineering framework for CIE systems development, based on the experiences and lessons learnt from the multi-case studies. Chapter 2 aims at building up contextual knowledge to acquire a deeper understanding of the topic area. This includes a detailed definition of the requirements engineering discipline and the importance and principles of requirements engineering and its process. In addition, state of the art techniques and approaches, including contextual design approach, the use case modelling, and the agile requirements engineering processes, are explained to provide contextual knowledge and understanding about requirements engineering to the readers. After building contextual knowledge and understanding about requirements engineering in chapter 2, chapter 3 attempts to identify a scope and contextual knowledge and understanding about computer integrated environments and Building Information Modelling (BIM). In doing so, previous experiences of the authors about systems developments for computer integrated environments are explained in detail as the CIE/BIM case studies. In the light of contextual knowledge gained about requirements engineering in chapter 2, in order to realize the critical necessity of requirements engineering to combine technology, process and people issues in the right balance, chapter 4 will critically evaluate the requirements engineering activities of CIE systems developments that are explained in chapter 3. Furthermore, to support the necessity of requirements engineering for human centred CIE systems development, the findings from semi-structured interviews are shown in a concept map that is also explained in this chapter. In chapter 5, requirements engineering is investigated from different angles to pick up the key issues from discrete research studies and practice such as traceability through process and product modelling, goal-oriented requirements engineering, the essential and incidental complexities in requirements models, the measurability of quality requirements, the fundamentals of requirements engineering, identifying and involving the stakeholders, reconciling software requirements and system architectures and barriers to the industrial uptake of requirements engineering. In addition, a comprehensive research study measuring the success of requirements engineering processes through a set of evaluation criteria is introduced. Finally, the key issues and the criteria are comparatively analyzed and evaluated in order to match each other and confirm the validity of the criteria for the evaluation and assessment of the requirements engineering implementation in the CIE case study projects in chapter 7 and the key issues will be used in chapter 9 to support the CMM (Capability Maturity Model) for acceptance and wider implications of the requirements engineering framework to be proposed in chapter 8. Chapter 6 explains and particularly focuses on how the requirements engineering activities in the case study projects were handled by highlighting strengths and weaknesses. This will also include the experiences and lessons learnt from these system development practices. The findings from these developments will also be utilized to support the justification of the necessity of a requirements engineering framework for the CIE systems developments. In particular, the following are addressed. • common and shared understanding in requirements engineering efforts, • continuous improvement, • outputs of requirement engineering • reflections and the critical analysis of the requirements engineering approaches in these practices. The premise of chapter 7 is to evaluate and assess the requirements engineering approaches in the CIE case study developments from multiple viewpoints in order to find out the strengths and the weaknesses in these requirements engineering processes. This evaluation will be mainly based on the set of criteria developed by the researchers and developers in the requirements engineering community in order to measure the success rate of the requirements engineering techniques after their implementation in the various system development projects. This set of criteria has already been introduced in chapter 5. This critical assessment includes conducting a questionnaire based survey and descriptive statistical analysis. In chapter 8, the requirements engineering techniques tested in the CIE case study developments are composed and compiled into a requirements engineering process in the light of the strengths and the weaknesses identified in the previous chapter through benchmarking with a Capability Maturity Model (CMM) to ensure that it has the required level of maturity for implementation in the CIE systems developments. As a result of this chapter, a framework for a generic requirements engineering process for CIE systems development will be proposed. In chapter 9, the authors will discuss the acceptance and the wider implications of the proposed framework of requirements engineering process using the CMM from chapter 8 and the key issues from chapter 5. Chapter 10 is the concluding chapter and it summarizes the findings and brings the book to a close with recommendations for the implementation of the Proposed RE framework and also prescribes a guideline as a way forward for better implementation of requirements engineering for successful developments of the CIE systems in the future

    Design: the quintessential business transaction

    Get PDF
    The fundamental structures that underpin business activities must evolve and change in order to equip companies to thrive in a market whose characteristics are increasing competition and instability. The incremental advances in applied computing technology and business methodologies which focus on improving one aspect of company operations ignore the need for an underlying structure and model through which to engage any and all functions in a consistent and integrated fashion. Indeed, many exacerbate the problem through closed architectures, isolationist views of entity data storage and rigid methodologies imposed on the company that employs them. The Product Model proposed fulfils that role. It is a model of the processes and entities that a company uses to conduct its business, at all levels and across all departments. Two other concepts are exposed: product model data and the design history record. Product model data are the values of instances of product model entities and relations, created to represent a particular design, artefact or object. The design history record captures the data and functions used in a transaction and the order and context in which they are used. To exercise these concepts, a software suite was written, the Glasgow Utility for Integrated Design, Guide. It supports the definition of a proud model and its subsequent use in the creation of product model data. Each interaction with the system is recorded, thus capturing the design history record, which can subsequently be processes to various advantageous ends. The major such uses are for re-use of part information in other designs and the extraction of design best practice with which to augment the company's design methodology. It is a comprehensive record, since all business processes are supported by, and can be transacted through Guide. Guide has been used to validate the adequacy of the product model and has established many benefits through its use. Applications in many spheres are possible; engineering has been the primary focus for exemplars and case studies. The development was carried out under the scrutiny of constant validation and testing in live situations with several industrial partners. Guide is built on industry standard tools and uses relational database technology to store frame-based representations of entities, methods and relationships. The design of project plans is carried out on the same platform used to support the project itself; the design data are not dissociated from the project controlling mechanism. Resources, including staff, are engaged according to requirements and audit mechanisms allow for constant re-evaluation of the project development. Control and communication mechanisms support applications in an extended enterprise environment and the distribution of resources that this entails

    Rationale Management Challenges in Requirements Engineering

    Get PDF
    Rationale and rationale management have been playing an increasingly prominent role in software system development mainly due to the knowledge demand during system evaluation, maintenance, and evolution, especially for large and complex systems. The rationale management for requirements engineering, as a commencing and critical phase in software development life cycle, is still under-exploited. In this paper, we first survey briefly the state-of-the-art on rationale employment and applications in requirements engineering. Secondly, we identify the challenges in integrating rationale management in requirements engineering activities in order to promote further investigations and define a research agenda on rationale management in requirements engineering.

    Naming the Pain in Requirements Engineering: A Design for a Global Family of Surveys and First Results from Germany

    Get PDF
    For many years, we have observed industry struggling in defining a high quality requirements engineering (RE) and researchers trying to understand industrial expectations and problems. Although we are investigating the discipline with a plethora of empirical studies, they still do not allow for empirical generalisations. To lay an empirical and externally valid foundation about the state of the practice in RE, we aim at a series of open and reproducible surveys that allow us to steer future research in a problem-driven manner. We designed a globally distributed family of surveys in joint collaborations with different researchers and completed the first run in Germany. The instrument is based on a theory in the form of a set of hypotheses inferred from our experiences and available studies. We test each hypothesis in our theory and identify further candidates to extend the theory by correlation and Grounded Theory analysis. In this article, we report on the design of the family of surveys, its underlying theory, and the full results obtained from Germany with participants from 58 companies. The results reveal, for example, a tendency to improve RE via internally defined qualitative methods rather than relying on normative approaches like CMMI. We also discovered various RE problems that are statistically significant in practice. For instance, we could corroborate communication flaws or moving targets as problems in practice. Our results are not yet fully representative but already give first insights into current practices and problems in RE, and they allow us to draw lessons learnt for future replications. Our results obtained from this first run in Germany make us confident that the survey design and instrument are well-suited to be replicated and, thereby, to create a generalisable empirical basis of RE in practice

    The Real World Software Process

    Get PDF
    The industry-wide demand for rapid development in concert with greater process maturity has seen many software development firms adopt tightly structured iterative processes. While a number of commercial vendors offer suitable process infrastructure and tool support, the cost of licensing, configuration and staff training may be prohibitive for the small and medium size enterprises (SMEs) which dominate the Asia-Pacific software industry. This work addresses these problems through the introduction of the Real World Software Process (RWSP), a freely available, Web-based iterative scheme designed specifically for small teams and organisations. RWSP provides a detailed process description, high quality document templates - including code review and inspection guidelines - and the integrated tutorial support necessary for successful usage by inexperienced developers and teams. In particular it is intended that the process be readily usable by software houses which at present do not follow a formal process, and that the free RWSP process infrastructure should be a vehicle for improving industry standards
    corecore