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
Ask a Question
Search
Search
Sign In
Register
study help
computer science
introduction to software engineering
Questions and Answers of
Introduction To Software Engineering
Give the details of the design of the interface to a database for our major software project. Be sure that you specify the fields in the database.
This question considers the ramifications of a considerable change to the requirements on the design of the software. The first change is that the customer now wants a web-based user interface
This question considers the ramifications of a considerable change to the requirements on the design of the software. The second change is that the customer now wants to use a cloud for data storage
Examine some software you have previously written from the perspective of coding style. Are there any improvements you would make? Why?
Examine a reasonable amount of the source code available to you in a relatively large project that you did not write yourself. (You might look at software available from the Internet if you cannot
There are several differences between the coding standards listed in this chapter. Give an explanation for these differences.
Determine if your software development environment has a “pretty printer” available. If so, determine if it is flexible enough to meet multiple coding standards.
Develop a C macro or a C++ inline function to compute the pow() function. Compare the efficiency of your iteration with that of the built-in pow() function.
Consider the simple C or C++ language statements:a ++;anda = a + 1;For integer variables they are completely equivalent. For pointers in C and C++, the assignment a = a + 1 indicates pointer
Devise an experiment to determine which of two distinct implementations of the algorithm presented in Section 5.1 is fastest. Recall that the purpose of these algorithms was to initialize a square
Use the profiler option on your compiler to examine the code fragment at the end of Section 5.1. (As stated in Section 5.2, the purpose of a profiler is to create executable code that includes timing
Write a program that will solve a system of linear equations of the form AX = B, where A is an n-by-n array of floating point numbers that has all entries other than those on the main diagonal equal
The next program is an example of poor programming practice. It is based on an actual program that was used to control the display of a moving object. The main consideration at that time was speeding
List all the black-box test cases for the source code given in Example 6.3. Which test cases do you think are the most important? Why?Data from Example 6.3Source Code for the Sample Function That Was
List all white-box test cases for the source code given in Example 6.3. Which test cases do you think are the most important? Why?Data from Example 6.3Source Code for the Sample Function That Was
What is the minimum number of test cases to ensure that every path in Example 6.3 is tested?Data from Example 6.3Source Code for the Sample Function That Was Specified in Example 6.2i = 1; // f1done
What is the minimum number of test cases to ensure that every statement in Example 6.3 is tested?Data from Example 6.3Source Code for the Sample Function That Was Specified in Example 6.2i = 1; //
Write a test harness to exercise the testing of the code fragment in Example 6.3.Data from Example 6.3Source Code for the Sample Function That Was Specified in Example 6.2i = 1; // f1done =
Examine a common software application. Determine a set of black-box test cases that you would use if you were in charge of testing this software.
Devise a new class to describe floating point numbers. The precision of the floating point numbers will be part of the class. The three precisions to be considered are float, double, and long double.
List the special cases that should be tested for correct treatment of overloading of the + operator in Example 6.5. Also, list the special cases needed for testing of the << and assignment
(For those of you who are practicing software engineers.) Choose one of the first 123 research problems listed in this chapter and determine how the issue affects your organization.
List all test cases that you believe are necessary to test the objects defined in Example 6.5.Data from Example 6.5An Example of Testing Object-Oriented Programs#includeclass Complex{public:double
Develop delivery guidelines for the major software project that we have been considering throughout this book.
Develop installation guidelines for the major software project that we have been considering throughout this book.
Examine a commercially available software package with which you are familiar. Which types of documentation were made available with the software? Evaluate the readability of the documentation.
Examine the source code for the large software project that we have been considering throughout this book. The only documentation provided is internal documentation, since it is restricted to the
Write external documentation for the large software project that we have been considering throughout this book.
Write both user and operations manuals for the large software project that we have been considering throughout this book.
Write a design rationale for the large software project that we have been considering throughout this book.
The first change that the customer now wants is a web-based user interface instead of one that is PC based. What changes need to be made to the testing and integration processes?
The second change that the customer now wants is to use a cloud for data storage instead of one that is PC based. What changes need to be made to the testing and integration processes?
Examine the dialogue we presented in Chapter 3, when we developed the requirements for the large software project that we have discussed throughout this book. Based on that dialogue, what changes do
Compare the changes made in the software in the major project with the ones you might have predicted in the previous question.
Change the major software project to allow the separation of the computational portion from the user interface. Then incorporate a client–server relationship, with the computation done on a server
Change the user interface for the current system in the major software project to run on Windows 8.1.
Change the user interface for the current system in the major software project to use the Apple user interface.
Change the user interface for the current system in the major software project to use the Linux-based operating system underlying the Apple user interface. (This Linux-based system is called Darwin.)
Change the user interface for the current system in the major software project to become web-based, with the metrics computations performed on servers or, perhaps, a set of individual servers each
Change the user interface for the current system in the major software project to run its user interface based primarily on tablets, such as, say, a banking app with its connection to a remote
The first change is that the customer now wants a web-based user interface instead of one that is PC based. What changes need to be made to the maintenance processes? Is a new maintenance plan needed?
The second change is that the customer now wants to use a cloud for data storage instead of one that is PC based. What changes need to be made to the maintenance process? Is a new maintenance plan
Read a recent issue of one of the following journals: IEEE Software, IEEE Computer, Communications of the ACM, ACM Transactions on Software Engineering and Methodology, IEEE Transactions on Software
In Section 4.19, we mentioned that we should consider both large-scale components and matching design patterns in order to make our software engineering effort more efficient. We chose to consider
Chapter 3 presented a hypothetical dialogue during our requirements elicitation. The initial requirements were later changed to allow for the web-based interface whose architecture was described in
(For those of you who are considering graduate school.) Choose one of the first 99 research problems listed in this chapter and start working on a PhD in computer science.
Read a company internal report that describes a project. How would you classify the report: case study, comparative study, or controlled experiment? Write a critique of the report, using the ideas
The user interface was to be written in either C or C++ to allow command-line arguments. Thus, this subsystem is very easy to design. It has two major features: interfacing with the operating system
Design the installation subsystem for the major software engineering project.
How does the design change if the data is to be collected in a database program instead of a spreadsheet?
What is the effect of moving the project to a different operating system, such as one running Linux or Apple Yosemite, on the assumptions made in the design of the first subsystem for the user
Suppose that we wished to add a graphical user interface to the major software engineering project. An electronic list of such tools can be found at the URL http://www
Expand the design of the major software engineering project to include analysis of source code files written in Java.
This question considers the ramifications of a considerable change to the requirements. This change is that the customer now wants to use open source software and the Linux environment as much as
This question considers the ramifications of a considerable change to the requirements. The second change is that the customer now wants to use a cloud for data storage instead of one that is
This question considers the ramifications of a considerable change to the requirements. The first change is that the customer now wants a web-based user interface instead of one that is PC-based.
What attributes would you expect to have for a project that is attempting to complete our major project using an agile software process? Does your project team possess these attributes at this point
Develop a detailed project plan for the major software project we introduced in this chapter.
Change the requirements to allow the software to have a web-based interface. Apply the ignorance hiding technique of Section 3.4.1 to analyze these new requirements. What sort of technology
Write a set of use cases for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter.
Write a Petri net for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter as they were modified in Exercise 5.Data from Exercise
Write a decision table for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter as they were modified in Exercise 5.Data from
Write a state diagram for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter as they were modified in Exercise 5.Data from Exercise
Consider the requirements for our continuing software project as they were developed in Section 3.18 and Summary of this chapter. Apply the suggestions in this chapter to reorganize the requirements
Estimate the size of the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter, using the function point approach.
Write a Petri net for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter.
Write a decision table for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter.
Write a state diagram for the requirements of our continuing software project as they were developed in Section 3.18 and Summary of this chapter.Requirements From Section 3.18:
This is a thought question, since little actual data to validate your answer will be available to you. In Section 2.4, we considered the relationship of the size of a hypothetical software project
Develop a plan for the Social Security number overflow problem that will occur when the increased population of the United States together with the number of Social Security numbers already issued
Develop a project plan for treating the “Year 2038 Problem” where the date fields used in UNIX systems will overflow sometime in the year 2038. The overflow is due to the maximum size of an
Examine a project you recently completed. Determine which activities were on the critical path of development and which ones could have been done concurrently. Would having this knowledge before the
Obtain a copy of an organization’s software project management manual. Find out how staffing and resource allocation is determined. Are any CASE tools mentioned in the manual?
This question concerns the COCOMO model of software cost estimation. Examine a software system for which there have been multiple releases and for which source code is available to you. (The GNU
Examine several of the projects you did in your previous computer science courses. Use these projects to determine your productivity by comparing the number of lines of code of each of the projects
Examine the Internet web pages of some companies that develop software project management tools. Determine if these tools allow a user to estimate the amount of effort and resources needed to
Examine the Internet web pages of some government organizations that develop software. Choose one project and determine which software requirements or designs are available to you. Then estimate the
What milestone events should be indicated in a project management plan?
What activities should be present in a project plan? Does your answer depend upon the software development life cycle used?
What are the “test driver attributes” for the COCOMO model?
Examine an IDE that you have used before and determine if it is possible for two or three people to work on the same project concurrently. If no capability exists within the IDE, describe how you
Research Lockheed Martin’s Skunk Works project, also known as “Advanced Development Programs,” to obtain a description of its very successful quick-and-dirty development process. Compare this
We discussed some issues about the role of networking in the future development of word processors. There are other issues, such as the responsibility of system administrators responsible for
Draw a diagram showing the major software engineering tasks for the spiral software development model. Use Figure 2.2 as a model. 25,000 20,000 15,000 10,000 5,000 + + 10 20 30 40 50
Examine a relatively large software system that you did not develop yourself and for which source code is available. (The GNU software tools from the Free Software Foundation are an excellent source
Several software development process standards were mentioned in this chapter. Find one or more of these in the library or on the Internet. Examine the details of the standard. Can you explain why
If you have a part-time (or full-time) job in the computer field, ask to see your employer’s software development manual. Determine which software development process standard is followed by your
Examine the classified advertisements of your college or university placement office for listings of jobs in the computer field. Classify each of the jobs as being for analysis, requirements, design,
Repeat Exercise 5 for software that you wrote as part of a job working in industry or government.Data from Exercise 5Consider the largest software project you ever completed as part of a class
Consider the largest software project you ever completed as part of a class assignment. How large was the project? How long did it take you to develop the system? Did it work perfectly, did it work
Explain the GQM paradigm.
What are the goals of software engineering?
Name the major types of software development life cycles. How do they differ?
Name the activities that are common to all software development life cycles.