PURDUE CS 307 FINAL EXAM ACTUAL EXAM 250 QUESTIONS AND
CORRECT DETAILED ANSWERS WITH RATIONALES (VERIFIED ANSWERS)
|ALREADY GRADED A+
What is software? - ANSWER: Computer programs, procedures, and possibly
associated documentation and data pertaining to the operation of a computer
system
Types of software - ANSWER: Applications (video games, spreadsheets, etc.)
System (OS, drivers, etc.)
Embedded (firmware, microcode)
Real Time (control & monitoring, often safety critical)
Types of software development - ANSWER: Custom
Generic
Embedded
What is 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)
Ways in which software engineering differs from other disciplines - ANSWER:
Abstract/logical vs. concrete/physical
Discrete vs. continuous math
Foundations in computer science not natural science
No "manufacturing" phase
Maintenance = evolution
Ways in which software engineering is similar to other disciplines - ANSWER: Series
of decisions
Trade-off analysis conducted
Work quantitatively
Calibrate measurements
Use approximations based on experience and empirical data
Emphasize disciplined process
Multiple roles for engineer
Use tools
Advance field through professional societies
Ethical categories - ANSWER: Public
Client & Employer
Product
Judgement
Management
Profession
,Colleagues
Self
Responsibility
Public ethic - 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
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
Stakeholders - ANSWER: Users
Customers
Developers
Managers
Software quality attributes - ANSWER: For product operation
For product revision
For product transition
Operation attributes - ANSWER: Correctness, Efficiency, Integrity, Reliability,
Usability
Correctness - ANSWER: The degree to which a program satisfies the user's
requirements
, Efficiency - ANSWER: The amount of computing resources, time and space, required
to perform a user-defined function or task
Integrity - ANSWER: How well is the software and data protected from security
breaches and installation errors
Reliability - ANSWER: To what degree can the system be expected to perform its
intended function without failure in the user's environment
Usability (Operation attributes) - ANSWER: How much effort do the users have to
spend learning to use the system efficiently
Revision attributes - ANSWER: Flexibility
Maintainability
Testability
Flexibility (Operation attributes) - ANSWER: How much effort will be required to
enhance the system
Maintainability - ANSWER: How much effort will be required to locate and repair
defects in the system
Testability - ANSWER: How much effort will be required to test the structure and
functionality of the system
Transition attributes - ANSWER: Interoperability
Portability
Reusability
Interoperability - ANSWER: How much effort will be required to link this program or
system to another
Portability (Transition attributes) - ANSWER: How much effort will it take to transfer
a program or system from one machine to another
Reusability - ANSWER: To what extent can the design, or system modules be used in
other applications
How much effort will it take to reuse them
Software development cycle phases - ANSWER: Requirements phase
Design phase
Implementation phase
Test phase
Installation and checkout phase
Software life cycle models - ANSWER: Code and fix
CORRECT DETAILED ANSWERS WITH RATIONALES (VERIFIED ANSWERS)
|ALREADY GRADED A+
What is software? - ANSWER: Computer programs, procedures, and possibly
associated documentation and data pertaining to the operation of a computer
system
Types of software - ANSWER: Applications (video games, spreadsheets, etc.)
System (OS, drivers, etc.)
Embedded (firmware, microcode)
Real Time (control & monitoring, often safety critical)
Types of software development - ANSWER: Custom
Generic
Embedded
What is 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)
Ways in which software engineering differs from other disciplines - ANSWER:
Abstract/logical vs. concrete/physical
Discrete vs. continuous math
Foundations in computer science not natural science
No "manufacturing" phase
Maintenance = evolution
Ways in which software engineering is similar to other disciplines - ANSWER: Series
of decisions
Trade-off analysis conducted
Work quantitatively
Calibrate measurements
Use approximations based on experience and empirical data
Emphasize disciplined process
Multiple roles for engineer
Use tools
Advance field through professional societies
Ethical categories - ANSWER: Public
Client & Employer
Product
Judgement
Management
Profession
,Colleagues
Self
Responsibility
Public ethic - 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
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
Stakeholders - ANSWER: Users
Customers
Developers
Managers
Software quality attributes - ANSWER: For product operation
For product revision
For product transition
Operation attributes - ANSWER: Correctness, Efficiency, Integrity, Reliability,
Usability
Correctness - ANSWER: The degree to which a program satisfies the user's
requirements
, Efficiency - ANSWER: The amount of computing resources, time and space, required
to perform a user-defined function or task
Integrity - ANSWER: How well is the software and data protected from security
breaches and installation errors
Reliability - ANSWER: To what degree can the system be expected to perform its
intended function without failure in the user's environment
Usability (Operation attributes) - ANSWER: How much effort do the users have to
spend learning to use the system efficiently
Revision attributes - ANSWER: Flexibility
Maintainability
Testability
Flexibility (Operation attributes) - ANSWER: How much effort will be required to
enhance the system
Maintainability - ANSWER: How much effort will be required to locate and repair
defects in the system
Testability - ANSWER: How much effort will be required to test the structure and
functionality of the system
Transition attributes - ANSWER: Interoperability
Portability
Reusability
Interoperability - ANSWER: How much effort will be required to link this program or
system to another
Portability (Transition attributes) - ANSWER: How much effort will it take to transfer
a program or system from one machine to another
Reusability - ANSWER: To what extent can the design, or system modules be used in
other applications
How much effort will it take to reuse them
Software development cycle phases - ANSWER: Requirements phase
Design phase
Implementation phase
Test phase
Installation and checkout phase
Software life cycle models - ANSWER: Code and fix