Day 1 Flashcards
Define: Software Development Life Cycle
systematic approach to understand customer’s needs
What are the four phases of the SDLC?
- Requirements
- Design
- Testing and Deployment
- Support
Explain important aspects of Requirements Phase
- customer wants/needs
- Functional requirements
- Data requirements (data meaning and structure)
- Limitations of the systems, network, and policies
Explain: Design Phase
acceptable solution by analyzing requirements, developing step by step solution to the problem, and writing software.
Three Stages of Design Phase
- Requirements Analysis- reviewed to solve customer’s problem (limitations and expectations)
- Program Design - step by step solution (maps solution with programming techniques), requirements analysis. Verify program functionality. (flowcharts and pseudocode)
- Coding- test cases executed after every code module to verify code functionality.
Testing and Deployment Phase
ensures that the software meets the end users needs.
3 types of testing in T&D phase
- Unit testing- done by programmer
- QA Testing - done by someone other than the programmer
- Beta Testing- release version is made and delivered to customer. Done with limited group of customers when the system is put into action with real data on a real system
Support Phase
provides software maintenance for the deployed product. Keeps program relevant, secure, and up to date.
What are the four software maintenance categories?
- Corrective
- Adaptive
- Perfective
- Preventive
Define: Corrective maintenance
Reactive modification of a software produce performed to correct discovered problems
Define: Adaptive maintenance
modification of a software product to keep a software product usable in a changed or changing environment. (e.g. OS updates)
Define: Perfective
Modification of a software product to improve/enhance performance or maintainability (e.g. algorithm efficiency)
Define: Preventive
Modification of a software product to detect and correct latent faults before they become effective faults (e.g. testing done by the developer to prevent bugs)
Define: Debugging
methodical process of finding and reducing the number of bugs in a computer program.
What are the 3 common methods of debugging?
- Debugger or Debugging Tool- program that allows a programmer to step through program one line at a time. (remember popular debugger IDA)
- Print Statements- added to display program state, variable values, or markers to identify where issues reside
- Logs- Instead of printing to screen, the program prints the program state to a log file.