Concept explainers
Soft Skills
44. Your company’s software is a market leader but is proving difficult to maintain because it was written in C without using object-oriented concepts. Customers have identified problems with the software that must be fixed immediately and have pointed out features in competitors’ products that they want you to support. The best solution will require a complete OOP redesign and subsequent implementation but will take three years. Write a memo to company management outlining your recommendation for the course of action the company should pursue.
Want to see the full answer?
Check out a sample textbook solutionChapter 11 Solutions
STARTING OUT WITH C++ MPL
Additional Engineering Textbook Solutions
Problem Solving with C++ (10th Edition)
Starting Out with C++ from Control Structures to Objects (9th Edition)
Modern Database Management
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
SURVEY OF OPERATING SYSTEMS
Management Information Systems: Managing The Digital Firm (16th Edition)
- What are some of the challenges you've encountered in testing object-oriented software?arrow_forwardFacts: Software design is the process of defining software methods, functions, objects, and the overall structure and interaction of your code so that the resulting functionality will satisfy your user's requirements. There are many different ways of designing software, almost all of which involve coming up with an initial design and refining it as necessary. Different developers prefer different amounts of design upfront or during the implementation phase. Generally, the overall design should be well thought out and reviewed before coding starts. Refer to our section on Design reviews to learn how to review your design. It is easier to try out different designs upfront and discover problems early in the development cycle than to make a major design change after much of the code has been written. Your software design should include a description of the overall architecture. This should include the hardware, databases, and third-party frameworks your software will use or interact with.…arrow_forwardOne of the advantages of writing a program that is subdivided into methods is that such a structure provides the opportunity for different programmers to write separate methods, thus dividing the work. With this concept in mind, answer the following questions: Would you prefer to write a large program by yourself or work in a team in which each programmer produces one or more modules? Why? What challenges would you foresee in working with a large development team? What methods might you employ to overcome or manage these challenges?arrow_forward
- Trying to update a C++ code I wrote earlier (perhaps around 30-60 lines of code) and make it compile and run showing how to use: Note: I am currently working on using class. I am not commited to the below code, just looking for a job example to help me understand the concepts better and how to clean up my own code to be more effiecent using the current items I am reading about. I would like to stay using the address example though. Please label code to help me understand as I break it down. a. abstract data type b. const c. class constructor #include <iostream>#include <string> using namespace std; class address // address structure type{public:string streetAddress;string city;string state;int zipcode; }; int main() { address guest; // class address named guest address home; // class adress named home and inputshome.streetAddress = "1234 Right Way Rd.";home.city = "Huntsville";home.state = "AL";home.zipcode = 35803; cout << "What is your address?…arrow_forwardYour argument should not be based just on performance; rather, you should explain why it is useful for a software developer to have deep access rather than shallow access.arrow_forwardThe Issue: Some people are adamant about their programming approach and refuse to accept that another system may be superior. Many people believe that object oriented programming is the only way to go and that if everyone used it, all of the world's programming issues would be solved. As a long-time hacker, I've seen many trends come and go, such as expert programming, artificial intelligence, extreme programming, structured design, and many others. They all claimed to solve the world's programming problems. None of them have ever done so.A proponent of object oriented programming once issued a dare. "There isn't a single program that can't be improved with the use of objects," he says. The problem is to locate such a program.arrow_forward
- 1a. How is a Python application compiled? What is needed to go from creating source code to a running program? 1b. What is an Integrated Development Environment (IDE)? What Python IDE’s are available?arrow_forwardWhat is the significance of design patterns in software development, and can you provide examples of commonly used design patterns?arrow_forwardDo programmers have a moral or ethical commitment to create code that can be easily maintained, even if the client organization doesn't want it?arrow_forward
- I was wondering if you could provide any concrete examples of the phases involved in the software structure review process that you described.arrow_forwardDoes this indicate that developers have a duty to provide code that can be easily maintained, regardless of whether or not their employer cares about this?arrow_forwardThe issue: Some programmers are so devoted to their approach that they won't consider the possibility that there is a more effective technique. Many people believe that object-oriented programming is the only approach, and that if everyone adopted it, all computing issues would be resolved. I've been a hacker for a very long time, and I've seen many trends come and go, including expert programming, artificial intelligence, extreme programming, structured design, and many others. They all vowed to solve the world's computing issues. They all never did, ever.One time, an opponent of object orientation put forth a dare. There isn't a single application that can't be improved with the use of objects, he claimed. The difficulty is locating such a software.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education