Reference no: EM133127693
CMP1041 Foundation Programming - Academy of Information Technology
Assessment Purpose
The complexity and difficulty of software development results in bugs creeping into our programs despite our efforts to write great bug-free code. Sometimes companies fail to meet the software quality standards of their clients due to not having the proper quality processes in place to ensure their software is bug free. When companies fail to meet the quality standards of their clients they can take this opportunity to revise their processes for developing software by learning from past mistakes, so that all future projects can have better quality.
In this assessment you work as an engineer for a company specializing in writing software for the medical industries (hospitals, doctor practices, ...). Your main role is to increase the quality of all future software developed at the company to ensure the company released great quality software to their clients.
Assessment Task / Item
For this assessment, you must submit a pdf file that contains your final report.
Read through the following scenario and respond by compiling a report addressing each of the sections and sub sections.
Scenario
You work for a company called Medical Software Solutions Inc, who have recently finished a project for a local hospital. However the hospital deemed that the software your company delivered did not meet their strict quality requirements, and as stipulated in the contract they have decided to not use the provided software and to not pay your company for the time spent creating the software.
This has caused management to be upset as they were relying on that money to grow the company, the engineers are upset because they spent time working on a project that has now been thrown away, and everyone in the company is worried that their reputation has been hurt and that it will be harder to find clients in the future.
Management has promoted you to the role of Chief Quality Officer, an engineering role that is in charge of ensuring that the quality of all future software projects is sufficient to meet the client's expectations so that this situation is not repeated again.
Management wants to know the following:
1) What was the problem with the software that caused the hospital to deem that it did not meet their quality requirements?
2) What is your plan going forward for all future software projects to ensure the quality meets the clients expectations?
To answer these questions compile a report that both management (non-technical people) and engineers will read with the following sections:
Assessment Brief
Section: Introduction
Discuss why testing is important, what could be the results of delivering buggy code in terms of cost to the company and the effect and risk on the user of the software. Specifically reference the code delivered in the project for the local hospital and why it could have ethical problems if bugs were to exist in the software regarding the impact to patients.
Section: Debugging
Define and describe
1. What a bug is.
2. What debugging is and why debugging is challenging.
3. What a debugger is.
Provide a screenshot image of your desktop where you are debugging the provided C++ code that clearly shows breakpoints that will stop the execution of the program when an alert is sent, and when the blood pressure is determined. Provide details to the reader of the report detailing how each of your breakpoints will allow the reader of the report to understand about the program.
Section: Bugs in hospital project
Review the flowchart, pseudocode, and C++ code from the hospital project and provide information of
1. The line number or flowchart node the bug occurs in.
2. What type of bug this is.
3. How the bug affects the program.
4. A fix for the bug.
The code has been provided on the following pages.
Section: Testing Plan
Subsection: Types of testing
Choose three (3) types of testing from the list below and describe
1. What that type of testing is.
2. Why it will improve the quality of future software.
Types:
- White Box testing.
- Black Box testing.
- Unit testing.
- Integration testing.
- Beta testing.
- Stress testing.
- Product testing.
- Performance testing.
- Smoke and sanity testing.
- Regression testing.
Subsection: Flowcharts & Pseudocode
You've noticed in your company that some engineers catch bugs in flowcharts easily, and find it hard to catch bugs in pseudocode. Other engineers are the opposite!
Enforce a rule that all algorithms will be provided in flowchart and pseudocode form. In your report:
1. Inform the reader of this rule.
2. Describe how providing both a flowchart and pseudocode version of an algorithm will increase the quality of the software.
3. Provide an example by converting the flowchart from the hospital project into pseudocode - your flowchart should contain no bugs or errors.
Subsection: Defect Life Cycle
You've noticed in your company that engineers find bugs but forget to fix them. In your report:
1. Describe what a defect life cycle is and how it provides value to the company.
2. Create a flowchart with the following life cycle states
New -> Assigned -> In Progress -> Completed -> Closed New -> Assigned -> Won't Fix -> Closed
3. Describe each state and when a defect should enter and leave the state.
Subsection: Software Quality Metrics
Management and engineers want to quickly inspect the quality of the software project without having to read each line of code. For the metrics listed below, in your report:
1. Describe the metric and how it will allow developers and managers to inspect the quality of the software.
2. Describe what the value of the metric should be in the best case, and the worst case. Describe why.
Metrics:
- Defect Density
- Defect Age
- MTBF
- MTTR
- System Availability
Section: Summary
Provide a summary of the report and each of its sections. Describe why following the testing plan will increase the quality of future software and what effect that will have on the company.
INT1012 Introduction to Web
Assessment - Completed Website
Completed Website Files & Code
Assessment Purpose
The purpose of this task is to complete the development process of the prototype website you developed in Assignment 3. The task requires you to apply flexboxes and responsiveness to the website prototype, and create a finished website based on your web design document.
Assessment Task / Item
You are to complete the development of the website prototype using HTML code, based on the design document you submitted for Assessment 2. Your submission will consist of HTML files and one (1) external CSS file.
Assessment Instructions
You need to complete the development of the prototype you started earlier, and produce a final completed website. Your completed website should be produced using HTML code that you produce. This should be done with an appropriate code editor. It should not be copied from another website.
Images and text may be sourced from other websites, however, you must reference any items used from external sources using the Harvard referencing style. Place this list in the ‘About' or ‘About us' section of the website.
The completed website should:
• Contain five (5) pages
• Be well structured and use valid HTML code
• Include the use of flexboxes
• Demonstrate your knowledge of using media queries for responsive design
• Be functional on both mobile and desktop
• Include basic JavaScript that adds interactive enhancements to at least one (1) web page
• Have consistent layout throughout the website
• Have effective navigation for desktop and mobile
• Use the font(s) and design elements specified in the design document
• Contain references for information sourced online. The website should NOT:
• Contain lorem ipsum, filler text or random characters
• Contain placeholder images that are of no relevance to the website's topic
• Be created from templates or code that has been generated automatically by software
• Be copied from the work of other students
• Be copied from sources other than the ones approved by your teacher.
Attachment:- Foundation Programming.rar