QCM : Introduction to Software Engineering — 14 questions

Questions et réponses du QCM

1. What is the main purpose of safety-critical testing?

To replace the need for any design documentation
To verify that software errors will not cause harm in systems where failures matter
To measure how fast the system starts on a user’s device
To check only whether the interface looks attractive

To verify that software errors will not cause harm in systems where failures matter

Explication

Safety-critical testing is verification intended to prevent failures in software whose errors can cause harm. It is focused on risk reduction, not appearance or startup speed.

2. What best describes a methodology?

A collection of methods plus guidance on when and how to use them
A graphical or textual rule set used to represent a model
A sequence of test cases executed on sample data
A repeatable technique that specifies steps for solving a problem

A collection of methods plus guidance on when and how to use them

Explication

A methodology combines multiple methods with guidance about selection and timing. A method is the step-by-step technique itself, not the broader framework.

3. What is a project in software engineering?

Any single person who writes code for the system
The overall effort used to develop a software system, organized into activities and tasks
A finished document delivered to the client at the end
A collection of unrelated maintenance requests

The overall effort used to develop a software system, organized into activities and tasks

Explication

A project is the overall effort for developing a software system, and it is organized into activities and tasks. It is not just one person or one deliverable.

4. Why can poor software architecture lead to widespread failure impacts?

It makes the software easier to understand but harder to install
It prevents developers from writing tests before delivery
It can remove redundancy and make a single fault affect many parts of the system
It increases the number of user requests the system can accept

It can remove redundancy and make a single fault affect many parts of the system

Explication

Poor architecture can eliminate redundancy, so one weakness can cascade into broad failure. The other options do not describe the mechanism of architecture-related failure.

5. Why is modeling used when working with a complex system?

To deliberately ignore irrelevant details and manage complexity
To assign responsibilities to participants in the project
To ensure every real-world detail is represented exactly
To replace the need for any further development activities

To deliberately ignore irrelevant details and manage complexity

Explication

Modeling helps manage complexity by abstracting away details that are not relevant to the current purpose. It is not meant to reproduce every detail of the real system.

6. What is a model in software engineering?

A set of user instructions for operating the software
An abstract representation used to reason about a system without every real-world detail
A complete copy of the running system with all implementation details
A database record of all project meetings and approvals

An abstract representation used to reason about a system without every real-world detail

Explication

A model abstracts away unnecessary detail so people can reason about a system more effectively. It is not a full copy of the real system.

7. Which statement best describes a work product?

A failure report that appears only after deployment
An artifact produced during development that may be internal or delivered to the client
A notation used to represent object-oriented models
A person assigned to coordinate the project budget

An artifact produced during development that may be internal or delivered to the client

Explication

A work product is any artifact produced during development, and it may be internal or a client deliverable. It is not a role or a notation.

8. Why is software engineering described as not purely algorithmic?

It avoids any need for analysis or decision making
It always follows one fixed mathematical formula from start to finish
It relies on experimentation, pattern reuse, and incremental evolution toward client-acceptable solutions
It depends only on compiling source code correctly

It relies on experimentation, pattern reuse, and incremental evolution toward client-acceptable solutions

Explication

Software engineering is not purely algorithmic because solutions often emerge through experimentation, reuse of patterns, and incremental refinement. The other options overstate rigidity or ignore the broader problem-solving process.

9. What is a system in software engineering?

A graphical or textual rule set used to represent a model
A collection of interconnected parts that work together as a whole
A repeatable technique for solving a particular kind of problem
A set of responsibilities assigned to a project participant

A collection of interconnected parts that work together as a whole

Explication

A system is defined as interconnected parts that function together as one whole. The other options describe a notation, a method, and a role.

10. What does software engineering most directly mean?

A creative process focused mainly on writing code quickly
A systematic, disciplined, and quantifiable approach to software development, operation, and maintenance
A method for testing software after it has already been released
A set of hardware design rules applied to computing devices

A systematic, disciplined, and quantifiable approach to software development, operation, and maintenance

Explication

Software engineering is defined as a systematic, disciplined, quantifiable approach to software development, operation, and maintenance. The other options describe narrower or unrelated activities.

11. Which activity is presented as a method for tracking change?

Configuration management
Requirements elicitation
System design
Object design

Configuration management

Explication

Configuration management is explicitly identified as a method for tracking change. The other options are development activities, not change-tracking methods.

12. What best describes a role in a software project?

A temporary bug report generated during testing
The software system’s external environment
A person who pays for the system and approves every line of code
A set of responsibilities assigned to a participant and associated with tasks

A set of responsibilities assigned to a participant and associated with tasks

Explication

A role is a responsibility set assigned to a participant and linked to tasks. A single participant can fill multiple roles.

13. Which statement best matches the idea of engineering applied to software?

Using disciplined engineering approaches for software development and maintenance
Focusing only on programming and ignoring operation and maintenance
Replacing design decisions with trial and error in production
Treating software as an informal craft without repeatable procedures

Using disciplined engineering approaches for software development and maintenance

Explication

Engineering applied to software means using disciplined engineering approaches across development, operation, and maintenance. The other choices contradict the systematic nature of software engineering.

14. What is a system in the context of software engineering?

A collection of interconnected parts that work together as a whole
A graphical notation used to draw models
A sequence of test cases executed before release
A single document describing user requirements

A collection of interconnected parts that work together as a whole

Explication

A system is defined as interconnected parts that function together as a whole. The other options refer to documents, notations, or testing activities.

Révisez avec les flashcards

Mémorisez les réponses avec 14 flashcards sur Introduction to Software Engineering.

Software engineering — definition?

Systematic, disciplined, measurable approach to software.

Poor architecture — consequence?

Widespread failures and increased risk.

Model — purpose?

Abstract representation to reason about systems.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction to Software Engineering.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM