Software Engineering Flashcards
The intent of a computer program is to solve a particular type of problem. In this end solution to a problem, two components typically exist; what are they?
Algorithm and data
(T/F) The primary purpose of the testing phase in the life cycle of software is to prove the code is correct.
F, it is to test the code to find errors
What are the two aspects to the maintenance phase of software?
fixing and enhancing
Abstraction is the separation of the _____ of a module from its ______.
purpose and implementation
What is an ADT from a programmers perspective?
data and operations
List two ways discussed in class to make your code more modifiable.
functions and comments
The _____ phase in the software life cycle should take the shortest amount of time in general.
coding
The branch of computer science that provides techniques, theories and methodologies for software construction is called ______.
software engineering
An argument passed as a _____ parameter will pass the actual address of the argument, while an argument passed as a ______ parameter simply passes the data stored in the argument.
reference and value
A ________ is a construct you can define within a programming language to store a collection of data. An array would be an example.
data structure
What makes a good program?
- Meets it’s specifications
- Cost is minimal over its life cycle
- Efficient
- Maintenance friendly
- Reliable
What is the Software Life Cycle?
- Specification
- Design
- Coding
- Testing
- Refinement
- Production
- Maintenance
What is Specification in the life cycle?
What is the software to do?
What is Design in the life cycle?
How will it be done?
What is Coding in the life cycle?
syntax debugging
What is Testing in the life cycle?
finding errors
What is Refinement in the life cycle?
fix errors in logic (recode, retest)
What is Production in the life cycle?
people start using it
What is Maintenance in the life cycle?
fixing errors and enhancing
What is the Rational Unified Process (RUP)?
- Inception
- Elaboration
- Construction
- Transition
What is Inception in RUP?
feasibility, time and cost estimates
What is Elaboration in RUP?
more specific, determine iterations, core architecture
What is Construction in RUP?
iterative development
What is Transition in RUP?
testing and deployment of system, beta testing