HW27: Chapter 25

25.10: Describe five factors that engineers should take into account during the process of building a release of a large software system.

  1. Documentation – is the system documented properly and clearly?
  2. Quality – is the quality acceptable? if problems arise can they be reported easily and patches issued?
  3. Competition – timing is very important as there are probably competitors with similar products, need to be quick to the market with bugs fixed quickly when needed
  4. Marketing – new releases need to be marketed properly and quality needs to reflect the product that was marketed
  5. Customer Change Proposal – customer will want the changes to have been made and released upon the agreed on date/time, were these changes met properly?

HW26: Chapter 24

24.6: Explain why program inspections are an effective technique for discovering errors in a program. What types of error are unlikely to be discovered through inspections?

Program inspections are an effective technique because of a few reasons. First, it is difficult for the person writing the code to see their own errors. After having looked at the code for so long, errors are easily overlooked. By having a fresh set of eyes look at the code, seemingly working code can have errors found quickly. Also, program inspections are an affordable way to discover errors. The code doesn’t necessarily need to be run, and individual classes or methods can be reviewed apart from the full program.

Errors that are unlikely to be discovered are probably related to full program interaction rather than individual classes. Although the code looks good in classes/methods when viewed separately, when they are all put together and compiled and ran, errors can show up.

HW25: Team Progress II

We’ve updated our test cases to include all 25 test cases. We are happy with our progress thus far as a team. We’ve nearly completed our poster and presentation and need to work on practicing the presentation as well as completing the final document.  All in all, we are very satisfied with our current state and hope to finish strong as the end of the semester nears.

HW24: Chapter 23

23.6: Figure 23.14 shows the task durations for software project activities. Assume that a serious, unanticipated setback occurs, and instead of taking 10 days, task T5 takes 40 days. Draw up new bar charts showing how the project might be reorganized.

HW23: Chapter 22

22.6: Fixed-price contracts, where the contractor bids a fixed price to complete a system development, may be used to move project risk from client to contractor. If anything goes wrong, the contractor has to pay. Suggest how the use of such contracts may increase the likelihood that product risks will arise.

The contractor won’t want to pay for something that goes wrong, but they have to. This could cause them to use a less detailed product and push less than perfect code, although a working product, so that they can save money in labor for the time when something might go wrong.  If they limit their own expenses upfront, they can have a budget for when things go wrong later.