Domain 8: Programming Concepts Flashcards
(37 cards)
Programming language instructions that are written in text must be translated into machine code before execution by the CPU
Source Code
Source code functions that can be called from classes other than the classes to which they belong
Private functions
Uses programs to assist in the creation and maintenance of other computer programs
Computer-aided software engineering (CASE)
- Type of Computer-aided software engineering (CASE) software
- Supports only specific task in the software-production process
Tools
- Type of Computer-aided software engineering (CASE) software
- Supports one or a few software process activities by integrating several tools in a single application
Workbenches
Type of Computer-aided software engineering (CASE) software
Support all or at least part of the software-production process with a collection of Tools and workbenches
Environments
A software development sequential model in which each phase is followed by the next phase
Waterfall Model
Similar to waterfall method but each phase overlaps
Sashimi Model
- Iterative and incremental process, rather than the linear process is found in other software development models
- Breaks up work into smaller units allowing work to be done more quickly with less upfront planning
Agile
- Agile development method
- Framework for product development that provides teams a means to establish a hypothesis of how they think something works , try it out, reflect on the experience, and make appropriate adjustments
Scrum
- Agile development method
- Programmers work in teams
- Relies on constant communication with customers and fellow programmers
XP (Extreme Programming)
Uses linear development concepts but adds an interactive process that revisits four phases multiple times during the development life cycle to gather more detailed requirements
Spiral
- Functional components of the code being developed in parallel and then integrated to produce the finishing product
- No planning phase; instead planning is done as a software is written
Rapid application Development (RAD)
Customer facing group that focuses on the entire lifecycle of a project
Integrated product team (IPT)
Allows an application to communicate with another web application, database, network, etc.
Application Programming Interface (API)
- Failure state implemented into a program
- Puts system into a high level of security until admin can diagnose the problem and restore the system to normal operation
- i.e. Blue Screen of Death in Windows OS
Fail-secure failure state
- Failure state implemented into a program
- Allows users to bypass failed security controls
Fail-open state
Provides a graphical illustration of a schedule that helps to plan, coordinate, and track specific tasks in a project
Gantt Charts
Project scheduling tool used to judge the size of a software product in development and calculate the standard deviation (SD) for risk assessment
Program Evaluation Review Technique (PERT)
- Software change management process
- Allows users to request modifications, managers can conduct cost/benefit analysis, and developers can prioritize tasks
Request Control
- Software change management process
- Used by developers to recreate the situation encountered by the user and analyze the appropriate changes to remedy the situation
Change control
- Software change management process
- Code is double checked and any code inserted as an programming aid during the change process (i.e. debugging code back doors) is removed before being pushed into production
Release control
What is the purpose of Configuration Management?
Process used to control the version(s) of software used throughout an organization and to formally track and control changes to the software configuration
- Configuration Management component
- Admins document the configuration of covered software products throughout the organization
Configuration Identification