Ch 01 The Scope of Software Engineering

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/19

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

20 Terms

1
New cards

You are in charge of automating a multi-site architectural practice. The cost of developing the software has been estimated to be $530,000. Approximately how much additional money will be needed for postdelivery maintenance of the software?

Postdelivery maintenance will cost about 3 times as much as the original development, that is, about $1,590,000.

2
New cards

Is there a way of reconciling the classical temporal definition of maintenance with the operational definition we now use? Explain your answer.

No. Temporally defined maintenance is a subset of operationally defined maintenance. All changes to a software product constitute operational maintenance, but only those performed after installation constitute temporal maintenance.

3
New cards

You are a software-engineering consultant. The CIO of a regional gasoline distribution corporation wants you to develop a product for all accounting functions and online information with hardware for 87 clerks and 14 managers. The company will pay $30,000 total and wants it in 4 weeks. What do you tell him?

Try to find a solution using off-the-shelf software packages. If this fails, determine which of the constraints (time, cost, functionality) can be relaxed, and provide a solution that fits the remaining constraints. If this fails, do not make promises that cannot be kept, but rather provide data such as hardware invoices and software development schedules showing the unreasonableness of the request.

4
New cards

You are a vice-admiral in the Velorian Navy supervising development of missile control software. What clauses do you include in the contract?

Acceptance criteria must be stipulated, along with a full list of deliverables. Clauses should include: software shall meet specifications, be delivered on time and within budget; all faults corrected at no further charge for one year after acceptance; full documentation (source code, specifications, design, operating instructions); training provided with type and duration stipulated. Maintenance contract terms should be included, and ideally, liability clauses for damages caused by faults.

5
New cards

You are supervising the missile project. List ways your company can fail to satisfy the contract with the navy. What are probable causes?

Late delivery: underestimation, incomplete or incorrect requirements, poor planning, poor specification, poor management, undetected faults, ineffective staff, bad testing, turnover, poor documentation, poor communication, system or hardware failures.

Over budget: all of the above, plus unexpected price increases.

Does not meet specifications: all of the above, plus poor specifications, poor testing, weak quality assurance.

Operational faults: poor testing, residual faults, poor documentation.

Inadequate documentation: poorly trained personnel, poor management.

6
New cards

Nine months after delivery, a fault is detected in mRNA software. Fixing costs $18,900. Cause was an ambiguous sentence in specification. Approximately how much would it have cost to correct during analysis?

$154. From cost ratios, postdelivery to analysis cost is about 123 to 1.

7
New cards

Suppose the fault in 1.6 had been detected during implementation. Approximately how much would it have cost to fix then?

$2,670. From cost ratios, the ratio is about 7 to 1 between postdelivery and implementation costs.

8
New cards

You show data that most faults should be found early. Someone objects that coding faults cannot be removed during design. What do you reply?

Most detected faults (60–70%) are analysis or design faults. Therefore, urging people to find and remove faults early is reasonable.

9
New cards

Describe a situation in which the client, developer, and user are the same person.

An instructor builds a database for student grades. A small business owner writes their own accounting or inventory software.

10
New cards

What problems can arise if the client, developer, and user are the same person? How can these problems be solved?

No independent SQA group may mean residual faults. Documentation may be inadequate, making later maintenance difficult. The solution is thorough testing and comprehensive documentation.

11
New cards

What potential advantages accrue if the client, developer, and user are the same person?

Requirements are fully understood, specifications are unambiguous, and communication problems are minimized.

12
New cards

Look up the word system in a dictionary. How many different definitions are there? Which apply to software engineering?

Definitions involving organized, unified, or whole apply—system as an organized set of interacting parts forming a whole.

13
New cards

It is your first day at your first job. Your manager hands you a program listing and says, “See if you can find the bug.” What do you reply?

Tactfully suggest that it is unlikely there is only one “bug.” Save the lecture on avoiding that word until later.

14
New cards

You are in charge of developing the product in 1.1. Will you use the object-oriented paradigm or the classical paradigm? Give reasons.

If the team lacks object-oriented experience, training will delay and increase costs, making classical more practical. If the team is comfortable with OOP, then object-oriented is preferable because it results in easier development, fewer faults, and better maintainability.

15
New cards

Instead of implementing component c9 of a software product, the developers buy a COTS component. What are the advantages and disadvantages?

Advantages: no design, coding, or unit testing required; cheaper; widely used components likely have few faults. Disadvantages: no source code, making maintenance difficult; functionality may not precisely match needs.

16
New cards

Instead of implementing component c37, the developers use an open-source component. What are the advantages and disadvantages?

Advantages: free; no need for design, coding, or unit testing; source code is available for maintenance. Disadvantages: quality varies widely; functionality may not precisely match; possible legal issues with licensing.

17
New cards

Object P invokes method m1 of object Q. Suppose we wish to reuse object P in a new software product. Can P be reused without reusing Q? What does this say about objects as independent entities?

No. P and Q are coupled via method invocation, so P cannot be reused independently.

18
New cards

Is it correct to state that, as a consequence of Linus’s Law, all open-source software is of high quality?

No. Linus’s Law applies only when there are “enough eyeballs.” Widely used open-source software benefits; niche or obscure projects may not.

19
New cards

Suppose the Chocoholics Anonymous product must be modified to include endocrinologists as providers. In what ways will it have to change? Would it be better to discard everything and start again?

The product should have been designed with an architecture that allows new provider types to be added without disrupting other components. Adding endocrinologists is a relatively simple task and is clearly better than starting again from scratch.

20
New cards

Your instructor distributes Schach et al. [2003]. What is your opinion of the relative merits of results based on managers’ estimates compared to results computed from actual data?

Managers’ estimates are often subjective and optimistic; actual data provides objective, reliable metrics. Results from actual data are usually more trustworthy for decision-making.