Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1. Give an example of a metric that can be used to measure multiple dimensions o

ID: 3746318 • Letter: 1

Question

1. Give an example of a metric that can be used to measure multiple dimensions of software quality. 2. Give an example of multiple metrics that can be used to measure one dimension of software quality. 3. Assume you are a contributor to the OpenMRS software. Describe two quality dimensions that would be important to you as a contributor and explain why they are important. 4. Assume you are a doctor using the OpenMRS software. Describe two quality dimensions that would be important to you as a doctor and explain why they are important. 5. Explain a potential consequence of failing to establish software quality processes. 6. Explain a potential consequence of having many conventions.

Explanation / Answer

Question 1: Example of a metric that can be used to measure multiple dimensions of software quality?

Code churn: It represents the number of lines of code that were modified, added, or deleted in a specified period of time. If code churn increases, then it could be a sign that the software development project needs attention. Specific dimensions that needs attention: Maintainability, Testability, Security.

Question 2: Example of multiple metrics that can be used to measure one dimension of software quality?

Dimension: Security (The extent of protection of software against unauthorized access, invasion of privacy, theft, loss of data, etc.)

1. Endpoint Incidents: Endpoint incidents are how many devices have been infected by a virus in a given period of time.

2. Mean Time to Repair (MTTR): Mean time to repair in this context measures the time from the security breach discovery to when a working remedy is deployed.

Question 3: Assume you are a contributor to the OpenMRS software. Describe two quality dimensions that would be important to you as a contributor and explain why they are important.

Reliability: The ability of software to perform a required function under stated conditions for the stated period of time without any errors.

Functionality: The ability of software to carry out the functions as specified or desired.

Question 4: Describe two quality dimensions that would be important to you as a doctor and explain why they are important.

Accessibility: The degree to which software can be used comfortably by a wide variety of people, including those who require assistive technologies like screen magnifiers or voice recognition.

Security: The extent of protection of software against unauthorized access, invasion of privacy, theft, loss of data, etc.

Question 5: Explain a potential consequence of failing to establish software quality processes.

The goal of tracking and analyzing software metrics is to determine the quality of the current product or process, improve that quality and predict the quality once the software development project is complete. On a more granular level, software development managers are trying to:

These goals can be achieved by providing information and clarity throughout the organization about complex software development projects. Metrics are an important component of quality assurance, management, debugging, performance, and estimating costs, and they're valuable for both developers and development team leaders:

Software metrics offer an assessment of the impact of decisions made during software development projects. This helps managers assess and prioritize objectives and performance goals.

Question 6. Explain a potential consequence of having many conventions.

With dozens of potential software metrics to track, it's crucial for development teams to evaluate their needs and select metrics that are aligned with business goals, relevant to the project, and represent valid measures of progress. Monitoring the right metrics (as opposed to not monitoring metrics at all or monitoring metrics that don't really matter) can mean the difference between a highly efficient, productive team and a floundering one.