UNIT 4 - chapter 9 Flashcards

1
Q

Assembly language

A
  • The programmer must manually manage the movement of data items between and among memory locations and registers ( although such data items can be assigned mnemonic names).
  • The programmer must take a microscopic view of a task, breaking it down into tiny subtasks at the level of what is going on in individual memory locations.
  • An assembly language program is machine specific.
  • Statements are not natural-language-like(although operations are given mnemonic code words as an improvement over a string of bits).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

High-level language ( expectations)

A

The programmer need not to manage the details of the movement of data items within memory or pay any attention to exactly where those items are stored.
The programmer can take a macroscopic view of tasks, thining at a higher level of problem solving ( add B and C, and call the result. A) The “primitive operations” used as building blocks in algorithm construction can be larger.
Programs are portable rather than machine specific.
Programming statements are closer to natural language and use standard mathematical notation.

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

High-level programming languages are often called

A

third-generation languages.

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

Compiler

A

A translator that converts high-level language instructions into machine language instructions.

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

high-level language instructions are

A

usually the source code

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

linker

A

a system software that inserts requested object code from code libraries into the object code for the requesting program.

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

procedural languages ( also called imperative languages)

A

A program written in a procedural language consists of sequences of statements that manipulate data items. The programmer’s task is to devise the appropriate step-by-step sequence of “ imperative commands” - instructions in the programming language - that, when carried out by the computer, accomplish the desired task.

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

the syntax and semantics of high-level languages

A

rules ( syntax) for exactly how statements must be written and the meaning ( semantics) of correctly written statements.

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

software development life-cycle

A

the overall sequence of steps needed to complete a large-scale software project.

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

Steps in the software development life-cycle

A

1) Before implementation
- Feasibility study
- Problem specification
- Algorithm selection or development, and analysis
2) implementation
- coding
debugging
3) Aftern implementation
- testing, verification, and benchmarking
- documenting
- maintenance

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

Feasibility study

A

evaluates a proposed project and compares the costs and benefits of various solutions.

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

Problem specification

A

involves developing a clear, concise, and unambiguous statement of the exact problem the software is to solve.

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

Problem specification document

A

expresses the final and complete problem specification and guides the software developers in all subsequent decisions.

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

Program design phase

A

the time to plan how it is to be done

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

divide-and-conquer ( also called top-down decomposition)

A

tasks are broken down into subtasks which are broken down into sub-subtasks and so on until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.

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

Objected-oriented approach to program design

A

the appropriate objects are identified, together with their data and the subtasks they must perform. This allows classes to be designed with variables to store the data, and functions ( also called methods) to carry out these subtasks. Objects from these classes cooperate to accomplish the total job.

17
Q

Coding

A

the process of translating the detailed designs into computer code.

18
Q

Debugging

A

is the process of locating and correcting program errors.

19
Q

runtime errors

A

occur only when the program is run using certain sets of data that result in some illegal operation, such as dividing by zero.

20
Q

logic errors

A

These are errors in the algorithm used to solve the problem.

21
Q

empirical testing

A

an approach to design a special set of test cases, called a test suite and run the program using this special test data.

22
Q

Unit testing

A

takes place on each module ( subtask code) as it is completed.

23
Q

Integration testing

A

is done to see that the modules communicate the necessary data between and among themselves and that all modules work together smoothly.

24
Q

regression testing

A

is done to be sure that this change hasn’t introduced a new error into code that was previously correct.

25
Q

Program verification

A

can be used to prove that if the input data to a program satisfies certain conditions, then, after the program has been run on these data, the output data satisfies certain other conditions.

26
Q

Benchmarking

A

the program means running it on many data sets to be sure its performance falls within those required limits.

27
Q

Documentation

A

Program documentation is all of the written material that makes a program understandable. Includes:

  • internal documentation, which is part of the program code itself.
  • External documentation consists of any materials assembled to clarify the program’s design and implementations.
  • Technical documentation enables programmers who later have to modify the program to understand the code.
  • User documentation helps users run the program.
28
Q

Program maintenance

A

the process of adapting an existing software product, may consume as much as 65% of the total software development life cycle budget. If the program has been well planned, carefully designed, well coded, thoroughly tested, and well documented, then program maintenance is a much easier task.

29
Q

Integrated development environment ( IDE)

A

lets the programmer perform a number of tasks within the shell of a single application program, rather than having to use a separate program for each task.

30
Q

Sample graphical user interfaces ( GUIs) called prototypes

A

Many IDE’s enable programs to create prototypes that can be shown to prospective users in the initial stages of software development.

31
Q

waterfall model of software development

A

the name given to the step by step software development life cycle

32
Q

agile software development

A

is a set of methods and practices where solutions evolve through collaboration between self-organizing, cross-functional teams.
In software development, agile is a set of practices intended to improve the effectiveness of software development professionals, teams, and organizations

33
Q

Pair programming

A

involves two programmers at a single workstation