9 research outputs found

    Support for collaborative component-based software engineering

    Get PDF
    Collaborative system composition during design has been poorly supported by traditional CASE tools (which have usually concentrated on supporting individual projects) and almost exclusively focused on static composition. Little support for maintaining large distributed collections of heterogeneous software components across a number of projects has been developed. The CoDEEDS project addresses the collaborative determination, elaboration, and evolution of design spaces that describe both static and dynamic compositions of software components from sources such as component libraries, software service directories, and reuse repositories. The GENESIS project has focussed, in the development of OSCAR, on the creation and maintenance of large software artefact repositories. The most recent extensions are explicitly addressing the provision of cross-project global views of large software collections and historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR and CoDEEDS are widely adopted and steps to facilitate this are described. This book continues to provide a forum, which a recent book, Software Evolution with UML and XML, started, where expert insights are presented on the subject. In that book, initial efforts were made to link together three current phenomena: software evolution, UML, and XML. In this book, focus will be on the practical side of linking them, that is, how UML and XML and their related methods/tools can assist software evolution in practice. Considering that nowadays software starts evolving before it is delivered, an apparent feature for software evolution is that it happens over all stages and over all aspects. Therefore, all possible techniques should be explored. This book explores techniques based on UML/XML and a combination of them with other techniques (i.e., over all techniques from theory to tools). Software evolution happens at all stages. Chapters in this book describe that software evolution issues present at stages of software architecturing, modeling/specifying, assessing, coding, validating, design recovering, program understanding, and reusing. Software evolution happens in all aspects. Chapters in this book illustrate that software evolution issues are involved in Web application, embedded system, software repository, component-based development, object model, development environment, software metrics, UML use case diagram, system model, Legacy system, safety critical system, user interface, software reuse, evolution management, and variability modeling. Software evolution needs to be facilitated with all possible techniques. Chapters in this book demonstrate techniques, such as formal methods, program transformation, empirical study, tool development, standardisation, visualisation, to control system changes to meet organisational and business objectives in a cost-effective way. On the journey of the grand challenge posed by software evolution, the journey that we have to make, the contributory authors of this book have already made further advances

    NON-TECHNICAL COMPETENCIES REQUIRED FOR INFORMATION TECHNOLOGY PROFESSIONALS: HOW TO EFFECTIVELY INTERACT WITH CLIENTS/USERS

    Get PDF
    After considering reasons for developing the competencies of information technology (IT) professionals, so me of their key non-technical competencies are identified and discussed. Focusing on competence in their communicative interactions, results are presented from a survey which was performed to identify specific components of competence in interaction with clients/users. A total of 150 traits was evaluated by 424 IT professionals. Four factors have been found to contribute lo competence in interaction with clients/users: (1) work effectiveness; (2) productive information exchange; (3) agreeableness; and (4) sales related characteristics. Results are interpreted in relation to the demands of the professional environment of IT personnel

    Colonising the Field ) Who,s Playing with Web-based Information Systems Development?

    Get PDF
    domain of systems and software development, in both practice and research. Surprisingly, while there would appear to be many common activities, the academic fields have traditionally had limited overlap or shared experience. The information systems school has largely focused on in-house systems, concentrating on the socio-technical approach toward systems development while software engineering attempts to apply engineering principles and formal methods to the production of software systems. However the fields collide where new, Web-based systems share both in-house usage and external commercial software characteristics. While it might be expected that practitioners would be informed by innovative development methods, research indicates that practitioners are not making use of new multimedia and web development method and techniques. The crossover between the fields of IS and SE resurrects up some old problems and new questions. This paper traces the roots of IS and SE; briefly contrasts education and research of each; and examines the differences and common areas of the fields. From a study of how each field is characterised an IS body of knowledge (ISBOK) is identified. How Web-based Information Systems relate to each field is discussed and from the analysis a simple classification framework is constructed, weighing a systems life cycle against quality. The paper concludes with a call for greater cross-fertilization between the fields. Finally the authors suggest important subjects that IS researchers should be studying and others that should be of interest to both SE and IS researchers

    Finding a Home for Web Based Information Systems - Perusing the Landscape

    Get PDF
    Information systems (IS) and software engineering (SE) have shared the domain of systems and software development for several decades with too little overlap in practice and research. The IS school has largely focused on in-house systems, concentrating on the human-computer aspects of systems development while SE attempts to apply engineering principles and methods to the production of software systems. However the fields collide where new, Web-based systems share both in-house usage and external commercial software characteristics. In this paper, the origins and the development of education of both fields are explored – then various aspects are compared and contrasted. If, as it would appear, recommended development methods are ineffective or simply not being used, is a new understanding of development practice that finds expression in creativity and improvisation the way forward, or is this just a new engineering problem to be solved? The authors conclude that we need fast and flexible methods that go beyond new SE techniques for the Web, reflecting the business imperative to quickly produce high-quality robust systems in competitive environments. Web-based systems development should be contextualized within IS theory - learning from the rigour of SE - but viewed definitively as part of a larger socio-technical system

    A roadmap of problem frames research

    Get PDF
    It has been a decade since Michael Jackson introduced problem frames to the software engineering community. Since then, he has published further work addressing problem frames as well as presenting several keynote addresses. Other authors have researched problem frames, have written about their experiences and have expressed their opinions. It was not until 2004 that an opportunity presented itself for researchers in the field to gather as a community. The first International Workshop on Advances and Applications of Problem Frames (IWAAPF'04) was held at the International Conference on Software Engineering in Edinburgh on 24th May 2004. This event attracted over 30 participants: Jackson delivered a keynote address, researchers presented their work and an expert panel discussed the challenges of problem frames. Featuring in this special issue are two extended papers from the workshop, an invited contribution from Jackson in which he positions problem frames in the context of the software engineering discipline, and this article, where we provide a review of the literature

    A reflective architecture to support dynamic software evolution

    Get PDF
    This thesis presents work which is concerned with the run-time evolution of component-based software systems. In particular, the main result of the research presented here is a framework which is used to model and control the architecture of a software system. This framework allows the run-time manipulation of the components which make up a software system. The framework makes the architecture of software systems visible, and allows interaction with it, using a reflective meta-object protocol. The motivating objectives of this work are providing a framework to support architectural flexibility, higher-level intervention, safe changes, and architectural visibility in software systems. The framework's behaviour and structure was motivated by a set of case-studies which have been used to guide its development and enhancement. The framework was developed iteratively, using each case-study in turn to evaluate its capabilities and to prompt the direction of development. A detailed set of evaluation criteria are developed, and the framework is evaluated with respect to these. The framework was found to meet each of the four objectives fully, with the exception of the aim to allow only safe changes which is only partly satisfied. Ways in which the framework can be improved in order to more fully satisfy its objectives are suggested, as are other extensions to its behaviour

    Inverse software configuration management

    Get PDF
    Software systems are playing an increasingly important role in almost every aspect of today’s society such that they impact on our businesses, industry, leisure, health and safety. Many of these systems are extremely large and complex and depend upon the correct interaction of many hundreds or even thousands of heterogeneous components. Commensurate with this increased reliance on software is the need for high quality products that meet customer expectations, perform reliably and which can be cost-effectively and safely maintained. Techniques such as software configuration management have proved to be invaluable during the development process to ensure that this is the case. However, there are a very large number of legacy systems which were not developed under controlled conditions, but which still, need to be maintained due to the heavy investment incorporated within them. Such systems are characterised by extremely high program comprehension overheads and the probability that new errors will be introduced during the maintenance process often with serious consequences. To address the issues concerning maintenance of legacy systems this thesis has defined and developed a new process and associated maintenance model, Inverse Software Configuration Management (ISCM). This model centres on a layered approach to the program comprehension process through the definition of a number of software configuration abstractions. This information together with the set of rules for reclaiming the information is stored within an Extensible System Information Base (ESIB) via, die definition of a Programming-in-the- Environment (PITE) language, the Inverse Configuration Description Language (ICDL). In order to assist the application of the ISCM process across a wide range of software applications and system architectures, die PISCES (Proforma Identification Scheme for Configurations of Existing Systems) method has been developed as a series of defined procedures and guidelines. To underpin the method and to offer a user-friendly interface to the process a series of templates, the Proforma Increasing Complexity Series (PICS) has been developed. To enable the useful employment of these techniques on large-scale systems, the subject of automation has been addressed through the development of a flexible meta-CASE environment, the PISCES M4 (MultiMedia Maintenance Manager) system. Of particular interest within this environment is the provision of a multimedia user interface (MUI) to die maintenance process. As a means of evaluating the PISCES method and to provide feedback into die ISCM process a number of practical applications have been modelled. In summary, this research has considered a number of concepts some of which are innovative in themselves, others of which are used in an innovative manner. In combination these concepts may be considered to considerably advance the knowledge and understanding of die comprehension process during the maintenance of legacy software systems. A number of publications have already resulted from the research and several more are in preparation. Additionally a number of areas for further study have been identified some of which are already underway as funded research and development projects

    An interpretive study of software risk management perspectives.

    Get PDF
    Thesis (M.Sc.)-University of Natal, Pietermaritzburg, 2002.This dissertation addresses risk management in the software development context. The discussion commences with the risks in software development and the necessity for a software risk management process. The emergent discourse is based on the shortfalls in current risk management practices, elaborated in the software risk management literature. This research proposes a framework for a field investigation of risk management in the context of a particular software development organization. It was experimentally tested within several companies. This framework was designed to provide an understanding of the software development risk phenomena from a project manager's perspective and to understand how this perspective affects their perception. This was done with respect to the consideration of the advantages and disadvantages of software risk management as regards its applicability or inapplicability, respectively. This study can be used as a precursor to improving research into the creation of new software risk management frameworks

    Will there ever be software engineering?

    No full text
    corecore