In mobile communications age, environment changes rapidly, the requirements change is the software
project must face challenge. Able to overcome the impact of requirements change, software development
risk can be effectively decreased. In order to reduce software requirements change risk, the paper
investigates the major software development models and recommends the adaptable requirements change
software development. Agile development applied the Iterative and Incremental Development (IID)
approach, focuses on workable software and client communication. In software development, agile
development is a very suitable approach to handle the requirements change. However, agile development
maintenance existed many defects that include development documents control, user story inspection and
CM system. The maintenance defects of agile development should be improved. Analysing and collecting
the critical quality factors of agile development maintainability, in this paper proposes the Agile
Development Maintainability Measurement (ADMM) model. Based on ADMM model, the Agile
Development Maintainability Enhancement (ADME) procedure can be defined and deployed for reducing
the risk of requirements change.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
The document discusses a user story quality measurement (USQM) model for reducing risks in agile software development. It proposes that user story quality is key to affecting development efficiency and handling requirements changes. The USQM model analyzes and collects critical user story quality factors, including clarity, complexity, modularity, configuration management, version control, and testability. By quantifying these factors, the USQM aims to identify quality defects and enhance user stories, thereby reducing development risks from requirements changes.
A PROCESS QUALITY IMPROVEMENT MECHANISM FOR REDUCING THE RISK OF CI ENVIRONMENTijcsit
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development.
However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process
Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
Requirements Analysis and Design in the Context of Various Software Developme...zillesubhan
This document provides a comparative analysis of requirements analysis and design phases between traditional and agile software development approaches. It discusses the importance of requirements analysis and outlines the key stages in a traditional software development lifecycle, including requirements analysis, system design, coding, testing, and maintenance. The document also examines requirements engineering processes and sources of requirements. It describes the goals and importance of software design as a key phase for implementing requirements and allowing flexibility for changes.
Flexibility a key factor to testability ijseajournal
Testability is an important software quality factor that is ineffective if it is not available at an early stage in
the development life-cycle. It becomes more essential in the case of object oriented design. Flexibility is an
important key factor to testability analysis and measurement for delivering high class testable and
maintainable software. Flexibility is a criterion of crucial significance to software developers, designers
and the quality controllers. It constantly guides and supports to avoid wastage of resources as well as
enable the designers for continuous improvement in the development process. Flexibility is concerned with
building high quality and reliable software within the constraints of cost and time. It greatly influences
cost, quality and reliability at software evolution process. Despite the fact flexibility is vital and highly
significant aspect for software development processes, it is poorly managed. This paper focuses the need
and importance of flexibility early at design phase. A model has been proposed for flexibility measurement
of object oriented design by establishing multiple linear regression. Finally the proposed model has been
validated using experimental tryout.
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...ijseajournal
Rework is a known vicious circle in software development since it plays a central role in the generation of
delays, extra costs and diverse risks introduced after software delivery. It eventually triggers a negative
impact on the quality of the software developed. In order to cater the rework issue, this paper goes in depth
with the notion of rework in software development as it occurs in practice by analysing a development
process on an organisation in Mauritius where rework is a major issue. Meticulous strategies to reduce
rework are then analysed and discussed. The paper ultimately leads to the recommendation of the best
strategy that is software configuration management to reduce the rework problem in software development
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ijseajournal
Software development process presents various types of models with their corresponding phases required to be accordingly followed in delivery of quality products and projects. Despite the various expertise and skills of systems analysts, designers, and programmers, systems failure is inevitable when a suitable development process model is not followed. This paper focuses on the Iterative and Incremental Development (IID)model and justified its role in the analysis and design software systems. The paper adopted the qualitative research approach that justified and harnessed the relevance of IID in the context of systems analysis and design using the Vocational
Career Information System (VCIS) as a case study. The paper viewed the IID as a change-driven software development process model. The results showed some system specification, functional specification of system and design specifications that can be used in implementing the VCIS using the IID model. Thus, the paper concluded that in systems analysis and design, it is imperative to consider a suitable development process that reflects the engineering mind-set, with heavy emphasis on good analysis and design for quality assurance.
This document compares five models of software engineering: the waterfall model, iteration model, V-shaped model, spiral model, and extreme programming model. It first provides background on software process models and development life cycles in general. It then describes each of the five models in more detail, highlighting their key stages and features, as well as advantages and disadvantages of each approach. The goal is to represent different software development models and compare their characteristics to understand their various features and limitations.
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...ijseajournal
In software development phase software artifacts are not in consistent states such as: some of the class artifacts are fully developed some are half developed, some are major developed, some are minor developed and some are not developed yet. At this stage allowing too many software requirement changes may possibly delay in project delivery and increase development budget of the software. On the other hand rejecting too many changes may increase customer dissatisfaction. Software change effort estimation is one of the most challenging and important activity that helps software project managers in accepting or rejecting changes during software development phase. This paper extends our previous works on developing a software requirement change effort estimation model prototype tool for the software development phase. The significant achievements of the tool are demonstrated through an extensive experimental validation using several case studies. The experimental analysis shows improvement in the estimation accuracy over current change effort estimation models.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
The document discusses a user story quality measurement (USQM) model for reducing risks in agile software development. It proposes that user story quality is key to affecting development efficiency and handling requirements changes. The USQM model analyzes and collects critical user story quality factors, including clarity, complexity, modularity, configuration management, version control, and testability. By quantifying these factors, the USQM aims to identify quality defects and enhance user stories, thereby reducing development risks from requirements changes.
A PROCESS QUALITY IMPROVEMENT MECHANISM FOR REDUCING THE RISK OF CI ENVIRONMENTijcsit
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development.
However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process
Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
Requirements Analysis and Design in the Context of Various Software Developme...zillesubhan
This document provides a comparative analysis of requirements analysis and design phases between traditional and agile software development approaches. It discusses the importance of requirements analysis and outlines the key stages in a traditional software development lifecycle, including requirements analysis, system design, coding, testing, and maintenance. The document also examines requirements engineering processes and sources of requirements. It describes the goals and importance of software design as a key phase for implementing requirements and allowing flexibility for changes.
Flexibility a key factor to testability ijseajournal
Testability is an important software quality factor that is ineffective if it is not available at an early stage in
the development life-cycle. It becomes more essential in the case of object oriented design. Flexibility is an
important key factor to testability analysis and measurement for delivering high class testable and
maintainable software. Flexibility is a criterion of crucial significance to software developers, designers
and the quality controllers. It constantly guides and supports to avoid wastage of resources as well as
enable the designers for continuous improvement in the development process. Flexibility is concerned with
building high quality and reliable software within the constraints of cost and time. It greatly influences
cost, quality and reliability at software evolution process. Despite the fact flexibility is vital and highly
significant aspect for software development processes, it is poorly managed. This paper focuses the need
and importance of flexibility early at design phase. A model has been proposed for flexibility measurement
of object oriented design by establishing multiple linear regression. Finally the proposed model has been
validated using experimental tryout.
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...ijseajournal
Rework is a known vicious circle in software development since it plays a central role in the generation of
delays, extra costs and diverse risks introduced after software delivery. It eventually triggers a negative
impact on the quality of the software developed. In order to cater the rework issue, this paper goes in depth
with the notion of rework in software development as it occurs in practice by analysing a development
process on an organisation in Mauritius where rework is a major issue. Meticulous strategies to reduce
rework are then analysed and discussed. The paper ultimately leads to the recommendation of the best
strategy that is software configuration management to reduce the rework problem in software development
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ijseajournal
Software development process presents various types of models with their corresponding phases required to be accordingly followed in delivery of quality products and projects. Despite the various expertise and skills of systems analysts, designers, and programmers, systems failure is inevitable when a suitable development process model is not followed. This paper focuses on the Iterative and Incremental Development (IID)model and justified its role in the analysis and design software systems. The paper adopted the qualitative research approach that justified and harnessed the relevance of IID in the context of systems analysis and design using the Vocational
Career Information System (VCIS) as a case study. The paper viewed the IID as a change-driven software development process model. The results showed some system specification, functional specification of system and design specifications that can be used in implementing the VCIS using the IID model. Thus, the paper concluded that in systems analysis and design, it is imperative to consider a suitable development process that reflects the engineering mind-set, with heavy emphasis on good analysis and design for quality assurance.
This document compares five models of software engineering: the waterfall model, iteration model, V-shaped model, spiral model, and extreme programming model. It first provides background on software process models and development life cycles in general. It then describes each of the five models in more detail, highlighting their key stages and features, as well as advantages and disadvantages of each approach. The goal is to represent different software development models and compare their characteristics to understand their various features and limitations.
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...ijseajournal
In software development phase software artifacts are not in consistent states such as: some of the class artifacts are fully developed some are half developed, some are major developed, some are minor developed and some are not developed yet. At this stage allowing too many software requirement changes may possibly delay in project delivery and increase development budget of the software. On the other hand rejecting too many changes may increase customer dissatisfaction. Software change effort estimation is one of the most challenging and important activity that helps software project managers in accepting or rejecting changes during software development phase. This paper extends our previous works on developing a software requirement change effort estimation model prototype tool for the software development phase. The significant achievements of the tool are demonstrated through an extensive experimental validation using several case studies. The experimental analysis shows improvement in the estimation accuracy over current change effort estimation models.
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICSijcsa
Software metrics have a direct link with measurement in software engineering. Correct measurement is the prior condition in any engineering fields, and software engineering is not an exception, as the size and complexity of software increases, manual inspection of software becomes a harder task. Most Software Engineers worry about the quality of software, how to measure and enhance its quality. The overall objective of this study was to asses and analysis’s software metrics used to measure the software product and process.
In this Study, the researcher used a collection of literatures from various electronic databases, available since 2008 to understand and know the software metrics. Finally, in this study, the researcher has been identified software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from others for this reason it is better to apply the software metrics to measure the quality of software and the current most common software metrics tools to reduce the subjectivity of faults during the assessment of software quality. The central contribution of this study is an overview about software metrics that can illustrate us the development in this area, and a critical analysis about the main metrics founded on the various literatures.
This document discusses the importance of putting "management" into requirements management. It notes that while requirements engineering tools and processes have been adopted, many software projects still fail due to poor requirements management. The document advocates for establishing requirements baselines and metrics to monitor and control the requirements process. It provides examples of how measuring requirements can help managers prevent failures by spotting issues early. The document recommends identifying key information needs, establishing a requirements baseline plan, monitoring actual progress against the plan, and taking action when exceptions occur. Overall, it promotes an active, measurement-based approach to requirements management to improve project outcomes.
A study of various viewpoints and aspects software quality perspectiveeSAT Journals
Abstract The software quality is very important research of software engineering grown from the last two decades. The software engineering paradigm adopted by many organizations to develop the high quality software at affordable cost. The high quality software is considered as one of the key factor in the rapid growth of Global Software Development. The software metrics computes and evaluates the quality characteristics and used to take quantitative and qualitative decisions for risk assessment and reduction. The multiple stakeholders can view the software quality in multiple angles with various aspects. In this paper we present multiple views of the software quality with respect to various quality aspects. Key Words : Stakeholders, Functional aspect, Structural aspect, Process aspect, Metrics etc.
STATISTICAL ANALYSIS OF METRICS FOR SOFTWARE QUALITY IMPROVEMENT ijseajournal
Software product quality can be defined as the features and characteristics of the product that meet the user needs. The quality of any software can be achieved by following a well defined software process. These software process results into various metrics like Project metrics, Product metrics and Process metrics. Software quality depends on the process which is carried out to design and develop software. Even though the process can be carried out with utmost care, still it can introduce some error and defects. Process metrics are very useful from management point of view. Process metrics can be used for improving the software development and maintenance process for defect removal and also for reducing the response
time.
This paper describes the importance of capturing the Process metrics during the quality audit process and also attempts to categorize them based on the nature of error captured. To reduce such errors and defects found, steps for corrective actions are recommended.
An Agile Software Development FrameworkWaqas Tariq
Agility in software projects can be attained when software development methodologies attain to external factors and provide a framework internally for keeping software development projects focused. Developer practices are the most important factor that has to cope with the challenges. Agile development assumes a project context where the customer is actively collaborating with the development team. The greatest problem agile teams face is too little involvement from the customer. For a project to be agile, the developers have to cope with this lack of collaboration. Embracing changing requirements is not enough to make agile methods cope with business and technology changes. This paper provides a conceptual framework for tailoring agile methodologies to face different challenges. The framework is comprised of three factors, namely, developer practices, customer collaboration, and predicting change
This document provides a review of systematic quality software designing and development practices. It discusses software engineering processes, quality processes, design and development modeling approaches, and related works. The key points are:
1) Software engineering processes aim to ensure quality, meet deadlines, and manage expectations through defined stages and deliverables. Common models include waterfall, spiral, and agile.
2) Software quality processes evaluate and improve aspects like reliability, maintainability, and interoperability. Metrics and techniques are used to measure qualities.
3) Design and development involve life cycles, methods, and notations to systematically model requirements, architecture, and implementation. Waterfall and rapid prototyping are example models.
EVALUATION AND STUDY OF SOFTWARE DEGRADATION IN THE EVOLUTION OF SIX VERSIONS...csandit
This document discusses evaluating software degradation through six versions of the open-source software JHotDraw. Data was collected dynamically from each version using AspectJ to derive two metrics: entropy and software maturity index. Entropy measures complexity and was expected to decrease as the software evolved from adding new features. The software maturity index was derived from documentation and aimed to find if entropy decreases most when maturity is highest, implying a relationship between the two. Six versions of JHotDraw released over five years were tested to investigate changes in these metrics and degradation as the software evolved through new versions.
This document discusses 15 factors that influence quality and productivity in software development processes: individual ability, team communication, product complexity, appropriate notations, systematic approaches, change control, level of technology, level of reliability, problem understanding, available time, required skills, facilities and resources, adequacy of training, management skills, and appropriate goals. Each factor is described in 1-3 paragraphs on how it can impact quality and productivity.
This document discusses the evolution of software metrics over time to measure quality as software has become more complex. It outlines how metrics have changed from measuring lines of code and function points to object-oriented and agile metrics that measure concepts like inheritance, cohesion, and velocity. The document also examines how process models like waterfall, spiral, and agile have influenced quality standards and the definition of new metrics. In summary, software metrics have evolved from size-based measures to more sophisticated metrics aligned with modern processes in order to more effectively measure quality attributes as software engineering has advanced.
The document introduces the systems development life cycle (SDLC) and its four phases of planning, analysis, design, and implementation. It discusses methodologies like waterfall development and agile development. The Unified Process is introduced as a specific methodology that maps phases and workflows using the Unified Modeling Language (UML). Project teams require a range of technical, business, analytical, and interpersonal skills.
The document discusses several software development life cycle models:
- The phased model segments development into phases like analysis, design, implementation, testing and maintenance.
- The cost model views the life cycle in terms of costs incurred in each phase and modifying previous work.
- Prototyping involves building initial versions to explore technical issues and illustrate requirements for the customer.
- Successive versions refines an initial product skeleton through multiple iterations.
Planning the development process involves choosing a life cycle model and defining documents, milestones and reviews. This provides structure and visibility needed for control and quality.
International journal of computer science and innovation vol 2015-n2-paper3sophiabelthome
This document provides an overview and comparison of the Scrum and FDD agile methodologies. It finds that Scrum is more iterative, delivers working software frequently in sprints, emphasizes teamwork and adaptability. FDD focuses more on upfront design, code ownership, and quality control through inspections. Both have benefits and limitations. Overall, combining practices from different agile methods may produce the most effective software development process.
Requirement Engineering Challenges in Development of Software Applications an...Waqas Tariq
Requirement Engineering acts as foundation for any software and is one of the most important tasks. Entire software is supported by four pillars of requirement engineering processes. Functional and non-functional requirements work as bricks to support software edifice. Finally, design, implementation and testing add stories to construct entire software tower on top of this foundation. Thus, the base needs to be well-built to support rest of software tower. For this purpose, requirement engineers come across with numerous challenges to develop successful software. The paper has highlighted requirement engineering challenges encountered in development of software applications and selection of right customer-off-the-shelf components (COTS). Comprehending stakeholder’s needs; incomplete and inconsistent process description; verification and validation of requirements; classification and modeling of extensive data; selection of COTS product with minimum requirement modifications are foremost challenges faced during requirement engineering. Moreover, the paper has discussed and critically evaluated challenges highlighted by various researchers. Besides, the paper presents a model that encapsulates seven major challenges that recur during requirement engineering phase. These challenges have been further categorized into problems. Furthermore, the model has been linked with previous research work to elaborate challenges that have not been specified earlier. Anticipating requirement engineering challenges could assist requirement engineers to prevent software tower from any destruction.
Change management and version control of Scientific Applicationsijcsit
The development process of scientific applications is largely dependent on scientific progress and the
experimental research results. Thus, dealing with frequent changes is one of the main problems faced by
the developers of scientific software. Taking into account the results of the survey conducted among
scientists in the HP-SEE project, the implementation of change management and version control software
processes is inevitable. In this paper, we propose software engineering principles that should be included
in the development process to improve the version control and change management. Moreover, we give
some specific recommendations for their implementation, thereby making a slight modification of already
generally accepted templates and methods. The development steps practiced by scientists should not be
replaced completely, but they need to be supplemented with appropriate practices, documents and formal
methods. We also emphasize the reasons for the inclusion of these two processes and the consequences that
may arise as a result of their non-application.
This document discusses quality management in software development. It covers topics like software quality, standards, reviews/inspections, quality management in agile development, and software measurement. Regarding quality management, the key points are that it provides an independent check on the development process, ensures deliverables meet goals/standards, and the quality team should be independent from developers. Quality plans set quality goals and define assessment processes and standards to apply. Quality management is important for large, complex systems and focuses on establishing a quality culture for smaller systems.
DESQA a Software Quality Assurance FrameworkIJERA Editor
In current software development lifecycles of heterogeneous environments, the pitfalls businesses have to face are that software defect tracking, measurements and quality assurance do not start early enough in the development process. In fact the cost of fixing a defect in a production environment is much higher than in the initial phases of the Software Development Life Cycle (SDLC) which is particularly true for Service Oriented Architecture (SOA). Thus the aim of this study is to develop a new framework for defect tracking and detection and quality estimation for early stages particularly for the design stage of the SDLC. Part of the objectives of this work is to conceptualize, borrow and customize from known frameworks, such as object-oriented programming to build a solid framework using automated rule based intelligent mechanisms to detect and classify defects in software design of SOA. The implementation part demonstrated how the framework can predict the quality level of the designed software. The results showed a good level of quality estimation can be achieved based on the number of design attributes, the number of quality attributes and the number of SOA Design Defects. Assessment shows that metrics provide guidelines to indicate the progress that a software system has made and the quality of design. Using these guidelines, we can develop more usable and maintainable software systems to fulfill the demand of efficient systems for software applications. Another valuable result coming from this study is that developers are trying to keep backwards compatibility when they introduce new functionality. Sometimes, in the same newly-introduced elements developers perform necessary breaking changes in future versions. In that way they give time to their clients to adapt their systems. This is a very valuable practice for the developers because they have more time to assess the quality of their software before releasing it. Other improvements in this research include investigation of other design attributes and SOA Design Defects which can be computed in extending the tests we performed.
The Impact of In-House Software Development Practices on System Usability in ...IJMIT JOURNAL
In-house software development is a critical phenomenon for the production of efficient and effective
software in generating requisite job output. A few studies have devoted efforts towards establishing the
impact of in-house software development on software. Therefore, this paper is an effort towards
establishing the impact of in-house software development practices on system usability. In pursuit of this
paper, a sample of a sample size of 169, at 95% confidence level, with margin error of 5% was drawn from
bold software users, i.e. 300 employees who used the all software including those dealing with the main
stream activities. A total of 102 respondents actually responded to the questionnaires. The Online Sample
Calculator was used to draw the sample. Quantitative data were collected using semi-structured
questionnaires and processed using the SPSS. Descriptive statistics were applied in the analysis. Findings
of the study indicate that software development practices, specifically usability test and user involvement in
software designing and development had an impact on determining software usability for in-house
software. The paper concludes that software development practices shape the design of the software; hence
influence usability of the software produced. Recommended is therefore that software usability test and
user involvement in software designing and development be promoted for effective software production
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT ijseajournal
With the increasing in mobile application systems and a high competition between companies, that led to
increase in the number of mobile application projects.
Mobile software development is a group of process for creating software for mobile devices with limited
resources like small screen, low-power. The development of mobile applications is a big challenging
because of rapidly changing business requirements and technical constraints for mobile systems. So,
developers faced the challenge of a dynamic environment and the Changing of mobile application
requirements. Moreover, Mobile applications should adapt appropriate software development methods that
act in response efficiently to these challenges.
However, at the moment, there is limited knowledge about the suitability of different software practices for
the development of mobile applications. According to many researchers ,Agile methodologies was found to
be most suitable for mobile development projects as they are short time, require flexibility, reduces waste
and time to market.
Finally, in this research we are looking for a suitable process model that conforms to the requirement of
mobile application, we are going to investigate agile development methods to find a way, making the
development of mobile application easy and compatible with mobile device features.
FAST TRANSIENT RESPONSE LOW DROPOUT VOLTAGE REGULATORijseajournal
This paper presents the design of Low Drop-Out (LDO) voltage regulator has fast transient response and which exploits a few current else low quiescent current in the operational amplifier PMOS type. We use band-gap reference for eliminate the temperature dependence. The proposed LDO voltage regulator implemented in 0.18-μm CMOS technology, we use Folded cascode CMOS amplifiers high performance in the stability , provide fast transient response which explains a fast settling, the LDO itself should provide in the output regulator voltages at t equal 2ps with transient variation of the voltage less than 170mV. High accuracy in the DC response terms, the simulation results show that the accuracy of the output regulator voltages is 1.54±0.009V, and power consumption of 1.51 mW.
Secured cloud support for global softwareijseajournal
This document summarizes a research paper that proposes a methodology called TSPS (Theory/SWEBOK/Project Security) to improve software engineering education. The methodology aims to collaborate between academic and industrial practices. It involves students working on projects with guidance from both mentors and industry practitioners. Data from literature reviews on software security engineering education is analyzed. A cloud-based system is developed to securely store project documents by encrypting and splitting files across multiple cloud nodes. The methodology and secure cloud storage approach are concluded to provide strategies to mitigate risks in software projects and benefit both education and industry.
Management of time uncertainty in agileijseajournal
The rise of the use of mobile technologies in the world, such as smartphones and tablets, connected to
mobile networks is changing old habits and creating new ways for the society to access information and
interact with computer systems. Thus, traditional information systems are undergoing a process of
adaptation to this new computing context. However, it is important to note that the characteristics of this
new context are different. There are new features and, thereafter, new possibilities, as well as restrictions
that did not exist before. Finally, the systems developed for this environment have different requirements
and characteristics than the traditional information systems. For this reason, there is the need to reassess
the current knowledge about the processes of planning and building for the development of systems in this
new environment. One area in particular that demands such adaptation is software estimation. The
estimation processes, in general, are based on characteristics of the systems, trying to quantify the
complexity of implementing them. Hence, the main objective of this paper is to present a proposal for an
estimation model for mobile applications, as well as discuss the applicability of traditional estimation
models for the purpose of developing systems in the context of mobile computing. Hence, the main objective
of this paper is to present an effort estimation model for mobile applications.
A model for run time software architecture adaptationijseajournal
Since the global demand for software systems and constantly changing environments and systems is
increasing, the adaptability of software systems is of significant importance. Due to the architecture of
software system is a high-level view of the system and makes the modifiability possible at an overall level,
the adaptability of the software can be considered an effective approach to adapt software systems by
changing architecture configuration. In this study, the architecture configuration is modified through xADL
language which is a software architecture description language with a high flexibility. Software
architecture reconfiguration is done based on existing rules of rule-based system, which are written with
respect to three strategies of load balancing, fixed bandwidth and fixed latency. The proposed model of the
study is simulated based on samples of client-server system, video conferencing system and students’
grading system. The proposed model can be used in all types of architecture, include Client Server
Architecture, Service Oriented Architecture and etc.
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICSijcsa
Software metrics have a direct link with measurement in software engineering. Correct measurement is the prior condition in any engineering fields, and software engineering is not an exception, as the size and complexity of software increases, manual inspection of software becomes a harder task. Most Software Engineers worry about the quality of software, how to measure and enhance its quality. The overall objective of this study was to asses and analysis’s software metrics used to measure the software product and process.
In this Study, the researcher used a collection of literatures from various electronic databases, available since 2008 to understand and know the software metrics. Finally, in this study, the researcher has been identified software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from others for this reason it is better to apply the software metrics to measure the quality of software and the current most common software metrics tools to reduce the subjectivity of faults during the assessment of software quality. The central contribution of this study is an overview about software metrics that can illustrate us the development in this area, and a critical analysis about the main metrics founded on the various literatures.
This document discusses the importance of putting "management" into requirements management. It notes that while requirements engineering tools and processes have been adopted, many software projects still fail due to poor requirements management. The document advocates for establishing requirements baselines and metrics to monitor and control the requirements process. It provides examples of how measuring requirements can help managers prevent failures by spotting issues early. The document recommends identifying key information needs, establishing a requirements baseline plan, monitoring actual progress against the plan, and taking action when exceptions occur. Overall, it promotes an active, measurement-based approach to requirements management to improve project outcomes.
A study of various viewpoints and aspects software quality perspectiveeSAT Journals
Abstract The software quality is very important research of software engineering grown from the last two decades. The software engineering paradigm adopted by many organizations to develop the high quality software at affordable cost. The high quality software is considered as one of the key factor in the rapid growth of Global Software Development. The software metrics computes and evaluates the quality characteristics and used to take quantitative and qualitative decisions for risk assessment and reduction. The multiple stakeholders can view the software quality in multiple angles with various aspects. In this paper we present multiple views of the software quality with respect to various quality aspects. Key Words : Stakeholders, Functional aspect, Structural aspect, Process aspect, Metrics etc.
STATISTICAL ANALYSIS OF METRICS FOR SOFTWARE QUALITY IMPROVEMENT ijseajournal
Software product quality can be defined as the features and characteristics of the product that meet the user needs. The quality of any software can be achieved by following a well defined software process. These software process results into various metrics like Project metrics, Product metrics and Process metrics. Software quality depends on the process which is carried out to design and develop software. Even though the process can be carried out with utmost care, still it can introduce some error and defects. Process metrics are very useful from management point of view. Process metrics can be used for improving the software development and maintenance process for defect removal and also for reducing the response
time.
This paper describes the importance of capturing the Process metrics during the quality audit process and also attempts to categorize them based on the nature of error captured. To reduce such errors and defects found, steps for corrective actions are recommended.
An Agile Software Development FrameworkWaqas Tariq
Agility in software projects can be attained when software development methodologies attain to external factors and provide a framework internally for keeping software development projects focused. Developer practices are the most important factor that has to cope with the challenges. Agile development assumes a project context where the customer is actively collaborating with the development team. The greatest problem agile teams face is too little involvement from the customer. For a project to be agile, the developers have to cope with this lack of collaboration. Embracing changing requirements is not enough to make agile methods cope with business and technology changes. This paper provides a conceptual framework for tailoring agile methodologies to face different challenges. The framework is comprised of three factors, namely, developer practices, customer collaboration, and predicting change
This document provides a review of systematic quality software designing and development practices. It discusses software engineering processes, quality processes, design and development modeling approaches, and related works. The key points are:
1) Software engineering processes aim to ensure quality, meet deadlines, and manage expectations through defined stages and deliverables. Common models include waterfall, spiral, and agile.
2) Software quality processes evaluate and improve aspects like reliability, maintainability, and interoperability. Metrics and techniques are used to measure qualities.
3) Design and development involve life cycles, methods, and notations to systematically model requirements, architecture, and implementation. Waterfall and rapid prototyping are example models.
EVALUATION AND STUDY OF SOFTWARE DEGRADATION IN THE EVOLUTION OF SIX VERSIONS...csandit
This document discusses evaluating software degradation through six versions of the open-source software JHotDraw. Data was collected dynamically from each version using AspectJ to derive two metrics: entropy and software maturity index. Entropy measures complexity and was expected to decrease as the software evolved from adding new features. The software maturity index was derived from documentation and aimed to find if entropy decreases most when maturity is highest, implying a relationship between the two. Six versions of JHotDraw released over five years were tested to investigate changes in these metrics and degradation as the software evolved through new versions.
This document discusses 15 factors that influence quality and productivity in software development processes: individual ability, team communication, product complexity, appropriate notations, systematic approaches, change control, level of technology, level of reliability, problem understanding, available time, required skills, facilities and resources, adequacy of training, management skills, and appropriate goals. Each factor is described in 1-3 paragraphs on how it can impact quality and productivity.
This document discusses the evolution of software metrics over time to measure quality as software has become more complex. It outlines how metrics have changed from measuring lines of code and function points to object-oriented and agile metrics that measure concepts like inheritance, cohesion, and velocity. The document also examines how process models like waterfall, spiral, and agile have influenced quality standards and the definition of new metrics. In summary, software metrics have evolved from size-based measures to more sophisticated metrics aligned with modern processes in order to more effectively measure quality attributes as software engineering has advanced.
The document introduces the systems development life cycle (SDLC) and its four phases of planning, analysis, design, and implementation. It discusses methodologies like waterfall development and agile development. The Unified Process is introduced as a specific methodology that maps phases and workflows using the Unified Modeling Language (UML). Project teams require a range of technical, business, analytical, and interpersonal skills.
The document discusses several software development life cycle models:
- The phased model segments development into phases like analysis, design, implementation, testing and maintenance.
- The cost model views the life cycle in terms of costs incurred in each phase and modifying previous work.
- Prototyping involves building initial versions to explore technical issues and illustrate requirements for the customer.
- Successive versions refines an initial product skeleton through multiple iterations.
Planning the development process involves choosing a life cycle model and defining documents, milestones and reviews. This provides structure and visibility needed for control and quality.
International journal of computer science and innovation vol 2015-n2-paper3sophiabelthome
This document provides an overview and comparison of the Scrum and FDD agile methodologies. It finds that Scrum is more iterative, delivers working software frequently in sprints, emphasizes teamwork and adaptability. FDD focuses more on upfront design, code ownership, and quality control through inspections. Both have benefits and limitations. Overall, combining practices from different agile methods may produce the most effective software development process.
Requirement Engineering Challenges in Development of Software Applications an...Waqas Tariq
Requirement Engineering acts as foundation for any software and is one of the most important tasks. Entire software is supported by four pillars of requirement engineering processes. Functional and non-functional requirements work as bricks to support software edifice. Finally, design, implementation and testing add stories to construct entire software tower on top of this foundation. Thus, the base needs to be well-built to support rest of software tower. For this purpose, requirement engineers come across with numerous challenges to develop successful software. The paper has highlighted requirement engineering challenges encountered in development of software applications and selection of right customer-off-the-shelf components (COTS). Comprehending stakeholder’s needs; incomplete and inconsistent process description; verification and validation of requirements; classification and modeling of extensive data; selection of COTS product with minimum requirement modifications are foremost challenges faced during requirement engineering. Moreover, the paper has discussed and critically evaluated challenges highlighted by various researchers. Besides, the paper presents a model that encapsulates seven major challenges that recur during requirement engineering phase. These challenges have been further categorized into problems. Furthermore, the model has been linked with previous research work to elaborate challenges that have not been specified earlier. Anticipating requirement engineering challenges could assist requirement engineers to prevent software tower from any destruction.
Change management and version control of Scientific Applicationsijcsit
The development process of scientific applications is largely dependent on scientific progress and the
experimental research results. Thus, dealing with frequent changes is one of the main problems faced by
the developers of scientific software. Taking into account the results of the survey conducted among
scientists in the HP-SEE project, the implementation of change management and version control software
processes is inevitable. In this paper, we propose software engineering principles that should be included
in the development process to improve the version control and change management. Moreover, we give
some specific recommendations for their implementation, thereby making a slight modification of already
generally accepted templates and methods. The development steps practiced by scientists should not be
replaced completely, but they need to be supplemented with appropriate practices, documents and formal
methods. We also emphasize the reasons for the inclusion of these two processes and the consequences that
may arise as a result of their non-application.
This document discusses quality management in software development. It covers topics like software quality, standards, reviews/inspections, quality management in agile development, and software measurement. Regarding quality management, the key points are that it provides an independent check on the development process, ensures deliverables meet goals/standards, and the quality team should be independent from developers. Quality plans set quality goals and define assessment processes and standards to apply. Quality management is important for large, complex systems and focuses on establishing a quality culture for smaller systems.
DESQA a Software Quality Assurance FrameworkIJERA Editor
In current software development lifecycles of heterogeneous environments, the pitfalls businesses have to face are that software defect tracking, measurements and quality assurance do not start early enough in the development process. In fact the cost of fixing a defect in a production environment is much higher than in the initial phases of the Software Development Life Cycle (SDLC) which is particularly true for Service Oriented Architecture (SOA). Thus the aim of this study is to develop a new framework for defect tracking and detection and quality estimation for early stages particularly for the design stage of the SDLC. Part of the objectives of this work is to conceptualize, borrow and customize from known frameworks, such as object-oriented programming to build a solid framework using automated rule based intelligent mechanisms to detect and classify defects in software design of SOA. The implementation part demonstrated how the framework can predict the quality level of the designed software. The results showed a good level of quality estimation can be achieved based on the number of design attributes, the number of quality attributes and the number of SOA Design Defects. Assessment shows that metrics provide guidelines to indicate the progress that a software system has made and the quality of design. Using these guidelines, we can develop more usable and maintainable software systems to fulfill the demand of efficient systems for software applications. Another valuable result coming from this study is that developers are trying to keep backwards compatibility when they introduce new functionality. Sometimes, in the same newly-introduced elements developers perform necessary breaking changes in future versions. In that way they give time to their clients to adapt their systems. This is a very valuable practice for the developers because they have more time to assess the quality of their software before releasing it. Other improvements in this research include investigation of other design attributes and SOA Design Defects which can be computed in extending the tests we performed.
The Impact of In-House Software Development Practices on System Usability in ...IJMIT JOURNAL
In-house software development is a critical phenomenon for the production of efficient and effective
software in generating requisite job output. A few studies have devoted efforts towards establishing the
impact of in-house software development on software. Therefore, this paper is an effort towards
establishing the impact of in-house software development practices on system usability. In pursuit of this
paper, a sample of a sample size of 169, at 95% confidence level, with margin error of 5% was drawn from
bold software users, i.e. 300 employees who used the all software including those dealing with the main
stream activities. A total of 102 respondents actually responded to the questionnaires. The Online Sample
Calculator was used to draw the sample. Quantitative data were collected using semi-structured
questionnaires and processed using the SPSS. Descriptive statistics were applied in the analysis. Findings
of the study indicate that software development practices, specifically usability test and user involvement in
software designing and development had an impact on determining software usability for in-house
software. The paper concludes that software development practices shape the design of the software; hence
influence usability of the software produced. Recommended is therefore that software usability test and
user involvement in software designing and development be promoted for effective software production
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT ijseajournal
With the increasing in mobile application systems and a high competition between companies, that led to
increase in the number of mobile application projects.
Mobile software development is a group of process for creating software for mobile devices with limited
resources like small screen, low-power. The development of mobile applications is a big challenging
because of rapidly changing business requirements and technical constraints for mobile systems. So,
developers faced the challenge of a dynamic environment and the Changing of mobile application
requirements. Moreover, Mobile applications should adapt appropriate software development methods that
act in response efficiently to these challenges.
However, at the moment, there is limited knowledge about the suitability of different software practices for
the development of mobile applications. According to many researchers ,Agile methodologies was found to
be most suitable for mobile development projects as they are short time, require flexibility, reduces waste
and time to market.
Finally, in this research we are looking for a suitable process model that conforms to the requirement of
mobile application, we are going to investigate agile development methods to find a way, making the
development of mobile application easy and compatible with mobile device features.
FAST TRANSIENT RESPONSE LOW DROPOUT VOLTAGE REGULATORijseajournal
This paper presents the design of Low Drop-Out (LDO) voltage regulator has fast transient response and which exploits a few current else low quiescent current in the operational amplifier PMOS type. We use band-gap reference for eliminate the temperature dependence. The proposed LDO voltage regulator implemented in 0.18-μm CMOS technology, we use Folded cascode CMOS amplifiers high performance in the stability , provide fast transient response which explains a fast settling, the LDO itself should provide in the output regulator voltages at t equal 2ps with transient variation of the voltage less than 170mV. High accuracy in the DC response terms, the simulation results show that the accuracy of the output regulator voltages is 1.54±0.009V, and power consumption of 1.51 mW.
Secured cloud support for global softwareijseajournal
This document summarizes a research paper that proposes a methodology called TSPS (Theory/SWEBOK/Project Security) to improve software engineering education. The methodology aims to collaborate between academic and industrial practices. It involves students working on projects with guidance from both mentors and industry practitioners. Data from literature reviews on software security engineering education is analyzed. A cloud-based system is developed to securely store project documents by encrypting and splitting files across multiple cloud nodes. The methodology and secure cloud storage approach are concluded to provide strategies to mitigate risks in software projects and benefit both education and industry.
Management of time uncertainty in agileijseajournal
The rise of the use of mobile technologies in the world, such as smartphones and tablets, connected to
mobile networks is changing old habits and creating new ways for the society to access information and
interact with computer systems. Thus, traditional information systems are undergoing a process of
adaptation to this new computing context. However, it is important to note that the characteristics of this
new context are different. There are new features and, thereafter, new possibilities, as well as restrictions
that did not exist before. Finally, the systems developed for this environment have different requirements
and characteristics than the traditional information systems. For this reason, there is the need to reassess
the current knowledge about the processes of planning and building for the development of systems in this
new environment. One area in particular that demands such adaptation is software estimation. The
estimation processes, in general, are based on characteristics of the systems, trying to quantify the
complexity of implementing them. Hence, the main objective of this paper is to present a proposal for an
estimation model for mobile applications, as well as discuss the applicability of traditional estimation
models for the purpose of developing systems in the context of mobile computing. Hence, the main objective
of this paper is to present an effort estimation model for mobile applications.
A model for run time software architecture adaptationijseajournal
Since the global demand for software systems and constantly changing environments and systems is
increasing, the adaptability of software systems is of significant importance. Due to the architecture of
software system is a high-level view of the system and makes the modifiability possible at an overall level,
the adaptability of the software can be considered an effective approach to adapt software systems by
changing architecture configuration. In this study, the architecture configuration is modified through xADL
language which is a software architecture description language with a high flexibility. Software
architecture reconfiguration is done based on existing rules of rule-based system, which are written with
respect to three strategies of load balancing, fixed bandwidth and fixed latency. The proposed model of the
study is simulated based on samples of client-server system, video conferencing system and students’
grading system. The proposed model can be used in all types of architecture, include Client Server
Architecture, Service Oriented Architecture and etc.
A novel approach for clone group mappingijseajournal
Clone group mapping has a very important significance in the evolution of code clone. The topic modeling
techniques were applied into code clone firstly and a new clone group mapping method was proposed. The
method is very effective for not only Type-1 and Type-2 clone but also Type-3 clone .By making full use of
the source text and structure information, topic modeling techniques transform the mapping problem of
high-dimensional code space into a low-dimensional topic space, the goal of clone group mapping was
indirectly reached by mapping clone group topics. Experiments on four open source software show that the
recall and precision are up to 0.99, thus the method can effectively and accurately reach the goal of clone
group mapping.
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALEijseajournal
Bad smells are signs of potential problems in code. Detecting bad smells, however, remains time
consuming for software engineers despite proposals on bad smell detection and refactoring tools. Large
Class is a kind of bad smells caused by large scale, and the detection is hard to achieve automatically. In
this paper, a Large Class bad smell detection approach based on class length distribution model and
cohesion metrics is proposed. In programs, the lengths of classes are confirmed according to the certain
distributions. The class length distribution model is generalized to detect programs after grouping.
Meanwhile, cohesion metrics are analyzed for bad smell detection. The bad smell detection experiments of
open source programs show that Large Class bad smell can be detected effectively and accurately with this
approach, and refactoring scheme can be proposed for design quality improvements of programs.
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASijseajournal
This work is based on two major areas, the Multiview Service Oriented Architecture and the combination between the computing cloud and MV-SOA. Thus, it is suggested to extend firstly the service oriented architecture (SOA) into an architecture called MV-SOA by adding two components, the Multiview service generator, whose role is to transform the classic service into Multiview service, and the data base, this component seeks to stock all of consumer service information. It is also suggested to combine the computing cloud and Multiview Service Oriented Architecture MVSOA. To reach such combination, the
MVSOA architecture was taken and we added to the client-side a private cloud in SaaS and DaaS.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
Requirement analysis method of e commerce websites development for small-medi...ijseajournal
Along with the growth of the Internet, the trend shows that e-commerce have been growing significantly in
the last several years. This means business opportunities for small-medium enterprises (SMEs), which are
recognized as the backbone of the economy. SMEs may develop and run small to medium size of particular
e-commerce websites as the solution of specific business opportunities. Certainly, the websites should be
developed accordingly to support business success. In developing the websites, key elements of e-commerce
business model that are necessary to ensure the success should be resolved at the requirement stage of the
development. In this paper, we propose an enhancement of requirement analysis method found in
literatures such that it includes activities to resolve the key elements. The method has been applied in three
case studies based on Indonesia situations and we conclude that it is suitable to be adopted by SMEs.
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development. However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development.However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes
problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
In order to project resource management and time control, software system needs to be decomposed into
subsystems, functional modules and basis components. Finally, all tested components have to integrate to
be the complete system. Applying IID (Iterative Incremental Development) mechanism, agile development
model becomes the practical method to reduce software project failure rate. Continuous integration (CI) is
an IID implementation concept which can effectively reduce software development risk. Web app with high
change characteristic is suitable to use agile development model as the development and maintenance
methodology. The paper depth surveys CI operating environment and advantages. Introducing CI concept
can make up the moving target problems to impact of Web app. For this, the paper proposes a Continuous
Integration based Web Applications Maintenance Procedure (CIWAMP) to assist the system integration
operating. Based on CI characteristics, CIWAMP makes Web app can be deployed quickly, increase
stakeholder communication frequency, improve staff morale, and effectively reduce Web app maintenance
quality and efficiency
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
In order to project resource management and time control, software system needs to be decomposed into subsystems, functional modules and basis components. Finally, all tested components have to integrate to be the complete system. Applying IID (Iterative Incremental Development) mechanism, agile development model becomes the practical method to reduce software project failure rate. Continuous integration (CI) is an IID implementation concept which can effectively reduce software development risk. Web app with high change characteristic is suitable to use agile development model as the development and maintenance methodology. The paper depth surveys CI operating environment and advantages. Introducing CI concept can make up the moving target problems to impact of Web app. For this, the paper proposes a Continuous
Integration based Web Applications Maintenance Procedure (CIWAMP) to assist the system integration operating. Based on CI characteristics, CIWAMP makes Web app can be deployed quickly, increase stakeholder communication frequency, improve staff morale, and effectively reduce Web app maintenance
quality and efficiency.
Software Requirements Prioritization: What, Why, and How?IRJET Journal
This document discusses software requirements prioritization, including what it is, why it is needed, and the typical process. Software requirements prioritization is the process of identifying and ranking software requirements based on their importance, urgency, feasibility and their impact on project objectives. It ensures the most critical requirements are addressed first. Requirements prioritization is necessary due to limited resources and the fact that not all requirements can be implemented. The document outlines the typical steps in requirements prioritization process and discusses factors that must be considered, such as perspectives of customers, business needs, and technical constraints. Finally, it provides an overview of different techniques used for prioritizing requirements.
This document provides an overview and comparison of five software engineering models: waterfall, iteration, V-shaped, spiral, and extreme programming. It first defines what a software process model is and discusses some general models. It then focuses on describing the key aspects of each of the five models in more detail, including the waterfall model which consists of sequential phases from requirements to maintenance. The document highlights advantages and disadvantages of each model.
This document compares five models of software engineering: waterfall, iterative, V-shaped, spiral, and extreme programming. It provides descriptions and comparisons of each model. The waterfall model is described as one of the oldest and most widely used models, with distinct phases from requirements to maintenance. However, it lacks flexibility. The iterative model allows for overlapping phases and faster results. The V-shaped model emphasizes testing and has deliverables at each phase but lacks flexibility. The spiral model focuses on risk analysis through iterations called spirals. It is useful for large projects but costly. Extreme programming emphasizes teamwork, customer involvement, and frequent small releases but may not work for all projects. In summary, the document examines the features, advantages, and
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREijseajournal
This document summarizes an empirical study that developed a simplicity evaluation model for object-oriented software. It establishes relationships between software design simplicity factors and object-oriented design properties like encapsulation, coupling, inheritance, and polymorphism. A linear regression model was developed and validated experimentally to predict simplicity scores based on these design metrics. The model showed a high correlation with known simplicity values, demonstrating it is an effective way to quantitatively evaluate simplicity in object-oriented designs. Future work could involve testing the model on more and larger real-world projects.
IRJET- A Study on Software Reliability ModelsIRJET Journal
This document summarizes various software reliability models and metrics for evaluating reliability. It discusses existing reliability models, their pros and cons in terms of effort required and whether defect counts are finite. Commonly used metrics to measure reliability are also outlined, including product, project management, process, and failure metrics. The conclusion states that while many models use machine learning, reliability prediction could be further optimized by combining machine learning and fuzzy logic. Future work is proposed to focus on using these techniques to predict reliability in a more effective way.
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...ecij
The transformative global economy posed challenges to businesses in service management. In this computing age, the perceptual and operational edge of a certain business or organization manifested on the kind of technology it offers in the Service Management. Organizations have long recognized the
importance of managing key resources such as people and information. Information has now moved to its rightful place as a key resource in the organization and therefore management of the same can be instituted by employing methodology. To keep their brand promise, technology has been used;The number of new entrants to every sectors of economy has grown significantly in recent years, and each firm strives to make their daily operation efficient in which demand for business software or application software getting higher and businesses or organizations opted to build or buy this software. Because of
new entrants, it had offered opportunity to software developers to translate business processes into systems. This study investigates waste in the software development by application of Lean principles. Like any conventional projects, software becomes buggy and oftentimes it fails. Software failure is always attributed to the software engineering, not the incompetence of project managers, inadequacy of the
people on the project, or lack of clear goal. The researchers’ contentions are there wastes in the software development and serve as mechanism and evidence to why software fails. Software failure is not attributed to the software itself, it includes however the acceptance of the clients and end-users. Descriptive secondary data analysis, participant observation and Fishbone Analysis were the methodology used in the study. Wastes include unfinished or partially done work, extra features,
relearning, handoffs, delays, task switching, and defects.
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSijseajournal
This document summarizes a study that investigated factors affecting requirements adherence to business processes in agile projects. The study conducted a cross-case analysis of seven companies, collecting data through interviews, observations, and document analysis. The analysis identified that customer business knowledge by the development team and customer availability during requirements elicitation and validation are essential for requirements to align with business needs in agile projects. This allows developed systems to better meet the needs of an organization's business processes.
A novel risk management model in the Scrum and extreme programming hybrid me...IJECEIAES
Risk management in software development has always been one of the necessities of software project management. The logical nature of software projects and products has caused several challenges and risks in these projects. On the other hand, with the emergence of agile methodologies, especially Scrum, and extreme programming (XP) methodologies, in recent years, this issue has become more serious. This is mainly because emphasizing limited documentation in these methodologies has caused these methods to pay little attention to some aspects of project management, particularly risk management. Concentrating on this challenge, the current study has proposed a risk management model in the hybrid methodology, combining Scrum and XP. Using this model in a case study shows this model's success in achieving risk management purposes. The results of this study indicate an appropriate reduction in the number of reworks, change requests, identified risks, and occurred risks. Moreover, the number of eliminated risks and team productivity have increased.
Comparative Analysis of Agile Software Development Methodologies-A ReviewIJERA Editor
This document provides a review and comparison of several agile software development methodologies, including Scrum, Extreme Programming (XP), Dynamic Systems Development Method (DSDM), Feature-Driven Development (FDD), and Adaptive Software Development (ASD). It finds that while all agile methods emphasize iterative development, customer collaboration, and responsiveness to change, they differ in their documentation requirements, level of customer involvement, use of meetings, and suitability for small versus large projects. For example, XP and Scrum involve customers most heavily while FDD relies more on documentation, and XP and ASD generally work best for smaller projects compared to Scrum, FDD and DSDM. A table compares the key characteristics of each
The software industry has had significant progress
in recent years. The entire life of software includes two phases:
Production and Maintenance. Software maintenance cost is
increasingly growing and estimates showed that about 90%, if
software life cost is related to its maintenance phase. Extraction
and considering the factors affecting software maintenance cost
help to estimate the cost and reduce it by controlling the factors.
Cost estimation of maintenance phase is necessary to predict the
reliability, improve the productivity, project planning, controlling
and adaptability of the software. Though there are various models
to estimate the maintenance cost of traditional software like
COCOMO, SLIM, Function Point etc., but till now there is no
such model to estimate the maintenance cost using fourth
generation language environment. Software maintenance will
continue to exist in the fourth generation environment, as systems
will still be required to evolve. In this kind of situation there is
needed to develop a model to estimate the maintenance cost using
fourth generation environment. We propose a systematic
approach and development for software maintenance cost
estimation model using fourth generation language environment
on the basis of COCOMO II. This model is based on three
parameters: SMCE with Fourth Generation Language
Environment, ACT (Annual Change Traffic), Technical and NonTechnical
factors which affect the maintenance cost. The
favorable results closely matching and it can be achieved by using
model implementation.
The software industry has had significant progress
in recent years. The entire life of software includes two phases:
Production and Maintenance. Software maintenance cost is
increasingly growing and estimates showed that about 90%, if
software life cost is related to its maintenance phase. Extraction
and considering the factors affecting software maintenance cost
help to estimate the cost and reduce it by controlling the factors.
Cost estimation of maintenance phase is necessary to predict the
reliability, improve the productivity, project planning, controlling
and adaptability of the software. Though there are various models
to estimate the maintenance cost of traditional software like
COCOMO, SLIM, Function Point etc., but till now there is no
such model to estimate the maintenance cost using fourth
generation language environment. Software maintenance will
continue to exist in the fourth generation environment, as systems
will still be required to evolve. In this kind of situation there is
needed to develop a model to estimate the maintenance cost using
fourth generation environment. We propose a systematic
approach and development for software maintenance cost
estimation model using fourth generation language environment
on the basis of COCOMO II. This model is based on three
parameters: SMCE with Fourth Generation Language
Environment, ACT (Annual Change Traffic), Technical and NonTechnical
factors which affect the maintenance cost. The
favorable results closely matching and it can be achieved by using
model implementation.
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...ijseajournal
Agility is bringing in responsibility and ownership in individuals, which will eventually bring out effectiveness and efficiency in deliverables. Agile model is growing in the market at very good pace.Companies are drifting from traditional Software Development Life Cycle models to Agile Environment for the purpose of attaining quality and for the sake of saving cost and time. Nimbleness nature of Agile is helpful in frequent releases so as to satisfy the customer by providing frequent dual feedback. In Traditional models, life cycle is properly defined and also phases are elaborated by specifying needed input
and output parameters. On the other hand, in Agile environment, phases are specific to methodologies of Agile - Extreme Programming etc. In this paper a common life cycle approach is proposed that is applicable for different kinds of teams. The paper aims to describe a mapping function for mapping of traditional methods to Agile method.
IRJET- Factors Affecting the Delivery of Quality Software and their Relations...IRJET Journal
This document discusses factors that affect the delivery of quality software and their relationship to the software development process. It identifies key factors such as the amount of testing, costs involved, time spent, and following proper software development life cycle (SDLC) phases. The document presents a literature review on how these factors influence software quality. It then defines variables, hypotheses, and a regression model to analyze the relationship between delivery of quality software and the identified factors. The results of distributing and analyzing questionnaires indicate that amount of testing, costs involved, and time spent have a statistically significant correlation with delivering quality software. Therefore, paying attention to these factors during development can help improve software quality.
This document provides an overview and comparison of agile processes for software development. It defines agile processes as iterative and incremental based approaches that emphasize adaptability, customer collaboration, and rapid delivery of working software. The document then discusses characteristics of agile projects like being iterative, modular, and people-oriented. It also describes popular agile methodologies like extreme programming, scrum, and feature-driven development. The paper aims to serve as a guide for understanding agile processes and comparing them to other software development life cycle models.
This document provides an overview and comparison of agile processes for software development. It defines agile processes as iterative and incremental based approaches that emphasize adaptability, customer collaboration, and rapid delivery of working software. The document then discusses characteristics of agile projects like being iterative, modular, and people-oriented. It also describes popular agile methodologies like extreme programming, scrum, and feature-driven development. The paper aims to serve as a guide for software development process models by outlining the advantages and disadvantages of agile approaches.
The impact of user involvement in software development processnooriasukmaningtyas
In software development process, user can take part in any phase of the process, depending on what model is being applied. Lack of user involvement can result in a poorly designed solution, or even a solution that conflicts with user’s needs. This review paper presents the impact of user involvement in software development process. In this study, different software development processes will be reviewed, show where the user usually gets involved in different models such as: structural (waterfall, Vmodel) and incremental (scrum-extreme programming XP). As each model differs from the other, each of them has a different perspective of where user should take part and where they should not. This can be an asset that helps project managers, and leaders to develop suitable strategies to follow in their projects.
Similar to A maintainability enhancement procedure (20)
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Blood finder application project report (1).pdfKamal Acharya
Blood Finder is an emergency time app where a user can search for the blood banks as
well as the registered blood donors around Mumbai. This application also provide an
opportunity for the user of this application to become a registered donor for this user have
to enroll for the donor request from the application itself. If the admin wish to make user
a registered donor, with some of the formalities with the organization it can be done.
Specialization of this application is that the user will not have to register on sign-in for
searching the blood banks and blood donors it can be just done by installing the
application to the mobile.
The purpose of making this application is to save the user’s time for searching blood of
needed blood group during the time of the emergency.
This is an android application developed in Java and XML with the connectivity of
SQLite database. This application will provide most of basic functionality required for an
emergency time application. All the details of Blood banks and Blood donors are stored
in the database i.e. SQLite.
This application allowed the user to get all the information regarding blood banks and
blood donors such as Name, Number, Address, Blood Group, rather than searching it on
the different websites and wasting the precious time. This application is effective and
user friendly.
Software Engineering and Project Management - Software Testing + Agile Method...Prakhyath Rai
Software Testing: A Strategic Approach to Software Testing, Strategic Issues, Test Strategies for Conventional Software, Test Strategies for Object -Oriented Software, Validation Testing, System Testing, The Art of Debugging.
Agile Methodology: Before Agile – Waterfall, Agile Development.
Accident detection system project report.pdfKamal Acharya
The Rapid growth of technology and infrastructure has made our lives easier. The
advent of technology has also increased the traffic hazards and the road accidents take place
frequently which causes huge loss of life and property because of the poor emergency facilities.
Many lives could have been saved if emergency service could get accident information and
reach in time. Our project will provide an optimum solution to this draw back. A piezo electric
sensor can be used as a crash or rollover detector of the vehicle during and after a crash. With
signals from a piezo electric sensor, a severe accident can be recognized. According to this
project when a vehicle meets with an accident immediately piezo electric sensor will detect the
signal or if a car rolls over. Then with the help of GSM module and GPS module, the location
will be sent to the emergency contact. Then after conforming the location necessary action will
be taken. If the person meets with a small accident or if there is no serious threat to anyone’s
life, then the alert message can be terminated by the driver by a switch provided in order to
avoid wasting the valuable time of the medical rescue team.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
Applications of artificial Intelligence in Mechanical Engineering.pdfAtif Razi
Historically, mechanical engineering has relied heavily on human expertise and empirical methods to solve complex problems. With the introduction of computer-aided design (CAD) and finite element analysis (FEA), the field took its first steps towards digitization. These tools allowed engineers to simulate and analyze mechanical systems with greater accuracy and efficiency. However, the sheer volume of data generated by modern engineering systems and the increasing complexity of these systems have necessitated more advanced analytical tools, paving the way for AI.
AI offers the capability to process vast amounts of data, identify patterns, and make predictions with a level of speed and accuracy unattainable by traditional methods. This has profound implications for mechanical engineering, enabling more efficient design processes, predictive maintenance strategies, and optimized manufacturing operations. AI-driven tools can learn from historical data, adapt to new information, and continuously improve their performance, making them invaluable in tackling the multifaceted challenges of modern mechanical engineering.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELijaia
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Software Engineering and Project Management - Introduction, Modeling Concepts...
A maintainability enhancement procedure
1. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
DOI : 10.5121/ijsea.2015.6403 29
A MAINTAINABILITY ENHANCEMENT PROCEDURE
FOR REDUCING AGILE SOFTWARE DEVELOPMENT
RISK
Sen-Tarng Lai
Dept. of Information Technology and Management, Shih Chien University,
Taipei, 104, Taiwan
ABSTRACT
In mobile communications age, environment changes rapidly, the requirements change is the software
project must face challenge. Able to overcome the impact of requirements change, software development
risk can be effectively decreased. In order to reduce software requirements change risk, the paper
investigates the major software development models and recommends the adaptable requirements change
software development. Agile development applied the Iterative and Incremental Development (IID)
approach, focuses on workable software and client communication. In software development, agile
development is a very suitable approach to handle the requirements change. However, agile development
maintenance existed many defects that include development documents control, user story inspection and
CM system. The maintenance defects of agile development should be improved. Analysing and collecting
the critical quality factors of agile development maintainability, in this paper proposes the Agile
Development Maintainability Measurement (ADMM) model. Based on ADMM model, the Agile
Development Maintainability Enhancement (ADME) procedure can be defined and deployed for reducing
the risk of requirements change.
KEYWORDS
Agile development, maintainability, requirements change, quality measurement, ADMM
1. INTRODUCTION
In software development process, it is necessary to face challenge of requirements change.
Software project must overcome the impact of requirements change to effectively reduce
development risk [1], [2], [3]. Requirements change often affects software development
operations. Requirements change makes the development flow need back to earlier development
phases for revising related artefacts. It not only need invest extra resource and cost, but also may
cause the schedule delay [1], [2]. In requirements change process, affected design and
development documents unable to effectively isolate, will increase software development risk. In
addition, affected design and development documents unable completely and correctly modify,
will greatly reduce project success ratio. There are many factors may affect the software project
failure. One of critical issues is software design and related documents can‘t immediately revise
and effectively adjust with the requirements change. For this, software development process must
have high adjustment capability and modification flexibility for reducing requirements changes
risk.
2. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
30
The paper discusses and surveys mutual relationship between the software development models
and user requirements. Because of the requirements change often is the critical factor to cause
project fail. Iterative and Incremental Development (IID) model has been widely used by many
software methodologies (ex. Unify process, Spiral model and Agile Process)[4] . Iterative
technology makes user requirements have many change opportunities. Incremental concept can
effectively decrease the requirements complexity. IID model can reduce the partial risk of
software requirements change. Agile development model is a new software development
methodology [5], [6], [7] that uses IID model to reduce the impact of requirements change [8],
[9]. Agile development model has high adaptability and high tolerability for requirements change.
In addition, agile development model uses IID to reduce the requirement complexity, refactoring
to increase the requirement modified flexibility, and do not rely on the documents can reduce
affected items of requirements change. In requirements change, agile development model greatly
decreases schedule delay, cost out of budget and quality unsatisfied requirement events,
requirements change risk can be effectively reduced. However, agile process neglects analysis
and design phase operations and development documents, emphasizes workable products, does
not pay attention to follow-up maintenance operations that are major shortages [5], [6], [7], [10].
In order to make up the disadvantages of agile development, development maintenance quality
should be enhanced. There are many development maintenance quality factors which include
development document system, user story (requirement item) inspection mechanism and
configuration management system may affect requirements change operations. For overcoming
the challenge of requirements change, in this paper, analysing and collecting the critical quality
factor of development maintenance. Based on the metric combination model, in this paper
presents the Agile Development Maintainability Measurement (ADMM) model. In ADMM
model, development document control, user story inspection mechanism and configuration
management system etc. qualities will be measured and combined. Based on ADMM model and
applied rule-based defects identification and improvement manner, the Agile Development
Maintainability Enhancement (ADME) procedure can be defined and developed for reducing the
risk of requirements change. In Section 2, surveys the critical factors of software project failure,
the relationship between system requirement and development models, and describes the
advantages of agile development. Many factors may affect maintenance process quality, in
Section 3, discusses maintenance process quality factors which are affected by requirements
change. In Section 4, proposes the ADMM model, and develops the rule-based maintenance
process quality defects identification and improvement manner. In Section 5, defines and deploys
the Agile Development Maintainability Enhancement (ADME) procedure. Finally, describes the
advantages of ADMM model and ADME procedure, and does a conclusions in Section 6.
2. REQUIREMENTS CHANGE RISK AND CRITICAL DEVELOPMENT MODELS
Requirements change is one of major critical factor to cause project fail. The section discusses the
more suitable development model for overcoming requirements change.
2.1. Critical Factors of Software Project Failure
According to the Standish group study report which investigated large volume software project,
the success rate of software project only approach one third [10], [11]. 80% failure software
projects suffer from the thorny problems which include cost over budget, schedule delay and not
compliance requirements. High failure risk of software project comes from the schedule delay,
insufficient budget and unfinished requirements etc. events [3], [12]. Four critical events are
major reason to cause the software project with high risk:
3. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
31
(1) In requirement phase, system analysts acquire and collect incomplete documents and
information to cause software system requirements existed the inconsistent, incomplete and
incorrect situations. Seriously impact the software system development follow operations.
(2) In software development process, requirements change, new technologies and operating
environment are innovated continuously. It causes the existing development plans can not
completely adapt to new situation.
(3) Entering development phases, the client proposed to adjust, modify or delete the existed
requirement items. Some new requirements are even required to append into the system.
These requirements changes will greatly impact to follow up software development
operations.
(4) Each phase operation of software development needs different resource which includes
developers, hardware devices, software tools and development environment. Resource
allocation that can't adjust to requirements change may increase software development risk.
Summary the above description, incomplete system requirements, technology and environment
evolution, client change requests and resource re-allocation are four major events of increasing
project risk (shown as Figure 1). These events often cause requirements change. In software
development process, the requirements change events can’t be avoided or excluded.
Requirements change is a critical reason of software project failure. Therefore, for reducing the
project failure ratio, software process should have high adaptability and maintainability to handle
many kinds of requirements change. It is because that new requirements of software system will
be continually proposed until system be terminated or phased out.
Figure 1. Four critical factors of software project failure
2.2. Advantages and Shortages of Agile Development
In 1967, the concept of software engineering was proposed and discussed in the NATO
international conference [13]. In the period, with the growth of information technology,
operational environment and user requirements, software development methodologies
continuously progress. From early Fix-code to recently Model-Driven Architecture (MDA) [14]
and agile development model about have a dozen development models. Most software
development models have high relationship with the user requirements. Water fall model defines
clear phase mission and very concerns the phase documents. The quality of requirement
documents can't reach correctness, completeness and consistency, development process will be
denied to enter the following phase. Recently proposed development models have modified
requirement specification style. In a time, it is not necessary describe all kinds and complete
requirement items. By iterative development model, user can provide the requirement items
incremental. Software development risk can be greatly reduced. Rapid prototyping model quickly
develops prototype product and becomes a well communication channel with user. The prototype
Software
Project
Failure
Resource re-
allocation
Requirement
change
New
technologies
Requirement
quality defects
4. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
32
can help recognize the incomplete, inconsistent or incorrect requirement specifications. Spiral
development model very concerns the development risk and has high flexibility. In development
process, spiral can adjust suitable development method for encountering different risks. However,
the development risk can't effective be improved or reduced, the spiral recommends to terminate
or abort software project. Each development model has an adjustment strategy for the user
requirements change. The adjustment strategy can't effectively reduce the software development
risks that will impact success ratio of software project.
In February 2001, seventeen software developers met at the Utah (ski resort) of USA for two days
and produced the Manifesto of the agile software development. Many of participants had
previously authored their own software development methodologies, including Extreme
programming, Crystal, and Scrum [4], [6], [9]. Agile software development proposes several
critical viewpoints:
(1) In development process, does not concern analysis and design phase operations and
documents.
(2) As soon as possible to enter programming phase, workable software is more practical than
development document.
(3) Support and provide high changeability software system.
(4) Enhance the cooperative relationship between developer and user, user can fully attend the
development team.
In time management side, agile software development applies time-boxing approach to control
process schedule [4], [9]. Requested software project must release a new version in two or three
weeks. Let client clearly understand the development progress and test, audit the requirement of
new version. In each day, a fifteen minutes stand up meeting is fixedly held to effectively reach
the fully communication between client and developers. In addition, agile process uses IID and
user stories [15] to reduce the requirement complexity, refactoring to increase the requirement
modified flexibility, non-document oriented can reduce the cost of requirements change. In
requirements change, agile development greatly decreases schedule delay, cost out of budget, and
quality unsatisfied user requirement situations, software requirements change risk can be
effectively reduced. However, agile process does not concern analysis and design phase
operations and documents, applies non-document oriented development, does not pay attention to
follow-up maintenance operation that are major shortages. The advantages and shortages of agile
software development process is shown as Figure 2. The shortages of agile development should
be improved or enhanced to effectively overcome the impacts of requirements change.
Figure 2. Advantages and shortages of agile development
Agile
Software
Development
Traceability Refactoring
CM &
Version Control
Iterative &
Incremental
Development
Communication
Analysis & Design
Documents
5. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
33
3. DEVELOPMENT MAINTAINABILITY
Software development model evolution has high correlation with user requirements. Can
appropriately handle user requirements, the software development risk can be reduced concretely.
3.1. Quality factors of development maintainability
Software development maintainability is a key point to affect change risk of user requirements. In
software development, the development documentation tasks, requirement items inspection
mechanism and Configuration Management (CM) system are critical activities of maintenance
quality. Development maintenance quality should consider the critical factors that described as
follows:
(1) Development documents control: In requirements change process, the documents quality is
critical factor to directly affect the effort of requirement changes. Agile development should
draw up a document review mechanism and consider follows three factors:
• Documents quality criteria: development documents must have correctness, completeness,
consistency and standard documentation format. Agile development should provide the
document review checklists to control documents quality. High quality documents can
reduce the impaction of personnel mobile.
• Documents review procedure: agile development needs draw up a useful and practical
review procedure to define the documents review steps and detailed tasks.
• Documents cross-reference table: document cross-reference tables is critical item to
concretely create the interconnection relationships and traceability.
(2) User story (requirement item) inspection: Ambiguous, complex, high coupling and low
cohesion requirement items often become the troubles of software development especially in
requirements change. Therefore, user story quality mechanism should consider follows three
factors:
• Clarity inspection: user stories are the discussion basis of software development. Clarity is
a necessary factor for user story discussion and communication. Qualified user story should
have high clarity to requirement description.
• Complexity inspection: requirement item complexity can be measured with size, logic
complexity [16] and data structure complexity [17]. Qualified user story should have low
logic and data structure complexity to requirement description.
• Modularity inspection: requirement items with high modularity can increase development
maintenance quality [4]. Qualified user story should have the low coupling and high
cohesion to requirement description.
(3) CM system: CM system can manage all kind development documents, control product
versions and documents cross-reference relationship [13]. Configuration management
mechanism should consider follows three factors:
• CM procedure: CM procedure: a well and practical CM procedure is used to manage the
related operations for documents check-in and check-out.
• Version control tools: CM system need combine the suitable and practical version control
tools to handle, record and storage the difference among the document versions.
6. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
34
• Change control procedure: for control requirement change, agile development should set up
a Change Control Board (CCB) to audit and evaluate change requests [13]. And identify
the affected development documents and artefacts in change operations.
The architecture of agile development maintenance quality factors is shown as Figure 3.
3.2. Quality factors collection and normalization
In CMMI, software process improvement is critical task for increasing software product quality.
Collecting and quantifying the critical software activities factors is first step to improve software
process quality. Each phase documents review and inspection activities can help collect the
quality factors of document cross-reference. For collecting useful factors, it is necessary to
develop a set of complete and clear inspection checklists to conduct the process audit activity.
Audit checklists can detect and identify the quality and incomplete defects of software process.
Software process audit can help collect the procedure quality factors of documents review,
qualified user story and configuration management. Procedure items and steps checklists can help
collect some the detailed tasks and criteria quality factors. Collecting documents review, user
story inspection and configuration management mechanisms quality factors are the necessary task
for quantifying the maintenance process quality.
Figure 3. The architecture of maintenance process quality factors
However, individual factor or measurement can only measure or evaluate the specific quality
characteristic. In order to effectively monitor and assess the maintenance process defects,
individual measurements should make the appropriate combination [19], [20], [21]. Two kind of
metric combination models are Linear Combination Model (LCM) [19], [20], [21] and Non-
Linear Combination Model (NLCM) [19], [20], [22]. NLCM has higher accuracy measurement
than LCM. However, LCM has high flexibility, more extensible and easy formulation than
NLCM (Shown as Table II). For this, in this paper, LCM is applied to maintenance quality
measurement. The different level development activities have different quality metrics be shown.
Therefore, before applying the linear combination model, the quality factors must be normalized.
The normalized value is between 0 and 1. The best quality quantified value approaches to 1 and
the worst quality approaches to 0.
CM System
Agile Development
Maintenance Quality Factors
Documents Quality
Criteria
Documents Review
Procedure
Documents Cross-
Reference Tables
Development
Documents Control
User Story
Inspection
CM Procedure
Version Control
Tools
Change Control
Procedure
User Story Clarity
Inspection
User Story Complexity
Inspection
User Story Modularity
Inspection
7. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
35
4. MEASUREMENT MODEL AND DEFECTS IDENTIFICATION
Enhancing maintenance process can effectively decrease the impact of requirements change and
concretely reduce the development risk of software project.
4.1. Maintainability measurement model
Maintenance process activities should consider three quantified quality that include documents
traceability, configuration management and requirement items changeability. Using the LCM, the
basic quality factors can be combined into the primitive metric, and then the related primitive
metrics can be combined into a quality measurement. Finally, combines with three critical quality
measurements and generates an agile development maintainability indicator. Four formulas
described as follows:
(1) Development Documents Control Quality Measurement (DDCQM) is combined document
review criteria, document review procedure and document cross-reference table three metrics.
The combination formula is shown as Equation (1):
DDCQM: Development Documents Control Quality Measurement
DQC: Document Quality Criteria W1: Weight of DQC
DRP: Document Review Procedure W2: Weight of DRP
DCRT: Document Cross-Reference Table W3: Weight of DCRT
DDCQM = DQC * W1 +DRP * W2 + DCRT * W3 W1 + W2 + W3 = 1 (1)
(2) User Story Inspection Quality Measurement (USIQM) is combined clarity, low complexity
and modularity three determination capabilities. The combination formula is shown as
Equation (2):
USIQM: User Story Quality Measurement
CDC: Clarity Determination Capability W1: Weight of CDC
CDC: Complexity Determination Capability W2: Weight of CDC
MDC: Modularity Determination Capability W3: Weight of MDC
USIQM = CDC * W1 + CDC * W2 + MDC * W3 W1+W2+W3=1 (2)
(3) Configuration Management System Quality Measurement (CMSQM) is combined CM
system, version control tool and change control procedure metric. The formula is shown as
Equation (3):
CMSQM: Configuration Management Quality Measurement
CMP: CM Procedure W1: Weight of CMP
VCT: Version Control Tools W2: Weight of VCT
CCP: Change Control Procedure W3: Weight of CCP
CMSQM = CMP * W1 + VCT * W2 + CCP * W3 W1+W2+W3=1 (3)
(4) Finally, combine DDQM, USQM, and CMQM into an Agile Development Maintainability
Indicator (ADMI). The formula is shown as Equation (4):
ADMII: Agile Development Maintainability Indicator
DDCQM: Development Documents Control Quality MeasurementW1: Weight of DDCQM
USIQM: User Story Inspection Quality Measurement W2: Weight of USIQM
CMSQM: CM System Quality Measurement W3: Weight of CMSQM
ADMI = DDCQM *W1 + USIQM *W2 +CMSQM * W3 W1 + W2 + W3 = 1 (4)
In agile development, CM system, user stories and development documents inspection activity
identified the factors which affect requirements change were collected and divided into 9 groups.
In first layer, 9 groups basic quality factor are combined into 9 quality metrics. In second layer, 9
8. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
36
quality metrics are combined into three quality measurements. In third layer, three quality
measurements are combined into an Agile Development Maintainability Indictor (ADMI). With
three layer combination formulas to generate an ADMI, the process is called an Agile
Development Maintainability Measurement (ADMM) model. The ADMM model architecture is
shown as Figure 4.
4.2. Rule-based maintenance quality defects identification
ADMI is a relative judgment mechanism and also a basis to identify problems or defects of
maintenance quality. In ADMM model, basic quality factors are combined into high level
measurement. High level quality measurements are combined into an ADMI. Therefore, if the
ADMI does not satisfy quality criterion, it represents maintenance process existed some related
defects and problems. According to the combination formulas, quality measurement mapping to
three major quality measurements and some quality factors. The affected development activities
and documents should be rigorously inspected to identify the problem or defect and propose the
corrective action. This paper proposed the rule-based improvement activities for increasing
maintenance quality of development, described as follows:
<Rule 1> IF ADMI does not satisfy "quality criterion"
THEN DDCQM, USIQM and CMSQM should be analysed to identify the problem and
defect of related documents or activities.
<Rule 2> IF DDCQM does not satisfy "quality criterion"
THEN document quality criteria, document review procedure and document cross-
reference table quality factors should be analysed to identify the defects of
related documents or activities.
<Action 1> Identify the activities and reasons to cause development document
management defects.
<Action 2> Confirm the defects revision or correction has accomplished.
<Rule 3> IF USIQM does not satisfy "quality criterion"
THEN clarity inspection, complexity inspection and modularity inspection quality
factors should be analysed to identify the defects of related documents or
activities.
<Action 1> Identify the activities and reasons to cause user story quality mechanism
defects.
<Action 2> Confirm the defects revision or correction has accomplished.
<Rule 4> IF CMSQM does not satisfy "quality criterion"
THEN CM procedure, version control and tools, and cross-reference table quality
factors should be analysed to identify the defects of related documents or
activities.
<Action 1> Identify the activities and reasons to cause CM system defects.
<Action 2> Confirm the defects revision or correction has accomplished.
9. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
37
Figure 4. Architecture of ADMM model
5. AGILE DEVELOPMENT MAINTAINABILITY ENHANCEMENT PROCEDURE
For overcoming the requirements change, the agile development should strengthen three major
shortages that include development documents control, user story inspection mechanism and CM
system. In this paper, the ADMM model is proposed for enhancing the maintainability of agile
development. Based on ADMM model, the Agile Development Maintainability Enhancement
(ADME) procedure is defined, deployed and shown as Figure 5. ADME procedure develops six
phases which are described as follows:
• Routine auditing phase: In order to understand and improve the maintenance process, agile
development should plan the routine auditing operation. Routine auditing can help inspection
maintenance activities and collect the influence factors.
• Factors collection phase: In auditing phase, critical maintenance quality factors should be
checked, collected and normalized to assist identify the defects of maintenance activities.
• Quality measurement phase: Based on the normalized quality factors and ADMM model, the
Agile Development Maintainability Indicator (ADMI) can be computed and generated for
identifying the quality defects.
• Defects identification phase: According to ADMI and acceptable quality criteria, the major
and minor defects of maintenance process can be identified.
Agile Development Maintainability Indicator
Development Document Control Quality Measurement
Document Quality Criteria
Document Review Procedure
Document Cross-Reference Table
CM System Quality Measurement
CM Procedure
Version Control Tools
Change Control Procedure
User Story Inspection Quality Measurement
Clarity Inspection
Low Complexity Inspection
Modularity Inspection
10. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
38
• Revision phase: Analysing the reasons of identified defects, agile development should develop
a revision plan to adjust the current quality activity or append the new quality activities for
enhancing agile development maintainability.
• Continuous Improvement phase: Finally, based on the environment and application change,
ADMM model should continuously be adjusted and modified for accomplishing the target of
quality continuous improvement.
Software development uses the agile development methodology and applies the ADMM model
enhancing its maintainability can concretely reduce software development risk. Agile
development enhanced maintainability can accomplish three major missions, description as
follows:
(1) Complete, correct and consistent development documents:
• Based on documents quality criteria, the development documents have a set of quality
regulations.
• Based on documents review procedure, the defects of development documents can be
identified and corrected.
• Based on documents cross-reference table, the cross-relationship of development
documents have high interconnection to enhance documents consistency, completeness and
maintainability.
(2) Clarity, low complexity and modularity user story:
• Based on clarity inspection, requirement items can increase the communication capability
of requirements change.
• Based on complexity inspection, requirement items can increase the extension and
adjustment capability of requirements change.
• Based on modularity inspection, in requirements change, affected requirement items and
documents can be timely isolated.
(3) Manageable, controllable and traceable development documents:
• Based on CM procedure, the development documents and user stories can be identified and
managed.
• Based on version control and tools, the development documents and user stories versions
difference and revision contents can be preserved and controlled.
• Based on change control procedure, the change requests can careful control and
management to reduce change risk of software development.
11. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
39
Figure 5. Flowchart of Agile Development Maintainability Enhancement (ADME) Procedure
6. CONCLUSIONS
Success software project must conquer requirements change challenges. Any requirements
change always affects to software development operations and add software development failure
ratio. Requirements change needs invest extra resource and cost, and cause project delay.
Accepted requirements change, the affected development documents and tasks can’t be
effectively isolated will increase software development risk. Agile development applies IID
model and very cares about the communication, working software, and refactoring features. IID
and refactoring can reduce partial risk of requirements change. However, agile development
existed some maintenance quality defects that include development documents quality, user story
inspection mechanism and CM system. Agile development should enhance maintenance quality
to reduce requirements change risk. For improving the maintenance quality of agile development,
the paper proposes the Agile Development Maintainability Measurement (ADMM) model. Based
on ADMM model, the Agile Development Maintainability Enhancement (ADME) procedure is
defined and deployed for reducing the risk of requirements change. Agile development
methodology enhancement maintainability can easy handle requirements change to reduce
12. International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.4, July 2015
40
software development risk. The advantages of ADMM model and ADME procedure are
described as follows:
(1) Concretely identify agile development maintenance quality defects and provide correction
suggestions.
(2) Effectively improve agile development maintenance quality can concretely handle
requirements change and reducing development risk.
(3) Combination formulas of ADMM model have precise, simple and flexible adjustment
features. Based on user or product features, development team can easy adjust or modify the
weights of combination formulas.
(4) Combined with ADME model, ADME procedure has continuous improvement capability on
the changeable applications environment, and keep up with the times.
REFERENCES
[1] Bohner, S.A. & Arnold, R. S., (1996) “Software Change Impact Analysis,” IEEE Computer Society Press,
CA, pp. 1-26.
[2] Bohner, S. A., (2002) “Software Change Impacts: An Evolving Perspective,” Proc. of IEEE Intl Conf. on
Software Maintenance, pp. 263-271.
[3] Boehm, B. W., (1991) “Software risk management: Principles and practices,” IEEE Software, 8(1), pp. 32-
41.
[4] Schach, S. R. (2011) Object-Oriented and Classical Software Engineering, McGraw-Hill Companies.
[5] Cockburn, A., 2002, Agile Software Development, Addison-Wesley.
[6] Cohn, M. & Ford D., (2003) “Introducing an Agile Process to an Organization,” IEEE Computer, vol. 36
no. 6 pp. 74-78,
[7] Szalvay, V. (2004) An Introduction to Agile Software Development, Danube Technologies Inc., 2004.
[8] Larman, C. & Basili, V. R. (2003) “Iterative and Incremental Development: A Brief History,” IEEE
Computer.
[9] Larman, C., (2004) Agile and Iterative Development: A Manager's Guide. Boston: Addison Wesley.
[10] Eveleens J. L. & Verhoef, C. (2010) “The Rise and Fall of the Chaos Report Figures,” IEEE Software, vol.
27, no. 1, pp. 30-36.
[11] The Standish group, “New Standish Group report shows more project failing and less successful projects,”
April 23, 2009. (http://www.standishgroup.com/newsroom/chaos_2009.php)
[12] Fairley, R. (1994) “Risk management for Software Projects,” IEEE Software, vol. 11, no. 3, pp. 57-67.
[13] Pressman, “R. S. (2014) Software Engineering: A Practitioner’s Approach, McGraw-Hill, New York.
[14] David S. Frankel, (2003), Model Driven Architecture: Applying MDA to Enterprise Computing John
Wiley & Sons, January.
[15] Cohn, Mike, (2004) User Stories Applied: For Agile Software Development, Addison-Wesley Professional.
[16] McCabe, T. J. (1976), “A Complexity Measure,” IEEE Trans. On Software Eng., Vol. 2, No 4, pp.308-320.
[17] Halstead, M. H. (1977) Elements of Software Science, North-Holland, New York.
[18] Fairley, R. (1985) “Software Engineering Concepts,” McGraw-Hill, Inc.
[19] Conte, S. D., Dunsmore H. E. & Shen, V. Y. (1986) Software Engineering Metrics and Models,
Benjamin/Cummings, Menlo Park.
[20] Fenton, N. E. (1991) Software Metrics - A Rigorous Approach, Chapman & Hall.
[21] Lai S. T. & Yang, C. C. (1998), “A Software Metric Combination Model for Software Reuse,” Proceedings
of 1998 Asia-Pacific Software Engineering Conference, Taiwan, Taipei, pp. 70-77, 1998.
[22] Boehm B.W. (1991) Software Engineering Economics, Prentice-Hall, New Jersey.
AUTHOR
Sen-Tarng Lai was born in Taiwan in 1959. He received his BS from Soochow University, Taiwan in 1982,
master from National Chiao Tung University, Taiwan in 1984 and PhD from National Taiwan University of
Science and Technology, Taiwan in 1997. His research interests include software security, software project
management, and software quality. He is currently an assistant professor in the Department of Information
Technology and Management at Shin Chien University, Taipei, Taiwan.