1.
"Coding" is NOT really the best word to describe software construction because it implies that _____.
Correct Answer
A. construction is just a mechanical translation of a preexisting design into a computer language Correct
Explanation
The word "coding" is not the best word to describe software construction because it implies that construction is just a mechanical translation of a preexisting design into a computer language. However, software construction involves more than just coding, as it also requires substantial creativity, judgment, detailed design, planning, testing, integration, and other activities.
2.
CONSTRUCTION refers to the process of __________.
Correct Answer
A. Building
Explanation
The term "CONSTRUCTION" typically refers to the process of building something, such as a structure or infrastructure. This involves the actual physical creation of the project, including activities like laying foundations, erecting walls, and installing utilities. Designing, planning, and checking work are all important components of the construction process, but they are not the primary focus of the term "CONSTRUCTION."
3.
Construction typically takes what percent of the time spent of a software project?
Correct Answer
A. 30-80
Explanation
Construction typically takes a significant portion of the time spent on a software project, ranging from 30% to 80%. This phase involves the actual coding and development of the software, where the design is implemented and tested. The duration of the construction phase can vary depending on the complexity and size of the project. It is crucial to allocate sufficient time for construction to ensure the quality and functionality of the software.
4.
A weakness of the software penmanship metaphor of writing code is that ____________________?
Correct Answer
A. Programming is NOT a one-person activity
Explanation
The weakness of the software penmanship metaphor of writing code is that programming is not a one-person activity. This means that unlike traditional writing where a single person can write a piece of content, programming often involves collaboration and teamwork. Writing code requires multiple individuals with different skills and expertise to work together to develop complex software systems. Therefore, the software penmanship metaphor fails to capture the collaborative nature of programming.
5.
How can metaphors help you understand the software development process?
Correct Answer
A. By comparing a topic you understand well to something similar you understand better, you come up with insights that result in better understanding of the less-familiar topic.
Explanation
Metaphors can help understand the software development process by comparing it to a topic that is already well understood. This comparison allows for insights and connections to be made, leading to a better understanding of the less-familiar software development process.
6.
METApHOR is another name for a _______________ ?
Correct Answer
A. Model
Explanation
A metaphor is a figure of speech that compares two unrelated things, highlighting their similarities. In this context, a metaphor is being referred to as another name for a "model". A model is a representation or a simplified version of something, used to understand or explain it better. Just like a metaphor, a model helps to illustrate and convey a concept or idea by comparing it to something else. Therefore, "model" is the correct answer in this case.
7.
Average cost for fixing defects ___________?
Correct Answer
A. Increases dramatically with the distance between when the defect is introduced and when it is detected
Explanation
The average cost for fixing defects increases dramatically with the distance between when the defect is introduced and when it is detected. This means that the longer it takes to detect a defect, the more costly it becomes to fix it. This is because defects that are detected early can be addressed more easily and with less impact on the overall system. However, if a defect goes undetected for a long period of time, it can have a ripple effect and cause additional issues and complications, leading to higher costs for fixing it.
8.
Business systems software projects tend to benefit from what sort of approach?
Correct Answer
A. Incremental project planning
Explanation
Incremental project planning is the most suitable approach for business systems software projects because it allows for flexibility and adaptability. This approach involves breaking down the project into smaller, manageable phases or iterations, allowing for continuous feedback and adjustments. It enables the project team to deliver working software at regular intervals, ensuring that the project stays on track and meets evolving requirements. Additionally, incremental project planning helps to manage risks effectively and ensures that resources are allocated efficiently throughout the project lifecycle.
9.
Generally a well run project devotes what percent of its schedule to requirements, architecture and up-front planning?
Correct Answer
A. 20-30
Explanation
A well-run project typically devotes around 20-30% of its schedule to requirements, architecture, and up-front planning. This is because these initial stages are crucial for setting the project's direction, defining its scope, and establishing a solid foundation. Adequate time spent on requirements gathering, creating an architectural design, and planning helps ensure that the project is well-defined, reduces the risk of scope creep, and increases the chances of success. However, allocating too much time to these activities can delay the project's execution and hinder its progress, which is why a balanced approach is necessary.
10.
Good construction practices for the areas of coding, teamwork, quality assurance and tools should __________.
Correct Answer
A. Be chosen to suit the project in all areas
Explanation
Good construction practices for coding, teamwork, quality assurance, and tools should be chosen to suit the project in all areas. This means that the practices should be selected based on the specific requirements and needs of the project, considering factors such as the project's scope, timeline, and resources. By tailoring the practices to the project, it ensures that the team is following the most effective and efficient approach in all areas, leading to better outcomes and project success.
11.
In high quality software, programming conventions provide __________.
Correct Answer
A. conceptual integrity
Explanation
Programming conventions in high quality software provide conceptual integrity. Conceptual integrity refers to the consistent and cohesive design and organization of a software system. It ensures that the different components and modules of the software work together seamlessly and adhere to a common set of principles and guidelines. This helps in improving the overall quality, maintainability, and understandability of the software. By following programming conventions, developers can ensure that their code is structured and organized in a way that promotes conceptual integrity throughout the software system.
12.
Programming in a language that is early wave (new) technology means that you will be doing more ________.
Correct Answer
B. Trying to figure out how the language works
Explanation
When programming in a language that is early wave (new) technology, one can expect to spend more time trying to figure out how the language works. This is because early wave technologies often lack comprehensive documentation and resources, making it necessary for programmers to explore and experiment with the language in order to understand its intricacies and functionalities. This process of familiarizing oneself with the language may involve researching online, seeking guidance from others, and conducting trial and error experiments. Therefore, the correct answer is trying to figure out how the language works.
13.
According to McConnell, software's Primary Technical Imperative is __________.
Correct Answer
A. Managing complexity
Explanation
According to McConnell, software's Primary Technical Imperative is managing complexity. This means that the main goal of software development should be to effectively handle and control the inherent complexity of software systems. This includes designing and implementing solutions that simplify the overall structure and organization of the software, making it easier to understand, maintain, and modify. By managing complexity, developers can improve the quality and reliability of software, as well as enhance its performance and scalability.
14.
Designing a system so you can move it to another environment is the definition of __________.
Correct Answer
A. Portability
Explanation
Portability refers to the ability of a system or software to be easily moved or transferred to another environment without requiring significant modifications or adaptations. In this context, designing a system with portability in mind means creating it in a way that allows for easy migration to different environments, such as different hardware or operating systems. This ensures that the system can be used in different settings without the need for extensive rework or redevelopment.
15.
Having a given class use a low-to-medium number of other classes is good __________.
Correct Answer
A. fan-out
Explanation
Having a given class use a low-to-medium number of other classes is good for fan-out. Fan-out refers to the number of classes that are dependent on a particular class. When a class has a low-to-medium fan-out, it means that it has a manageable number of dependencies, which indicates a more modular and maintainable design. This allows for easier changes and updates to the class without affecting a large number of other classes.