9 research outputs found

    Средство редокументирования наследуемого программного обеспечения

    Get PDF
    The article considers development technology oriented method of legacy software redocumentation; software document model. It is proposed redocumentation document description language RDDL.В статье рассматривается метод редокументирования наследуемого программного обеспечения, ориентированный на технологию разработки; модель документа программного обеспечения. Предложен язык описания документов для редокументирования RDDL

    Метод и средства редокументирования наследуемого программного обеспечения

    Get PDF
    Рассматривается метод редокументирования наследуемого программного обеспечения, ориентированный на технологию разработки. Предлагаются языки описания документов и представлений наследуемого программного обеспечения, архитектура средств для реализации метода редокументирования. Приводятся результаты практического применения метода и средств при проведении редокументирования одного из проектов программного обеспечения.This article considers the technology oriented method of redocumentation of legacy software. There are proposed the languages of description of documents and views, the architecture of facilities for realization of the redocumentation method. The results of practical application of methods and facilities in one of software project are provided

    Which documentation for software maintenance?

    Get PDF

    Assessing Comment Quality in Object-Oriented Languages

    Get PDF
    Previous studies have shown that high-quality code comments support developers in software maintenance and program comprehension tasks. However, the semi-structured nature of comments, several conventions to write comments, and the lack of quality assessment tools for all aspects of comments make comment evaluation and maintenance a non-trivial problem. To understand the specification of high-quality comments to build effective assessment tools, our thesis emphasizes acquiring a multi-perspective view of the comments, which can be approached by analyzing (1) the academic support for comment quality assessment, (2) developer commenting practices across languages, and (3) developer concerns about comments. Our findings regarding the academic support for assessing comment quality showed that researchers primarily focus on Java in the last decade even though the trend of using polyglot environments in software projects is increasing. Similarly, the trend of analyzing specific types of code comments (method comments, or inline comments) is increasing, but the studies rarely analyze class comments. We found 21 quality attributes that researchers consider to assess comment quality, and manual assessment is still the most commonly used technique to assess various quality attributes. Our analysis of developer commenting practices showed that developers embed a mixed level of details in class comments, ranging from high-level class overviews to low-level implementation details across programming languages. They follow style guidelines regarding what information to write in class comments but violate the structure and syntax guidelines. They primarily face problems locating relevant guidelines to write consistent and informative comments, verifying the adherence of their comments to the guidelines, and evaluating the overall state of comment quality. To help researchers and developers in building comment quality assessment tools, we contribute: (i) a systematic literature review (SLR) of ten years (2010–2020) of research on assessing comment quality, (ii) a taxonomy of quality attributes used to assess comment quality, (iii) an empirically validated taxonomy of class comment information types from three programming languages, (iv) a multi-programming-language approach to automatically identify the comment information types, (v) an empirically validated taxonomy of comment convention-related questions and recommendation from various Q&A forums, and (vi) a tool to gather discussions from multiple developer sources, such as Stack Overflow, and mailing lists. Our contributions provide various kinds of empirical evidence of the developer’s interest in reducing efforts in the software documentation process, of the limited support developers get in automatically assessing comment quality, and of the challenges they face in writing high-quality comments. This work lays the foundation for future effective comment quality assessment tools and techniques

    Assessing Comment Quality in Object-Oriented Languages

    Get PDF
    Previous studies have shown that high-quality code comments support developers in software maintenance and program comprehension tasks. However, the semi-structured nature of comments, several conventions to write comments, and the lack of quality assessment tools for all aspects of comments make comment evaluation and maintenance a non-trivial problem. To understand the specification of high-quality comments to build effective assessment tools, our thesis emphasizes acquiring a multi-perspective view of the comments, which can be approached by analyzing (1) the academic support for comment quality assessment, (2) developer commenting practices across languages, and (3) developer concerns about comments. Our findings regarding the academic support for assessing comment quality showed that researchers primarily focus on Java in the last decade even though the trend of using polyglot environments in software projects is increasing. Similarly, the trend of analyzing specific types of code comments (method comments, or inline comments) is increasing, but the studies rarely analyze class comments. We found 21 quality attributes that researchers consider to assess comment quality, and manual assessment is still the most commonly used technique to assess various quality attributes. Our analysis of developer commenting practices showed that developers embed a mixed level of details in class comments, ranging from high-level class overviews to low-level implementation details across programming languages. They follow style guidelines regarding what information to write in class comments but violate the structure and syntax guidelines. They primarily face problems locating relevant guidelines to write consistent and informative comments, verifying the adherence of their comments to the guidelines, and evaluating the overall state of comment quality. To help researchers and developers in building comment quality assessment tools, we contribute: (i) a systematic literature review (SLR) of ten years (2010–2020) of research on assessing comment quality, (ii) a taxonomy of quality attributes used to assess comment quality, (iii) an empirically validated taxonomy of class comment information types from three programming languages, (iv) a multi-programming-language approach to automatically identify the comment information types, (v) an empirically validated taxonomy of comment convention-related questions and recommendation from various Q&A forums, and (vi) a tool to gather discussions from multiple developer sources, such as Stack Overflow, and mailing lists. Our contributions provide various kinds of empirical evidence of the developer’s interest in reducing efforts in the software documentation process, of the limited support developers get in automatically assessing comment quality, and of the challenges they face in writing high-quality comments. This work lays the foundation for future effective comment quality assessment tools and techniques

    Model driven software modernisation

    Get PDF
    Constant innovation of information technology and ever-changing market requirements relegate more and more existing software to legacy status. Generating software through reusing legacy systems has been a primary solution and software re-engineering has the potential to improve software productivity and quality across the entire software life cycle. The classical re-engineering technology starts at the level of program source code which is the most or only reliable information on a legacy system. The program specification derived from legacy source code will then facilitate the migration of legacy systems in the subsequent forward engineering steps. A recent research trend in re-engineering area carries this idea further and moves into model driven perspective that the specification is presented with models. The thesis focuses on engaging model technology to modernise legacy systems. A unified approach, REMOST (Re-Engineering through MOdel conStruction and Transformation), is proposed in the context of Model Driven Architecture (MDA). The theoretical foundation is the construction of a WSL-based Modelling Language, known as WML, which is an extension of WSL (Wide Spectrum Language). WML is defined to provide a spectrum of models for the system re-engineering, including Common Modelling Language (CML), Architecture Description Language (ADL) and Domain Specific Modelling Language (DSML). 9rtetaWML is designed for model transformation, providing query facilities, action primitives and metrics functions. A set of transformation rules are defined in 9rtetaWML to conduct system abstraction and refactoring. Model transformation for unifying WML and UML is also provided, which can bridge the legacy systems to MDA. The architecture and working flow of the REMOST approach are proposed and a prototype tool environment is developed for testing the approach. A number of case studies are used for experiments with the approach and the prototype tool, which show that the proposed approach is feasible and promising in its domain. Conclusion is drawn based on analysis and further research directions are also discussed

    A Perspective of Legacy Information Systems - A Case Study of the PUC „Belgrade Waterworks and Sewerage“ Model

    Get PDF
    Након стављања информационог система у употребу започиње процес старења софтвера, који временом доводи до нарушавања његове структуре па се спроводи одржавање, које има за циљ да уклони одређене грешке и побољша његове перформансе. Како информациони систем има потребу да еволуира заједно са окружењем у којем функционише, тако процеси одржавања такође имају за циљ и да прилагоде систем да буде у складу са променама. У једном тренутку потребно је да се спроведу промене јачег интензитета него што је одржавање, познатије као модернизација да би се повратила еволутивна способност информационог система. Наслеђени системи се одликују смањеном еволутивном способношћу, дуго су употреби и тешки за промену, најчешће су настали у старим технологијама, при чему је процес њиховог одржавања тежак за све оне који га одржавају и развијају, а наведени процес је истовремно скуп за предузеће. Са једне стране они ограничавају пословање, јер не дозвољавају једноставне измене, док са друге садрже вредна вишедецнијска знања и пословна правила која су формализована и на које се предузеће ослања приликом обављања дневних операција. У теорији постоји велики број дефиниција наслеђених система, улажу се огромна средства у њихово одржавање и постоји велики број неуспелих пројекта модернизације и поред значајних инвестиција. Наведене чињенице указују да су наслеђени системи комлексан феномен, недовољно схваћен, а да је велики број неуспелих пројеката модернизације у директној вези са њиховим неразумевањем, односно њиховим изолованим посматрањем. Дисертација има циљ да сагледа наслеђене информационе системе свеобухватно из различтих перспектива: развојне, оперативне, организационе и стратешке. Такав начин посматрања наслеђених системе води ка њиховом бољем схватању, као и могућности да се процес модернизације усмери у одређеном правцу. Дат је теоријски оквир који инкорпорира све напред наведене перспективе, а уједно је и презентован кроз студију случаја ЈКП „Београдски водовод и канализација“, а након тога евалуиран на водоводним предузећима у Србији и региону. Резултати истраживања су потврдили да оквир може да се користи као алат за евалуацију наслеђених система. На основи свих резултата, дат је предлог модернизационе стратегије која треба да реши проблеме наслеђених система идентификованих у свим перспективама на случају ЈКП „Београдски водовод и канализација“.Nakon stavljanja informacionog sistema u upotrebu započinje proces starenja softvera, koji vremenom dovodi do narušavanja njegove strukture pa se sprovodi održavanje, koje ima za cilj da ukloni određene greške i poboljša njegove performanse. Kako informacioni sistem ima potrebu da evoluira zajedno sa okruženjem u kojem funkcioniše, tako procesi održavanja takođe imaju za cilj i da prilagode sistem da bude u skladu sa promenama. U jednom trenutku potrebno je da se sprovedu promene jačeg intenziteta nego što je održavanje, poznatije kao modernizacija da bi se povratila evolutivna sposobnost informacionog sistema. Nasleđeni sistemi se odlikuju smanjenom evolutivnom sposobnošću, dugo su upotrebi i teški za promenu, najčešće su nastali u starim tehnologijama, pri čemu je proces njihovog održavanja težak za sve one koji ga održavaju i razvijaju, a navedeni proces je istovremno skup za preduzeće. Sa jedne strane oni ograničavaju poslovanje, jer ne dozvoljavaju jednostavne izmene, dok sa druge sadrže vredna višedecnijska znanja i poslovna pravila koja su formalizovana i na koje se preduzeće oslanja prilikom obavljanja dnevnih operacija. U teoriji postoji veliki broj definicija nasleđenih sistema, ulažu se ogromna sredstva u njihovo održavanje i postoji veliki broj neuspelih projekta modernizacije i pored značajnih investicija. Navedene činjenice ukazuju da su nasleđeni sistemi komleksan fenomen, nedovoljno shvaćen, a da je veliki broj neuspelih projekata modernizacije u direktnoj vezi sa njihovim nerazumevanjem, odnosno njihovim izolovanim posmatranjem. Disertacija ima cilj da sagleda nasleđene informacione sisteme sveobuhvatno iz različtih perspektiva: razvojne, operativne, organizacione i strateške. Takav način posmatranja nasleđenih sisteme vodi ka njihovom boljem shvatanju, kao i mogućnosti da se proces modernizacije usmeri u određenom pravcu. Dat je teorijski okvir koji inkorporira sve napred navedene perspektive, a ujedno je i prezentovan kroz studiju slučaja JKP „Beogradski vodovod i kanalizacija“, a nakon toga evaluiran na vodovodnim preduzećima u Srbiji i regionu. Rezultati istraživanja su potvrdili da okvir može da se koristi kao alat za evaluaciju nasleđenih sistema. Na osnovi svih rezultata, dat je predlog modernizacione strategije koja treba da reši probleme nasleđenih sistema identifikovanih u svim perspektivama na slučaju JKP „Beogradski vodovod i kanalizacija“.After putting the information system into use, the aging process of the software begins, which over time leads to the disruption of its structure, so maintenance is carried out, which aims to eliminate certain errors and improve its performance. As the information system needs to evolve along with the environment in which it operates, so maintenance processes also aim to adapt the system to change. At some point, changes of greater intensity than maintenance, better known as modernization, are needed to restore the evolutionary capability of the information system. Legacy systems are characterized by reduced evolutionary ability, are long in use and difficult to change, most often originated in old technologies, and the process of their maintenance is difficult for all those who maintain and develop it, and this process is expensive for the company. On the one hand, they limit business, because they do not allow simple changes, while on the other hand, they contain valuable decades of knowledge and business rules that are formalized and that the company relies on when performing daily operations. In theory, there are a large number of definitions of legacy systems, huge funds are invested in their maintenance and there are a large number of failed modernization projects despite significant investments. These facts indicate that legacy systems are a complex phenomenon, insufficiently understood and that a large number of failed modernization projects are directly related to their misunderstanding, ie their isolated observation. The dissertation aims to look at legacy information systems comprehensively from different perspectives: developmental, operational, organizational and strategic. Such a way of observing legacy systems leads to a better understanding of them, as well as the possibility of directing the process of modernization. A theoretical framework is given that incorporates all the above perspectives, and is also presented through a case study of PUC "Belgrade Waterworks and Sewerage", and then evaluated at water companies in Serbia and the region. The results of the research confirmed that the framework can be used as a tool for the evaluation of inherited systems. Based on all the results, a proposal for a modernization strategy is given, which should solve the problems of legacy systems identified in all perspectives in the case of PUC "Belgrade Waterworks and Sewerage"

    TOWARDS A REFLECTIVE-AGILE LEARNING MODEL AND METHOD IN THE CASE OF SMALL-SHOP SOFTWARE DEVELOPMENT: EVIDENCE FROM AN ACTION RESEARCH STUDY

    Get PDF
    The ascension and use of agile and lightweight software development methods have challenged extant software design and development paradigms; this is especially notable in the case of small-team and small-shop software development. In this dissertation, a Reflective-Agile Learning Method and Methodology (RALMM) for small-shop software development, is proposed to enhance communication and learning in the use of agile methods. The purpose of the inquiry in this dissertation pertains to: the nature of the professional practice of small team software development; the implications of the epistemology of Reflective Practice has for the professional practice of small-team software development; and whether the introduction of Reflective Practice to an extant agile methodology improves process, productivity and professional confidence for a small development team. This dissertation uses Dialogical Action Research (Mårtensson and Lee 2004), or Dialogical AR, a qualitative and interpretive research approach, to iteratively develop and refine the Reflective-Agile Learning Model and Method (RALMM). The proposed model and method also considers Hazzan and Tomayko’s (2002, 2004, and 2005) synthesis of Schön’s (1983, 1987) Reflective Practice and Extreme Programming (XP). RALMM is shaped by Argyris and Schön’s theories of practice (1974) and Organizational Learning (1978, 1996) and Schön’s ancillary work on generative metaphor (1979) and frames (Schön et al. 1994). The RALMM artifact was developed in a Dialogical AR Partnership using Lee’s (2007) framework for synthesizing design science and action research. The development and use of RALMM facilitated theorizing on the role of Reflective Practice in the successful use of agile methods. To assist in interpretation and analysis, the data collected during Dialogical AR cycles are analyzed using Strauss and Corbin’s (1998) Grounded Theory as a mode of analysis to guide in the coding and analysis of qualitative evidence from the research. As a result of this research, RALMM improved the practitioners’ processes and productivity. Furthermore, RALMM helped to establish, formalize and reinforce a team learning system for the continued development of the practitioners’ professional repertoire. Additionally, the iterative development of RALMM provides a basis for theorizing on Reflective Practice as an epistemology, paradigm, metaphor and frame of reference for the professional practice of small-shop software development
    corecore