PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
Software - (answer) Computer programs, procedures, and possibly associated documentation and data
pertaining to the operation of a computer system
Software is intangible - (answer) A property of software that makes it hard to understand (or even
explain) the development effort required
Software is easily reproducible - (answer) A property of software that dictates the cost is in its
development, not manufacturing like in other engineering products
Types of software: Application - (answer) This type of software includes: Business, CAD, databases,
spreadsheets, simulations, video games, word processors, Compilers, middleware
Types of software: System - (answer) This type of software includes: Operating systems, Device drivers,
Privileged utilities
Types of software: Embedded - (answer) This type of software includes: Firmware, Microcode
Types of software: Real time - (answer) This type of software includes: Control and monitoring that
must react within some delta t and is often safety critical.
Types of software development: Custom - (answer) This type of software development is usually for a
specific customer
Types of software development: Generic - (answer) This type of software development is usually sold
on an open market, commercially off the shelf and "shrink-wrapped"
Types of software development: Embedded - (answer) This type of software development is usually
tied closely to hardware and harder to modify
Definition of software engineering - (answer) IEEE: (1) the application of a systematic, disciplined,
quantifiable approach to the development, operation, maintenance of software; that is, the application
of engineering to software. (2) the study of approaches as in (1)
,PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
Differences between software engineering and other engineering fields - (answer) Foundations in CS
not natural sciences
Focus on discrete math not continuous
Concentrates on abstract/logical entities not concrete/physical artifacts
no manufacturing phase
maintenance primarily refers to continued development or evolution, not wear and tear
Similarities between software engineering and other engineering fields - (answer) Series of decisions
Careful evaluation of all options
Trade-off analysis
Work quantitatively
Calibrate and validate their measurements
Use approximations based on experience and empirical data
Emphasize disciplined process
Operate effectively as a part of a team
Engineers can have multiple roles
Engineers use tools to apply processes systematically
Advance the field through professional societies
Ethics - (answer) A theory or system of moral values or The principles of conduct governing an
individual or group
ACM Section 1 - (answer) Fundamental ethical principles
ACM Section 2 - (answer) More specific considerations of professional responsibility
ACM Section 3 - (answer) Leadership
,PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
ACM Section 4 - (answer) Principles for compliance
Stakeholders: Users - (answer) Those who use the software
Stakeholders: Customers (project owners) - (answer) Those who pay for the software
Stakeholders: Software developers (software engineers) - (answer) Those who create and maintain the
software
Stakeholders: Development managers (project coordinators) - (answer) Those who supervise the
software development process
Public ethics - (answer) Software engineers shall act consistently with the public interest
Client & employer ethic - (answer) Software engineers shall act in a manner that is in the best interests
of their client and employer consistent with the public interest
Product ethic - (answer) Software engineers shall ensure that their products and related modifications
meet the highest professional standards possible
Judgement ethic - (answer) Software engineers shall maintain integrity and independence in their
professional judgment
Management ethic - (answer) Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software development and maintenance
Profession ethic - (answer) Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest
Colleagues ethic - (answer) Software engineers shall be fair and supportive of their colleagues
, PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
Self ethic - (answer) Software engineers shall participate in lifelong learning regarding the practice of
their profession and shall promote an ethical approach to the practice of the profession
Responsibility ethic - (answer) Software engineers must commit themselves to making software
engineering a beneficial and respected profession
Software quality attributes - (answer) For product operation
For product revision
For product transition
Software quality attributes: Operation attributes - (answer) Correctness
Efficiency
integrity
Reliability
Usability
Operation attributes: Correctness - (answer) The degree to which a program satisfies the user's
requirements.
Operation attributes: Efficiency - (answer) The amount of computing resources, time and space,
required to perform a user-defined function or task
Operation attributes: Integrity - (answer) How well is the software and data protected from security
breaches and installation errors?
Operation attributes: Reliability - (answer) To what degree can the system be expected to perform its
intended function without failure in the user's environment?
ANSWERS
Software - (answer) Computer programs, procedures, and possibly associated documentation and data
pertaining to the operation of a computer system
Software is intangible - (answer) A property of software that makes it hard to understand (or even
explain) the development effort required
Software is easily reproducible - (answer) A property of software that dictates the cost is in its
development, not manufacturing like in other engineering products
Types of software: Application - (answer) This type of software includes: Business, CAD, databases,
spreadsheets, simulations, video games, word processors, Compilers, middleware
Types of software: System - (answer) This type of software includes: Operating systems, Device drivers,
Privileged utilities
Types of software: Embedded - (answer) This type of software includes: Firmware, Microcode
Types of software: Real time - (answer) This type of software includes: Control and monitoring that
must react within some delta t and is often safety critical.
Types of software development: Custom - (answer) This type of software development is usually for a
specific customer
Types of software development: Generic - (answer) This type of software development is usually sold
on an open market, commercially off the shelf and "shrink-wrapped"
Types of software development: Embedded - (answer) This type of software development is usually
tied closely to hardware and harder to modify
Definition of software engineering - (answer) IEEE: (1) the application of a systematic, disciplined,
quantifiable approach to the development, operation, maintenance of software; that is, the application
of engineering to software. (2) the study of approaches as in (1)
,PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
Differences between software engineering and other engineering fields - (answer) Foundations in CS
not natural sciences
Focus on discrete math not continuous
Concentrates on abstract/logical entities not concrete/physical artifacts
no manufacturing phase
maintenance primarily refers to continued development or evolution, not wear and tear
Similarities between software engineering and other engineering fields - (answer) Series of decisions
Careful evaluation of all options
Trade-off analysis
Work quantitatively
Calibrate and validate their measurements
Use approximations based on experience and empirical data
Emphasize disciplined process
Operate effectively as a part of a team
Engineers can have multiple roles
Engineers use tools to apply processes systematically
Advance the field through professional societies
Ethics - (answer) A theory or system of moral values or The principles of conduct governing an
individual or group
ACM Section 1 - (answer) Fundamental ethical principles
ACM Section 2 - (answer) More specific considerations of professional responsibility
ACM Section 3 - (answer) Leadership
,PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
ACM Section 4 - (answer) Principles for compliance
Stakeholders: Users - (answer) Those who use the software
Stakeholders: Customers (project owners) - (answer) Those who pay for the software
Stakeholders: Software developers (software engineers) - (answer) Those who create and maintain the
software
Stakeholders: Development managers (project coordinators) - (answer) Those who supervise the
software development process
Public ethics - (answer) Software engineers shall act consistently with the public interest
Client & employer ethic - (answer) Software engineers shall act in a manner that is in the best interests
of their client and employer consistent with the public interest
Product ethic - (answer) Software engineers shall ensure that their products and related modifications
meet the highest professional standards possible
Judgement ethic - (answer) Software engineers shall maintain integrity and independence in their
professional judgment
Management ethic - (answer) Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software development and maintenance
Profession ethic - (answer) Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest
Colleagues ethic - (answer) Software engineers shall be fair and supportive of their colleagues
, PURDUE CS 307 FINAL EXAM 2023-2024 ACTUAL EXAM 250 QUESTIONS AND CORRECT DETAILED
ANSWERS
Self ethic - (answer) Software engineers shall participate in lifelong learning regarding the practice of
their profession and shall promote an ethical approach to the practice of the profession
Responsibility ethic - (answer) Software engineers must commit themselves to making software
engineering a beneficial and respected profession
Software quality attributes - (answer) For product operation
For product revision
For product transition
Software quality attributes: Operation attributes - (answer) Correctness
Efficiency
integrity
Reliability
Usability
Operation attributes: Correctness - (answer) The degree to which a program satisfies the user's
requirements.
Operation attributes: Efficiency - (answer) The amount of computing resources, time and space,
required to perform a user-defined function or task
Operation attributes: Integrity - (answer) How well is the software and data protected from security
breaches and installation errors?
Operation attributes: Reliability - (answer) To what degree can the system be expected to perform its
intended function without failure in the user's environment?