27 research outputs found

    Standardization of information systems development processes and banking industry adaptations

    Full text link
    This paper examines the current system development processes of three major Turkish banks in terms of compliance to internationally accepted system development and software engineering standards to determine the common process problems of banks. After an in-depth investigation into system development and software engineering standards, related process-based standards were selected. Questions were then prepared covering the whole system development process by applying the classical Waterfall life cycle model. Each question is made up of guidance and suggestions from the international system development standards. To collect data, people from the information technology departments of three major banks in Turkey were interviewed. Results have been aggregated by examining the current process status of the three banks together. Problematic issues were identified using the international system development standards.Comment: 12 pages; International Journal of Software Engineering & Applications (IJSEA), Vol.2, No.2, April 201

    Towards the Quality Factor of Software Maintenance Process: A Review

    Get PDF
    Software maintenance (SM) is classified as the common process of modifying a system or software product once it has been delivered to user. Different type of process applied to different type of applications and in certain stages of the processes involve adding new components to the existing system. Software maintenance process is a series of actions taken to overcome changes during the maintenance phase. To ensure the sustainable quality of software product throughout the software life cycle, a good mechanism in software maintenance process should be implemented. Most organization nowadays depend on software products to run their business operations. Thus, it is crucial to ensure the software applications operating in the organization are sustainable while preserving its quality in a long run. The kick-off study starts with identifying the quality factors related to maintainability dimension that affected software maintenance process. A comprehensive literature study is conducted to find related processes within maintainability sub-factors. The identified factors will be evaluated by practitioners who involve in maintaining process. The maintainer personnel help to prioritize the task and eliminate the insignificant activities during maintenance process. This paper focuses on maintainability quality factors and its sub-characteristics impact on software maintenance process

    Software asset management processes and model

    Get PDF
    The industry must now focus on software assets in order to improve the management of purchased software and their associated licenses: over the years, organizations have indeed purchased a significant amount of commercial software and they now have to manage their related costs while ensuring that the license's terms and conditions are respected. Until now, the industry has been offering incomplete solutions to the management of software assets while using different approaches, terminologies and tools with varying functional scopes. The industry recognizes the need to improve Software Asset Management (SAM) but does not agree on the means to do so. This thesis proposes to start with a common industry SAM definition. To help organizations use the processes that constitute the SAM definition, a descriptive analysis of the processes, an assessment method and a graphical representation are provided to facilitate its use in the industry. Furthermore, to ensure the set of processes reflect the view and needs of the industry; the author actively participated in the writing of the ISO standard on SAM: the panel of experts contributing to ISO also provided a mean to validate several of the SAM topics discussed in this thesis. The research objectives are to: 1. Actively contribute to the development and to the content of the ISO international standard on SAM (ISO/IEC 19770-1). 2. Capture, idenfify and analyze elements that are relevant to SAM, including those that would not make it into the final version of the international standard. 3. Provide an analysis of the international SAM standard with respect to the 27 processes within ISO/IEC 19770-1. 4. Develop an exploratory assessment method to allow organizations to determine their gaps against ISO/IEC 19770-1. The approach selected was to align the research work of this thesis with the then new ISO working group created in 2002 to address issues related to the management of software assets and to contribute actively to the development of an international standard on SAM processes, that is: ISO/IEC 19770-1. The results of this thesis are: 1. A common set of processes to describe the scope and content of SAM. This allows the industry to have a common point of reference and vocabulary when referring to SAM. 2. Through a literature review covering both the industry and the research community it was possible to highlights the divergence of scope and terminology with software manufacturer and the lack of agreement of what is a SAM manager. This thesis addresses these issues by identifying the full set of SAM processes. 3. The thesis analyses the standard used as the basis of reference for the assessment, that is: the ISO/IEC 19770-1 standard on SAM. The description and analysis of this standard allows for a better understanding of the purpose of each process and the interactions across existing standards such as ISO/IEC 20000 on Service Management. 4. The thesis also proposes a method to assess and assign a maturity level to each of the processes of the ISO/IEC 19770-1 standard; the ISO/IEC 15504 standard is used to perform the assessment. 5. Organizations recognize that poor management of software assets puts the organization at risk. However, organizations did not have any common way of assessing these risks. With the use of the ISO/IEC 19770-1 standard and the assessment method, organization can now identify the maturity levels of control points and assess their impact on the organization

    The Impact Of Design Patterns In Refactoring Technique To Measure Performance Efficiency

    Get PDF
    Designing and developing software application has never been an easy task. The process is often time consuming and requires interaction between several different aspects. It will be harder in re-engineering the legacy system through refactoring technique, especially when consider to achieve software standard quality. Performance is one of the essential a quality attribute of software quality. Many studies in the literature have premise that design patterns improve the quality of object-oriented software systems but some studies suggest that the use of design patterns do not always result in appropriate designs. There are remaining question issues on negative or positive impacts of pattern refactoring in performance. In practice, refactoring in any part or structure of the system may take effect to another related part or structure. Effect of the process using refactoring technique and design patterns may improve software quality by making it more performable efficiency. Considerable research has been devoted in re-designing the system to improve software quality as maintainability and reliability. Less attention has been paid in measuring impact of performance efficiency quality factor. The main idea of this thesis is to investigate the impact, demonstrate how design patterns can be used to refactor the legacy software application in term of performance efficiency. It is therefore beneficial to investigate whether design patterns may influence performance of applications. In the thesis, an enterprise project named SIA (Sistem Informasi Akademik) is designed by applying Java EE platform. Some issues related to design patterns are addressed. The selection of design pattern is based on the application context issue. There are three kind of parameters measure, time behavior, resource utilization and capacity measures that based on standard guideline. We use tools support in experimentation as Apache JMeter and Java Mission Control. These tools provide convenient and generate appropriate result of performance measurement. The experiment results shown that the comparison between the legacy and refactored system that implemented design pattern indicates influence on application quality, especially on performance efficiency. ================================================================================================== Merancang dan mengembangkan aplikasi perangkat lunak bukan merupakan pekerjaan yang mudah karena membutuhkan waktu dan interaksi antara beberapa aspek. Proses desain pada rekayasa ulang akan lebih sulit meskipun melalui teknik refactoring, terutama untuk mencapai standar kualitas perangkat lunak. Kinerja merupakan salah satu atribut terpenting kualitas perangkat lunak. Banyak penelitian menjelaskan pola desain memperbaiki kualitas sistem perangkat lunak berorientasi objek, namun beberapa penelitian juga menunjukkan bahwa penggunaan pola desain tidak selalu menghasilkan desain yang sesuai. Masih ada pertanyaan tentang dampak negatif atau positif dari kinerja pola refactoring. Pada praktiknya, melakukan refactoring pada suatu bagian atau struktur sistem akan berpengaruh pada bagian atau struktur lain yang terkait. Penggunaan teknik refactoring dan pola desain dapat meningkatkan kualitas perangkat lunak dengan kinerja lebih efisien. Sudah banyak penelitian yang berfokus untuk merancang ulang sistem untuk meningkatkan kualitas perangkat lunak sebagai kemampuan rawatan dan keandalan. Tetapi masih kurang penelitian perhatian dalam mengukur dampak faktor kualitas efisiensi kinerja. Tujuan utama dalam tesis ini adalah untuk mengetahui dampaknya, menunjukkan bagaimana pola desain dapat digunakan untuk refactor aplikasi perangkat lunak terdahulu dalam hal efisiensi kinerja. Oleh karena itu, akan bermanfaat untuk menyelidiki apakah pola desain dapat mempengaruhi kinerja aplikasi. Dalam tesis ini, sebuah proyek perusahaan bernama SIA (Sistem Informasi Akademik) dirancang dengan menerapkan platform Java EE. Beberapa masalah yang terkait dengan pola desain diketahui. Pemilihan pola desain berdasarkan pada isu konteks aplikasi. Tiga jenis ukuran parameter dipakai untuk penilitian ini, perilaku waktu, pemanfaatan sumber daya dan ukuran kapasitas yang berdasarkan pada pedoman standar. Kami menggunakan Apache JMeter dan Java Mission Control sebagai alat bantu dalam eksperimen. Hasil percobaan menunjukkan bahwa perbandingan antara sistem terdahulu dengan penelitian ini yang menerapkan pola desain menunjukkan bahwa hasilnya berpengaruh terhadap kualitas aplikasi terutama pada efisiensi kinerja

    Conformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the Cloud

    Get PDF
    Many SaaS providers nowadays want to leverage the cloud's capabilities also for their existing applications, for example, to enable sound scalability and cost-effectiveness. This thesis provides the approach CloudMIG that supports SaaS providers to migrate those applications to IaaS and PaaS-based cloud environments. CloudMIG consists of a step-by-step process and focuses on two core components. (1) Restrictions imposed by specific cloud environments (so-called cloud environment constraints (CECs)), such as a limited file system access or forbidden method calls, can be validated by an automatic conformance checking approach. (2) A cloud deployment option (CDO) determines which cloud environment, cloud resource types, deployment architecture, and runtime reconfiguration rules for exploiting a cloud's elasticity should be used. The implied performance and costs can differ in orders of magnitude. CDOs can be automatically optimized with the help of our simulation-based genetic algorithm CDOXplorer. Extensive lab experiments and an experiment in an industrial context show CloudMIG's applicability and the excellent performance of its two core components

    Software Engineering for Big Data Systems

    Get PDF
    Software engineering is the application of a systematic approach to designing, operating and maintaining software systems and the study of all the activities involved in achieving the same. The software engineering discipline and research into software systems flourished with the advent of computers and the technological revolution ushered in by the World Wide Web and the Internet. Software systems have grown dramatically to the point of becoming ubiquitous. They have a significant impact on the global economy and on how we interact and communicate with each other and with computers using software in our daily lives. However, there have been major changes in the type of software systems developed over the years. In the past decade owing to breakthrough advancements in cloud and mobile computing technologies, unprecedented volumes of hitherto inaccessible data, referred to as big data, has become available to technology companies and business organizations farsighted and discerning enough to use it to create new products, and services generating astounding profits. The advent of big data and software systems utilizing big data has presented a new sphere of growth for the software engineering discipline. Researchers, entrepreneurs and major corporations are all looking into big data systems to extract the maximum value from data available to them. Software engineering for big data systems is an emergent field that is starting to witness a lot of important research activity. This thesis investigates the application of software engineering knowledge areas and standard practices, established over the years by the software engineering research community, into developing big data systems by: - surveying the existing software engineering literature on applying software engineering principles into developing and supporting big data systems; - identifying the fields of application for big data systems; - investigating the software engineering knowledge areas that have seen research related to big data systems; - revealing the gaps in the knowledge areas that require more focus for big data systems development; and - determining the open research challenges in each software engineering knowledge area that need to be met. The analysis and results obtained from this thesis reveal that recent advances made in distributed computing, non-relational databases, and machine learning applications have lured the software engineering research and business communities primarily into focusing on system design and architecture of big data systems. Despite the instrumental role played by big data systems in the success of several businesses organizations and technology companies by transforming them into market leaders, developing and maintaining stable, robust, and scalable big data systems is still a distant milestone. This can be attributed to the paucity of much deserved research attention into more fundamental and equally important software engineering activities like requirements engineering, testing, and creating good quality assurance practices for big data systems

    Software maintenance tools selection and implementation - A case study based analysis

    Get PDF
    This study investigates the reasoning in selection and implementation of software maintenance methods and tools and identifies potential barriers for successful adoption. This is done through qualitative interviews with practitioners of software maintenance in industry and in accordance with the existing literature. One main reason was found why a certain maintenance tool was chosen, the usability of the tool. However, the popularity of the tool was also a contributing factor for tool selection. Furthermore, three key issues were identified for successful implementation and adoption of the tools: limited awareness of the tool's availability, confusion about its intended usage, and lack of understanding on how to properly utilize it. It is left to the practitioners and stakeholders to weigh and evaluate the significance of the individual reasons. The study is based on empirical data collected over the four months the study lasted and is intended to contribute to the overall knowledge of software maintenance management, processes, and tool

    A Unified Metamodel for Assessing and Predicting Software Evolvability Quality

    Get PDF
    Software quality is a key assessment factor for organizations to determine the ability of software ecosystems to meet the constantly changing requirements. Many quality models exist that capture and assess the changing factors affecting the quality of a software product. Common to these models is that they, contrary to the software ecosystems they are assessing, are not evolvable or reusable. The thesis first defines what constitutes a unified, evolvable, and reusable quality metamodel. We then introduce SE-EQUAM, a novel, ontological, quality assessment metamodel that was designed from the ground up to support quality unification, reuse, and evolvability. We then validate the reus-ability of our metamodel through instantiating a domain specific quality assessment model called OntEQAM that assesses evolvability as a non-functional software quality based on product and com-munity dimensions. A fuzzy logic based assessment process that addresses uncertainties around score boundaries supports the evolvability quality assessment. The presented assessment process also uses the unified representation of the input knowledge artifacts, the metamodel, and the model to provide a fuzzy assessment score. Finally, we further interpret and predict the evolvability as-sessment scores using a novel, cross-disciplinary approach that re-applies financial technical analy-sis, which are indicators, and patterns typically used for price analysis and the forecasting of stocks in financial markets. We performed several case studies to illustrate and evaluate the applicability of our proposed evolvability score prediction approach

    A pattern language for evolution reuse in component-based software architectures

    Get PDF
    Context: Modern software systems are prone to a continuous evolution under frequently varying requirements and changes in operational environments. Architecture-Centric Software Evolution (ACSE) enables changes in a system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. Lehman’s law of continuing change demands for long-living and continuously evolving architectures to prolong the productive life and economic value of software. Also some industrial research shows that evolution reuse can save approximately 40% effort of change implementation in ACSE process. However, a systematic review of existing research suggests a lack of solution(s) to support a continuous integration of reuse knowledge in ACSE process to promote evolution-off-the-shelf in software architectures. Objectives: We aim to unify the concepts of software repository mining and software evolution to discover evolution-reuse knowledge that can be shared and reused to guide ACSE. Method: We exploit repository mining techniques (also architecture change mining) that investigates architecture change logs to discover change operationalisation and patterns. We apply software evolution concepts (also architecture change execution) to support pattern-driven reuse in ACSE. Architecture change patterns support composition and application of a pattern language that exploits patterns and their relations to express evolution-reuse knowledge. Pattern language composition is enabled with a continuous discovery of patterns from architecture change logs and formalising relations among discovered patterns. Pattern language application is supported with an incremental selection and application of patterns to achieve reuse in ACSE. The novelty of the research lies with a framework PatEvol that supports a round-trip approach for a continuous acquisition (mining) and application (execution) of reuse knowledge to enable ACSE. Prototype support enables customisation and (semi-) automation for the evolution process. Results: We evaluated the results based on the ISO/IEC 9126 - 1 quality model and a case study based validation of the architecture change mining and change execution processes. We observe consistency and reusability of change support with pattern-driven architecture evolution. Change patterns support efficiency for architecture evolution process but lack a fine-granular change implementation. A critical challenge lies with the selection of appropriate patterns to form a pattern language during evolution. Conclusions: The pattern language itself continuously evolves with an incremental discovery of new patterns from change logs over time. A systematic identification and resolution of change anti-patterns define the scope for future research
    corecore