Software crisis Software crisisis a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could not be tackled. With the increase in the complexity of the software, many software problems arose because existing methods were insufficient. The term "software crisis" was coined by some attendees at the first NATO Software Engineering Conference in 1968 at Garnish, Germany.
Software crisis Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could not be tackled.
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.
Survey Based Reviewof Elicitation ProblemsIJERA Editor
Any software development process is the combination of multiple development activities and each activity has a
vital role in the software development cycle. Requirement Engineering is the main and basic branch of Software
Engineering, it has many phases but the most initial phase is Requirement Elicitation. In this phase requirements
are gathered for system development.
This paper provides a literature review of the requirements engineering processes performed in traditional and
modern development processes and analyses the problems in the requirements elicitation phase. This problem
analysis is based on a survey which was conducted in University. A questionnaire posing questions regarding
the problems in requirement elicitation was given to final year computer science graduate students who are
working on their final year project as a requirement for their degree. The theoretical analysis of the
questionnaire further clarifies the problems. This problems analysis will help to find out the main problems
which are faced by the perspective software developers
This document summarizes a survey paper on agile methods and quality assurance. The paper presents 4 sections: [1] An overview of agile methods and how they relate to quality assurance. Some key quality techniques in agile like refactoring and test-driven development are discussed. [2] How quality is handled within agile development processes, with a focus on defect discovery and refactoring. [3] How quality is addressed within agile management practices, discussing people capability models. [4] Examples of applying quality practices in real-world agile projects. The paper aims to understand how quality is incorporated into agile methods and identify areas for further improvement.
Comparison between Test-Driven Development and Conventional Development: A Ca...IJERA Editor
In Software Engineering, different techniques and approaches are being used nowadays to produce reliable
software. The software quality relies heavily on the software testing. However, not all developers are concerned
with the testing stage of a software. This has affected the software quality and has increased the cost as well. To
avoid these issues, researchers paid a lot of effort on finding the best technique that guarantee the software
quality. In this paper we aim to explore the effectiveness of building test cases using Test-Driven Development
(TDD) technique compared with the conventional technique (Test-last). The comparison measures the
effectiveness of test cases with regard to number of defects, code coverage and test cases development duration
between TDD and Test-Last. The results has been analyzes and presented to support the best technique. On an
average, the effectiveness of test cases with regards to the selected quality factors in Test-Driven Development
(TDD) was better than the conventional technique (Test-last). TDD and conventional testing had nearly the
same percentage as result in code coverage. Moreover, the number of defects found and the test cases
development duration spent in TDD are high compared with Test-Last. The results led to suggest some
contributions and achievement that could be gained from applying TDD technique in software industry. As
using TDD as development technique in young companies can produce high quality software in less time.
Exploring the Efficiency of the Program using OOAD MetricsIRJET Journal
This document proposes a methodology to analyze the efficiency of object-oriented programs using OOAD (Object Oriented Analysis and Design) metrics. The methodology involves compiling a program successively until it is error-free, recording the error rate at each compilation. These results are then compared to determine how many compilations were needed for the program to be error-free, indicating its efficiency. The methodology is experimentally validated on a sample Java program, with results showing the error rate decreasing with each compilation until the program is error-free after the 8th compilation, demonstrating good efficiency.
Nowadays the need of risk management has been truly augmented but its industrial perspective is very less explored. The product quality can improve by having proper risk management in any process methodology. In this paper, the domain of risk management practice within 20 software organizations in Pakistan Software Industry has been explored. The research begins with the study of practice of risk management in the industry and highlights some particular criteria. After that it investigates how the companies have integrated their risk management with software development. The main focus of study is handling of requirement related risks. Regarding the state of industrial risk management practice, our results show that there are some discrepancies between the industrial practice and the standard models studied. The industrial organizations have not implemented all the important activities as prescribed by the standard models. Hence, this paper suggests a list of issues that need to be addressed particularly of requirement related risk management. Keywords: process model, software development process, agile methods, requirement risk management.
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.
Software crisis Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could not be tackled.
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.
Survey Based Reviewof Elicitation ProblemsIJERA Editor
Any software development process is the combination of multiple development activities and each activity has a
vital role in the software development cycle. Requirement Engineering is the main and basic branch of Software
Engineering, it has many phases but the most initial phase is Requirement Elicitation. In this phase requirements
are gathered for system development.
This paper provides a literature review of the requirements engineering processes performed in traditional and
modern development processes and analyses the problems in the requirements elicitation phase. This problem
analysis is based on a survey which was conducted in University. A questionnaire posing questions regarding
the problems in requirement elicitation was given to final year computer science graduate students who are
working on their final year project as a requirement for their degree. The theoretical analysis of the
questionnaire further clarifies the problems. This problems analysis will help to find out the main problems
which are faced by the perspective software developers
This document summarizes a survey paper on agile methods and quality assurance. The paper presents 4 sections: [1] An overview of agile methods and how they relate to quality assurance. Some key quality techniques in agile like refactoring and test-driven development are discussed. [2] How quality is handled within agile development processes, with a focus on defect discovery and refactoring. [3] How quality is addressed within agile management practices, discussing people capability models. [4] Examples of applying quality practices in real-world agile projects. The paper aims to understand how quality is incorporated into agile methods and identify areas for further improvement.
Comparison between Test-Driven Development and Conventional Development: A Ca...IJERA Editor
In Software Engineering, different techniques and approaches are being used nowadays to produce reliable
software. The software quality relies heavily on the software testing. However, not all developers are concerned
with the testing stage of a software. This has affected the software quality and has increased the cost as well. To
avoid these issues, researchers paid a lot of effort on finding the best technique that guarantee the software
quality. In this paper we aim to explore the effectiveness of building test cases using Test-Driven Development
(TDD) technique compared with the conventional technique (Test-last). The comparison measures the
effectiveness of test cases with regard to number of defects, code coverage and test cases development duration
between TDD and Test-Last. The results has been analyzes and presented to support the best technique. On an
average, the effectiveness of test cases with regards to the selected quality factors in Test-Driven Development
(TDD) was better than the conventional technique (Test-last). TDD and conventional testing had nearly the
same percentage as result in code coverage. Moreover, the number of defects found and the test cases
development duration spent in TDD are high compared with Test-Last. The results led to suggest some
contributions and achievement that could be gained from applying TDD technique in software industry. As
using TDD as development technique in young companies can produce high quality software in less time.
Exploring the Efficiency of the Program using OOAD MetricsIRJET Journal
This document proposes a methodology to analyze the efficiency of object-oriented programs using OOAD (Object Oriented Analysis and Design) metrics. The methodology involves compiling a program successively until it is error-free, recording the error rate at each compilation. These results are then compared to determine how many compilations were needed for the program to be error-free, indicating its efficiency. The methodology is experimentally validated on a sample Java program, with results showing the error rate decreasing with each compilation until the program is error-free after the 8th compilation, demonstrating good efficiency.
Nowadays the need of risk management has been truly augmented but its industrial perspective is very less explored. The product quality can improve by having proper risk management in any process methodology. In this paper, the domain of risk management practice within 20 software organizations in Pakistan Software Industry has been explored. The research begins with the study of practice of risk management in the industry and highlights some particular criteria. After that it investigates how the companies have integrated their risk management with software development. The main focus of study is handling of requirement related risks. Regarding the state of industrial risk management practice, our results show that there are some discrepancies between the industrial practice and the standard models studied. The industrial organizations have not implemented all the important activities as prescribed by the standard models. Hence, this paper suggests a list of issues that need to be addressed particularly of requirement related risk management. Keywords: process model, software development process, agile methods, requirement risk management.
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.
Test-Driven Development in the Corporate WorkplaceAhmed Owian
What is TDD, and why is it giving traditional software development practices a run for their money? This presentation answers these questions, while focusing on a popular agile methodology, Extreme Programming (XP). It places a particular emphasis on the exploratory programming nature of XP and its testing practice, TDD. The paper also summarizes prior research on TDD and includes the results from a research survey conducted to compare TDD with traditional testing practices.
The document describes a two-day National Summit on Software Testing organized by SPIN in Chennai on November 27-28, 2003. The summit aimed to promote awareness and interest in software testing among product/project managers and engineers. Over the two days, there were keynote addresses and presentations on various topics related to software testing from industry experts. Attendees included managers and practitioners from software development organizations.
This document discusses using Failure Mode and Effects Analysis (FMEA) to analyze causes of longer lead times in software processes at small and medium enterprises (SMEs). It first reviews the software development process for a web application project. It then describes the steps taken in an FMEA: 1) potential failure modes were identified, 2) impacts of each failure were assessed, 3) failures were ranked by severity, 4) likelihoods of occurrences for each failure were ranked, and 5) rankings were assigned to identify which failures were detected most frequently. This FMEA analysis identified specific failure modes contributing to longer lead times and their impacts, allowing SMEs to prioritize addressing high risk failures.
This thesis focuses on assessing, evaluating, and managing risks in software development projects for Indian software companies. It aims to identify project risks, analyze dimensions of specific risks through primary research, and study an existing project to identify risks and mitigation strategies. The document discusses related work, project and software development lifecycles, types of risks, the research methodology used, a case study of a project called ERWINA, and concludes with recommendations for improving risk management practices.
This document contains a summary of Joel Asirvatham's experience as a software tester and test lead. He has over 9 years of experience in testing across various domains including banking, finance, and insurance. Some of his key responsibilities have included requirement analysis, test planning, defect logging, test automation, and managing a testing team. He has extensive experience testing mobile applications on platforms like Android and iOS. His technical skills include languages like Java and C#, databases like SQL and Oracle, and testing tools like QTP and Jira.
- Pramod Kitekar is seeking a position as a Software Tester/Quality Analyst with over 2.6 years of experience in manual and automation testing.
- He has experience testing desktop, web, and mobile applications using tools like Selenium, SOAP UI, and Quality Center.
- Kitekar's resume lists his educational qualifications and details of his work experience testing various projects in his previous roles.
The document provides a summary of Joel Asirvatham's experience as a software tester. It details over 9 years of experience in testing roles across various domains including banking, insurance, and financial services. It lists testing methodologies, tools, and technologies used including Agile, automation testing, and defect tracking tools. Recent projects included testing mobile apps for Whole Foods Market and Common Ground Mobility.
This document contains the resume of Sandeep Reddy Amaram. It summarizes his career objective, professional experience, educational background, skills, and projects. He has 4 years of experience as a manual and database tester. He is proficient in testing methodologies and has experience using tools like Quality Center and Oracle Database. He has worked on projects in finance and banking domains as a tester and software engineer.
This resume summarizes Pooja Sharma's experience in embedded systems and microcontrollers. She has over 6 years of experience working with 8-bit and 32-bit controllers like the 8051 and ARM LPC2148. Some of her key skills include C programming, communication protocols like I2C and SPI, and working knowledge of peripherals such as timers, GPIO, and RTC. She is currently working as an embedded developer and has participated in projects involving bike anti-theft systems and bank locker security using RFID and GSM technologies.
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
The document describes a new methodology for eliciting software requirements for smart handheld devices. The methodology is focused on users' work processes. It involves observing users' activities, identifying stakeholders, discussing requirements with stakeholders, finding inspiration from other software, and brainstorming user needs and goals. As an example, the methodology is applied to develop an iPad-based software for improving the learning performance of playgroup students.
The document provides information about online IT training and placement services provided by H2K Infosys worldwide. It includes contact information for H2K Infosys and a disclaimer stating that H2K does not claim proprietary rights over trademarks or products mentioned in training materials but uses them only for educational purposes. The document then provides sample questions and answers for a manual testing interview.
This document outlines principles of professional ethics for software engineers. It discusses responsibilities like confidentiality, competence, intellectual property rights, and avoiding computer misuse. The document also presents eight principles for public interest, product quality, professional judgment, responsibilities to clients/employers, management duties, colleagues, and lifelong learning. Software engineers are expected to adhere to these ethical guidelines in their work.
IRJET- Factors Affecting the Delivery of Quality Software and their Relations...IRJET Journal
This document discusses factors that affect the delivery of quality software and their relationship to the software development process. It identifies key factors such as the amount of testing, costs involved, time spent, and following proper software development life cycle (SDLC) phases. The document presents a literature review on how these factors influence software quality. It then defines variables, hypotheses, and a regression model to analyze the relationship between delivery of quality software and the identified factors. The results of distributing and analyzing questionnaires indicate that amount of testing, costs involved, and time spent have a statistically significant correlation with delivering quality software. Therefore, paying attention to these factors during development can help improve software quality.
Tejas Nandedkar is a skilled Test Engineer from India specializing in manual and automation testing. He has an ISTQB certification and Post Graduate Diploma in Software Testing. He is currently working as a Software Developer at Sphinx Solutions Pvt. Ltd. where he performs quality assurance testing on their Kapow software. Previously he completed a manual testing project for an inventory management system and an academic project enhancing a search engine.
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the ProblemsTakanori Suzuki
The document discusses a method called "Development Forecast" for improving software quality through real-time analysis. It evaluates the relationship between results from static code analysis tools and subsequent testing results on a software project. The analysis found violations identified through static analysis correlated with defects found later in integration and release testing, suggesting static analysis can help identify quality risks early. The method is proposed as an effective way to prevent project failures by providing continuous feedback to address risks.
Tej Narayan Sharma is a senior test engineer with over 5 years of experience in software testing. He has expertise in manual testing, test case development, defect tracking, and agile methodologies. Some of his skills include functional testing, regression testing, test management tools like JIRA and QC, and programming languages like SQL. He is currently working as a senior test engineer at Wipro Technologies and has previously worked at L&T Infotech and Appsys Solutions.
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodIRJET Journal
The document presents a comparison of the Ant Colony Optimization (ACO) method and Maximum Likelihood Estimation (MLE) method for parameter estimation of the Goel-Okumoto software reliability growth model. It describes using the ACO and MLE methods to estimate unknown parameters of the Goel-Okumoto model based on ungrouped time domain failure data. The key parameters estimated are a, which represents the expected total number of failures, and b, which represents the failure detection rate. The document aims to determine which of these two parameter estimation methods can best identify failures at early stages of software reliability monitoring.
The document provides an overview of software engineering. It defines software engineering as applying scientific principles and methods to the development of software. The document then discusses the need for software engineering due to factors like managing large or scalable software, cost management, and dynamic nature of software. It also covers key concepts in software engineering like product vs process, software evolution, software development life cycle (SDLC), different SDLC models like waterfall, incremental, iterative and evolutionary.
The document provides an overview of software engineering. It defines software engineering as applying scientific principles and methods to the development of software. The document then discusses the need for software engineering due to factors like managing large or scalable software, cost management, and dynamic nature of software. It also covers key concepts in software engineering like product vs process, software evolution, software development life cycle (SDLC), different SDLC models like waterfall, incremental, iterative and evolutionary models.
As part of our Software Testing Training in Noida, we also emphasize the importance of staying updated with industry trends. Technology is constantly evolving, and software testing methodologies are no exception. Our courses cover the latest advancements in the field, including agile testing, DevOps, and test automation frameworks. By keeping pace with these trends, you'll enhance your employability and open up new career opportunities.
https://t.ly/t6h7
Test-Driven Development in the Corporate WorkplaceAhmed Owian
What is TDD, and why is it giving traditional software development practices a run for their money? This presentation answers these questions, while focusing on a popular agile methodology, Extreme Programming (XP). It places a particular emphasis on the exploratory programming nature of XP and its testing practice, TDD. The paper also summarizes prior research on TDD and includes the results from a research survey conducted to compare TDD with traditional testing practices.
The document describes a two-day National Summit on Software Testing organized by SPIN in Chennai on November 27-28, 2003. The summit aimed to promote awareness and interest in software testing among product/project managers and engineers. Over the two days, there were keynote addresses and presentations on various topics related to software testing from industry experts. Attendees included managers and practitioners from software development organizations.
This document discusses using Failure Mode and Effects Analysis (FMEA) to analyze causes of longer lead times in software processes at small and medium enterprises (SMEs). It first reviews the software development process for a web application project. It then describes the steps taken in an FMEA: 1) potential failure modes were identified, 2) impacts of each failure were assessed, 3) failures were ranked by severity, 4) likelihoods of occurrences for each failure were ranked, and 5) rankings were assigned to identify which failures were detected most frequently. This FMEA analysis identified specific failure modes contributing to longer lead times and their impacts, allowing SMEs to prioritize addressing high risk failures.
This thesis focuses on assessing, evaluating, and managing risks in software development projects for Indian software companies. It aims to identify project risks, analyze dimensions of specific risks through primary research, and study an existing project to identify risks and mitigation strategies. The document discusses related work, project and software development lifecycles, types of risks, the research methodology used, a case study of a project called ERWINA, and concludes with recommendations for improving risk management practices.
This document contains a summary of Joel Asirvatham's experience as a software tester and test lead. He has over 9 years of experience in testing across various domains including banking, finance, and insurance. Some of his key responsibilities have included requirement analysis, test planning, defect logging, test automation, and managing a testing team. He has extensive experience testing mobile applications on platforms like Android and iOS. His technical skills include languages like Java and C#, databases like SQL and Oracle, and testing tools like QTP and Jira.
- Pramod Kitekar is seeking a position as a Software Tester/Quality Analyst with over 2.6 years of experience in manual and automation testing.
- He has experience testing desktop, web, and mobile applications using tools like Selenium, SOAP UI, and Quality Center.
- Kitekar's resume lists his educational qualifications and details of his work experience testing various projects in his previous roles.
The document provides a summary of Joel Asirvatham's experience as a software tester. It details over 9 years of experience in testing roles across various domains including banking, insurance, and financial services. It lists testing methodologies, tools, and technologies used including Agile, automation testing, and defect tracking tools. Recent projects included testing mobile apps for Whole Foods Market and Common Ground Mobility.
This document contains the resume of Sandeep Reddy Amaram. It summarizes his career objective, professional experience, educational background, skills, and projects. He has 4 years of experience as a manual and database tester. He is proficient in testing methodologies and has experience using tools like Quality Center and Oracle Database. He has worked on projects in finance and banking domains as a tester and software engineer.
This resume summarizes Pooja Sharma's experience in embedded systems and microcontrollers. She has over 6 years of experience working with 8-bit and 32-bit controllers like the 8051 and ARM LPC2148. Some of her key skills include C programming, communication protocols like I2C and SPI, and working knowledge of peripherals such as timers, GPIO, and RTC. She is currently working as an embedded developer and has participated in projects involving bike anti-theft systems and bank locker security using RFID and GSM technologies.
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
The document describes a new methodology for eliciting software requirements for smart handheld devices. The methodology is focused on users' work processes. It involves observing users' activities, identifying stakeholders, discussing requirements with stakeholders, finding inspiration from other software, and brainstorming user needs and goals. As an example, the methodology is applied to develop an iPad-based software for improving the learning performance of playgroup students.
The document provides information about online IT training and placement services provided by H2K Infosys worldwide. It includes contact information for H2K Infosys and a disclaimer stating that H2K does not claim proprietary rights over trademarks or products mentioned in training materials but uses them only for educational purposes. The document then provides sample questions and answers for a manual testing interview.
This document outlines principles of professional ethics for software engineers. It discusses responsibilities like confidentiality, competence, intellectual property rights, and avoiding computer misuse. The document also presents eight principles for public interest, product quality, professional judgment, responsibilities to clients/employers, management duties, colleagues, and lifelong learning. Software engineers are expected to adhere to these ethical guidelines in their work.
IRJET- Factors Affecting the Delivery of Quality Software and their Relations...IRJET Journal
This document discusses factors that affect the delivery of quality software and their relationship to the software development process. It identifies key factors such as the amount of testing, costs involved, time spent, and following proper software development life cycle (SDLC) phases. The document presents a literature review on how these factors influence software quality. It then defines variables, hypotheses, and a regression model to analyze the relationship between delivery of quality software and the identified factors. The results of distributing and analyzing questionnaires indicate that amount of testing, costs involved, and time spent have a statistically significant correlation with delivering quality software. Therefore, paying attention to these factors during development can help improve software quality.
Tejas Nandedkar is a skilled Test Engineer from India specializing in manual and automation testing. He has an ISTQB certification and Post Graduate Diploma in Software Testing. He is currently working as a Software Developer at Sphinx Solutions Pvt. Ltd. where he performs quality assurance testing on their Kapow software. Previously he completed a manual testing project for an inventory management system and an academic project enhancing a search engine.
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the ProblemsTakanori Suzuki
The document discusses a method called "Development Forecast" for improving software quality through real-time analysis. It evaluates the relationship between results from static code analysis tools and subsequent testing results on a software project. The analysis found violations identified through static analysis correlated with defects found later in integration and release testing, suggesting static analysis can help identify quality risks early. The method is proposed as an effective way to prevent project failures by providing continuous feedback to address risks.
Tej Narayan Sharma is a senior test engineer with over 5 years of experience in software testing. He has expertise in manual testing, test case development, defect tracking, and agile methodologies. Some of his skills include functional testing, regression testing, test management tools like JIRA and QC, and programming languages like SQL. He is currently working as a senior test engineer at Wipro Technologies and has previously worked at L&T Infotech and Appsys Solutions.
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodIRJET Journal
The document presents a comparison of the Ant Colony Optimization (ACO) method and Maximum Likelihood Estimation (MLE) method for parameter estimation of the Goel-Okumoto software reliability growth model. It describes using the ACO and MLE methods to estimate unknown parameters of the Goel-Okumoto model based on ungrouped time domain failure data. The key parameters estimated are a, which represents the expected total number of failures, and b, which represents the failure detection rate. The document aims to determine which of these two parameter estimation methods can best identify failures at early stages of software reliability monitoring.
The document provides an overview of software engineering. It defines software engineering as applying scientific principles and methods to the development of software. The document then discusses the need for software engineering due to factors like managing large or scalable software, cost management, and dynamic nature of software. It also covers key concepts in software engineering like product vs process, software evolution, software development life cycle (SDLC), different SDLC models like waterfall, incremental, iterative and evolutionary.
The document provides an overview of software engineering. It defines software engineering as applying scientific principles and methods to the development of software. The document then discusses the need for software engineering due to factors like managing large or scalable software, cost management, and dynamic nature of software. It also covers key concepts in software engineering like product vs process, software evolution, software development life cycle (SDLC), different SDLC models like waterfall, incremental, iterative and evolutionary models.
As part of our Software Testing Training in Noida, we also emphasize the importance of staying updated with industry trends. Technology is constantly evolving, and software testing methodologies are no exception. Our courses cover the latest advancements in the field, including agile testing, DevOps, and test automation frameworks. By keeping pace with these trends, you'll enhance your employability and open up new career opportunities.
https://t.ly/t6h7
What Is A Computer?
A computer is an electronic device, operating under the control of instructions (software) stored in its own memory unit, that can accept data (input), manipulate data (process), and produce information (output) from the processing. Generally, the term is used to describe a collection of devices that function together as a system.
A computer is an electronic device, operating under the control of instructions (software) stored in its own memory unit, that can accept data (input), manipulate data (process), and produce information (output) from the processing. Generally, the term is used to describe a collection of devices that function together as a system.
Vinay Rohilla is a software engineer with 3.8 years of experience seeking a middle-level role in software testing and quality assurance. He has a B.Tech in Information Technology and is currently working at HCL Technologies. He has experience in manual testing, test planning, quality assurance processes, agile methodology, and working with various testing methodologies. At HCL, his responsibilities include maintaining testing logs, writing test cases, guiding junior team members, and ensuring quality assurance standards are met.
This document outlines the course CSSE3113 which introduces students to software engineering concepts, principles and techniques to enable them to apply what they learn to develop software, describes the activities involved in software engineering, and explains the evaluation criteria and expectations for the course including a prohibition on plagiarism.
A Systematic Study On Agile Software Development Methodlogies And PracticesSean Flores
Helps Scrum Master in facilitating Scrum
process.
Product Owner: Responsible for maximizing the value of
the product and managing the product backlog.
Development Team: Self-organizing team responsible for
delivering increments of potentially shippable functionality
every sprint.
E. Limitations
- Scrum is not suitable for large, complex projects.
- It requires strong commitment from all stakeholders.
- Product backlog management is critical and requires
dedicated product owner.
- Daily standups may not be suitable for distributed teams.
- Scrum does not prescribe technical practices. Teams need
to choose their own engineering practices.
- Scrum does not
The guest lecture covered various topics related to software quality management including why it is important, the software testing life cycle, predictive versus agile testing approaches, different types of testing, emerging trends like test automation and artificial intelligence, and career opportunities in the field. The speaker discussed concepts like unit testing, integration testing, security testing and performance testing.
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
The growth of the software development industry approaches the new development methodologies to deliver the
error free software to its end-user fulfilling the business values to product. The growth of tools and technology
has brought the automation in the development and software testing process, it has also increased the demand of
the fast testing and delivery of the software to end customers. Traditional software development methodologies
to trending agile software development trend have brought new philosophy, dimensions, and processes having
invested new tools to make process easy. The Agile development (Scrum, XP, FDD, BDD, ATDD, ASD,
DSDM, Kanban, Crystal and Lean) process also faces the software testing model crises because of the fast
development of life cycles, fast delivery to end users without having appropriate test metrics which make the
software testing process slow as well as increase the risk. The analysis of the testing metrics in the software
testing process and setting the right lean test metrics help to improve the software quality effectively in agile
process.
Manoj Yadav is seeking a position that allows him to develop technical and interpersonal skills. He has 1.8 years of experience as a Software Engineer Analyst at Accenture Services Pvt. Ltd. He has skills in C, C++, HTML, CSS, Java, Angular JS, SQL, and Accenture management tools. He has a B-Tech in Information Technology and certifications in CCNA, Web Designing, and Checkpoint.
Prabhakar Rai is a software tester with over 3 years of experience in manual and automated testing. He has expertise in test planning, design, execution, and reporting. Some of the projects he has worked on include testing an e-commerce and accounting system, as well as an online sales and purchase system. He is currently working as a QA at Altivolus Infotech Pvt. Ltd. Prabhakar holds an MCA degree and has technical skills in languages like HTML, XML, CSS, PHP, and databases like SQL Server and MySQL.
This document provides an overview of software engineering. It discusses key topics like software evolution, paradigms, characteristics, and the software development life cycle (SDLC). The SDLC is described as a structured sequence of stages to develop software, including communication, requirements gathering, feasibility study, system analysis, design, coding, testing, integration, implementation, and operation and maintenance. Software engineering aims to develop high-quality software using well-defined principles and methods, addressing issues like exceeding timelines and budgets seen in traditional software development.
Top 10 Best Practices for Software Development Life CycleDev Software
The Software Development Life Cycle (SDLC) is a structured process that outlines the stages involved in software development. The SDLC process involves planning, designing, coding, testing, and deployment of software applications. Following best practices in each stage of the SDLC process can help you deliver high-quality software that meets the client's requirements. In this blog post, we'll discuss the top 10 best practices for Software Development Life Cycle.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
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
The primary goal of the SDLC process is to produce cost-efficient and high-quality products. The process comprises a detailed plan that describes how to develop, maintain, and replace the software.MAQ is one of the best software development company in Dubai, UAE for Innovative Software Solutions
This document contains Praveen P's resume. It summarizes his contact information, career objective, work experience, education, skills, and personal details. He has over 2 years of experience as a Quality Assurance Engineer, specializing in manual testing. Some of his skills include experience in the SDLC, test case writing, defect tracking, SQL, and programming languages like HTML. He has worked on three projects involving testing software for Oracle, an EMS system, and mobile app testing for Levis. His overall objective is to seek a challenging career that provides opportunities for learning and growth.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
The document is a lecture note on basic concepts of taxation from Chanderprabhu Jain College of Higher Studies & School of Law. It defines key terms like taxes, direct and indirect taxes, income, assessment year, financial year. It distinguishes between capital and revenue receipts and discusses the differences between direct and indirect taxes. It also explains the concepts of application of income versus diversion of income and gives examples. Finally, it provides an overview of the different sections related to assessment under the Income Tax Act.
Socio-Legal Dimensions of Gender (LLB-507 & 509 )cpjcollege
This paper intends to sensitize the students about the changing
dimensions of gender and also familiarizes them with the subtle manifestations of inequality rooted in our society.
The objective of the paper is to apprise the students with the laws relating to marriage, dissolution, matrimonial remedies, adoption, contemporary trends in family institutions in India, in particular the Hindus and Muslims.
Alternative Dispute Resolution (ADR) [LLB -309] cpjcollege
Alternative Dispute Resolution has become the primary means by which cases are resolved now days, especially commercial, business disputes. It has emerged as the preferred method for resolving civil cases, with litigation as a last resort. Alternative Dispute Resolution provides an overview of the statutory, procedural, and case law underlining these processes and their interplay with litigation. A significant theme is the evolving role of
professional ethics for attorneys operating in non-adversarial settings. Clients and courts increasingly express a preference for attorneys who are skilled not only in litigation but in problem-solving, which costs the clients less in terms of time, money and relationship. The law of ADR also provides an introduction to negotiation and mediation theory.
Environmental Studies and Environmental Laws (: LLB -301)cpjcollege
The objective of this paper is to acquaint the students with the environmental issues and the measures taken for its protection along with the norms prevailing at international and national
level
The paper will focus on the civil procedures followed in instituting a suit. The students will be familiarised with certain important concepts and practical skill development activity will provide insights into the actual working of the court procedures.
The objective of this paper is to provide an understanding of basic concepts of Indian Constitution and various organs created by the Constitution and their functions.
The document discusses various topics related to corporate law including types of companies, forms of business organization, shares, debentures, and securities. It provides information on sole proprietorships, partnerships, corporations, limited liability companies (LLCs), and different types of companies such as private companies and public companies. The document also defines key terms like shares, share capital, debentures, debenture bonds, and classifications of company securities.
It is an indispensable complementary part of our legal system without the study of which no advocate is suitably equipped with the basic requisites required to go to the court.
This document provides an overview of key concepts in international relations discussed in a political science class, including:
- Democracy and its key principles such as majority rule, protection of minority rights, and consent of the governed.
- Federalism and its features such as division of powers between central and state/provincial governments.
- The parliamentary system in India and features such as a ceremonial head of state, executive drawn from the legislature, and collective responsibility of ministers.
- Concepts in international relations like power, sovereignty, and the elements and limitations of national power, including international law, morality, and world public opinion.
This paper focuses on various aspects of health care law including the constitutional perspective, obligations, and negligence of medical professionals and remedies available to
consumers of health care.
The object of this paper is to focus on land reforms in India, Constitutional provisions related to land reforms, Land Acquisition, Rehabilitation, and Resettlement Act,2013, Urban Real Estate Development Laws and the Provisions of the Rent Laws under the
Delhi Rent Control Act, 1958.
Business Environment and Ethical Practices (BBA LLB 213 )cpjcollege
The objective of the course is to familiarize students with the different aspects of business environment and ethical practices to be adopted by organizations in conducting their business.
The document provides information about human resource management (HRM) including definitions of HRM, its components, nature, scope, importance, evolution, policies, challenges, and trends. It also discusses the differences between personnel management and HRM as well as HRM and strategic HRM. Additionally, it covers topics related to human resource planning such as meaning, importance, job analysis, and future personnel needs. The document appears to be lecture notes on an introduction to HRM course provided by Ms. Pallavi Sharma.
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
Leveraging Generative AI to Drive Nonprofit InnovationTechSoup
In this webinar, participants learned how to utilize Generative AI to streamline operations and elevate member engagement. Amazon Web Service experts provided a customer specific use cases and dived into low/no-code tools that are quick and easy to deploy through Amazon Web Service (AWS.)
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
Walmart Business+ and Spark Good for Nonprofits.pdf
Software Engineering
1. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Semester: Second Semester
Subject Code:110
Name of the Subject:
SOFTWARE ENGINEERING
2. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software crisis
Software crisis is a term used in the early days of
computing science for the difficulty of writing useful and
efficient computer programs in the required time. The
software crisis was due to the rapid increases in
computer power and the complexity of the problems that
could not be tackled. With the increase in the complexity
of the software, many software problems arose because
existing methods were insufficient.
The term "software crisis" was coined by some
attendees at the first NATO Software Engineering
Conference in 1968 at Garnish, Germany.
3. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
The causes of the software crisis were linked to the
overall complexity of hardware and the software
development process. The crisis manifested itself in
several ways:
• Projects running over-budget
• Projects running over-time
• Software was very inefficient
• Software was of low quality
• Software often did not meet requirements
• Projects were unmanageable and code difficult to
maintain
• Software was never delivered
4. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Engineering
Software engineering is an engineering branch associated with
development of software product using well-defined scientific principles,
methods and procedures. The outcome of software engineering is an
efficient and reliable software product.
Software project management has wider scope than software
engineering process as it involves communication, pre and post delivery
support etc.
This tutorial should provide you basic understanding of software
product, software design and development process, software project
management and design complexities etc. At the end of the tutorial you
should be equipped with well understanding of software engineering
concepts.
5. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
SDLC Activities
SDLC provides a series of steps to be followed to design and develop a software
product efficiently. SDLC framework includes the following steps:
6. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Communication
This is the first step where the user initiates the
request for a desired software product. He
contacts the service provider and tries to
negotiate the terms. He submits his request to
the service providing organization in writing.
7. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Feasibility Study
After requirement gathering, the team comes up
with a rough plan of software process. At this step
the team analyzes if a software can be made to fulfill
all requirements of the user and if there is any
possibility of software being no more useful. It is
found out, if the project is financially, practically and
technologically feasible for the organization to take
up. There are many algorithms available, which help
the developers to conclude the feasibility of a
software project.
8. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
System Analysis
At this step the developers decide a roadmap of their plan and
try to bring up the best software model suitable for the project.
System analysis includes Understanding of software product
limitations, learning system related problems or changes to be
done in existing systems beforehand, identifying and
addressing the impact of project on organization and
personnel etc. The project team analyzes the scope of the
project and plans the schedule and resources accordingly.
9. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Design
Next step is to bring down whole knowledge of requirements and
analysis on the desk and design the software product. The inputs from
users and information gathered in requirement gathering phase are the
inputs of this step. The output of this step comes in the form of two
designs; logical design and physical design. Engineers produce meta-
data and data dictionaries, logical diagrams, data-flow diagrams and in
some cases pseudo codes.
Coding
This step is also known as programming phase. The implementation of
software design starts in terms of writing program code in the suitable
programming language and developing error-free executable programs
efficiently.
10. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software quality
In the context of software engineering, software quality refers to two
related but distinct notions that exist wherever quality is defined in a
business context:
Software functional quality reflects how well it complies with or
conforms to a given design, based on functional requirements or
specifications. That attribute can also be described as the fitness for
purpose of a piece of software or how it compares to competitors in the
marketplace as a worthwhile product. It is the degree to which the
correct software was produced.
Software structural quality refers to how it meets non-functional
requirements that support the delivery of the functional requirements,
such as robustness or maintainability. It has a lot more to do with the
degree to which the software works as needed.
11. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Testing and Quality Assurance
The software system needs to be checked for its intended behavior and
direction of progress at each development stage to avoid duplication of
efforts, time and cost overruns, and to assure completion of the system
within stipulated time.The software system needs to be checked for its
intended behavior and direction of progress at each development stage to
avoid duplication of efforts, time and cost overruns, and to assure
completion of the system within stipulated time.
System testing and quality assurance come to aid for checking the system.
It includes −
• Product level quality (Testing)
• Process level quality.
12. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Testing
Testing is the process or activity that checks the functionality
and correctness of software according to specified user
requirements in order to improve the quality and reliability of
system. It is an expensive, time consuming, and critical
approach in system development which requires proper
planning of overall testing process.
A successful test is one that finds the errors. It executes the
program with explicit intention of finding error, i.e., making
the program fail. It is a process of evaluating system with an
intention of creating a strong system and mainly focuses on
the weak areas of the system or software.
13. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Characteristics of System Testing
System testing begins at the module level and proceeds towards the integration
of the entire software system. Different testing techniques are used at different
times while testing the system. It is conducted by the developer for small projects
and by independent testing groups for large projects.
Test Strategy
It is a statement that provides information about the various levels, methods,
tools, and techniques used for testing the system. It should satisfy all the
needs of an organization.
Test Plan
• It provides a plan for testing the system and verifies that the system under
testing fulfils all the design and functional specifications. The test plan
provides the following information −
• Objectives of each test phase
• Approaches and tools used for testing
• Responsibilities and time required for each testing activity
• Availability of tools, facilities, and test libraries
• Procedures and standards required for planning and conducting the tests
• Factors responsible for successful completion of testing process
14. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Quality Assurance
• It is the review of system or software products and its documentation
for assurance that system meets the requirements and specifications.
• Purpose of QA is to provide confidence to the customers by constant
delivery of product according to specification.
• Software quality Assurance (SQA) is a techniques that includes
procedures and tools applied by the software professionals to ensure
that software meet the specified standard for its intended use and
performance.
• The main aim of SQA is to provide proper and accurate visibility of
software project and its developed product to the administration.
• It reviews and audits the software product and its activities throughout
the life cycle of system development.
15. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Objectives of Quality Assurance
The objectives of conducting quality assurance are as follows −
• To monitor the software development process and the final software
developed.
• To ensure whether the software project is implementing the standards and
procedures set by the management.
• To notify groups and individuals about the SQA activities and results of
these activities.
• To ensure that the issues, which are not solved within the software are
addressed by the upper management.
• To identify deficiencies in the product, process, or the standards, and fix
them.
16. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Requirements analysis
In systems engineering and software engineering, requirements
analysis encompasses those tasks that go into determining the needs
or conditions to meet for a new or altered product or project, taking
account of the possibly conflicting requirements of the various
stakeholders, analyzing, documenting, validating and managing
software or system requirements.
Requirements analysis is critical to the success or failure of a systems
or software project. The requirements should be documented,
actionable, measurable, testable, traceable, related to identified
business needs or opportunities, and defined to a level of detail
sufficient for system design.
17. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software prototyping
Software prototyping is the activity of creating prototypes of software
applications, i.e., incomplete versions of the software program being developed.
It is an activity that can occur in software development and is comparable to
prototyping as known from other fields, such as mechanical engineering or
manufacturing.
A prototype typically simulates only a few aspects of, and may be completely
different from, the final product.
Prototyping has several benefits: the software designer and implementer can
get valuable feedback from the users early in the project. The client and the
contractor can compare if the software made matches the software
specification, according to which the software program is built. It also allows the
software engineer some insight into the accuracy of initial project estimates and
whether the deadlines and milestones proposed can be successfully met. The
degree of completeness and the techniques used in prototyping have been in
development and debate since its proposal in the early 1970s.
18. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software requirements specification
A software requirements specification (SRS) is a description of a
software system to be developed. It is modeled after business
requirements specification (CONOPS), also known as a stakeholder
requirements specification (StRS). The software requirements
specification lays out functional and non-functional requirements, and it
may include a set of use cases that describe user interactions that the
software must provide.
19. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Elements of the analysis model
1. Scenario based element
• This type of element represents the system user point of view.
• Scenario based elements are use case diagram, user stories.
2. Class based elements
• The object of this type of element manipulated by the system.
• It defines the object,attributes and relationship.
• The collaboration is occurring between the classes.
• Class based elements are the class diagram, collaboration diagram.
3. Behavioral elements
• Behavioral elements represent state of the system and how it is changed by the
external events.
• The behavioral elements are sequenced diagram, state diagram.
4. Flow oriented elements
• An information flows through a computer-based system it gets transformed.
• It shows how the data objects are transformed while they flow between the
various system functions.
• The flow elements are data flow diagram, control flow diagram.
20. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
21. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Concepts of data modeling
Analysis modeling starts with the data modeling.
The software engineer defines all the data object that proceeds within the
system and the relationship between data objects are identified.
Data objects
The data object is the representation of composite information.
The composite information means an object has a number of different
properties or attribute.
For example, Height is a single value so it is not a valid data object, but
dimensions contain the height, the width and depth these are defined as
an object.
22. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Structured analysis
In software engineering, structured analysis (SA) and
structured design (SD) are methods for analyzing
business requirements and developing specifications for
converting practices into computer programs, hardware
configurations, and related manual procedures.
Structured analysis and design techniques are fundamental
tools of systems analysis. They developed from classical
systems analysis of the 1960s and 1970s.
23. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Data dictionary
Entity relationship diagram, essential for the design of database tables, extracts,
and metadata.
A data dictionary or database dictionary is a file that defines the basic organization
of a database. A database dictionary contains a list of all files in the database, the
number of records in each file, and the names and types of each data field. Most
database management systems keep the data dictionary hidden from users to
prevent them from accidentally destroying its contents. Data dictionaries do not
contain any actual data from the database, only bookkeeping information for
managing it. Without a data dictionary, however, a database management system
cannot access data from the database.
24. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software engineering
Software engineering is an engineering branch associated
with development of software product using well-defined
scientific principles, methods and procedures. The outcome
of software engineering is an efficient and reliable software
product.
Software project management has wider scope than software
engineering process as it involves communication, pre and
post delivery support etc.
25. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software design
Software design is a process to transform user requirements
into some suitable form, which helps the programmer in
software coding and implementation.
For assessing user requirements, an SRS (Software
Requirement Specification) document is created whereas for
coding and implementation, there is a need of more specific
and detailed requirements in software terms. The output of
this process can directly be used into implementation in
programming languages.
26. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Some of the commonly followed design principles are as following.
Software design should correspond to the analysis model: Often a design
element corresponds to many requirements, therefore, we must know how the
design model satisfies all the requirements represented by the analysis model.
Choose the right programming paradigm: A programming paradigm describes
the structure of the software system.
Software design should be uniform and integrated: Software design is
considered uniform and integrated, if the interfaces are properly defined among the
design components.
Software design should be flexible: Software design should be flexible enough
to adapt changes easily. To achieve the flexibility, the basic design concepts such
as abstraction, refinement, and modularity should be applied effectively.
Software design should ensure minimal conceptual (semantic) errors: The
design team must ensure that major conceptual errors of design such as
ambiguousness and inconsistency are addressed in advance before dealing with
the syntactical errors present in the design model.
27. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Design Concepts
Every software process is characterized by basic concepts
along with certain practices or methods. Methods represent
the manner through which the concepts are applied. As new
technology replaces older technology, many changes occur
in the methods that are used to apply the concepts for the
development of software. However, the fundamental
concepts underlining the software design process remain the
same, some of which are described here.
28. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Abstraction
Abstraction refers to a powerful design tool, which allows
software designers to consider components at an abstract
level, while neglecting the implementation details of the
components. IEEE defines abstraction as 'a view of a
problem that extracts the essential information relevant to a
particular purpose and ignores the remainder of the
information.' The concept of abstraction can be used in two
ways: as a process and as an entity. As a process, it refers
to a mechanism of hiding irrelevant details and
representing only the essential features of an item so that
one can focus on important things at a time. As an entity, it
refers to a model or view of an item.
29. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Design
Strategies
Software design is a process to conceptualize the software
requirements into software implementation. Software design takes the
user requirements as challenges and tries to find optimum solution.
While the software is being conceptualized, a plan is chalked out to
find the best possible design for implementing the intended solution.
30. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Design
Strategies
Software design is a process to conceptualize the software requirements
into software implementation. Software design takes the user
requirements as challenges and tries to find optimum solution. While the
software is being conceptualized, a plan is chalked out to find the best
possible design for implementing the intended solution.
31. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Object Oriented Design
Object oriented design works around the entities and their
characteristics instead of functions involved in the software system. This
design strategies focuses on entities and its characteristics. The whole
concept of software solution revolves around the engaged entities.
Let us see the important concepts of Object Oriented Design:
Objects - All entities involved in the solution design are known as
objects. For example, person, banks, company and customers are
treated as objects. Every entity has some attributes associated to it and
has some methods to perform on the attributes.
Classes - A class is a generalized description of an object. An object is
an instance of a class. Class defines all the attributes, which an object
can have and methods, which defines the functionality of the object.
32. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Design Approaches
Here are two generic approaches for software designing:
Top Down Design
We know that a system is composed of more than one sub-
systems and it contains a number of components. Further,
these sub-systems and components may have their on set of
sub-system and components and creates hierarchical
structure in the system. Bottom-up Design
The bottom up design model starts with most specific and
basic components. It proceeds with composing higher level
of components by using basic or lower level components. It
keeps creating higher level components until the desired
system is not evolved as one single component. With each
higher level, the amount of abstraction is increased.
33. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Functional testing is a Functional testing
quality assurance (QA) process and a type of black-box
testing that bases its test cases on the specifications of the
software component under test. Functions are tested by
feeding them input and examining the output, and internal
program structure is rarely considered (unlike white-box
testing). Functional testing usually describes what the system
does.
Functional testing does not imply that you are testing a
function (method) of your module or class. Functional testing
tests a slice of functionality of the whole system.
Functional testing
34. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
• Smoke testing
• Sanity testing
• Regression testing
• Usability testing
Functional testing has many types:
35. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
What is Structural Testing ?
Structural testing, also known as glass box testing or white box
testing is an approach where the tests are derived from the
knowledge of the software's structure or internal implementation.
The other names of structural testing includes clear box testing,
open box testing, logic driven testing or path driven testing. The
other names of structural testing includes clear box testing, open
box testing, logic driven testing or path driven testing.
36. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Structural Testing Techniques:
Statement Coverage - This technique is aimed at exercising all programming
statements with minimal tests.
Branch Coverage - This technique is running a series of tests to ensure that
all branches are tested at least once.
Path Coverage - This technique corresponds to testing all possible paths
which means that each statement and branch are covered.
Calculating Structural Testing Effectiveness:
Statement Testing = (Number of Statements Exercised / Total Number of
Statements) x 100 %
Branch Testing = (Number of decisions outcomes tested / Total Number of
decision Outcomes) x 100 %
Path Coverage = (Number paths exercised / Total Number of paths in the
program) x 100 %
37. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
What is Debugging?
It is a systematic process of spotting and fixing the number of bugs, or defects, in
a piece of software so that the software is behaving as expected. Debugging is
harder for complex systems in particular when various subsystems are tightly
coupled as changes in one system or interface may cause bugs to emerge in
another.
Debugging is a developer activity and effective debugging is very important before
testing begins to increase the quality of the system. Debugging will not give
confidence that the system meets its requirements completely but testing gives
confidence.
38. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Maintenance Overview
Software maintenance is widely accepted part of SDLC now a days. It stands for
all the modifications and updations done after the delivery of software product.
There are number of reasons, why modifications are required, some of them are
briefly mentioned below:
Market Conditions - Policies, which changes over the time, such as taxation
and newly introduced constraints like, how to maintain bookkeeping, may trigger
need for modification.
Client Requirements - Over the time, customer may ask for new features or
functions in the software.
Host Modifications - If any of the hardware and/or platform (such as operating
system) of the target host changes, software changes are needed to keep
adaptability.
Organization Changes - If there is any business level change at client end,
such as reduction of organization strength, acquiring another company,
organization venturing into new business, need to modify in the original software
may arise.
39. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Types of maintenance
In a software lifetime, type of maintenance may vary based on its nature. It
may be just a routine maintenance tasks as some bug discovered by some
user or it may be a large event in itself based on maintenance size or nature.
Following are some types of maintenance based on their characteristics:
Corrective Maintenance - This includes modifications and updations done in
order to correct or fix problems, which are either discovered by user or
concluded by user error reports.
Adaptive Maintenance - This includes modifications and updations applied
to keep the software product up-to date and tuned to the ever changing world
of technology and business environment.
Perfective Maintenance - This includes modifications and updates done in
order to keep the software usable over long period of time
Preventive Maintenance - This includes modifications and updations to
prevent future problems of the software. It aims to attend problems, which are
not significant at this moment but may cause serious issues in future.
40. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Cost of Maintenance
Reports suggest that the cost of maintenance is high. A study on estimating
software maintenance found that the cost of maintenance is as high as 67% of
the cost of entire software process cycle.
41. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can
be used in iterative manner and can be extended so that customized items and
processes can be included.
42. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software Re-engineering
When we need to update the software to keep it to the current market, without
impacting its functionality, it is called software re-engineering. It is a thorough
process where the design of software is changed and programs are re-written.
Legacy software cannot keep tuning with the latest technology available in the
market. As the hardware become obsolete, updating of software becomes a
headache. Even if software grows old with time, its functionality does not.
For example, initially Unix was developed in assembly language. When
language C came into existence, Unix was re-engineered in C, because
working in assembly language was difficult.
43. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
44. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Reverse Engineering
It is a process to achieve system specification by thoroughly analyzing,
understanding the existing system. This process can be seen as reverse SDLC
model, i.e. we try to get higher abstraction level by analyzing lower abstraction
levels.
An existing system is previously implemented design, about which we know
nothing. Designers then do reverse engineering by looking at the code and try to
get the design. With design in hand, they try to conclude the specifications. Thus,
going in reverse from code to system specification.
45. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Program Restructuring
It is a process to re-structure and re-construct the existing software. It is all
about re-arranging the source code, either in same programming language or
from one programming language to a different one. Restructuring can have
either source code-restructuring and data-restructuring or both.
Re-structuring does not impact the functionality of the software but enhance
reliability and maintainability. Program components, which cause errors very
frequently can be changed, or updated with re-structuring.
The dependability of software on obsolete hardware platform can be removed
via re-structuring.
46. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Forward Engineering
Forward engineering is a process of obtaining desired software from the
specifications in hand which were brought down by means of reverse
engineering. It assumes that there was some software engineering already
done in the past.
Forward engineering is same as software engineering process with only one
difference – it is carried out always after reverse engineering.
47. Chanderprabhu Jain College of Higher Studies & School of Law
Plot No. OCF, Sector A-8, Narela, New Delhi – 110040
(Affiliated to Guru Gobind Singh Indraprastha University and Approved by Govt of NCT of Delhi & Bar Council of India)
Software configuration
management
In software engineering, software configuration management (SCM or
S/W CM) is the task of tracking and controlling changes in the software, part
of the larger cross-disciplinary field of configuration management. SCM
practices include revision control and the establishment of baselines. If
something goes wrong, SCM can determine what was changed and who
changed it. If a configuration is working well, SCM can determine how to
replicate it across many hosts.
The acronym "SCM" is also expanded as source configuration
management process and software change and configuration
management. However, "configuration" is generally understood to cover
changes typically made by a system administrator.