SUBJECTS
|
BROWSE
|
CAREER CENTER
|
POPULAR
|
JOIN
|
LOGIN
Business Skills
|
Soft Skills
|
Basic Literacy
|
Certifications
About
|
Help
|
Privacy
|
Terms
Search
Test your basic knowledge |
Software Engineering Principles
Start Test
Study First
Subjects
:
engineering
,
it-skills
Instructions:
Answer 50 questions in 15 minutes.
If you are not ready to take this test, you can
study here
.
Match each statement with the correct term.
Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.
This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. What is requirements specification?
The program meets the demands of time or space in memory.
Defines the stepwise refinement approach to object- oriented design suggested by Grady Booch. First - the tangible items and events in the problem domain are identified and assigned to candidate classes and objects. Next - the external properties and
The program's inputs and outputs should be readable and understandable to users.
Specifying what the program must do (the functional requirements) and the constraints on the solution approach (non - functional requirements - such as what language to use).
2. What is top- down stepwise refinement?
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
Testing a program or function based on the possible input values - treating the code as a 'black box.'
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
The approach in which the problem is first broken down into several large parts. Each of these parts is - in turn - divided into sections - the sections are subdivided - and so on. Details are deferred as long as possible.
3. What is a software specification?
Re- execution of program tests after modifications have been made to ensure that the program still works correctly.
A detailed description of the function - inputs - processing - outputs - and special requirements of a software product; it provides the information needed to design and implement the program.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
Making changes to fix operational errors and to add or modify the function of the program.
4. What is information hiding?
A statement of what is to be provided by a computer system or software product.
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
Determining exactly what the program must do.
5. What is white- box testing?
Determining exactly what the program must do.
Reusing objects and processes to implement more complex objects and processes.
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
Also called clear- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
6. What is a detailed specification?
A formal definition of the problem your program must solve.
Understanding the nature of the problem to be solved.
This is the idea that program verification activities can be performed throughout the program's life cycle - not just by testing the program after it is coded.
[Input] All values from 1 to 100. [Expected Output] For input 0-59 => F. For input 60-69 => D. For input 70-79 => C. For input 80-89 => B. For input 90-100 => A.
7. What is requirements elicitation?
Tracing an execution of a design or program on paper.
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
Determining exactly what the program must do.
This program design approach encourages programming in logical action units - called functions. The main module of the design becomes the main program (also called the main function) - and subsections develop into functions. This is top- down stepwis
8. What is the relationship between the cost of error correction in software development and where/when errors are detected in terms of the software life cycle?
A shared body of knowledge.
When you create your code - you break the problem into units called modules. Unit testing tests each individual module by itself. Later - you combine the working units together. Integration testing tests the group of units to see if they work togethe
Research has shown that the sooner you detect an error - the lest costly it will be to fix it. catching an error near the end of the software life cycle can be 100 times more costly that catching it at the beginning.
This is the idea that program verification activities can be performed throughout the program's life cycle - not just by testing the program after it is coded.
9. What is metric- based testing?
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
Testing based on measurable factors.
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
10. What is software engineering?
The discipline devoted to the design - production - and maintenance of computer programs that are developed on time and within cost estimates - using tools that help to manage the size and complexity of the resulting software products.
It is possible to carry out exhaustive data coverage for this program.
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
The double colon operator (::).
11. What is information hiding and why is it considered a good software development practice.
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
A formal definition of the problem your program must solve.
Also called an object. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
12. Differentiate between unit testing and integration testing.
To take an object and move it from a general perspective to a precise level of detail. Variations of stepwise refinement include: top- down - bottom- up - functional decomposition - and even 'round- trip gestalt design.'
A property when changes within a module do not result in changes in the modules that use it.
The process of removing known errors.
Unit testing is the testing of a single unit of the program (for instance - a function). Integration testing is the testing of groups of already tested units to make sure that they interact correctly and that the whole program works according to its
13. What is a hierarchy of tasks?
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
Reusing objects and processes to implement more complex objects and processes.
A structure of tasks with a main module and subsections.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
14. What is the extraction operator?
A logical set of discrete steps that describes a complete solution to a given problem - computable in a finite amount of time.
Two greater than symbols [>>].
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
The approach in which the problem is first broken down into several large parts. Each of these parts is - in turn - divided into sections - the sections are subdivided - and so on. Details are deferred as long as possible.
15. What is implementation of the design?
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
The process of executing a program with data sets designed to discover errors.
A code segment that is not always executed; for example - a switch statement has as many branches as there are case labels.
Coding a program in a computer language.
16. What is a test plan?
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
Determining exactly what the program must do.
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
17. Name some software tools that you have used in developing computer programs.
Tracing an execution of a design or program on paper.
A code segment that is not always executed; for example - a switch statement has as many branches as there are case labels.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
Also called an object. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
18. What is a test driver?
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
A program that sets up the testing environment by declaring and assigning initial values to variables - then calls the subprogram to be tested.
The set of valid input data for a program or function.
Understanding the nature of the problem to be solved.
19. Explain what we mean by 'ideaware'.
Research has shown that the sooner you detect an error - the lest costly it will be to fix it. catching an error near the end of the software life cycle can be 100 times more costly that catching it at the beginning.
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
A shared body of knowledge.
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
20. What is a technique used by good problem solvers for dealing with complexity?
Abstraction
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
The program's inputs and outputs should be readable and understandable to users.
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
21. What is an algorithm?
The process of determining the degree to which software fulfills its intended purpose.
A logical set of discrete steps that describes a complete solution to a given problem - computable in a finite amount of time.
A structure of tasks with a main module and subsections.
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
22. What are requirements?
An unusual - generally unpredictable event - detectable by software or hardware - that requires special processing; the event may or may not be erroneous.
A statement of what is to be provided by a computer system or software product.
Research has shown that the sooner you detect an error - the lest costly it will be to fix it. catching an error near the end of the software life cycle can be 100 times more costly that catching it at the beginning.
When every statement in the program is executed at least once.
23. A program is to read in a numeric score (0 to 100) and display an appropriate letter grade (A - B - C - D - or F). Is exhaustive data coverage possible for this program?
The discipline devoted to the design - production - and maintenance of computer programs that are developed on time and within cost estimates - using tools that help to manage the size and complexity of the resulting software products.
A combination of branches that might be traversed when a program or function is executed.
It is possible to carry out exhaustive data coverage for this program.
The set of valid input data for a program or function.
24. What is a module?
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
A cohesive system subunit that performs a share of the work.
C++ classes promote information hiding. You can declare private functions and private variables that don't need to be accessable to use the class.
Determining exactly what the program must do.
25. What is an object?
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
Abstraction
This program design approach encourages programming in logical action units - called functions. The main module of the design becomes the main program (also called the main function) - and subsections develop into functions. This is top- down stepwis
26. What is a stub?
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
To 'do it right' to meet its requirements.
A special function that can be used in top- down testing to stand in for a lower- level function.
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
27. What is delivery?
A statement of what is to be provided by a computer system or software product.
Specifying what the program must do (the functional requirements) and the constraints on the solution approach (non - functional requirements - such as what language to use).
Turning over the tested program to the customer or user (or instructor!).
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
28. What is testing and verification?
Detecting and fixing errors and demonstrating the correctness of the program.
Simple statements like do this - then do this - then do that.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
It is possible to carry out exhaustive data coverage for this program.
29. What is a hierarchy of objects?
Also called clear- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
A detailed description of the function - inputs - processing - outputs - and special requirements of a software product; it provides the information needed to design and implement the program.
Abstraction
Reusing objects and processes to implement more complex objects and processes.
30. What is functional decomposition?
Defines the stepwise refinement approach to object- oriented design suggested by Grady Booch. First - the tangible items and events in the problem domain are identified and assigned to candidate classes and objects. Next - the external properties and
A statement of what is to be provided by a computer system or software product.
This program design approach encourages programming in logical action units - called functions. The main module of the design becomes the main program (also called the main function) - and subsections develop into functions. This is top- down stepwis
You can test the software to see if the correct outcome occurs
31. Give examples of the relationship between the cost of error correction in software development and when/where errors are detected in terms of the software life cycle.
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
A program that sets up the testing environment by declaring and assigning initial values to variables - then calls the subprogram to be tested.
The approach in which the problem is first broken down into several large parts. Each of these parts is - in turn - divided into sections - the sections are subdivided - and so on. Details are deferred as long as possible.
Actually using the program.
32. What does efficient mean?
The program meets the demands of time or space in memory.
When every statement in the program is executed at least once.
A special function that can be used in top- down testing to stand in for a lower- level function.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
33. What is problem analysis?
Understanding the nature of the problem to be solved.
This is the idea that program verification activities can be performed throughout the program's life cycle - not just by testing the program after it is coded.
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
34. What is unit testing?
To 'do it right' to meet its requirements.
It is possible to carry out exhaustive data coverage for this program.
Testing a module or function by itself.
Also called an object. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
35. What is abstraction?
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
A detailed description of the function - inputs - processing - outputs - and special requirements of a software product; it provides the information needed to design and implement the program.
Two less than symbols [<<].
36. What is clear- box testing?
Research has shown that the sooner you detect an error - the lest costly it will be to fix it. catching an error near the end of the software life cycle can be 100 times more costly that catching it at the beginning.
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
A structure of tasks with a main module and subsections.
37. What is debugging?
Determining exactly what the program must do.
The process of removing known errors.
Tracing an execution of a design or program on paper.
A logical set of discrete steps that describes a complete solution to a given problem - computable in a finite amount of time.
38. What is deskchecking?
The approach in which the details come first. After the detailed components are identified and designed - they are brought together into increasingly higher- level components.
A structure of tasks with a main module and subsections.
Tracing an execution of a design or program on paper.
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
39. What is a class?
Also called an object. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
Making changes to fix operational errors and to add or modify the function of the program.
[Input] All values from 1 to 100. [Expected Output] For input 0-59 => F. For input 60-69 => D. For input 70-79 => C. For input 80-89 => B. For input 90-100 => A.
Abstraction
40. What is the scope resolution operator?
A logical proposition that can be true or false.
The double colon operator (::).
A special function that can be used in top- down testing to stand in for a lower- level function.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
41. What is the unified modeling language (UML)?
The process of executing a program with data sets designed to discover errors.
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
Determining exactly what the program must do.
Testing a program or function based on the possible input values - treating the code as a 'black box.'
42. What is the insertion operator?
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
The process of removing known errors.
A combination of branches that might be traversed when a program or function is executed.
Two less than symbols [<<].
43. What is the difference between an object and an object class?
Coding a program in a computer language.
The approach in which the problem is first broken down into several large parts. Each of these parts is - in turn - divided into sections - the sections are subdivided - and so on. Details are deferred as long as possible.
An object is an individual while a class is a description of a group of objects with similar properties and behaviors. Labrador dogs is an example of a class and Maggie is an example of an object.
A cohesive system subunit that performs a share of the work.
44. What are postconditions?
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
The program meets the demands of time or space in memory.
A verification method in which a team performs a manual simulation of the program or design.
The functional domain consists of the whole numbers from 0 to 100.
45. What are software requirements?
This is the idea that program verification activities can be performed throughout the program's life cycle - not just by testing the program after it is coded.
A statement of what is to be provided by a computer system or software product.
The program meets the demands of time or space in memory.
The process of removing known errors.
46. Explain the phrase 'life- cycle verification.'
47. What is program verification?
The process of determining the degree to which a software product fulfills its specifications.
Understanding the nature of the problem to be solved.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
Abstraction
48. How can you verify the correctness of the software you develop?
You can test the software to see if the correct outcome occurs
Coding a program in a computer language.
Specifying what the program must do (the functional requirements) and the constraints on the solution approach (non - functional requirements - such as what language to use).
The process of executing a program with data sets designed to discover errors.
49. What is testing?
The process of executing a program with data sets designed to discover errors.
A testing technique whereby the tester tries to execute all possible paths in a program or function.
Making changes to fix operational errors and to add or modify the function of the program.
Determining exactly what the program must do.
50. A program is to read in a numeric score (0 to 100) and display an appropriate letter grade (A - B - C - D - or F). Devise a test plan for this program.
[Input] All values from 1 to 100. [Expected Output] For input 0-59 => F. For input 60-69 => D. For input 70-79 => C. For input 80-89 => B. For input 90-100 => A.
An object is an individual while a class is a description of a group of objects with similar properties and behaviors. Labrador dogs is an example of a class and Maggie is an example of an object.
The process of testing the system in its real environment with real data.
C++ classes promote information hiding. You can declare private functions and private variables that don't need to be accessable to use the class.