Domain 4 - Software Development Security Flashcards
An agile development method that uses pairs of programmers who work off a detailed specification
Extreme Programming (XP)
In Software Development Security, a black box that combines code and data and sends and receives messages
Object
Changes the older procedural programming methodology and treats a program as a series of connected objects that communicate via messages
Object-Oriented Programming
Programming Languages that use subroutines, procedures, and functions
Procedural Languages (eg. Basic, C, Fortran, Pascal)
A software development model designed to control risk.
Spiral Model
A development model that focuses on security in every phase
Software Delevelopment Life Cycle
An application development model that uses rigid phases; when one phase ends, the next begins
Waterfall Model
Is a software that is executed directly by the CPU
Machine Code or Machine Language
Is a comput prgramming language instructions that are written in text that must that must be translated to machine code before execution by the CPU
Source Code
Is low level programming language
Assembly Language
This converts assembly language into machine language
Assembler
This attempts to convert machine language into assembly
Disassembler
This take source code, such as C or Basic and compile it into machine code
Compilers
A code that is compiled on the fly each time the program is run
Interpreted code. (eg. Perl, Object-Oriented Programming
Object-Oriented Programming
Is a platform independent code that is converted into machine code by the Java Virtual Machine (JVM)
Java Bytecode
These are computr languages that are designed to increase a programmer’s efficiency by automating the creation of computer programming code.
Fourth Generation Language (4GL)
This uses programs to assist in the creation and maintenance of other computer programs
Computer-Aided software engineering (CASE)
Is programming method where it starts with the broadest and highest level requirements (the concept of the final program) and works down toward low-level technical implementation details
Top Down
Reverse of Top Down approach in programming
Bottom-up
Is a software that is typically released in excutable form while the source code is kept confidential.
Closed Software
Is software where its source code is published publicly
Open Source
Is a software that is subject to intellectual property protections such as patents and copyrights
Proprietary Software
A software that is free of charge to use
Freeware
A fully proprietary software that maybe initially use free for a period of time
shareware
Is partially functioning proprietary software, often with key features disable. User typically make a payment to unlock those features
Crippleware
Its a development model that has highly overlapping steps
Sashimi (like japanese overlapping of fish)
What are the XP core practices?
Planning Paired Programming Forty hour workweek Total Customer Involvement Detailed Test Procedures
A rapidly develops software via the use of prototypes, dummy GUI’s, back end databases and more. It’s aim is to quickly meeting business needs of the system; technical concerns are secondary.
Rapid Action Development
is an iterative approach that breaks projects into smaller tasks, creating multiple mockups(prototypes) of system design features
Prototyping
Steps of SDLC Process
- Inititation
- System Concept DEvelopment
- Planning
4, Requirements Analaysis
- Design
- Development
- Integration and Test
- Implmentation
- Operations and Maintenance
- Disposition
This describes the process of having a third party store an archive of computer software
Software Escrow
In OOP. this has the ability of performing different methods depending on the context of the input message
Polymorphism (many forms)
In OOP, a method where two instances (specific objects) with the same names that contain different date
Polyinstantiation (many instances)
A concept used to describe an object that reuires losts of otehr objects to perform basic jobs
Coupling
A concept used to describe an object that can perform most functions independently
Cohesion
A middleware that connect programs to programs. They can be udr to locate objects acting as object search engine.
Object Request Broker (ORB)
Common Object brokers (ORB) includes
COM, DCOM, CORBA