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++: Early Objects
Additional Engineering Textbook Solutions
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Java How To Program (Early Objects)
Starting Out With Visual Basic (7th Edition)
Starting Out with Python (3rd Edition)
Artificial Intelligence: A Modern Approach
Starting Out with Java: Early Objects (6th Edition)
- When it comes to compiler optimization, what exactly is it? When would you utilize one of these as a software engineer? When is a gadget like this not appropriate?arrow_forwardWhen developing software, one makes use of a large number of different models, and depending on the nature of the specific application that is being produced, each model is given a different amount of relevance in terms of how important it is. Could you kindly arrange these models in this fashion?arrow_forwardWhat is a software component? Explain the different steps for developing and implementing software components in Object Oriented Programming. C++arrow_forward
- Does using an open-source language have any advantages or disadvantages over using a proprietary programming language? To put it another way, try to envision how your company's software development requirements would be handled if you were the language creator, the programmer, and the company that utilizes the language.arrow_forwardJessica is interested in developing a new programming language, and she has some design objectives in mind for it: The programming language is geared for the creation of open-source and free software. It is okay for the language to only function properly on very powerful and cutting-edge computer systems. It would be convenient if programs could operate on different platforms without requiring the programmer to do any extra effort. It ought to be feasible to make changes to the program's source code while it is still being executed. Should Jessica write an interpreter, a compiler, or some other kind of program altogether?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_forward
- One 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_forwardThis component covers testability and the compiler.arrow_forwardThe ability to delegate specific tasks to individual programmers is a key benefit of a program's structure that uses methods. Consider this idea carefully when you respond to the following questions: Do you prefer working in a team where each programmer creates one or more modules, or would you rather design a massive piece of software by yourself? Why? How do you think you'll deal with the difficulties of a huge development team? How may you handle or get beyond these obstacles?arrow_forward
- What is the role of Design Patterns in software development, and can you provide examples of commonly used design patterns?arrow_forwardAs comparison to proprietary programming languages, do open-source languages provide any benefits or drawbacks? In other words, put yourself in the shoes of a language designer, a programmer, and a corporation that uses the language to imagine how you would handle the software development needs of your business.arrow_forwardTrying 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_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