Identify possible risks that could arise in software projects.
Relevant/irrelevant risks are listed below.
1. Technology: Communications network saturates before expected transaction limit
is reached.
2. People: Level of skill of available people is lower than expected.
3. Organizational: Organizational changes mean that the project schedule is
accelerated.
4. Tools: Software tools cannot handle the volume of data available for large
systems.
5. Requirements: New non-functional requirements are introduced that require
changes to the system architecture. Estimation: The difficult of the software is
underestimated.
Please circle the most comprehensive answer:
Explain why program inspections are an effective technique for discovering errors
in a program.
Program inspections are effective for the following reasons:
1. They can find several faults in one pass without being concerned about
interference between program faults.
2. They bring a number of people with different experience of different types of
errors. Hence. the team approach offers greater coverage than any individual can
bring.
3. They force the program author to re-examine the program in detail – this often
reveals errors or misunderstandings.
4. Inspections require additional costs during design and development.
5. Inspections are very effective in finding bugs.
What is the most important difference between generic software product
development and custom software development?
Below is the list of correct/incorrect answers.
1. The essential difference is that in generic software product development, the
specification is owned by the product developer.
2. For custom product development. the specification is owned and controlled by the
customer.
3. For users of generic products. this means they have no control over the software
specification so cannot control the evolution of the product.
4. For users of generic products. it May limit the .customer's flexibility to change
their own business processes.
5. For users of generic products. this could have implications for the user's business
processes.
Below is the list of correct/incorrect examples of software process activities that
help predict changes and make the software being developed more resilient to
change.
1. Recording of requirements rational so that the reason why a requirement is
included is known. This helps future change.
2. Requirements tractability that shows dependencies between requirements and
between the requirements and the design/code of the system.
3. Design modeling where the design model documents the structure of the
software.
4. Code refactoring that improve code quality and so makes it more amenable to
change.
Possible activities as you use an existing system model may include:
1. To review in detail the implementation of all parts of the existing system.
2. To act as the focus of discussion about possible changes to that system.
3. To understand the architecture and operation of the exisiting system.
4. To identify possible re-use of the existing system's components.
What are the five important attributes that good professional software should have?
1. Required Functionality
2. Performance
3. Maintainability
4. Dependability
5. Usability