Domain 8: Software Development Flashcards
What is machine code?
Machine code, also called machine language, is software that is executed directly by the central processing unit (CPU)
What is source code?
Source code is computer programming language instructions that are written in text that must be translated into machine code before execution by the CPU.
What is assembly language?
Assembly language is a low-level computer programming language. Assembly language instructions are short mnemonics, such as “ADD,” “SUB” (subtract), and “JMP” (jump), that match to machine language instructions
What is an assembler?
An assembler converts assembly language into machine language. A disassembler attempts to convert machine language into assembly.
What is a compiler?
Compilers take source code, such as C or Basic, and compile it into machine code
What is an interpreted language?
Interpreted languages are compiled on the fly each time the program is run
What is a bytecode?
Bytecode:
- An interpreted code, in intermediary form, converted from source code to interpreted, but still needs to be converted into machine code before it can run
What is CASE?
Computer-aided software engineering (CASE) uses programs to assist in the creation and maintenance of other computer programs
What are the three types of CASE software?
There are three types of CASE software:
- “Tools: support only specific task in the software-production process.
- Workbenches: support one or a few software process activities by integrating several tools in a single application.
- Environments: support all or at least part of the software-production process with a collection of Tools and Workbenches.
What is the waterfall model?
The waterfall model is a linear application development model that uses rigid phases; when one phase ends, the next begins. Steps occur in sequence, and the unmodified
waterfall model does not allow developers to go back to previous steps
Waterfall methodology is well suited for long, very clearly defined projects.
What is the sashimi model?
The sashimi model has highly overlapping steps; it can be thought of as a real-world successor to the waterfall model and is sometimes called the sashimi waterfall model
What are the four values in the agile manifesto?
Agile manifesto: We are uncovering better ways of developing software by doing it and helping
others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
What is scrum?
Scrum is a framework for managing software development. Scrum is designed for teams of approximately 10 individuals, and generally relies
on two-week development cycles, called “sprints”, as well as short daily stand-up meetings
What are the three core roles in the scrum framework?
The three core roles in the Scrum framework: Product owner, development team, scrum master
What are the 5 XP core practices?
XP core practices include:
• Planning: specifies the desired features, which are called the user stories. They are used to determine the iteration (timeline) and drive the detailed specifications.
• Paired programming: programmers work in teams.
• Forty-hour workweek: the forecasted iterations should be accurate enough to forecast how many hours will be required to complete the project. If programmers must put in additional overtime, the iteration must be flawed.
• Total customer involvement: the customer is always available and carefully monitors the project.
• Detailed test procedures: these are called unit tests.
What is the purpose of rapid application development?
Rapid application development (RAD) rapidly develops software via the use of prototypes, “dummy” GUIs, back-end databases, and more. The goal of RAD is quickly meeting the business need of the system, while technical concerns are secondary. The customer is heavily involved in the process.
What is an integrated product team?
An integrated product team (IPT) is a customer-focused group that focuses on the entire lifecycle of a project:
What is software escrow?
Software escrow describes the process of having a third-party store an archive of computer software. This is often negotiated as part of a contract with a proprietary
software vendor.
What are the 9 OWASP API controls?
The OWASP enterprise security API toolkits project includes these critical API controls:
- Authentication
- Access control
- Input validation
- Output encoding/escaping
- Cryptography
- Error handling and logging
- Communication security
- HTTP security
- Security configuration
What does a relational database contain?
The most common modern database is the relational database, which contain two dimensional tables, or relations, of related data. Tables have rows and columns; a row is a database record, called a tuple, and a column is called an attribute. A single cell (ie, intersection of a row and column) in a database is called a value. Relational databases require a unique value called the primary key in each tuple in a table.
What is a foreign key?
A foreign key is a key in a related database table that matches a primary key in a parent database table
What is referential integrity?
Referential integrity means that every foreign key in a secondary table matches a primary key in the parent table; if this is not true, referential integrity has been broken.
What is the purpose of database normalization?
Database normalization seeks to make the data in a database table logically concise, organized, and consistent. Normalization removes redundant data and improves the
integrity and availability of the database.
What is a database view? What is it used for?
Database tables may be queried; the results of a query are called a database view. Views may be used to provide a constrained user interface; for example, nonmanagement employees can be shown their individual records only via database views.
What are the two subsets of database query commands? What are they used for?
Database query languages have at least two subsets of commands: data definition language (DDL) and data manipulation language (DML). DDL is used to create, modify, and delete tables, while DML is used to query and update data stored in the tables.
What is a database journal?
A database journal is a log of all database transactions. Should a database become corrupted, the database can be reverted to a back-up copy and then subsequent
transactions can be “replayed” from the journal, restoring database integrity
What does database replication accomplish?
Database replication mirrors a live database, allowing simultaneous reads and writes to multiple replicated databases by clients
What is a shadow database and how does it differ from a replicated database?
A shadow database is similar to a replicated database with one key difference: a shadow database mirrors all changes made to a primary database, but clients do not access the shadow. Unlike replicated databases, the shadow database is one way
View answer to see OOP concepts as illustrated by Addy.
Here is a summary of OOP concepts illustrated by Addy:
• Object: Addy
• Class: Mathematical operators
• Method: Addition
• Inheritance: Addy inherits an understanding of numbers and math from his parent class mathematical operators. The programmer simply needs to program Addy to support the method of addition
• Example input message: 1+2
• Example output message: 3
• Polymorphism: Addy can change behavior based on the context of the input, overloading the + to perform addition, or concatenation, depending on the context
• Polyinstantiation: Two Addy objects (secret and top-secret), with different data
What are fourth generation languages?
4th Generation languages (4GL):
- Fourth-generation languages are designed to reduce programming effort and the time it takes to develop software, resulting in a reduction in the cost of software development.
- Increases the efficiency by automating the creation of machine code.
- Often uses a GUI, drag and drop, and then generating the code, often used for websites, databases and reports.
- Examples are ColdFusion, Progress 4GL, SQL, PHP, Perl
What are object request brokers used for?
Object request brokers (ORBs) can be used to locate objects because they act as object search engines. ORBs are middleware, which connects programs to programs.
When do buffer overflows occur?
Buffer overflows can occur when a programmer fails to perform bounds checking. This technique can be used to insert and run shellcode