SUBJECTS
|
BROWSE
|
CAREER CENTER
|
POPULAR
|
JOIN
|
LOGIN
Business Skills
|
Soft Skills
|
Basic Literacy
|
Certifications
About
|
Help
|
Privacy
|
Terms
|
Email
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?
Determining exactly what the program must do.
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).
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
Also called robustness. The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
2. What is program validation?
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.
The process of determining the degree to which software fulfills its intended purpose.
Making changes to fix operational errors and to add or modify the function of the program.
Determining exactly what the program must do.
3. 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
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
To 'do it right' to meet its requirements.
4. What is information hiding?
You can test the software to see if the correct outcome occurs
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
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.
A verification method in which one member of a team reads the program or design line by line and the other members point out errors.
5. What is a software specification?
Detecting and fixing errors and demonstrating the correctness of the program.
Actually using the program.
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 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.
6. What is high- and low- level design?
7. 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.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
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
Testing performed to integrate program modules that have already been independently unit tested.
8. What is round- trip gestalt design?
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
[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.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
The program meets the demands of time or space in memory.
9. What are preconditions?
A notational tool that helps us determine our initial designs. CRC cards always contain information about the class name - responsibilities of the class and collaborations. CRC cards are great tools for refining an object- oriented design - especiall
The double colon operator (::).
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
It is possible to carry out exhaustive data coverage for this program.
10. Give a specific C++ language attribute that supports information hiding.
11. What is a walk- through?
Also called clear- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
A verification method in which a team performs a manual simulation of the program or design.
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
12. What are postconditions?
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
It is possible to carry out exhaustive data coverage for this program.
To 'do everything' specified to meet its requirements.
Testing a program or function based on the possible input values - treating the code as a 'black box.'
13. What is stepwise refinement?
14. What does correct mean?
15. What is an assertion?
A logical proposition that can be true or false.
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
Tracing an execution of a design or program on paper.
The double colon operator (::).
16. 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.
Turning over the tested program to the customer or user (or instructor!).
The process of removing known errors.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
17. What is the extraction operator?
Testing a program or function based on the possible input values - treating the code as a 'black box.'
Two greater than symbols [>>].
A cohesive system subunit that performs a share of the work.
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.
18. 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
Turning over the tested program to the customer or user (or instructor!).
Also called clear- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
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
19. What is robustness?
Testing performed to integrate program modules that have already been independently unit tested.
The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
A statement of what is to be provided by a computer system or software product.
The program's inputs and outputs should be readable and understandable to users.
20. What is regression testing?
Simple statements like do this - then do this - then do that.
The process of executing a program with data sets designed to discover errors.
Re- execution of program tests after modifications have been made to ensure that the program still works correctly.
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
21. What is an object?
[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.
The process of testing the system in its real environment with real data.
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
A formal definition of the problem your program must solve.
22. What is functional decomposition?
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
The process of determining the degree to which software fulfills its intended purpose.
The program meets the demands of time or space in memory.
The process of determining the degree to which a software product fulfills its specifications.
23. 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?
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.
Reusing objects and processes to implement more complex objects and processes.
Two greater than symbols [>>].
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
24. What does usable mean?
25. What are functional subproblems?
A notational tool that helps us determine our initial designs. CRC cards always contain information about the class name - responsibilities of the class and collaborations. CRC cards are great tools for refining an object- oriented design - especiall
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.
Simple statements like do this - then do this - then do that.
Determining exactly what the program must do.
26. What is fault tolerance?
Coding a program in a computer language.
Also called robustness. The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
A logical proposition that can be true or false.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
27. What is requirements elicitation?
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 statement of what is to be provided by a computer system or software product.
Determining exactly what the program must do.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
28. What is deskchecking?
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.
Tracing an execution of a design or program on paper.
The process of determining the degree to which a software product fulfills its specifications.
To 'do everything' specified to meet its requirements.
29. What is an algorithm?
Two greater than symbols [>>].
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.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
30. The difference between unit testing and integration testing.
The program's inputs and outputs should be readable and understandable to users.
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
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
Testing based on measurable factors.
31. What is a path?
Simple statements like do this - then do this - then do that.
Testing a program or function based on the possible input values - treating the code as a 'black box.'
A combination of branches that might be traversed when a program or function is executed.
Coding a program in a computer language.
32. What are the goals of quality software?
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).
A property when changes within a module do not result in changes in the modules that use it.
(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
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
33. What is an exception?
An unusual - generally unpredictable event - detectable by software or hardware - that requires special processing; the event may or may not be erroneous.
A verification method in which one member of a team reads the program or design line by line and the other members point out errors.
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
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
34. What is implementation of the design?
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 model of a complex system that includes only the details essential to the perspective of the viewer of the system.
Coding a program in a computer language.
C++ classes promote information hiding. You can declare private functions and private variables that don't need to be accessable to use the class.
35. What is bottom- up stepwise refinement?
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.
Understanding the nature of the problem to be solved.
Determining exactly what the program must do.
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
36. What is loose coupling?
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
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.
A property when changes within a module do not result in changes in the modules that use it.
A cohesive system subunit that performs a share of the work.
37. What is the software process?
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
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.
The process of removing known errors.
A combination of branches that might be traversed when a program or function is executed.
38. 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?
A logical set of discrete steps that describes a complete solution to a given problem - computable in a finite amount of time.
A logical proposition that can be true or false.
It is possible to carry out exhaustive data coverage for this program.
Two greater than symbols [>>].
39. Differentiate between unit testing and integration testing.
Tracing an execution of a design or program on paper.
A shared body of knowledge.
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).
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
40. What is delivery?
Testing a program or function based on the possible input values - treating the code as a 'black box.'
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
Turning over the tested program to the customer or user (or instructor!).
The functional domain consists of the whole numbers from 0 to 100.
41. What is integration testing?
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.
Testing performed to integrate program modules that have already been independently unit tested.
To 'do everything' specified to meet its requirements.
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.
42. What is the difference between an object and an object class?
Tracing an execution of a design or program on paper.
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.
Turning over the tested program to the customer or user (or instructor!).
A notational tool that helps us determine our initial designs. CRC cards always contain information about the class name - responsibilities of the class and collaborations. CRC cards are great tools for refining an object- oriented design - especiall
43. What is metric- based testing?
A property when changes within a module do not result in changes in the modules that use it.
Re- execution of program tests after modifications have been made to ensure that the program still works correctly.
Testing based on measurable factors.
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.
44. What is maintenance?
Simple statements like do this - then do this - then do that.
A testing technique whereby the tester tries to execute all possible paths in a program or function.
The process of determining the degree to which software fulfills its intended purpose.
Making changes to fix operational errors and to add or modify the function of the program.
45. What is the scope resolution operator?
The double colon operator (::).
A shared body of knowledge.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
46. What is implementing a test plan?
Running the program with the test cases listed in the test plan.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
The set of valid input data for a program or function.
When every statement in the program is executed at least once.
47. What are requirements?
A statement of what is to be provided by a computer system or software product.
The process of removing known errors.
The process of determining the degree to which a software product fulfills its specifications.
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.
48. What does complete mean?
49. What is problem analysis?
Understanding the nature of the problem to be solved.
Actually using the program.
You can test the software to see if the correct outcome occurs
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.
50. How can you verify the correctness of the software you develop?
To 'do it right' to meet its requirements.
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).
A verification method in which a team performs a manual simulation of the program or design.
You can test the software to see if the correct outcome occurs