Search results for: multi-release software
4787 Software Cloning and Agile Environment
Authors: Ravi Kumar, Dhrubajit Barman, Nomi Baruah
Abstract:
Software Cloning has grown an active area in software engineering research community yielding numerous techniques, various tools and other methods for clone detection and removal. The copying, modifying a block of code is identified as cloning as it is the most basic means of software reuse. Agile Software Development is an approach which is currently being used in various software projects, so that it helps to respond the unpredictability of building software through incremental, iterative, work cadences. Software Cloning has been introduced to Agile Environment and many Agile Software Development approaches are using the concept of Software Cloning. This paper discusses the various Agile Software Development approaches. It also discusses the degree to which the Software Cloning concept is being introduced in the Agile Software Development approaches.Keywords: agile environment, refactoring, reuse, software cloning
Procedia PDF Downloads 5284786 Software Engineering Revolution Driven by Complexity Science
Abstract:
This paper introduces a new software engineering paradigm based on complexity science, called NSE (Nonlinear Software Engineering paradigm). The purpose of establishing NSE is to help software development organizations double their productivity, half their cost, and increase the quality of their products in several orders of magnitude simultaneously. NSE complies with the essential principles of complexity science. NSE brings revolutionary changes to almost all aspects in software engineering. NSE has been fully implemented with its support platform Panorama++.Keywords: complexity science, software development, software engineering, software maintenance
Procedia PDF Downloads 2634785 Software Architectural Design Ontology
Authors: Muhammad Irfan Marwat, Sadaqat Jan, Syed Zafar Ali Shah
Abstract:
Software architecture plays a key role in software development but absence of formal description of software architecture causes different impede in software development. To cope with these difficulties, ontology has been used as artifact. This paper proposes ontology for software architectural design based on IEEE model for architecture description and Kruchten 4+1 model for viewpoints classification. For categorization of style and views, ISO/IEC 42010 has been used. Corpus method has been used to evaluate ontology. The main aim of the proposed ontology is to classify and locate software architectural design information.Keywords: semantic-based software architecture, software architecture, ontology, software engineering
Procedia PDF Downloads 5464784 Influence of Security Attributes in Component-Based Software Development
Authors: Somayeh Zeinali
Abstract:
A component is generally defined as a piece of executable software with a published interface. Component-based software engineering (CBSE) has become recognized as a new sub-discipline of software engineering. In the component-based software development, components cannot be completely secure and thus easily become vulnerable. Some researchers have investigated this issue and proposed approaches to detect component intrusions or protect distributed components. Software security also refers to the process of creating software that is considered secure.The terms “dependability”, “trustworthiness”, and “survivability” are used interchangeably to describe the properties of software security.Keywords: component-based software development, component-based software engineering , software security attributes, dependability, component
Procedia PDF Downloads 5544783 A 'Four Method Framework' for Fighting Software Architecture Erosion
Authors: Sundus Ayyaz, Saad Rehman, Usman Qamar
Abstract:
Software Architecture is the basic structure of software that states the development and advancement of a software system. Software architecture is also considered as a significant tool for the construction of high quality software systems. A clean design leads to the control, value and beauty of software resulting in its longer life while a bad design is the cause of architectural erosion where a software evolution completely fails. This paper discusses the occurrence of software architecture erosion and presents a set of methods for the detection, declaration and prevention of architecture erosion. The causes and symptoms of architecture erosion are observed with the examples of prescriptive and descriptive architectures and the practices used to stop this erosion are also discussed by considering different types of software erosion and their affects. Consequently finding and devising the most suitable approach for fighting software architecture erosion and in some way reducing its affect is evaluated and tested on different scenarios.Keywords: software architecture, architecture erosion, prescriptive architecture, descriptive architecture
Procedia PDF Downloads 4954782 Reasons for Non-Applicability of Software Entropy Metrics for Bug Prediction in Android
Authors: Arvinder Kaur, Deepti Chopra
Abstract:
Software Entropy Metrics for bug prediction have been validated on various software systems by different researchers. In our previous research, we have validated that Software Entropy Metrics calculated for Mozilla subsystem’s predict the future bugs reasonably well. In this study, the Software Entropy metrics are calculated for a subsystem of Android and it is noticed that these metrics are not suitable for bug prediction. The results are compared with a subsystem of Mozilla and a comparison is made between the two software systems to determine the reasons why Software Entropy metrics are not applicable for Android.Keywords: android, bug prediction, mining software repositories, software entropy
Procedia PDF Downloads 5764781 Revolutionary Solutions for Modeling and Visualization of Complex Software Systems
Abstract:
Existing software modeling and visualization approaches using UML are outdated, which are outcomes of reductionism and the superposition principle that the whole of a system is the sum of its parts, so that with them all tasks of software modeling and visualization are performed linearly, partially, and locally. This paper introduces revolutionary solutions for modeling and visualization of complex software systems, which make complex software systems much easy to understand, test, and maintain. The solutions are based on complexity science, offering holistic, automatic, dynamic, virtual, and executable approaches about thousand times more efficient than the traditional ones.Keywords: complex systems, software maintenance, software modeling, software visualization
Procedia PDF Downloads 3994780 Towards Development of a Framework for Saudi Education Software Ecosystem
Authors: Fazal-e-Amin, Abdullah S. Alghamdi, Iftikhar Ahmad
Abstract:
Software ecosystems’ concept is an inspiration from the natural ecosystem. Software ecosystems refer to large systems developed on top of a platform composed of different components developed by different entities of that ecosystem. Ecosystems improve information access, dissemination and coordination considerably. The ability to evolve and accommodate new subsystems gives a boost to the software ecosystems. In this paper, Saudi education software ecosystem is discussed and its need and potential benefits are highlighted. This work will provide a basis for further research in this area and foundation in development of Saudi education ecosystem.Keywords: software ecosystem, education software, framework, software engineering
Procedia PDF Downloads 5274779 Analyzing the Effectiveness of Different Testing Techniques in Ensuring Software Quality
Authors: R. M. P. C. Bandara, M. L. L. Weerasinghe, K. T. C. R. Kumari, A. G. D. R. Hansika, D. I. De Silva, D. M. T. H. Dias
Abstract:
Software testing is an essential process in software development that aims to identify defects and ensure that software is functioning as intended. Various testing techniques are employed to achieve this goal, but the effectiveness of these techniques varies. This research paper analyzes the effectiveness of different testing techniques in ensuring software quality. The paper explores different testing techniques, including manual and automated testing, and evaluates their effectiveness in terms of identifying defects, reducing the number of defects in software, and ensuring that software meets its functional and non-functional requirements. Moreover, the paper will also investigate the impact of factors such as testing time, test coverage, and testing environment on the effectiveness of these techniques. This research aims to provide valuable insights into the effectiveness of different testing techniques, enabling software development teams to make informed decisions about the testing approach that is best suited to their needs. By improving testing techniques, the number of defects in software can be reduced, enhancing the quality of software and ultimately providing better software for users.Keywords: software testing life cycle, software testing techniques, software testing strategies, effectiveness, software quality
Procedia PDF Downloads 824778 Software Quality Assurance in Component Based Software Development – a Survey Analysis
Authors: Abeer Toheed Quadri, Maria Abubakar, Mehreen Sirshar
Abstract:
Component Based Software Development (CBSD) is a new trend in software development. Selection of quality components is not enough to ensure software quality in Component Based Software System (CBSS). A software product is considered to be a quality product if it satisfies its customer’s needs and has minimum defects. Authors’ survey different research papers and analyzes various techniques which ensure software quality in component based software development. This paper includes an investigation about how to improve the quality of a component based software system without effecting quality attributes. The reported information is identified from literature survey. The developments of component based systems are rising as they reduce the development time, effort and cost by means of reuse. After analysis, it has been explored that in order to achieve the quality in a CBSS we need to have the components that are certified through software measure because the predictability of software quality attributes of system depend on the quality attributes of the constituent components, integration process and the framework used.Keywords: CBSD (component based software development), CBSS (component based software system), quality components, SQA (software quality assurance)
Procedia PDF Downloads 4104777 Some Pertinent Issues and Considerations on CBSE
Authors: Anil Kumar Tripathi, Ratneshwer Gupta
Abstract:
All the software engineering researches and best industry practices aim at providing software products with high degree of quality and functionality at low cost and less time. These requirements are addressed by the Component Based Software Engineering (CBSE) as well. CBSE, which deals with the software construction by components’ assembly, is a revolutionary extension of Software Engineering. CBSE must define and describe processes to assure timely completion of high quality software systems that are composed of a variety of pre built software components. Though these features provide distinct and visible benefits in software design and programming, they also raise some challenging problems. The aim of this work is to summarize the pertinent issues and considerations in CBSE to make an understanding in forms of concepts and observations that may lead to development of newer ways of dealing with the problems and challenges in CBSE.Keywords: software component, component based software engineering, software process, testing, maintenance
Procedia PDF Downloads 3974776 Effectiveness of Software Quality Assurance in Offshore Development Enterprises in Sri Lanka
Authors: Malinda Gayan Sirisena
Abstract:
The aim of this research is to evaluate the effectiveness of software quality assurance approaches of Sri Lankan offshore software development organizations, and to propose a framework which could be used across all offshore software development organizations. An empirical study was conducted using derived framework from popular software quality evaluation models. The research instrument employed was a questionnaire survey among thirty seven Sri Lankan registered offshore software development organizations. The findings demonstrate a positive view of Effectiveness of Software Quality Assurance – the stronger predictors of Stability, Installability, Correctness, Testability and Changeability. The present study’s recommendations indicate a need for much emphasis on software quality assurance for the Sri Lankan offshore software development organizations.Keywords: software quality assurance (SQA), offshore software development, quality assurance evaluation models, effectiveness of quality assurance
Procedia PDF Downloads 4184775 Improving Security by Using Secure Servers Communicating via Internet with Standalone Secure Software
Authors: Carlos Gonzalez
Abstract:
This paper describes the use of the Internet as a feature to enhance the security of our software that is going to be distributed/sold to users potentially all over the world. By placing in a secure server some of the features of the secure software, we increase the security of such software. The communication between the protected software and the secure server is done by a double lock algorithm. This paper also includes an analysis of intruders and describes possible responses to detect threats.Keywords: internet, secure software, threats, cryptography process
Procedia PDF Downloads 3314774 A Software Engineering Methodology for Developing Secure Obfuscated Software
Authors: Carlos Gonzalez, Ernesto Linan
Abstract:
We propose a methodology to conciliate two apparently contradictory processes in the development of secure obfuscated software and good software engineered software. Our methodology consists first in the system designers defining the type of security level required for the software. There are four types of attackers: casual attackers, hackers, institution attack, and government attack. Depending on the level of threat, the methodology we propose uses five or six teams to accomplish this task. One Software Engineer Team and one or two software Obfuscation Teams, and Compiler Team, these four teams will develop and compile the secure obfuscated software, a Code Breakers Team will test the results of the previous teams to see if the software is not broken at the required security level, and an Intrusion Analysis Team will analyze the results of the Code Breakers Team and propose solutions to the development teams to prevent the detected intrusions. We also present an analytical model to prove that our methodology is no only easier to use, but generates an economical way of producing secure obfuscated software.Keywords: development methodology, obfuscated software, secure software development, software engineering
Procedia PDF Downloads 2484773 Heterogeneous Artifacts Construction for Software Evolution Control
Authors: Mounir Zekkaoui, Abdelhadi Fennan
Abstract:
The software evolution control requires a deep understanding of the changes and their impact on different system heterogeneous artifacts. And an understanding of descriptive knowledge of the developed software artifacts is a prerequisite condition for the success of the evolutionary process. The implementation of an evolutionary process is to make changes more or less important to many heterogeneous software artifacts such as source code, analysis and design models, unit testing, XML deployment descriptors, user guides, and others. These changes can be a source of degradation in functional, qualitative or behavioral terms of modified software. Hence the need for a unified approach for extraction and representation of different heterogeneous artifacts in order to ensure a unified and detailed description of heterogeneous software artifacts, exploitable by several software tools and allowing to responsible for the evolution of carry out the reasoning change concerned.Keywords: heterogeneous software artifacts, software evolution control, unified approach, meta model, software architecture
Procedia PDF Downloads 4424772 Neural Network Based Approach of Software Maintenance Prediction for Laboratory Information System
Authors: Vuk M. Popovic, Dunja D. Popovic
Abstract:
Software maintenance phase is started once a software project has been developed and delivered. After that, any modification to it corresponds to maintenance. Software maintenance involves modifications to keep a software project usable in a changed or a changing environment, to correct discovered faults, and modifications, and to improve performance or maintainability. Software maintenance and management of software maintenance are recognized as two most important and most expensive processes in a life of a software product. This research is basing the prediction of maintenance, on risks and time evaluation, and using them as data sets for working with neural networks. The aim of this paper is to provide support to project maintenance managers. They will be able to pass the issues planned for the next software-service-patch to the experts, for risk and working time evaluation, and afterward to put all data to neural networks in order to get software maintenance prediction. This process will lead to the more accurate prediction of the working hours needed for the software-service-patch, which will eventually lead to better planning of budget for the software maintenance projects.Keywords: laboratory information system, maintenance engineering, neural networks, software maintenance, software maintenance costs
Procedia PDF Downloads 3574771 Software Quality Measurement System for Telecommunication Industry in Malaysia
Authors: Nor Fazlina Iryani Abdul Hamid, Mohamad Khatim Hasan
Abstract:
Evolution of software quality measurement has been started since McCall introduced his quality model in year 1977. Starting from there, several software quality models and software quality measurement methods had emerged but none of them focused on telecommunication industry. In this paper, the implementation of software quality measurement system for telecommunication industry was compulsory to accommodate the rapid growth of telecommunication industry. The quality value of the telecommunication related software could be calculated using this system by entering the required parameters. The system would calculate the quality value of the measured system based on predefined quality metrics and aggregated by referring to the quality model. It would classify the quality level of the software based on Net Satisfaction Index (NSI). Thus, software quality measurement system was important to both developers and users in order to produce high quality software product for telecommunication industry.Keywords: software quality, quality measurement, quality model, quality metric, net satisfaction index
Procedia PDF Downloads 5894770 The Comparison of Open Source Software for Digital Libraries
Authors: Kanita Beširević
Abstract:
Open-source software development activities highly rely on Internet gathering communities volunteering in software development projects. Additionally, the libraries and cultural institutions share their metadata in the form of linked metadata to enable dissemination and enrichment. The open-source software provides free alternatives to traditional software solutions. The article aims to investigate the ever-increasing options for the digital library open source software adoption. The software available is presented and compared to other software solutions as well as to their previous versions. The top three open-source digital library software solutions are presented and compared. The comparison criteria are adopted from the UNESCO study by Bankier, J., & Gleason, K. Institutional Repository Software Comparison comprising of twelve criteria to appraise software, namely: infrastructure, front-end design, content discovery, publication tools, interoperability, and preservation. This article adopts a descriptive methodology based on data and information collected through selected software websites and the literature review.Keywords: open source software, digital library, DSpace, Fedora, Greenstone
Procedia PDF Downloads 1134769 Importance of Hardware Systems and Circuits in Secure Software Development Life Cycle
Authors: Mir Shahriar Emami
Abstract:
Although it is fully impossible to ensure that a software system is quite secure, developing an acceptable secure software system in a convenient platform is not unreachable. In this paper, we attempt to analyze software development life cycle (SDLC) models from the hardware systems and circuits point of view. To date, the SDLC models pay merely attention to the software security from the software perspectives. In this paper, we present new features for SDLC stages to emphasize the role of systems and circuits in developing secure software system through the software development stages, the point that has not been considered previously in the SDLC models.Keywords: SDLC, SSDLC, software security, software process engineering, hardware systems and circuits security
Procedia PDF Downloads 2594768 Four Phase Methodology for Developing Secure Software
Authors: Carlos Gonzalez-Flores, Ernesto Liñan-García
Abstract:
A simple and robust approach for developing secure software. A Four Phase methodology consists in developing the non-secure software in phase one, and for the next three phases, one phase for each of the secure developing types (i.e. self-protected software, secure code transformation, and the secure shield). Our methodology requires first the determination and understanding of the type of security level needed for the software. The methodology proposes the use of several teams to accomplish this task. One Software Engineering Developing Team, a Compiler Team, a Specification and Requirements Testing Team, and for each of the secure software developing types: three teams of Secure Software Developing, three teams of Code Breakers, and three teams of Intrusion Analysis. These teams will interact among each other and make decisions to provide a secure software code protected against a required level of intruder.Keywords: secure software, four phases methodology, software engineering, code breakers, intrusion analysis
Procedia PDF Downloads 3964767 Investigating Software Engineering Challenges in Game Development
Authors: Fawad Zaidi
Abstract:
This paper discusses a variety of challenges and solutions involved with creating computer games and the issues faced by the software engineers working in this field. This review further investigates the articles coverage of project scope and the problem of feature creep that appears to be inherent with game development. The paper tries to answer the following question: Is this a problem caused by a shortage, or bad software engineering practices, or is this outside the control of the software engineering component of the game production process?Keywords: software engineering, computer games, software applications, development
Procedia PDF Downloads 4724766 Software Quality Promotion and Improvement through Usage of a PSP Oriented Information System
Authors: Gaoussou Doukoure Abdel Kader, Mnkandla Ernest
Abstract:
This research aims to investigate the usage of a personal software process oriented information system in order to facilitate the promotion of software quality and its improvement in organizations. In this light, at the term of a literature review on software quality and related concepts, the personal software process is discussed, more particularly in terms of software quality. Semi-structured interviews will be conducted with a team of software engineers on the first hand to establish a baseline on their understanding of what quality entails for them. The PSP methodology will then be presented to the engineers in its most basic aspects. The research will then proceed to practical case study where a PSP oriented information system is submitted to engineers for usage throughout their development process. Reports from the PSP information system as well as feedback from the engineers will be used in conjunction with the theoretical foundation to establish a PSP inspired framework for software quality promotion and improvement.Keywords: information communication technology, personal software process, software quality, process quality, software engineering
Procedia PDF Downloads 4914765 Effectiveness of Adopting Software Quality Frameworks in Software Organizations: A Qualitative Review
Authors: Sarah K. Amer, Nagwa Badr, Osman Ibrahim, Ahmed Hamad
Abstract:
This paper surveys the effectiveness of software process quality assurance frameworks, with some focus on Capability Maturity Model Integration (CMMI) - a framework that has become widely adopted in software organizations. The importance of quality improvement in software development, and the differences in the outcomes of quality framework implementation between Middle Eastern and North African (MENA-region) countries and non-MENA-region countries are discussed. The greatest challenges met in the MENA region are identified, with particular focus on Egypt and its rising software development industry.Keywords: software quality, software process improvement, software development methodologies, capability maturity model integration
Procedia PDF Downloads 3514764 Software Obsolescence Drivers in Aerospace: An Industry Analysis
Authors: Raúl González Muñoz, Essam Shehab, Martin Weinitzke, Chris Fowler, Paul Baguley
Abstract:
Software applications have become crucial for the aerospace industry, providing a wide range of functionalities and capabilities. However, due to the considerable time difference between aircraft and software life cycles, obsolescence has turned into a major challenge for industry in last decades. This paper aims to provide a view on the different causes of software obsolescence within aerospace industry, as well as a perception on the importance of each of them. The key research question addressed is what drives software obsolescence in the aerospace industry, managing large software application portfolios. This question has been addressed by conducting firstly an in depth review of current literature and secondly by arranging an industry workshop with professionals from aerospace and consulting companies. The result is a set of drivers of software obsolescence, distributed among three different environments and several domains. By incorporating monitoring methodologies to assess those software obsolescence drivers, benefits in maintenance efforts and operations disruption avoidance are expected.Keywords: aerospace industry, obsolescence drivers, software lifecycle, software obsolescence
Procedia PDF Downloads 4104763 Supporting Embedded Medical Software Development with MDevSPICE® and Agile Practices
Authors: Surafel Demissie, Frank Keenan, Fergal McCaffery
Abstract:
Emerging medical devices are highly relying on embedded software that runs on the specific platform in real time. The development of embedded software is different from ordinary software development due to the hardware-software dependency. MDevSPICE® has been developed to provide guidance to support such development. To increase the flexibility of this framework agile practices have been introduced. This paper outlines the challenges for embedded medical device software development and the structure of MDevSPICE® and suggests a suitable combination of agile practices that will help to add flexibility and address corresponding challenges of embedded medical device software development.Keywords: agile practices, challenges, embedded software, MDevSPICE®, medical device
Procedia PDF Downloads 2624762 Reference Management Software: Comparative Analysis of RefWorks and Zotero
Authors: Sujit K. Basak
Abstract:
This paper presents a comparison of reference management software between RefWorks and Zotero. The results were drawn by comparing two software and the novelty of this paper is the comparative analysis of software and it has shown that ReftWorks can import more information from the Google Scholar for the researchers. This finding could help to know researchers to use the reference management software.Keywords: analysis, comparative analysis, reference management software, researchers
Procedia PDF Downloads 5424761 Knowledge and Skills Requirements for Software Developer Students
Authors: J. Liebenberg, M. Huisman, E. Mentz
Abstract:
It is widely acknowledged that there is a shortage of software developers, not only in South Africa, but also worldwide. Despite reports on a gap between industry needs and software education, the gap has mostly been explored in quantitative studies. This paper reports on the qualitative data of a mixed method study of the perceptions of professional software developers regarding what topics they learned from their formal education and the importance of these topics to their actual work. The analysis suggests that there is a gap between industry’s needs and software development education and the following recommendations are made: 1) Real-life projects must be included in students’ education; 2) Soft skills and business skills must be included in curricula; 3) Universities must keep the curriculum up to date; 4) Software development education must be made accessible to a diverse range of students.Keywords: software development education, software industry, IT workforce, computing curricula
Procedia PDF Downloads 4614760 A Study of Agile Based Approaches to Improve Software Quality
Authors: Gurmeet Kaur
Abstract:
Agile software development methods are being recognized as popular, and efficient approach to the development of software system that has a short delivery period with high quality also that meets customer requirements with zero defect. In agile software development, quality means quality of code where in the quality is maintained through the use of methods or approaches like refactoring, test driven development, behavior driven development, acceptance test driven development, and demand driven development. Software quality is measured in term of metrics such as the number of defects during development of software. Usage of above mentioned methods or approaches, reduces the possibilities of defects in developed software, and hence improve quality. This paper focuses on study of agile based quality methods or approaches for software development that ensures improved quality of software as well as reduced cost, and customer satisfaction. Procedia PDF Downloads 1704759 A Survey of Key Challenges of Adopting Agile in Global Software Development: A Case Study with Malaysia Perspective
Authors: Amna Batool
Abstract:
Agile methodology is the current most popular technique in software development projects. Agile methods in software development bring optimistic impact on software performances, quality and customer satisfaction. There are some organizations and small-medium enterprises adopting agile into their local software development projects as well as in distributed software development projects. Adopting agile methods in local software development projects is valuable. However, agile global software deployment needs an attention. There are different key challenges in agile global software development that need to resolve and enhance the global software development cycles. The proposed systematic literature review investigates all key challenges of agile in global software development. Moreover, a quantitative methodology (an actual survey) targeted to present a real case scenario of these particular key challenges faced by one of the software houses that is BestWeb Malaysia. The outcomes of systematic literature and the results of quantitative methodology are compared with each other to evaluate if the key challenges pointed out in systematic review still exist. The proposed research and its exploratory results can assist small medium enterprises to avoid these challenges by adopting the best practices in their global software development projects. Moreover, it is helpful for novice researchers to get valuable information altogether.Keywords: agile software development, ASD challenges, agile global software development, challenges in agile global software development
Procedia PDF Downloads 1554758 A Software Product Engineering Process for Commercial Success in Start-Up and Cases
Authors: Javed Ahsan
Abstract:
Software engineers strive for technical sophistication with a dream of finding commercial success in their start-up business. But they may find their much technically sophisticated software products failing in industry in competition with lesser sophisticated products. This is because of not maintaining a clear focus on complimenting and leading commercial success through technical sophistication. This can be achieved through a software engineering specific product development process suggested in this paper. This process is about evolving a software product through specific phases and iterations until commercial triumph falls on software engineer’s feet.Keywords: software, product, engineering, commercialization, start-up, competitiveness, industry
Procedia PDF Downloads 354