C353 – Midterm questions and answers
2025/2026 latest update
1.1. Explain why professional software that is developed for a customer is not simply the programs that
have been developed and delivered. - answerBecause it involves a comprehensive process that includes
requirements gathering, design, testing, documentation, and maintenance.
1.2. What is the most important difference between generic software product development and custom
software development?
What might this mean in practice for users of generic software products? - answerGeneric software is
designed for a broad audience with a one-size-fits-all approach
Custom software is tailored to the specific needs of an individual customer or organization.
Users of generic software may need to adapt their processes and workflows to fit the software's
capabilities
1.3. Briefly discuss why it is usually cheaper in the long run to use software engineering methods and
techniques for software systems. - answerSoftware engineering methods and techniques produce
higher-quality software with fewer defects.
This mean less paid time is being used fixing errors.
1.4. Software engineering is not only concerned with issues like system heterogeneity, business and
social change, trust, and security, but also with ethical issues affecting the domain. Give some examples
of ethical issues that have an impact on the software engineering domain. - answer- Software engineers
shall act consistently with the public interest.
- Software engineers shall be fair to and supportive of their colleagues.
- Software engineers shall ensure that their products and related modifications meet the highest
professional standards possible.
, 1.5. Based on your own knowledge of some of the application types discussed in Section 1.1.2, explain,
with examples, why different application types require specialized software engineering techniques to
support their design and development. - answerInteractive transaction-based applications: must handle
high traffic and data security (Online Banks)
Embedded control systems: operate in real-time (Car's check engine light)
Systems for modeling and simulation: simulate complex real-world scenarios (Flight simulators used for
pilot training)
1.6. Explain why the fundamental software engineering principles of process, dependability,
requirements management, and reuse are relevant to all types of software system. - answerA
systematic and organized approach to development.
Clear understanding and management of user needs.
1.7. Explain how electronic connectivity between various development teams can support software
engineering activities. - answerTeams can work together even if they are geographically dispersed
1.8. Noncertified individuals are still allowed to practice software engineering. Discuss some of the
possible drawbacks of this. - answer-increased software defects
-Project delays
- Ethical issues
1.9. For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.4, propose an appropriate
example that illustrates that clause. - answerPUBLIC — When designing a mobile app, a software
engineer ensures that the user interface is easy to navigate for individuals with disabilities
CLIENT AND EMPLOYER — A software engineer helps a client prioritize features to fit within their budget
2025/2026 latest update
1.1. Explain why professional software that is developed for a customer is not simply the programs that
have been developed and delivered. - answerBecause it involves a comprehensive process that includes
requirements gathering, design, testing, documentation, and maintenance.
1.2. What is the most important difference between generic software product development and custom
software development?
What might this mean in practice for users of generic software products? - answerGeneric software is
designed for a broad audience with a one-size-fits-all approach
Custom software is tailored to the specific needs of an individual customer or organization.
Users of generic software may need to adapt their processes and workflows to fit the software's
capabilities
1.3. Briefly discuss why it is usually cheaper in the long run to use software engineering methods and
techniques for software systems. - answerSoftware engineering methods and techniques produce
higher-quality software with fewer defects.
This mean less paid time is being used fixing errors.
1.4. Software engineering is not only concerned with issues like system heterogeneity, business and
social change, trust, and security, but also with ethical issues affecting the domain. Give some examples
of ethical issues that have an impact on the software engineering domain. - answer- Software engineers
shall act consistently with the public interest.
- Software engineers shall be fair to and supportive of their colleagues.
- Software engineers shall ensure that their products and related modifications meet the highest
professional standards possible.
, 1.5. Based on your own knowledge of some of the application types discussed in Section 1.1.2, explain,
with examples, why different application types require specialized software engineering techniques to
support their design and development. - answerInteractive transaction-based applications: must handle
high traffic and data security (Online Banks)
Embedded control systems: operate in real-time (Car's check engine light)
Systems for modeling and simulation: simulate complex real-world scenarios (Flight simulators used for
pilot training)
1.6. Explain why the fundamental software engineering principles of process, dependability,
requirements management, and reuse are relevant to all types of software system. - answerA
systematic and organized approach to development.
Clear understanding and management of user needs.
1.7. Explain how electronic connectivity between various development teams can support software
engineering activities. - answerTeams can work together even if they are geographically dispersed
1.8. Noncertified individuals are still allowed to practice software engineering. Discuss some of the
possible drawbacks of this. - answer-increased software defects
-Project delays
- Ethical issues
1.9. For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.4, propose an appropriate
example that illustrates that clause. - answerPUBLIC — When designing a mobile app, a software
engineer ensures that the user interface is easy to navigate for individuals with disabilities
CLIENT AND EMPLOYER — A software engineer helps a client prioritize features to fit within their budget