CSE2305 - Object-Oriented Software Engineering
Self Assesment Questions
For each question choose the single response which best answers the question, or which completes the statement most accurately.
Question 86: | Software Engineering is best described as: |
the practice of designing, building, and maintaining off-the-shelf software from prefabricated parts. |
the practice of designing, building and maintaining ad-hoc software without the use of formal methods. |
the practice of designing, building and maintaining reliable and cost-effective software using standard techniques. |
the practice of designing, building and maintaining fast and flexible software specifically for Engineering applications. |
the practice of designing, building and maintaining flashy, cheap and buggy software engineered to generate large initially sales and an on-going market for updates. |
Question 87: | The software crisis is: |
How expensive software is to develop. |
How long it takes to build software. |
How hard software is to write. |
How quickly software becomes obsolete. |
All of the above. |
Question 88: | The software crisis exists because: |
Programmers are lazy and managers are ignorant. |
There is as yet no proven scientific method for building robust, efficient, reliable and cost-effective software. |
There can never be a proven scientific method for building robust, efficient, reliable and cost-effective software. |
The are proven scientific methods for building robust, efficient, reliable and cost-effective software, but they are too difficult for most software developers to understand. |
The are proven scientific methods for building robust, efficient, reliable and cost-effective software, but they are being suppressed by the multinational software development conglomerates, who rely on selling annual software updates and bug-fixes. |
Question 89: | What is the single largest computer-related cost for most organizations? |
Software analysis and design. |
Software implementation. |
Software testing. |
Software maintenance. |
Coca Cola and pizza. |
Topic 13b: Analysis
Question 90: What is the analysis phase of software engineering?
Where the organization decides what software it needs to develop.
Where a software engineer determines the requirements for a software system.
Where consultant psychologists are brought in to remedy personality problems which are delaying a software project.
Where a software design is analysed for correctness.
Where the cost-benefits analysis of a proposed system design is made.
Question 91: "Analysis requires the software engineer to become 'consciously expert' in the domain". This means:
The software engineer has to be conscientious about how they deal with experts.
The software engineer has to have a good and trained mind (i.e. an "expert consciousness")
The software engineer has to learn what to do in the domain, without thinking about how that knowledge was achieved.
The software engineer has to learn what to do in the domain, and be aware of what it is that the are doing.
The software engineer doesn't have to learn what to do in the domain, because it is enough to identify those experts who already do.
Question 92: The three stages of the analysis phase are:
Discovery, design, implementation
Discovery, refinement, design
Discovery, modelling, design
Discovery, refinement, modelling
Refinement, design, modelling
Question 93: The outcome of the analysis phase is:
Sufficient understanding of the problem to suggest a solution (or solutions)
Sufficient understanding of the problem to write a formal description of it
Sufficient understanding of the problem to write a requirements specification
Sufficient understanding of the problem to write a design specification
Sufficient understanding of the problem to write a code specification
Question 94: A requirements specification is:
A rough list of things that the proposed software ought to do.
A precise list of things that the proposed software ought to do.
A formal list of things that the proposed software must do.
A mathematical specification of the exact behaviour of the proposed software.
An estimate of the resources (time, money, personnel, etc.) which will be required to construct the proposed software.
Last updated: August 28, 2005