New Semester
Started
Get
50% OFF
Study Help!
--h --m --s
Claim Now
Question Answers
Textbooks
Find textbooks, questions and answers
Oops, something went wrong!
Change your search query and then try again
S
Books
FREE
Study Help
Expert Questions
Accounting
General Management
Mathematics
Finance
Organizational Behaviour
Law
Physics
Operating System
Management Leadership
Sociology
Programming
Marketing
Database
Computer Network
Economics
Textbooks Solutions
Accounting
Managerial Accounting
Management Leadership
Cost Accounting
Statistics
Business Law
Corporate Finance
Finance
Economics
Auditing
Tutors
Online Tutors
Find a Tutor
Hire a Tutor
Become a Tutor
AI Tutor
AI Study Planner
NEW
Sell Books
Search
Search
Sign In
Register
study help
business
software testing and quality assurance
Software Engineering Theory And Practice 4th Edition Shari Pfleeger - Solutions
Suppose your contract with a customer specifies that you use a particular software development process. How can the work be monitored to enforce the use of this process?
Consider the processes introduced in this chapter. Which ones give you the most flexibility to change in reaction to changing requirements?
Suppose Amalgamated, Inc., requires you to use a given process model when it contracts with you to build a system. You comply, building software using the prescribed activities, resources, and constraints. After the software is delivered and installed,your system experiences a catastrophic failure.
Do you understand my problem and my needs?
Can you design a system that will solve my problem or satisfy my needs?
How long will it take you to develop such a "System?
How much wiU it cost to have you develop such a system?
You are about to bake a two-layer birthday cake with icing. Describe the cake-baking project as a work breakdown structure. Generate an activity graph from that structure.What is the critical path?
Figure 3.23 is an activity graph for a software d evelopment project. The number corresponding to each edge of the graph indicates the number of days required to complete the activity represented by that branch. For example, it will take four days to complete the activity that ends i.n milestone E.
Figure 3.24 is an activity graph. Find the critical path.START FIGURE 3.24 Activity graph for Exercise 3.
On a software development project, what kinds of activities can be performed in parallel?Explain why the activity graph sometimes hides the interdependencies of these activities.
Describe how adding personnel to a project that is behind schedule might make the project completion date even later.
A large government agency wants to contract with a software development firm for a project involving 20,000 lines of code. The Hardand Software Company uses Walston and Felix's estimating technique for determining the number of people required for the time needed to write that much code. How many
Explain why it takes longer to develop a utility program than an applications program and longer still to develop a system program.
Manny's Manufacturing must decide whether to build or buy a software package to keep track of its inventory. Manny's computer experts estimate that it will cost $325,000 to buy the necessary programs. To build the programs in-house, programmers will cost $5000 each per month. Wlhat factors should
Brooks says that adding people to a late project makes it even later (Brooks 1975). Some schedule-estimation techniques seem to indicate that adding people to a project can shorten development time. Is this a contradiction? Why or why not?
Many studies indicate that two of the major reasons that a project is late are changing requirements (called requirements volatility or instability) and employee turnover.Review the cost models discussed in this chapter, plus any you may use on your job, and d etermine which models have cost
Even on your student projects, there are significant risks to your finishing your project on time. Analyze a student software development project and list the risks. What is the risk exposure? What techniques can you use to mitigate each risk?
Many project managers plan their schedules based on programmer productivity on past projects. This productivity is often measured in terms of a unit of size per unit of time. For example, an organmzation may produce 300 lines of code per day or 1200 application points per month. ls it appropriate
eliciting requirements from our customers
modeling requirements
reviewing requirements to ensure their quality
documenting requirements for use by the design and test teams
Developers work together with customers and users to define requirements and specify what the proposed system will do. If, once it is built, the system works according to specification but harms someone physically or financially, who is responsible?
Among the many nonfunctional requirements that can be included in a specification are those related to safety and reliability. How can we ensure that these requirements are testable, in the sense defined by the Robertsons? In particular, how can we demonstrate the reliability of a system that is
In an early meeting with your customer, the customer lists the following "requirements"for a system he wants you to build:(.a) The client daemon must be invisible to the user(b) The system should provide automatic verification of corrupted links or outdated data(
Write a decision table that specifies the rules for the game of checkers.
If a decision table has two identical columns, the n the requirements specification is redundant. How can we tell if the specification is contradictory? What other characteristics of a decision table warn us of problems with the requirements?
Write a Parnas table that describes the output of the algorithm for finding the roots of a quadratic equation using the quadratic formula.
Write a state-machine specification to illustrate the requirements of an automatic banking machine (ABM).
A state-machine specification is complete if and only if there is a transition specified for e very possible combination of state and input symbol. We can change an incomplete specification to a complete one by adding an extra state, called a trap state. Once a transition is made to the trap state,
A safety property is an invariant property that specifies that a particular bad behavior never happens; for example, a safety property of the turnstile problem is that the number of entries into the zoo iis never more than the number of entry fees paid. A liveness property is a property that
Express these properties in temporal logic.
Prove that your safety and liveness properties from Exercise 8 hold for your statemachine model of your automated banking machine specification from Exercise
What assumptions do you have to ma ke about the ABM's environment (e.g., that the machine has sufficient cash) for your proofs to succeed?ll. Sometimes part of a system may be built quickly to demonstrate feasibility or functionality to a customer. This prototype system is usually incomplete; the
Draw data-flow diagrams to illustrate the functions and data flow for the on-line telephone directory system specified in the previous problem.
What are the benefits of separating functional flow from data flow?
What special kinds of problems are presented when specifying the requirements of realtime systems?
Contrast the benefits of an object-oriented requirements specification with those of a functional decomposition.
Write a Z specification for a presentation scheduling system. The system keeps a record of which presenters are to give presentations on which dates. No presenter should be scheduled to give more than one presentation. No more than four presentations should be scheduled for any particular date.
Complete the partial SDL data specification for the library problem in Ftgure 4.20.In particular, write axioms for nongenerator operations unres erve , i sOnLoan, and isOnReserve. Modify your axioms for opera tion unreserve so that this operation assumes that multiple requests to put an item on
What kinds of problems should you look for when doing a requirements review? Make a checklist of these problems. Can the checklist be universally applicable or is it better to use a checklist that is specific to the application domain?
Is it ever possible to have the requirements definition document be the same as the requirements specification? What are the pros and cons of having two documents?
Pfleeger and Hatton (1997) examined the qua lity of a system that had been specified using formal methods. They found that the system was unusually well-structured and easy to test. They speculated that the high quality was due to the thoroughness of the specification, not necessarily its
Sometimes a customer requests a requirement that you know is impossible to implement.Should you agree to put the requirement in the definition and specification documents anyway, thinking th at you might come up with a novel way of meeting it, or thinking that you will ask that the requirement be
Find a set of natural-language requirements at your job or at this book's Web site. Review the requirements to determine if there are any problems. For example, are they consistent? Ambiguous? Conflicting? Do they contain any design or implementation decisions?Which representation techniques might
views of software architecture
common architectural patterns
criteria for evaluating and comparing design a lternatives
software a rchitecture docume ntation
Is the architecture modular, we LI structured, and easy to unde rstand?
Can we improve the structure and unde rstandability of the architecture?
Is the a rchHecture portable to other platforms?
Are aspects of the architecture reusable?
Does the architecture support ease of testing?
Does the architecture maximize performance, where appropriate?
Does the architecture incorporate appropriate techniques for handling fauJts and preventing failures?
Can the architecture accommodate aU of the expected design changes and extensions that have been documented?
What type of architectural style is represented by the NIST/ECMA model (shown in Figure 5.22) for environment integration? (Chen and Norman 1992).
For each of the architectural styles described in this chapter, give an example of a realworld application whose softwa re design might incorpora te that style.
Review the four different architectural styles proposed by Shaw and Garlan (1996) to implement KW1C: repository, da ta abstraction, implicit invocation (a type of publishsubscribe ), and pipe-and-filter. For each one, are the high-level components likely to have high or low cohesion and coupling?
Give an example of a system for which developing a prototype would not result in saving a significant amount of development time.
List the characteristics of a system for which prototyping is most appropriate.
Explain why modularity and application generators are inseparable concepts. Give an example of an application generator with which you have worked.
Explain why a shared data architecture is not easy to reuse.
List the characteristics you might include in an architecture evaluation table similar to Table 5.2. For each of the following systems, identify the weights you might use for each characteristic: an operating system, a word processing system, and a satellite tracking system.
Many of your class projects require you to develop your programs by yourself. Assemble a small group of students to perform an architectural review for one such project. Have several students play the roles of customers and users. Try to express all the requirements and system characteristics in
You have been hired by a consulting firm to develop an income tax calculation package for an accowiting firm. You have designed a system according to the customer's requirements and presented your design at an architectural review. Which of the following questions might be asked at the review?
For each of the systems described below, sketch an appropriate software architecture and explain how you would assign key functionalities to the design's components.(.a) a system of automated banking machines, acting as distributed kiosks that bank customers can use to deposit and withdraw cash
Propose a redesign of your software architecture for the system of automated banking machines from the previous exercise so that it improves performance. Propose an alternate redesign that improves security. Does your strategy to improve performance adversely affect security, or vice versa?
Suggest how the weather forecasting application in exercise ll(d) might detect faults in its data sensors.
Derive the cut-set trree for the fault tree given in Figure 5.11.
Table 5.4 shows a cost-benefit analysis for three competing design proposals. The computation of benefits is based on projections that the rate of queries could increase to a peak of 200 queries per second. Suppose that, due to increased competition by other on-line companies, more recent
Your university wants to automate the task of checking that students who are scheduled to graduate have actually satisfied the degree requirements in their respective majors. A key challenge in automating this task is that every degree major has its own unique requirements. Study the degree
Design a simple full-screen editor on a video display terminal. The editor allows text to be inserted, deleted, and modified. Sect.ions of text can be "cut" from one part of the file and"pasted" to another part of the file. The user can specify a text string, and the editor can find the next
What data need to be "processed" in some way?
What items have multiple attributes?
When do we have more than one object in a class?
What information is based on the requirements themselves, and not derived from our understanding of the requirements?
What attributes and operations are always applicable to a class or object?
Identify the data, data structures, and relationships among them.
Design services to manage the data structures and relationships.
Find tools, such as database management systems, to implement some of the data management tasks.
Design classes and class hierarchies to oversee the data management functions.
Manny, the Royal Service Station manager, is going to expand his services to include an automated car washing system. The customer chooses the type of wash and specifies the type of car. The system computes the fee and displays the amount due on a control panel.The customer can then pay for the car
What is the signi.ficance of Lorenz and Kidd's specialization index? What are the implications of a high specialization index? A low one? A major change in the index as the product evolves?
Can an 00 approach be used to develop any system? What are the strengths of object orientation? What are its weaknesses? Give an example of a system where object orientation would not be an appropriate development strategy.
There is stamp coupling between two software units if one of those units passes complex data structures to the other unit (e.g., as parameters in a method call). Suggest a way to refine such a design to avoid stamp coupling.
In the Ariane-5 design. the developers made a conscious decision to leave out the exception handling for three of seven exceptions that could be raised. What are the legal and ethical implications. of this decision? Who is legally and morally responsible for the disaste r that resulted? Are the
For each type of cohesion, write a descriptiolll of a component exhibiting that kind of cohesion.
For each type of coupling, give an example of two components coupled in that way.
For a project that you have already developed fo r another class, draw a system diagram of your software using multiple levels of interconnected components. How modular was your system? What kind of coupling did it exhibit? Were the components cohesive? Can your system be restructured to increase
Can a system ever be completely "decoupled"? That is, can the degree of coupling be reduced so much that there is no coupling between compone nts? Why or why n ot?
Are the re some systems tha t cannot be made completely functionally cohesive? Why or why not?
For each of the quality attributes in the quality models of Chapter 1, explain how the characte ristics of good design contribute to the product quality. For example, how do coupling, cohesion, and modularity affect reliability and traceability?U. A recursive component is one that calls itself or
For a complex module that you have already developed fo:r another project, specify the module at varying degrees of abstraction (according to the descriptions in Sidebar 6.3).How might each abstraction be distinctly useful?
Provide an interface specification for a module that serves as an English- French dictiona ry. The module should provide facilities for adding new words to the dictionary, looking up the pronunciation of a French word, and returning the French word that corresponds to an input Eng.lish word.
Conside r the following procedure interface for a module that sorts data:PROCEDURE sort (a [] : INTEGER)en•ure: reorders elements so that they are in nondecreasing order In what ways could this module be redesigned to improve its gene rality?
Consider a module that takes two a rrays of integers, and creates and returns a new array of integers whose elements are the sums of the respective elements of the input arrays.How might this module fail? If this module were responsible for recovering from these failures, how might it do so?
Inexperienced 00 programmers often implement the following class hierarchy, where a Stack class is defined to be a subclass of List:CLASS List {data: array (1 .. 100] of INTEGER;count: INTEGER:= 0 ;METHODS insert (pos: 1 .. 100; value: INTEGER);require: insert value into List at position pos delete
Showing 1200 - 1300
of 3990
First
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Last
Step by Step Answers