All Matches
Solution Library
Expert Answer
Textbooks
Search Textbook questions, tutors and Books
Oops, something went wrong!
Change your search query and then try again
Toggle navigation
FREE Trial
S
Books
FREE
Tutors
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
Hire a Tutor
AI Tutor
New
Search
Search
Sign In
Register
study help
computer science
introduction to software engineering
Questions and Answers of
Introduction To Software Engineering
2. A misinterpretation of the class definition may lead to incorrect or extraneous class relationships.
1. Special subclasses may have been generated to accommodate the unnecessary attribute or exceptions to it. Work involved in the creation of unnecessary subclasses has been avoided.
18.11. Test a user manual (or help facility) for an application that you use frequently. Find at least one error in the documentation.
18.10. Will exhaustive testing (even if it is possible for very small programs) guarantee that the program is 100 percent correct?
18.9. Give at least three examples in which black-box testing might give the impression that“everything’s OK,” while white-box tests might uncover an error. Give at least three examples in
18.8. Extend the tool described in Problem 18.7 to generate test cases for each loop category, once encountered. It will be necessary to perform this function interactively with the tester.
18.7. Design an automated tool that will recognize loops and categorize them as indicated in Section 18.5.3.
18.6. Read Beizer [Bei95] or a related Web-based source (e.g., www.laynetworks.com/Discrete%20Mathematics_1g.htm) and determine how the program you have developed in Problem 18.5 can be extended to
18.5. Specify, design, and implement a software tool that will compute the cyclomatic complexity for the programming language of your choice. Use the graph matrix as the operative data structure in
18.4. Select a software component that you have designed and implemented recently. Design a set of test cases that will ensure that all statements have been executed using basis path testing.
18.3. Can you think of any additional testing objectives that are not discussed in Section 18.1.1?
18.2. Design and implement the program (with error handling where appropriate) specified in Problem 18.1. Derive a flow graph for the program and apply basis path testing to develop test cases that
18.1. Myers [Mye79] uses the following program as a self-assessment for your ability to specify adequate testing: A program reads three integer values. The three values are interpreted as
Does a high volume of interrupts arriving at critical times create problems in function or performance?
Does the performance (e.g., processing time) of each interrupt-handling procedure conform to requirements?
Is processing for each interrupt handled correctly?
Are interrupt priorities properly assigned and properly handled?
If hypertext is used, is the navigation design appropriate for the information required?
If hypertext links are used, are they accurate and complete?
Are all software error messages displayed for the user described in more detail in the document? Are actions to be taken as a consequence of an error message clearly delineated?
Is the design of the document (layout, typefaces, indentation, graphics) conducive to understanding and quick assimilation of information?
Are the document’s table of contents and index robust, accurate, and complete?
Can troubleshooting be accomplished easily with the documentation?
Is it relatively easy to locate guidance within the documentation?
Are terminology, menu descriptions, and system responses consistent with the actual program?
Are examples accurate?
Is the description of each interaction sequence accurate?
Does the documentation accurately describe how to accomplish each mode of use?
4. If internal program data structures have prescribed boundaries (e.g., a table has a defined limit of 100 entries), be certain to design a test case to exercise the data structure at its boundary?
3. Apply guidelines 1 and 2 to output conditions. For example, assume that a temperature versus pressure table is required as output from an engineering analysis program. Test cases should be
2. If an input condition specifies a number of values, test cases should be developed that exercise the minimum and maximum numbers. Values just above and below minimum and maximum are also tested.
1. If an input condition specifies a range bounded by values a andb, test cases should be designed with values a and b and just above and just below a and b.
4. If an input condition is Boolean, one valid and one invalid class are defined.
3. If an input condition specifies a member of a set, one valid and one invalid equivalence class are defined.
2. If an input condition requires a specific value, one valid and two invalid equivalence classes are defined.
1. If an input condition specifies a range, one valid and two invalid equivalence classes are defined.
What effect will specific combinations of data have on system operation?
What data rates and data volume can the system tolerate?
How are the boundaries of a data class isolated?
Is the system particularly sensitive to certain input values?
What classes of input will make good test cases?
How are system behavior and performance tested?
How is functional validity tested?
4. Continue until all loops have been tested.
3. Work outward, conducting tests for the next loop, but keeping all other outer loops at minimum values and other nested loops to “typical” values.
2. Conduct simple loop tests for the innermost loop while holding the outer loops at their minimum iteration parameter (e.g., loop counter) values. Add other tests for out-of-range or excluded values.
1. Start at the innermost loop. Set all other loops to minimum values.
The resources required during traversal of a link.?
The memory required during traversal of a link
The processing time expended during traversal of a link
The probability that a link (edge) will be execute.
System classes implement software management and control functions that enable the system to operate and communicate within its computing environment and with the outside world.
Persistent classes represent data stores (e.g., a database) that will persist beyond the execution of the software.
Process classes implement lower-level business abstractions required to fully manage the business domain classes.
Business domain classes are often refinements of the analysis classes defined earlier. The classes identify the attributes and operations (methods) that are required to implement some element of the
User interface classes define all abstractions that are necessary for humancomputer interaction (HCI).
4. You can show object destruction by a big X at the end of the object’s lifeline.Other objects can destroy an object, in which case an arrow points from the other object to the X. An X is also
3. You can show object creation by drawing an arrow appropriately labeled (for example, with a «create» label) to an object’s box. In this case, the box will appear lower in the diagram than the
2. You can show an object sending itself a message with an arrow going out from the object, turning downward, and then pointing back to the same object.
1. You can distinguish between synchronous and asynchronous messages.Synchronous messages are shown with solid arrowheads while asynchronous messages are shown with stick arrowheads.
Convert a song from MP3 format to AAC format and vice versa.
Load a list of the songs in the library onto an iPod or MP3 player.
Burn a list of the songs in the library onto a CD.
Manage the application’s library (e.g., delete songs or organize them in playlists).
Capture streaming music and store it in the application’s library.
Download an MP3 music file and store it in the application’s library.
31.10. Describe model-driven software development in your own words. Do the same for testdriven development.
31.9. You’re based in Los Angeles and are working on a global software engineering team. You and colleagues in London, Mumbai, Hong Kong, and Sydney must edit a 245-page requirements specification
31.8. Describe how you think the software process will change over the next decade.
31.7. Select an open-source development effort (other than Linux), and present a brief history of its evolution and relative success.
31.6. What are “emergent requirements” and why do they present a challenge to software engineers?
31.5. You’re faced with an extremely complex problem that will require a lengthy solution.How would you go about addressed the complexity and crafting a solution?
31.4. What is a “soft trend”?
31.3. Review the Gartner Group’s hype cycle for emerging technologies. Select a well-known technology product and present a brief history that illustrates how it traveled along the curve.Select
31.2. Why does open-world software present a challenge to conventional software engineering approaches?
31.1. Get a copy of the best-selling book The Tipping Point by Malcolm Gladwell (available via Google Book Search), and discuss how his theories apply to the adoption of new software engineering
Is the action performed uniformly for all projects?
Is there an explicit training program that addresses the action?
Are tools available to support the action?
Have metrics for the action been established?
Have entry and exit criteria been established?
Are the people who must perform the action identified by role?
Are the work tasks to be performed clearly described?
Are work products required as input and produced as output identified and described?
Is the objective of the action clearly defined?
What is the road ahead for software engineers?
What emerging trends can be expected to have a significant influence on software engineering practice in the next decade?
What is software process improvement and how can it be used to improve the state of software engineering practice?
29.12. How would you determine P4 through P7 in the cost-benefit model presented in Section 29.9?
29.11. Research the literature and/or Internet sources to find one or more papers that discuss case studies of mainframe to client-server reengineering. Present a summary.
29.10. There is a subtle difference between restructuring and forward engineering. What is it?
29.9. Using information obtained via the Web, present characteristics of three reverse engineering tools to your class.
29.8. Why must interactivity increase if completeness is to increase?
29.7. Why is completeness difficult to achieve as abstraction level increases?
29.6. Some people believe that artificial intelligence technology will increase the abstraction level of the reverse engineering process. Do some research on this subject (i.e., the use of AI for
29.5. Suggest alternatives to paper and ink or conventional electronic documentation that could serve as the basis for document restructuring. (Hint: Think of new descriptive technologies that could
29.4. Explore the inventory analysis checklist presented at the SEPA website and attempt to develop a quantitative software rating system that could be applied to existing programs in an effort to
29.3. Your instructor will select one of the programs that everyone in the class has developed during this course. Exchange your program randomly with someone else in the class. Do not explain or
29.2. Do some research on the efficacy of business process reengineering. Present pro and con arguments for this approach.
29.1. Consider any job that you’ve held in the last five years. Describe the business process in which you played a part. Use the BPR model described in Section 29.4.2 to recommend changes to the
Showing 300 - 400
of 1534
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Last