Software Development Flashcards

1
Q

Software development methodology wherein a system is developed incrementally with repeated cycles of design, implementation, and testing.

This methodology emphasizes continuous delivery of working software that is developed, tested, and fixed over short intervals that are referred to as iterations or sprints which are typically 1 to 3 weeks in duration.

This methodology is guided by a set of 4 simple principals:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan.
A

Agile Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The practice of writing compound words or phrases such that each work or abbreviation begins with a capital letter.

A

Camel Case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The term used in a try/catch programming block used to “______” and handle errors or exceptions as they occur during the execution of a program.

A

Catch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Single lines or blocks of lines intended for documentation inside a program that describe a section of code and is not “seen” by the computer.

A

Comments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In programming, this is an agreed upon style of writing code by using indentation, capitalization practices, and use of meaningful identifier names to improve the readability of code.

A

Conventions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

The process of including comments inside of a program that are non-executable, but help explain a section of code to help someone trying to learn about the program more quickly understand what it does.

A

Documentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A program is considered this if it won’t crash, regardless of bad input of missing files or some other such bad situations that it might encounter.

Several ways to ensure that a program can overcome adverse conditions is through the use of unit testing, input protection, data validation, and exception handling.

A

Robust Programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A program is made up of many parts, each of which performs a crucial task. This is the process of testing each individual process to make sure the task it is performing is working in all possible conditions, so that when it is incorporated into the larger process, its function is flawless.

A

Unit Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

These two ideas go hand in hand in the development of a robust software package. Protecting against bad data entering a software process includes some way of testing a piece of data to make sure it is in the proper form, such as making sure that someone’s name is actually a string of characters, and not a numeric value, or that someone’s age is indeed a valid number, and not a word or phrase.

A

Input Protection and Data Validation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

An error in programming is that “thrown” when something bad happens in a program, usually during runtime. Generally there are two types: checked and unchecked, checked meaning they are checked during compile time, and unchecked when they are thrown during runtime.

A

Exception

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

An exception is an error, plain and simple, that might occur during the execution of a program. A program developer must consider all possible ways that something might break a program, and then protect against that possibility. A robust program is one where all possible “bad” scenarios have been considered and “handled.”

A

Exception Handling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A program design methodology that allows the system developer to define the system software in convenient stages.

A

Incremental Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Programming constructions that are devised to simplify the logic of detecting invalid data. Examples include try, catch blocks, and assertions.

A

Input Protection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Part of the documentation process in programming, this is often listed in describing the expected state prior to the execution of a method or function in the program, in order for that method to properly execute. For example, the precondition for a binary search is the list provided is in natural ascending order.

A

Postcondition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A term used to describe the effort a programmer should take to make source code easy to read and easy to understand. Good organization of the code and meaningful variable names help readability, and liberal use of comments can help the reader understand what the program does and why.

A

Programming Style

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

By choosing variable names wisely and following a set of agreed upon best practices for formatting, a program is more readable, which means it is easier to understand, debug, and extend.

A

Readability

17
Q

A process, system, organization, etc. able to withstand or overcome adverse conditions.

A

Robust

18
Q

A risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, this model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.

A

Spiral Development

19
Q

A text listing of commands in a high level programming language to be compiled, interpreted, or assembled into an executable computer program.

A

Source Code

20
Q

An exception handling process in programming where possible error generating situations are smoothly handled during execution, where the situation is enclosed inside the try section, and one or more catches are built in to handle the possible errors that may occur. This is a key feature in making very large programs robust and error free.

A

Try/Catch Block

21
Q

This model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards through the phases of conception, initiation, analysis, design, construction, testing, production, implementation, and maintenance. There is no going back once a phase is complete in this model.

A

Waterfall Design