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.
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.
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
MAKE THE QUALITY OF SOFTWARE PRODUCT IN THE VIEW OF POOR PRACTICES BY USING S...Journal For Research
In the Software Engineering, One of the most important factors to impact national and international business is quality of software and its assurance. Integral part of software development cycle is SQA, evaluation of software Quality product when compared to other industrial projects and it is very highly difficult. For developing, performance, speed, maintaining the quality, cost and efficiency of the software, SQA activities, principles and its methods are implemented in the early stages of the software engineering development phases. Where in this paper there is little visibility of lack of software Quality product in the view of poor practices. Hence we proposed a new system with best practices in software quality management to make the best quality product. This System works on Gain Better Visibility into Supplier Quality with Technology.
AN INVESTIGATION OF SOFTWARE REQUIREMENTS PRACTICES AMONG SOFTWARE PRACTITION...ijseajournal
This paper presents the result of software requirements practices survey among software practitioners, a study in a city of Jeddah, Saudi Arabia. As software requirements are important and they lead to the successful of a software development project, it becomes interesting to investigate the current software requirements practices in the kingdom of Saudi Arabia. As an initial work, a survey was conducted in
Jeddah as a study before we conduct it in the Kingdom of Saudi Arabia software industry. The survey is conducted by distributing a set of questionnaire to the software practitioners. There are 17 respondents completed the questionnaire out of 50 distributed questionnaire, which is 34% of response rate. The result of this survey is promising and it has shown that requirements management area should be focused for
future improvement. In the future, the survey will focus on software engineering and requirements engineering practices over the entire Kingdom of Saudi Arabia software industry.
This paper presents findings from the evaluation study carried out to review the UAE national ID card software. The paper consults the relevant literature to explain many of the concepts and frameworks explained herein. The findings of the evaluation work that was primarily based on the ISO 9126 standard for system quality measurement highlighted many practical areas that if taken into account is argued to more likely increase the success chances of similar system implementation projects.
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.
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
MAKE THE QUALITY OF SOFTWARE PRODUCT IN THE VIEW OF POOR PRACTICES BY USING S...Journal For Research
In the Software Engineering, One of the most important factors to impact national and international business is quality of software and its assurance. Integral part of software development cycle is SQA, evaluation of software Quality product when compared to other industrial projects and it is very highly difficult. For developing, performance, speed, maintaining the quality, cost and efficiency of the software, SQA activities, principles and its methods are implemented in the early stages of the software engineering development phases. Where in this paper there is little visibility of lack of software Quality product in the view of poor practices. Hence we proposed a new system with best practices in software quality management to make the best quality product. This System works on Gain Better Visibility into Supplier Quality with Technology.
AN INVESTIGATION OF SOFTWARE REQUIREMENTS PRACTICES AMONG SOFTWARE PRACTITION...ijseajournal
This paper presents the result of software requirements practices survey among software practitioners, a study in a city of Jeddah, Saudi Arabia. As software requirements are important and they lead to the successful of a software development project, it becomes interesting to investigate the current software requirements practices in the kingdom of Saudi Arabia. As an initial work, a survey was conducted in
Jeddah as a study before we conduct it in the Kingdom of Saudi Arabia software industry. The survey is conducted by distributing a set of questionnaire to the software practitioners. There are 17 respondents completed the questionnaire out of 50 distributed questionnaire, which is 34% of response rate. The result of this survey is promising and it has shown that requirements management area should be focused for
future improvement. In the future, the survey will focus on software engineering and requirements engineering practices over the entire Kingdom of Saudi Arabia software industry.
This paper presents findings from the evaluation study carried out to review the UAE national ID card software. The paper consults the relevant literature to explain many of the concepts and frameworks explained herein. The findings of the evaluation work that was primarily based on the ISO 9126 standard for system quality measurement highlighted many practical areas that if taken into account is argued to more likely increase the success chances of similar system implementation projects.
An Empirical Study of SQA Function Effectiveness in CMMI Certified Companies ...zillesubhan
The most vital component for any software development process is, “quality”, as it ensures the reliability and effectiveness of new software. Software Quality Assurance (SQA) techniques as well as a standardized qualitative metric known as Capability Maturity Model Integration (CMMI) are used to ensure this quality. The purposes of both the practices are same as both make efforts for end product’s quality. In spite of this, CMMI certified organizations have SQA function, but face a lot of issues, which resulted in lowering the quality of the products. Standards usually provide documentation, but SQA consider testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much in common literatures. This paper is centered on investigation conducted through data collection from diverse CMMI certified software development firm to check the practice of SQA function.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
In Mobile communications age, the IT environment and IT technology update rapidly. The requirements
change is the software project must face challenge. Able to overcome the impact of requirements change,
software development risks can be effectively reduced. Agile software development uses the Iterative and
Incremental Development (IID) process and focuses on the workable software and client communication.
Agile software development is a very suitable development method for handling the requirements change in
software development process. In agile development, user stories are the important documents for the
client communication and criteria of acceptance test. However, the agile development doesn’t pay attention
to the formal requirements analysis and artifacts tracability to cause the potential risks of software change
management. In this paper, analyzing and collecting the critical quality factors of user stories, and
proposes the User Story Quality Measurement (USQM) model. Applied USQM model, the requirements
quality of agile development can be enhanced and risks of requirement changes can be reduced.
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.
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...IJCSES Journal
With the sharp rise in software dependability and failure cost, high quality has been in great demand.However, guaranteeing high quality in software systems which have grown in size and complexity coupled with the constraints imposed on their development has become increasingly difficult, time and resource consuming activity. Consequently, it becomes inevitable to deliver software that have no serious faults. In
this case, object-oriented (OO) products being the de facto standard of software development with their unique features could have some faults that are hard to find or pinpoint the impacts of changes. The earlier faults are identified, found and fixed, the lesser the costs and the higher the quality. To assess product quality, software metrics are used. Many OO metrics have been proposed and developed. Furthermore,
many empirical studies have validated metrics and class fault proneness (FP) relationship. The challenge is which metrics are related to class FP and what activities are performed. Therefore, this study bring together the state-of-the-art in fault prediction of FP that utilizes CK and size metrics. We conducted a systematic literature review over relevant published empirical validation articles. The results obtained are
analysed and presented. It indicates that 29 relevant empirical studies exist and measures such as complexity, coupling and size were found to be strongly related to FP.
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...ijseajournal
Airborne software is invisible and intangible, it can have a significant impact on the safety of the aircraft.
However, it cannot be exhaustively tested, and can only be assured through a structured, process, activity,
and objective-based approach. This paper studied the similarities and differences of software review
policies of the four selected National Airworthiness Authorities (NAAs) by using a comparative approach
and analysed the general certification basis of specific regulation clauses from the International Civil
Aviation Organization Conventions to each contracting States’ regulations by a traceability method. Then
analyzed the development processes and objectives applicable to different software levels based on
RTCA/DO-178C. Identified 82 technical focus points based on each airborne software development subprocess, then created a Process Technology Coverage matrix to demonstrate the technical focuses of each
process. Developed an objective-oriented top-down and bottom-up sampling strategy for the 4 software
Stage of Involvement reviews by taking into account the frequency and depth of involvement. Finally,
created the Technology Objective Coverage matrix, which can support the reviewers to perform the
efficient risk-based SOI reviews by considering the identified technical points, thus to ensure the safety of
the aircraft from the software assurance perspective.
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEWijseajournal
Although agile methods in their purest way fit several companies, it has been a challenge to perform them in environments with distributed teams developing large software applications. Contractual items, for projects under development for external organizations, introduce additional complexities for pure agilebased approaches. The majority of global teams and companies use hybrid development practices that combine different development methods and frameworks. This research provides results from an empirical field study on how the hybrids practices are adopted in Global Software Development (GSD) projects. A systematic literature review was conducted to capture the status of combining agile with plan-driven in GSD projects. The results were limited to peer-reviewed conference papers or journal articles, published between 2001 and 2020. The present study selected 37 papers from five different bibliographic databases. In the end, 16 practices were summarized and described as hybrid by GSD projects. Based on the findings of this study, the authors can conclude that the contribution of this study is not only limited to identifying how hybrid development practices are applied in GSD but also allowing that practitioners can have a basis for adapting their development methods.
Agile software processes, such as extreme programming (XP), Scrum, Lean, etc., rely on best
practices that are considered to improve software development quality. It can be said that best
practices aim to induce software quality assurance (SQA) into the project at hand. Some
researchers of agile methods claim that because of the very nature of such methods,
quality in agile software projects should be a natural outcome of the applied method.
As a consequence, agile quality is expected to be more or less embedded in the agile software
processes. Many reports support and evangelize the advantages of agile methods with respect to
quality assurance, Is it so ?
An ambitious goal of this paper is to present work done to understand how quality is or should
be handled. This paper as all survey papers attempt to summarize and organizes research
results in the field of software engineering, precisely for the topic of agile methods related to
software quality.
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.
7.significance of software layered technology on size of projects (2)EditorJST
The objective of the software engineering is committed to build software projects within the budget, time and required quality. Software engineering is a layered paradigm comprised of process, methods, tools and quality focus as bedrock to develop the product. Software firms build software projects of varying sizes constrained on resources, time and functional requirement. Impact of software engineering layered technology may vary according to the size of the projects during their development. Quantitative evaluation of layer significance on size of the software project could be categorized as a complex task because it involves a collective decision on multiple criteria. Analytic Hierarchy Process (AHP) provides an effective quantitative approach for finding the significance of software layered technology on size of the projects. This paper presents the estimations through quantitative approach on real time data collected from several software firms. These findings help for a better project management with respect to the cost, time and resources during building a software project.
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
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.
New Model to Achieve Software Quality Assurance (SQA) in Web Applicationijsrd.com
The quality of product and services has become one of the most important factors that influence national and international business , Software Quality Assurance (SQA) is an integral part of the software development process; with the rapid technology and development in software application, we must enhance the quality of product; and with the rapid development in interaction between the customers and web service and the technological challenges in the quality provided , we proposed new model to achieve Software Quality in Web Application and the model divide into three parts, the first part: server side, second part: Client side and the third part :Server side intersection Client side and there party factors helps to enhance SQA .
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREijseajournal
Software program developers need to go from beginning to ending and understand source code of the program and other software attributes. The software complexities and length of the program exceedingly affects many design level quality attributes, specifically Simplicity, Testability and software
Maintainability. Incomplete design of any software generally leads to misunderstanding and ambiguities
and therefore to gives faulty design and development results. This is mainly seeming and appears owing to
the absence of it’s an appropriate observation, design and development control. However, high level design
and program simplicity are very necessary and one of the vital attributes of the system development cycle.This research paper highlights the impact and significance of design level software simplicity in common and as a one of the most useful key factor or index of software quality assurance and testing. In this research work principally there are three major efforts are made. As a first contribution, a valuable
relationship between software design quality factor simplicity and related object oriented design
properties, this has been set up. In the second contribution, using design level corresponding metrics a
simplicity evaluation model for object oriented software is developed. Subsequently, the developed
simplicity model has been rationally authenticated by means of experimental data try-out.
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.
A sustainable procedural method of software design process improvementsnooriasukmaningtyas
In practice, the software process is an intermediate phase for enhancement and improvements the design for different types of software products and help developers to converts the specified requirements into prototypes that implement the design into reality. The objective of this paper is to provide software developers, designers and software engineers who work in small companies with a standards-based process improvement using a procedural method technique including detailed steps for designing the small software systems into their companies. The method used in this paper includes 1) analysis four different types of commonly design processes used by industry such as CMMI, conventional or software process in ISO 19759, generic and engineering design processes. 2) mapping between those four design processes. 3) collect the dispersed design concepts proposed by those four processes. 4) proposed a sustainable procedural method of software design process improvements 5) Illustration of the applicability of the proposed approach using A template-based implementation. The primary result of this study is a guideline procedure with detailed steps for software design process improvements to help and guide developers in small companies to analyze and design a small software scales with limited cost and duration. In conclusion, this paper proposed a method to improve the design process for different kinds of the software systems using a templatebased implementation to reduce the cost, effort and time needed in the implementation phase in small companies. The scientific implication behind a template-based implementation helps the system and software engineering to use this template easily in their small companies; because most of the time those engineering developers are responsible for analyzing, designing, implementing and testing their software systems during the whole software life cycle.
Modern gadgets and machines such as medical equipments, mobile phones, cars and even military hardware run on software. The operational efficiency and accuracy of these machines are critical to life and the well being of modern civilization. When the software powering these machines fail it exposes life to danger and can cause the failure of businesses. In this paper, software quality measure is presented with the emphasis on improving standard and controlling damages that may result from badly developed application. The research shows various software quality standards and quality metrics and how they can be applied. The application of the metrics in measuring software quality in the research produced results which shows that the code metrics performance is better than the design metrics performance and points to a new way of improving quality by refactoring application code instead of developing new designs. This is believed to ensure reusability and reduced failure rate when software is developed
An Empirical Study of SQA Function Effectiveness in CMMI Certified Companies ...zillesubhan
The most vital component for any software development process is, “quality”, as it ensures the reliability and effectiveness of new software. Software Quality Assurance (SQA) techniques as well as a standardized qualitative metric known as Capability Maturity Model Integration (CMMI) are used to ensure this quality. The purposes of both the practices are same as both make efforts for end product’s quality. In spite of this, CMMI certified organizations have SQA function, but face a lot of issues, which resulted in lowering the quality of the products. Standards usually provide documentation, but SQA consider testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much in common literatures. This paper is centered on investigation conducted through data collection from diverse CMMI certified software development firm to check the practice of SQA function.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
In Mobile communications age, the IT environment and IT technology update rapidly. The requirements
change is the software project must face challenge. Able to overcome the impact of requirements change,
software development risks can be effectively reduced. Agile software development uses the Iterative and
Incremental Development (IID) process and focuses on the workable software and client communication.
Agile software development is a very suitable development method for handling the requirements change in
software development process. In agile development, user stories are the important documents for the
client communication and criteria of acceptance test. However, the agile development doesn’t pay attention
to the formal requirements analysis and artifacts tracability to cause the potential risks of software change
management. In this paper, analyzing and collecting the critical quality factors of user stories, and
proposes the User Story Quality Measurement (USQM) model. Applied USQM model, the requirements
quality of agile development can be enhanced and risks of requirement changes can be reduced.
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.
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...IJCSES Journal
With the sharp rise in software dependability and failure cost, high quality has been in great demand.However, guaranteeing high quality in software systems which have grown in size and complexity coupled with the constraints imposed on their development has become increasingly difficult, time and resource consuming activity. Consequently, it becomes inevitable to deliver software that have no serious faults. In
this case, object-oriented (OO) products being the de facto standard of software development with their unique features could have some faults that are hard to find or pinpoint the impacts of changes. The earlier faults are identified, found and fixed, the lesser the costs and the higher the quality. To assess product quality, software metrics are used. Many OO metrics have been proposed and developed. Furthermore,
many empirical studies have validated metrics and class fault proneness (FP) relationship. The challenge is which metrics are related to class FP and what activities are performed. Therefore, this study bring together the state-of-the-art in fault prediction of FP that utilizes CK and size metrics. We conducted a systematic literature review over relevant published empirical validation articles. The results obtained are
analysed and presented. It indicates that 29 relevant empirical studies exist and measures such as complexity, coupling and size were found to be strongly related to FP.
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...ijseajournal
Airborne software is invisible and intangible, it can have a significant impact on the safety of the aircraft.
However, it cannot be exhaustively tested, and can only be assured through a structured, process, activity,
and objective-based approach. This paper studied the similarities and differences of software review
policies of the four selected National Airworthiness Authorities (NAAs) by using a comparative approach
and analysed the general certification basis of specific regulation clauses from the International Civil
Aviation Organization Conventions to each contracting States’ regulations by a traceability method. Then
analyzed the development processes and objectives applicable to different software levels based on
RTCA/DO-178C. Identified 82 technical focus points based on each airborne software development subprocess, then created a Process Technology Coverage matrix to demonstrate the technical focuses of each
process. Developed an objective-oriented top-down and bottom-up sampling strategy for the 4 software
Stage of Involvement reviews by taking into account the frequency and depth of involvement. Finally,
created the Technology Objective Coverage matrix, which can support the reviewers to perform the
efficient risk-based SOI reviews by considering the identified technical points, thus to ensure the safety of
the aircraft from the software assurance perspective.
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEWijseajournal
Although agile methods in their purest way fit several companies, it has been a challenge to perform them in environments with distributed teams developing large software applications. Contractual items, for projects under development for external organizations, introduce additional complexities for pure agilebased approaches. The majority of global teams and companies use hybrid development practices that combine different development methods and frameworks. This research provides results from an empirical field study on how the hybrids practices are adopted in Global Software Development (GSD) projects. A systematic literature review was conducted to capture the status of combining agile with plan-driven in GSD projects. The results were limited to peer-reviewed conference papers or journal articles, published between 2001 and 2020. The present study selected 37 papers from five different bibliographic databases. In the end, 16 practices were summarized and described as hybrid by GSD projects. Based on the findings of this study, the authors can conclude that the contribution of this study is not only limited to identifying how hybrid development practices are applied in GSD but also allowing that practitioners can have a basis for adapting their development methods.
Agile software processes, such as extreme programming (XP), Scrum, Lean, etc., rely on best
practices that are considered to improve software development quality. It can be said that best
practices aim to induce software quality assurance (SQA) into the project at hand. Some
researchers of agile methods claim that because of the very nature of such methods,
quality in agile software projects should be a natural outcome of the applied method.
As a consequence, agile quality is expected to be more or less embedded in the agile software
processes. Many reports support and evangelize the advantages of agile methods with respect to
quality assurance, Is it so ?
An ambitious goal of this paper is to present work done to understand how quality is or should
be handled. This paper as all survey papers attempt to summarize and organizes research
results in the field of software engineering, precisely for the topic of agile methods related to
software quality.
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.
7.significance of software layered technology on size of projects (2)EditorJST
The objective of the software engineering is committed to build software projects within the budget, time and required quality. Software engineering is a layered paradigm comprised of process, methods, tools and quality focus as bedrock to develop the product. Software firms build software projects of varying sizes constrained on resources, time and functional requirement. Impact of software engineering layered technology may vary according to the size of the projects during their development. Quantitative evaluation of layer significance on size of the software project could be categorized as a complex task because it involves a collective decision on multiple criteria. Analytic Hierarchy Process (AHP) provides an effective quantitative approach for finding the significance of software layered technology on size of the projects. This paper presents the estimations through quantitative approach on real time data collected from several software firms. These findings help for a better project management with respect to the cost, time and resources during building a software project.
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
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.
New Model to Achieve Software Quality Assurance (SQA) in Web Applicationijsrd.com
The quality of product and services has become one of the most important factors that influence national and international business , Software Quality Assurance (SQA) is an integral part of the software development process; with the rapid technology and development in software application, we must enhance the quality of product; and with the rapid development in interaction between the customers and web service and the technological challenges in the quality provided , we proposed new model to achieve Software Quality in Web Application and the model divide into three parts, the first part: server side, second part: Client side and the third part :Server side intersection Client side and there party factors helps to enhance SQA .
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREijseajournal
Software program developers need to go from beginning to ending and understand source code of the program and other software attributes. The software complexities and length of the program exceedingly affects many design level quality attributes, specifically Simplicity, Testability and software
Maintainability. Incomplete design of any software generally leads to misunderstanding and ambiguities
and therefore to gives faulty design and development results. This is mainly seeming and appears owing to
the absence of it’s an appropriate observation, design and development control. However, high level design
and program simplicity are very necessary and one of the vital attributes of the system development cycle.This research paper highlights the impact and significance of design level software simplicity in common and as a one of the most useful key factor or index of software quality assurance and testing. In this research work principally there are three major efforts are made. As a first contribution, a valuable
relationship between software design quality factor simplicity and related object oriented design
properties, this has been set up. In the second contribution, using design level corresponding metrics a
simplicity evaluation model for object oriented software is developed. Subsequently, the developed
simplicity model has been rationally authenticated by means of experimental data try-out.
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.
A sustainable procedural method of software design process improvementsnooriasukmaningtyas
In practice, the software process is an intermediate phase for enhancement and improvements the design for different types of software products and help developers to converts the specified requirements into prototypes that implement the design into reality. The objective of this paper is to provide software developers, designers and software engineers who work in small companies with a standards-based process improvement using a procedural method technique including detailed steps for designing the small software systems into their companies. The method used in this paper includes 1) analysis four different types of commonly design processes used by industry such as CMMI, conventional or software process in ISO 19759, generic and engineering design processes. 2) mapping between those four design processes. 3) collect the dispersed design concepts proposed by those four processes. 4) proposed a sustainable procedural method of software design process improvements 5) Illustration of the applicability of the proposed approach using A template-based implementation. The primary result of this study is a guideline procedure with detailed steps for software design process improvements to help and guide developers in small companies to analyze and design a small software scales with limited cost and duration. In conclusion, this paper proposed a method to improve the design process for different kinds of the software systems using a templatebased implementation to reduce the cost, effort and time needed in the implementation phase in small companies. The scientific implication behind a template-based implementation helps the system and software engineering to use this template easily in their small companies; because most of the time those engineering developers are responsible for analyzing, designing, implementing and testing their software systems during the whole software life cycle.
Modern gadgets and machines such as medical equipments, mobile phones, cars and even military hardware run on software. The operational efficiency and accuracy of these machines are critical to life and the well being of modern civilization. When the software powering these machines fail it exposes life to danger and can cause the failure of businesses. In this paper, software quality measure is presented with the emphasis on improving standard and controlling damages that may result from badly developed application. The research shows various software quality standards and quality metrics and how they can be applied. The application of the metrics in measuring software quality in the research produced results which shows that the code metrics performance is better than the design metrics performance and points to a new way of improving quality by refactoring application code instead of developing new designs. This is believed to ensure reusability and reduced failure rate when software is developed
A SURVEY ON ACCURACY OF REQUIREMENT TRACEABILITY LINKS DURING SOFTWARE DEVELO...ijiert bestjournal
There are number of routing protocols proposed for the data transmission in WSN. Initially single path routing schemes with number of variations are proposed. Sti ll there were some drawbacks in single path routing . Single path routing was unable to provide the reliability and h igh throughput. Also security level was not conside red while routing. Recently,to remove the drawbacks of the s ingle path routing new routing technique is propose d called as multipath routing. In this paper we discussed the different multipath routing protocols with number of variants. Initiall y multipath routing was proposed for the purpose of guaranteed delivery of packet to sink in case of link or node failure. There are other protocols which are proposed for the reli ability,energy saving,security and high throughpu t. Some multipath routing protocols have discussed the load balancing and security during packet transmission.
DEVOPS ADOPTION IN INFORMATION SYSTEMS PROJECTS; A SYSTEMATIC LITERATURE REVIEWijseajournal
The word DevOps derives from two different words Development and Operations. DevOps has recorded as
an interesting and novel approach adopted to the commonly used Agile software development
methodology. It raised agility of the software development process. Practical issues of Agile methodology
emphasize the requirement for collaboration of software development and operating teams. This
collaboration completed by the DevOps approach engages with the Agile methodology to improve the
quality, performance, and speed of the software developments. Since DevOps is an accentuating approach
in the software development industry, this research aimed to conduct a literature review to study the
evolution of the DevOps approach and its adoption in information systems projects. This target has
accomplished by reviewing the Agile methodology, issues of the Agile methodology, DevOps approach,
challenges and overcoming strategies of DevOps, and success factors of the DevOps approach. Finally, the
paper provides better acquaintance about the DevOps adoption in Information System projects
developments.
AN IMPROVED REPOSITORY STRUCTURE TO IDENTIFY, SELECT AND INTEGRATE COMPONENTS...ijseajournal
An ultimate goal of software development is to build high quality products. The customers of software
industry always demand for high-quality products quickly and cost effectively. The component-based
development (CBD) is the most suitable methodology for the software companies to meet the demands of
target market. To opt CBD, the software development teams have to customize generic components that are
available in the market and it is very difficult for the development teams to choose the suitable components
from the millions of third party and commercial off the shelf (COTS) components. On the other hand, the
development of in-house repository is tedious and time consuming. In this paper, we propose an easy and
understandable repository structure to provide helpful information about stored components like how to
identify, select, retrieve and integrate components. The proposed repository will also provide previous
assessments of developers and end-users about the selected component. The proposed repository will help
the software companies by reducing the customization effort, improving the quality of developed software
and preventing integrating unfamiliar components.
How to Build Software from Scratch in 5 Simple Steps.pdfBaek Yongsun
Learn how to build software from scratch in 5 simple steps. From defining requirements to deployment and maintenance, follow this guide for successful software development.
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
Software engineering is a discipline that is little understood by people. It defines how software is developed and maintained to meet the clients’ requirements. Software engineers follow certain systems and standards in their work to meet the clients’ desires. It is on this background that engineers follow specific models in coming up with the final product. One of the models highly used is scrum, which is one of the agile methodologies. However, despite being highly used, it has inherent flaws that need to be corrected. Those flaws are product owner continues changing; do not accept changes in working scrum, sprint’s release time limitation, finally wasting team time within each sprint. This paper presents a new framework, which is an updated version of the current Scrum, to overcome the scum models mentioned issues. In this study, a new framework is presented in a way that is understandable and needed by software developer’s team upon the collected qualitative and quantitative data. The implementation was by making some changes to the current scrum model leading to the “Scrumbear”, certain flaws can be corrected. One of the presented changes involve adding the control master rule to ensure controlling the requirements changing.
Software Engineering in a Quick and Easy way - v1.pdfKAJAL MANDAL
The Most Common must know Software Development life cycle Models. As we discussed in our earlier article on Software Engineering, we have learned about the aspects of Software Engineering and the qualities that it should possess. Now let us move ahead and learn about the models of the software development life cycle. What is a software development life cycle? A software development life cycle, sometimes also called the SDLC life cycle, represents and describes the various activities that are to be performed to build a software product. These activities are grouped into several phases and sequentially linked in order. Hence we can also say, that a software development life cycle is a structured list of activities that are followed to develop software, from the inception to the delivery of the final product. During any phase of the life cycle of development, one or more activities might have to be carried out to start or finish that phase. For example, in the inception phase of actual coding, it is expected that the architectural designing phase is completed. Why software development life cycle model is required? In every model of SDLC, every phase may have its own child life cycle, for every team of a specific skill set. So in an environment of complicated projects and a variety of skill-based teams, it is vital to follow a pre-defined structured process. This creates discipline and maintains decorum in the working culture. All team members are interdependent. Failure of any one team will affect the deliverables of other teams. And all together it might lead to project failures. SDLC also defines entry and exit criteria for every phase. For example, say, if a team member starts coding, assuming that pro-activeness will help finish the project much earlier. This would be the perfect recipe for disaster and project failure. Why? Because, after putting down a month of effort they might realize that the project needs a roving vehicle on Mars to collect data. Unfortunately, the team doesn’t have that with them. So they can not proceed further. That means a feasibility study was not performed before the team started working on deliverables. Which in technical terms, is a breach of SDLC, and hence the loss of effort, or project failure. The team should have done a feasibility study before jumping straight into deliverables. Then they would have realized that the project is not doable, many days in advance. As so, they could have saved some unnecessary effort. Hence it is strongly suggested to follow a methodology, or process while working on complex and team-based projects. It becomes easier for the entire team to work together, support each other, manage, and track the progress of the development. Regardless of the model you follow, SDLC models always ensure smooth delivery, reporting, and chaos-free delivery of the project. Classic Waterfall Model. Prototyping Model. Iterative Waterfall Model. Rapid Action Development. Spiral Model.
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.
Software Development Life Cycle: Traditional and Agile- A Comparative Studyijsrd.com
In the field of software development, software development lifecycle is the most important component. There is a number of software development methodologies used in software industry today. The paper discussed below focuses on the modern SDLC which are traditional methods and the agile methods. It also explains the compensation and shortcomings of the traditional as well as agile methods. Along with this, it suggests some improvements which could help in improving current agile development
Top 5 software development methodologies_ Explained.docx.pdfJPLoft Solutions
Software development methodologies refer to structured processes used when undertaking a project, from the conceptual designs and pragmatic realities back to early computing days that provide a systematic approach towards software development.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Courier management system project report.pdfKamal Acharya
It is now-a-days very important for the people to send or receive articles like imported furniture, electronic items, gifts, business goods and the like. People depend vastly on different transport systems which mostly use the manual way of receiving and delivering the articles. There is no way to track the articles till they are received and there is no way to let the customer know what happened in transit, once he booked some articles. In such a situation, we need a system which completely computerizes the cargo activities including time to time tracking of the articles sent. This need is fulfilled by Courier Management System software which is online software for the cargo management people that enables them to receive the goods from a source and send them to a required destination and track their status from time to time.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Vaccine management system project report documentation..pdfKamal Acharya
The Division of Vaccine and Immunization is facing increasing difficulty monitoring vaccines and other commodities distribution once they have been distributed from the national stores. With the introduction of new vaccines, more challenges have been anticipated with this additions posing serious threat to the already over strained vaccine supply chain system in Kenya.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
Maintaining high-quality standards in the production of TMT bars is crucial for ensuring structural integrity in construction. Addressing common defects through careful monitoring, standardized processes, and advanced technology can significantly improve the quality of TMT bars. Continuous training and adherence to quality control measures will also play a pivotal role in minimizing these defects.
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
1. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 33 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 33 | P a g e
DESQA a Software Quality Assurance Framework
Dr.KhaledKh. S. Kh. Allanqawi
General Subjects Department, High Institute of Energy, Public Authority of Applied education and Training,
Kuwait
ABSTRACT
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.
I. INTRODUCTION
Historically, the software quality
management process was focused on finding the
defects in software and correcting them. This took
place in two steps, developing software to
completion and checking for defects in the end
product. The shortcoming of this approach was that
the same defects would still be realised in another
software process [1]. It is important to consider the
uniqueness of each piece of software. They are
designed as artifacts and meant to serve the user
needs adequately. However, the processes, tools,
methodologies followed are the same. This aspect
of software development shows that the defects in
the process are likely to be repeated.
Applying quality management "control"
on the software process is being adopted as a
guarantee to achieve software quality. Total quality
management of the software design aims at
continuously improving the quality of the end [2].
Managing the software design by controlling the
end product at the design stage is a technique to
carve out the causes of defects. This technique
adopts a set of practices throughout the software
process and is aimed at consistently meeting the
end user needs.
The development of code for software
development is a practice that requires skill and
experience, producing a design defect free code
that does not have bugs is a difficult task. There are
many tools that assist the programmer with the
development of code. These help in the detection
and correction of these defects. To effectively
perform maintenance, programmers need to
accurately detect defects. The classification of
these defects would also help formulate guidelines
in correcting and avoiding them.
Therefore, this research endeavours to
develop, test and validate a framework
methodology to be used within an intelligent
approach for the purposes of detecting and
classifying defects at the design phase of software
development life cycle (SDLC) service-oriented
architecture (SOA) paradigm, while at the same
time balancing the cost and quality of addressing
such defects with business needs, functional needs
and other considerations that system developers
RESEARCH ARTICLE OPEN ACCESS
2. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 34 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 34 | P a g e
and designers may need to handle for the domain of
the study, as shown in figure 1.
Figure 1: The Domain of the Research
To achieve this goal, the objective of the
research is to conceptualize, borrow and customize
from known working 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. Already, several frameworks have been
developed with the aim of improving defect
detection and classification [2]. Each framework
has been designed in such a way that it can be
extended and contextualized to fit into any
environment, but with no emphasis on distributed
systems and services.
The use of intelligent approach will form
the core of the frameworks to define and take
advantage of informed and learning frameworks
that adapt and extend to various architectures. The
intention is not brute force investigation of all
available options; rather, an intelligent and guided
investigation of the frameworks that define the best
combination and projection of defect detection and
classification framework.
II. BACKGROUND AND CHALLENGES
Our world runs on software. Every
business depends on it, every mobile phone uses it,
and even every new car relies on code. Without
software, modern civilization would fall apart. So,
software quality is an important goal in the
software development process. But what exactly is
software quality? It’s not an easy question to
answer, since the concept means different things to
different people. One useful way to think about this
topic is to divide software quality into two aspects:
functional quality and structural quality [3].
The term software architecture intuitively
denotes the high level structures of a software
system. It can be defined as the set of structures
needed to reason about the software system, which
comprise the software elements, the relations
between them, and the properties of both elements
and relations [4]. Systems should be designed with
consideration for the user, the system (the IT
infrastructure), and the business goals as shown in
figure 2.
Figure 2: Application Stakeholders [4]
Service-oriented architectures (SOA) are
based on the notion of software services, which are
high-level software components that include web
services. Implementation of an SOA requires tools
as well as run-time infrastructure software. One of
the most important benefits of SOA is its ease of
reuse [5]. But some criticisms of SOA depend on
conflating SOA with Web services. For example,
some critics claim SOA results in the addition of
XML layers, introducing XML parsing and
composition. In the absence of native or binary
forms of remote procedure call (RPC), applications
could run more slowly and require more processing
power, increasing costs [6].
SOA provides an evolutionary approach to
software development, however, it introduces many
distinct concepts and methodologies that need to be
defined and explained in order to understand the
SOA offerings in an accurate way and build a
competent architecture that satisfy the SOA vision.
The main issue is to analyze and assess the
differences of SOA from past architectural styles,
investigate the improvement that SOA has brought
to the computing environment, and apply this
knowledge to service based application
development so as to have a satisfactory SOA.
Software systems have become a crucial
part of business and commerce in the modern
world. Consequently, software quality has become
fundamental in ensuring the proper functioning of
the systems and to minimize development and
maintenance costs. The quality of software should
be guaranteed throughout the entire life cycle of
software development, which points toward
detecting errors earlier during development.
3. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 35 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 35 | P a g e
One obvious and common challenge
facing software quality is the detection of design
defects and their correction. The main objective of
that is to achieve complete customer satisfaction.
One of the important steps towards total customer
satisfaction is the generation of nearly zero-defect
products [7]. The defect management process
includes defect prevention, defect discovery and
resolution, defect causal analysis, and process
improvement [8].
Another challenge involves the
application architecture, because it seeks to build a
bridge between business requirements and
technical requirements by understanding all of the
technical and operational requirements, while
optimizing common quality attributes. An
architecture is the set of significant decisions about
the organization of a software system, the selection
of the structural elements and their interfaces by
which the system is composed, together with their
behaviour as specified in the collaborations among
those elements, the composition of these structural
elements and behavioural elements into
progressively larger subsystems, and the
architecture style that guides this organization —
these elements and their interfaces, their
collaborations, and their composition [9].
The Application Architecture (AA)
describes the layout of an application's deployment.
This generally includes partitioned application
logic and deployment to application server engines.
It relies less on specific tools or language
technology than on standardized middleware
options, communications protocols, data gateways,
and platform infrastructures such as Component
Object Model (COM), JavaBeans and Common
Object Request Broker Architecture (CORBA).
The application architecture is used as a
blueprint to ensure that the underlying modules of
an application will support future growth. Growth
can come in the areas of future interoperability,
increased resource demand, or increased reliability
requirements. With a completed architecture,
stakeholders understand the complexities of the
underlying components should changes be
necessary in the future. The application architect is
tasked with specifying an AA and supporting the
deployment implementation.
Another challenge relates to providing a
framework that will improve the defect prevention
process. The following aims and objectives will
lead to the model of a framework that will improve
the defect prevention process:
Analyze SOA quality and identify the common
features of the quality models.
Analyze the problems of automating the
detection and the correction of software design
defects.
Find out the most common quality metrics that
can be used to assess the impacts of design
defect on software quality.
Use multi-criteria decision-making tools to
analyze QoS quality characteristics in
accessing and making decisions on
prioritization of design patterns.
Develop a guideline or framework to automate
the detection of design defects based on design
patterns and using design constraints.
III. CASE STUDY AND EVALUATION
3.1 Introduction
The design of the framework is only as
good as the analysis, and the basic overarching
question at this phase is ―How will the framework
actually work?‖. Thus, this section presents the
evaluation of the proposed framework, particularly
its "Design Defects Measuring Matrix" firstly using
research tool based on a questionnaire and
workshop in order to assess the different phases of
the framework. Secondly, a case study commonly
used in service-oriented systems with a number of
design approaches is considered in order not only
to evaluate the framework but also to check the
impact of different architectural styles on both
software defects and software quality.
A part of framework evaluation consists
of capturing the quality attributes the architecture
must handle and to prioritize the control of these
attributes. If the list of the quality attributes is
suitable in the sense that at least all the business
objectives are indirectly considered, then, we can
keep working with the same architecture.
Otherwise, an alternative architecture that is more
suitable for the business should be considered.
These quality attributes may be conflictive for
achieving business objectives. In such a case, it
should be focused on a limited set of attributes,
especially if the evaluation of the architecture gives
a positive result in a business and a poor one in
another one figure 3.
4. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 36 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 36 | P a g e
Figure 3 DESQA Framework
3.2 Research Tool
The success of the preliminary evaluation
of the framework depends on how well the
questionnaire is constructed. In this section, the
research tool is a questionnaire. The designed
questionnaire examines the relationship between
service-oriented architectures (SOAs) and quality
attributes.
3.3 Results and Discussion
The main objective of this case study is to
demonstrate the usability or practical applicability
of the proposed Design Defects Measuring Matrix.
The second group required to calculate the
expected quality level of the designed software
based on the design defects using the following
formula:
Defect related to Algorithmic and Processing
Defects will affect the following quality
attributes.The weights of metrics and quality
attributes are used to calculate the total impact on
quality.
3.4Case Study: Automated Teller Machine (ATM)
This section demonstrates the applicability
and use of the framework proposed in the previous
section, and describes how its components are
deployed in a case study which is based on a
typical banking service namely, the Automated
Teller Machine (ATM) [10]. The choice of the case
study is driven by the fact that the ATM provides a
service that is communicating with a number of
banking services such as authentication,
transactions, reporting etc. within one bank as well
as communication and obtaining services from
other banks. Thus, ATM processes require
communication between a numbers of
components/services to complete a user request,
including transaction, client (user interface) and
back-end service as well as authentications etc.
ATM, as a case study, has been commonly
used in early object-oriented systems [11]. In
addition, it exhibits the service concepts reflect in
client/server architecture with the banking sector
including different modules for front end (user
interface) and back engine services. ATM services
are relatively easy to model, and can be used as a
proof of concept for evaluating the proposed
framework. In addition it can be modeled using
different designs that broadly follow the SOA
principles. Thus, it can be used for testing different
SOA architectural styles.
In order to meet comprehensive ATM
requirements and system analysis with requirement
specification both functional and non-functional
requirements need to be considered for the design
and development of service-oriented based
architectures, that can be used and compared both
in terms of potential defects and quality estimation
for different SOA architectural styles [12].
3.4.1 Requirements aspects
An ATM provides money to authorised
users who have sufficient funds on deposit. It
requires the user to provide a personal
identification number (PIN) as an authorisation.
Money is provided after a confirmation from the
bank’s computer system. Overall the main function
of the ATM is to provide a number of services to
the customer:
A customer must be able to make a cash
withdrawal from any suitable account linked to
his/her card. A customer must be able to make a
deposit to any account linked to the card, consisting
of cash and/or cheques in an envelope. The
customer will enter the amount of the deposit into
the ATM, subject to manual verification when the
envelope is removed from the machine by an
operator.
A customer must be able to make a balance inquiry
of any account linked to the card.
A customer must be able to abort a transaction in
progress by pressing the Cancel key instead of
responding to a request from the machine.
A customer must be able to print the balance, mini-
statements, receipts etc.
Transfer money, change PINs etc.
5. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 37 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 37 | P a g e
The ATM will service one customer at a
time. A customer will be required to insert an ATM
card and enter a PIN. The customer will then be
able to perform one or more transactions. The card
will be retained in the machine until the customer
indicates that he/she desires no further transactions,
at which point it will be returned.
The ATM will have a key-operated switch
that will allow an operator to start and stop the
servicing of customers. After turning the switch to
the "on" position, the operator will be required to
verify and enter the total cash on hand. The
machine can only be turned off when it is not
servicing a customer. When the switch is moved to
the "off" position, the machine will shut down, so
that the operator may remove deposit envelopes
and reload the machine with cash, blank receipts,
etc.
As well as functional requirements there are a
number of non-functional requirements i.e.
expected quality requirement such as:
Performance — how long does a transaction take?
Availability — what are the hours of operations?
Security — how to identify the client
Usability — is the client able to cancel the
operation?
Modifiability — how long does it take to change
the authentication mechanism?
Reusability — how easy is it to reuse existing
components?
By applying the framework, the potential
defects in the application development will be
identified thus the number of defects leaking to the
implementation stage will be reduced. In addition
an estimation of the quality requirements and
quality factors will be produced.
3.4.2 Design Aspects
At a high level the ATM machine is based
on four main services, Authentication Service for
user authentication including card verification, PIN
etc.
Transaction Service reflecting the required
transactions, withdraw, deposit etc. Storage Service
which is used for storing the transactions as well as
user details, and Client Service that provides the
interface to user of the ATM such as menu (Figure
4).
Figure 4: ATM System
Services are linked together for example
the Client Service provides an interface on the local
machine to invoke other services such as
Authentication and Transaction Services. The same
applies to other services for example
Authentication Service invokes a signal to other
services such as Storage Service checking and
verifying users. A number of services (use cases)
are represented in the use case diagram (Figure 5).
Figure 5 Use Case Diagram [13]
3.4.3 Design Granularity
Having considered both functional and
non-functional requirements as well as the main
services (use cases) and flow of services, the next
stage is to consider the level of granularity of
services and its impact on the software quality
factors as well as the potential defects. Thus,
different designs will be considered, but they
should reflect the basic SOA principles, and that
can be achieved through a variety of
styles/granularity. Thus, in the design of the
services and their architecture we seek to evaluate
the different granularity i.e. fine grain, coarse grain
and thick grain, and their impact on defects as well
as quality factors.
They might lead not only to serious
defects but even to software failures. Tiny service
is an SOA anti-pattern that corresponds to thin
service with a small number of methods. This often
requires several thin services that are coupled to be
used together for the composition of client
applications which adds to service management
complexity. On the other hand, multi service
corresponds to a large service that with a larger
number of methods. This might reduce service
reusability because of the low cohesion of its
methods. Thus, for the ATM case study we apply
6. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 38 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 38 | P a g e
the framework using different levels of granularity,
fine, coarse and thick. The aim is to produce
potential defects portfolio and quality estimation,
and providing a comparison between the different
granularity levels.
3.4.3.1 Fine Grain
The identified, from user requirements,
service candidates are mapped to a typical SOA
configuration (Figure 6) and include
Authentication, Balance Inquiry, Withdraw,
Deposit, etc. Each of the fine grain services were
designed to reflect the business logics and rules. In
summary all functional requirements and all
operations are considered as services i.e. the ATM
application is made up of all the individual
services. Clearly this is a fine grain approach (tiny
services).
Figure 6 Fine Grain Services
3.4.3.2 Coarse Grain
Next some of the operations discussed in
the previous sections are aggregated in a logical
and consistent fashion to create the ATM
application. The aim is to create coarse grain
services that are still meeting all the functional
requirements. For, example in Transaction Service
will be comprised of a number of operations such
as Withdrawal, Deposit, Balance query etc. while
Authentication will have check Id, Check PIN,
change PIN etc. As shown in Figure 7 the
operations are represented by various
components/services that follow the principles of
SOA.
Figure 7 Coarse Grain Services
3.4.3.3 Thick Grain
Finally, some of the services/components
presented in the previous section are aggregated
from the three tier architecture of the system, with
frontend, middleware and backend components,
with services/operations mapped to different
components still in a logical and consistent fashion
to create the ATM application. The aim is to create
think grain services that are still meeting all the
functional requirements as shown in Figure 8.
Figure 8 Three Tier Architecture
3.4.4 Evaluation and Observation
The next stage is to apply the framework
on the different architectural styles and produce an
estimate of defects and the impact of software
metrics such as size, complexity, coupling,
cohesion etc. and to use the metrics values to
produce a quality estimation including the most
relevant, from SOA point of view, software quality
factors that have been identified in the non-
functional requirements. This evaluation will allow
us not only to evaluate the framework but also to
make a comparison between different SOA based
architectural styles.
The first stage is to produce the defects portfolio
for the different levels of granularity as shown in
figures 9, 10 and 11.
Figure 9 Fine Grain Services
7. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 39 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 39 | P a g e
Figure 10 Coarse Grain Services
Figure 11 Thick Grain Services
The comparison of the various granularity
levels for the case study has shown that fine grain
style shows a lower degree of coupling, than the
other two styles, coarse and thick grain, in fact the
degree of coupling seems to be increasing as we
move from fine, to coarse and then to thick
services. In terms of complexity thick grain style
has the lower complexity followed by coarse grain
and finally by fine grain style. The experiment also
has shown that the size is highest for fine grain, and
the lowest for thick grain due to additional code
associated with each layer (Service Interface Layer,
Business Layer, and Data Access Layer).
The second phase is to consider the impact on
software quality factors, particularly reusability and
performance as key factors for SOA applications
(Figure 12).
Figure 12 Software Quality Factors
The comparison of the various granularity
levels for the case study has shown that fine grain
styles tends to promote higher reusability than
larger grain styles. In fact the larger the granularity
the less reusable individual services become.
Performance on the other hand shows the opposite
trend, i.e. the higher the granularity the better the
performance. This is directly linked to coupling
and complexity metrics. Thus, we conclude that
there should be a compromise between reusability
and performance, so coarse grain services seem to
offer this compromise between the two factors
(figure 13), but this will at the end depend very
much on the type of applications and the user
requirements.
Figure 13 Different Granularity Impacts
Overall, fine grained services are
relatively simple and provide small and well
specified functionalities. They have the advantage
of being easily reusable, i.e. they provide high
reusability which is a very important quality factor.
They can be used by many services within an
application domain or across multiple domains and
typically require the transmission of small amounts
of data. The disadvantage is that they might
become a very large number of services which is
hard to manage. This might have negative impact
on performance which is another important
software quality factor, for example when multiple
calls to different services with real time
communication and data transfer. On the other
hand coarse grained services will be fewer
therefore they require less management, with
possibly better performance but lower reusability
.In addition they might require larger volumes of
data to be transmitted and be more complex for
other services to use. Thick grain services almost
approach full blown applications.
4. Conclusion
Ideally, one would want to optimize for all
quality attributes, but the fact is that this is nearly
impossible, because any given system has trade-off
points that prevent this. Essentially, changing one
quality attribute often forces a change in another
quality attribute either positively or negatively. The
purpose of this section was to investigate the
applicability of the DESQA framework and how
the design defects measuring matrix can assess
attributes of size, complexity, coupling, and
cohesion using quality metrics. Thus, after
8. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 40 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 40 | P a g e
preliminary research study and date selection to
build a defects measuring matrix, a case study was
presented where different SOA styles for the same
applications were compared using the framework.
However, there are a number of
limitations associated with the case study. Firstly,
relatively a small numbers of participants were
used to design the proposed matrix. Secondly,
implementations are not fully operational due to the
absence of experiences, although the designs and
implementations are structurally complete. Such
factors could influence matrix under investigation.
In addition, the chosen case study although it is
used as a proof of concept it is relatively
straightforward, perhaps a larger and more complex
case study needs to be considered in future work.
IV. CONCLUSIONS
Quality is an important goal in the
software development process and the detection of
design defects and their correction early in the
development process substantially reduce the cost
of subsequent activities of the development and
support phases. Bad design and software defects
often make source codes hard to understand and
lead to maintenance difficulties. Whereas detecting
and fixing defects make programs easier to
understand by developers. Implementation of
corrective and preventive actions is the path
towards improvement and effectiveness of software
quality. The correction solutions, a combination of
refactoring operations, should minimize, as much
as possible, the number of defects detected using
the detection rules.
Defect prevention practices enhance the
ability of software developers to learn from those
errors and, more importantly, learn from the
mistakes of others. Effective defect tracking begins
with a systematic process. It involves a structured
problem-solving methodology to identify, analyze
and prevent the occurrence of defects. Defect
prevention is a framework and ongoing process of
collecting the defect data, doing root cause
analysis, determining and implementing the
corrective actions and sharing the lessons learned
to avoid future defects.
Service-oriented architecture (SOA) is an
architectural design pattern based on distinct pieces
of software providing application functionality to
support service-orientation. In this research, a
detailed definition and discussion of SOA, its
characteristics and principles are presented. The
adoption and governance are also discussed. Web
services can implement an SOA. So, the web
services technology, which is the most appropriate
environment to develop SOA currently, is also
mentioned. Other technologies for implementing
SOA, such as CORBA are also considered.
Software quality measurement is about
quantifying to what extent software design
possesses desirable characteristics. In this research
software quality of service-oriented architecture
and its models (McCall quality model, Boehm's
quality model, Dromey's generic quality model and
ISO quality model) are discussed in detail. The
tools of measuring the software quality (quality
metrics) are reviewed and discussed.
V. FUTURE WORK
The important limitations of this study are
concerned with its generalizability. So, based on
the work presented in this thesis, there are a
number of areas that can be further improved and
carried forward.
The perception of quality differs from
individual to individual, a further improvement can
be added by redeploying the design defect
measuring matrix using large numbers of
participants when building it and increasing the
number of quality attributes, the number of quality
metrics and the number of design attributes. The
main purpose of that is to standardize them, to
build the trust and the confidence level between the
provider and the consumer and will continue to
evolve as more new technologies emerge on the
horizon.
Although there are areas that could have
helped improve the framework significantly, the
work presented so far has been able to demonstrate
how the aim can be analyzed. The case study
discussed in this thesis is limited to one application,
the first suggestion is related to the fact that the
implementation was carried out in a simulated
environment with the results presented. It would be
of great benefit for this to be tested in a real-life
case. It also will be interesting if the scope is
expanded to includelarge number of applications
which form part of the whole business. The
DESQA framework can be adapted in the design
process using its measuring matrix components and
can incorporate metrics to measure design defects.
A reverse engineering methodology can be added
to this system to improve the traceability of
individual components of the system or incorporate
changes easily. To improve granularity a refined
pattern can be added to the future expansion.
The second relates to the extension of
framework applications. As seen in the evaluation
of the results, the framework was designed with the
possibility to extend it to adapt additional quality
metrics. The extension can be considered in future
work by building complexities to adapt more
different design attributes and quality metrics. The
last suggestion relates to testing the framework for
the impact of larger and potentially conflicting
9. Dr.KhaledKh. S . Int. Journal of Engineering Research and Application www.ijera.com
ISSN : 2248-9622, Vol. 7, Issue 4, ( Part -3) April 2017, pp.33-41
www.ijera.com DOI: 10.9790/9622-0704033341 41 | P a g ewww.ijera.com DOI: 10.9790/9622-0704033341 41 | P a g e
quality requirements in non-controlled
environments.
BIBLIOGRAPHY
[1]. Moha, Gueheneuc& Leduc (2009). Bad
Smell in Design Patterns.Journal of the
Object Oriented Technology.
[2]. Kessentini, M.,Sahraoui,
H.,&Boukadoum, M. (2008). Model
Transformation as an Optimization
Problem.Proc.MODELS: 159-173 Vol.
5301 of LNCS. Springer.
[3]. Pressman, S. (2005). Software
Engineering: A Practitioner's Approach
(Sixth International ed.). McGraw-Hill
Education. Pp. 388.
[4]. Clements, P., Bachmann, F., Bass,
L.,Garlan, D.,Ivers, J., Little, R.,Merson,
P., Nord, R.,&Stafford, J. (2010).
Documenting Software Architectures:
Views and Beyond, Second Edition.
Addison-Wesley,Boston.
[5]. Bell, M. (2008). Introduction to Service-
Oriented Modeling. Service-Oriented
Modeling: Service Analysis, Design, and
Architecture. Wiley & Sons.
[6]. M. Riad, Alaa, E. Hassan, Ahmed, & F.
Hassan, Qusay (2009). Investigating
Performance of XML Web Services in
Real-Time Business Systems. Journal of
Computer Science & Systems Biology 02
(05): 266–271.
[7]. Gopalakrishnan Nair, T.R.,& Suma, V.
(2010). The Pattern of Software Defects
Spanning across Size Complexity.
International Journal of Software
Engineering.
[8]. Jäntti, M.,Toroi, T.,&Eerola, A. (2006).
Difficulties in Establishing a Defect
Management Process: A Case Study.
Journal of Software Engineering.Springer.
[9]. Booch, G., Rumbaugh, J.,& Jacobson,I.
(1999). The Unified Modeling Language
User Guide. Addison-Wesley.Reading,
MA.
[10]. Frost, R., Hafiz, R. & Callaghan, P.
(2007). Modular and Efficient Top-Down
Parsing for Ambiguous Left-Recursive
Grammars., 10th International Workshop
on Parsing Technologies (IWPT), ACL-
SIGPARSEJune 2007, Prague. Pp 109-
120.
[11]. Yingxu, W., Yanan, Z., Philip, C., Xuhui,
L. & Hong, G., (2010). The Formal
Design Model of an Automatic Teller
Machine (ATM). International Journal of
Software Science and Computational
Intelligence, 2(1): 102-131.
[12]. RajniPamnani, PramilaChawan, Satish
Salunkhe. Object Oriented UML
Modeling for ATM Systems. Department
of computer technology, VJTI University,
Mumbai.
[13]. Wikipedia. ―ATM System‖
www.wikipedia.org/wiki/Automated_telle
r_machine