Kapitel 7 Flashcards

1
Q

Software development life cycle

A

Requirements analysis, design, implementation, testing.

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

Data coupling

A

refers to the sharing of data between modules. If two modules interact with the same item of data, then modifications made to one module may affect the other, and modifications to the format of the data itself could have repercussions in both modules.

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

CASE

A

Computer-aided software engineering

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

RUP

A

An iterative software engineering methodology. Rational unified process, created by the rational software corp. now a division of IBM. This paradigm redefines the steps in the development phase of the software life cycle and provides guidelines for performing those steps. These guidelines along with CASE tools to support them are marketed by IBM.

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

The three purposes of software documentation

A

Software documentation serves three purposes:

  1. User dokumentation - Purpose is to explain features of the software and how to use them. Intended to be read by the user. Important marketing tool.
  2. System documentation - the purpose os to describe the softwares internal composition so that the software can be maintained later in its life cycle. A majro component is the source version of all the programs in the system.
  3. Technical documentation - the purpose is to describe how a software system should be installed and serviced (such as adjusting operating paramters, isntalling updates, and reporting problems back to the software-developer).Analogous to documentation provided to mechanics in the automobile industry (which explains how to service the car’s components).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Data flow diagram

A

a means of representing the information gained from dataflow studies.

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

Agile methods

A

each of these proposes early and quick implementation on an incremental basis, responsiveness to changing requirements and a reduced emphasis on rigorous requirements analysis and design. An example is extreme programming (XP)where software is developed by a team of less than a dozen individuals working in a communal work space where they freely share ideas and assist each other in the development project. The software is developed incrementally by means of repeatedl daily cycles of informal requirements analysis, designing, implementing, and testing.

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

Waterfall model

A

Development is allowed to flow in only one direction, requirements analysis, design, implementation and testing is supposed to take place in a strictly sequential manner.

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

Software development life cycle: Requirements analysis

A

Specify what services the proposed system will provide to identify any conditions (time constraints, security and so on) on those services, and to define how the outside world will interact with the system. Involves significant input from stakeholders (future users as well as those with other ties, such as legal or financial interests) of the proposed system. The requirements are recorded in a document called a software requirements specification.

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

Software development life cycle: Design

A

Design involves creating a plan for the construction of the proposed system. In a sense, requirements analysis is about identifying the problem to be solved, while design is about developing a solution to the problem. Requirements analysis is often equated with deciding what a software system is to do. Design is equated with deciding how the system will do it. The result of the design-phase is a detailed description of the software system’s structure that can be converted into programs.

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

Cohesion

A

refers to the degree of relatedness of a modules internal parts. Logical cohesion is the cohesion within a module induced by the fact that its internal elements perform activities logically similar in nature. Functional cohesion is an even stronger cohesion, which means that all the parts of the module are focused on the performance of a single activity.

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

Software development life cycle: Testing

A

In the traiditonal development phase of the past, testing was essentially equated with the process of debugging programs and confirming that the final software product was compatible with the software requirements specification. Today, however this vision of testing is considered far too narrow. Programs are not the only artifacts that are tested during the software development processs. Indeed, the result of each intermediate step in the entire development process should be “tested” for accuracy. Testing is also now recognized as only one segment in the overall struggle for quality assurance, which is an objective that permeates the entire software life cycle.

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

Software development life cycle: Implementation

A

Implementation involves the actual writing of programs, creation of data files, and development of databases. It is at the implementation stage that we see the distinction between the tasks of a software catalyst (sometimes referred to as a system analyst) and a programmer. The former is a person involved with the entire development process,perhaps with an emphasis on the requirements analysis and design steps. The latter is a person involved primarily with the implementation step.

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

Iterative model

A

Whereas the incremental model carries the notion of extending each preliminary version of a product into a larger version, the iterative model encompasses the concept of refining each version. In reality, the incremental model involves and underlying iterative process and the iterative model may incrementally add features.

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

UML

A

Unified modeling language. A modern collection of tools that has been developed with the object-oriented paradigm in mind.

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

Software lifecycle

A

Development ->Use->Maintenance->Use->maintenance etc.

17
Q

Information hiding

A

restriction of information to a specific portion of a software system in a modular designed system.

18
Q

IDE

A

integrated development environments

19
Q

Glass-box testing and black-box testing

A

Glass-box testing means that the software tester Is aware of the interior structure of the software and uses this knowledge when designing the test. Black-box testing refers to tests that do not rely on knowledge f the softwares interior composition.

20
Q

Prototyping

A

Incremental and iterative models sometimes make use of the trend in software development toward prototyping in which incomplete versions of the proposed system, called prototypes, are built and evaluated. In the case of the incremental model these prototypes evolve into the complete final system – a process known as evolutionary prototyping. An example that normally falls within this throwaway category is rapid prototyping in which a simple example of the proposed system is quickly constructed in the early stages of development. Such a prototype may consist of only a few screen images that give an indication of how the system will interact with its users and what capabilities it will have. The goal is to obtain a demonstration tool that can be used to clarify communication between the parties involved in the software development process.

21
Q

Coupling

A

A goal when designing a modular system should be to maximize independence among modules or, in other words to minimize the linkage between modules (known as intermodule coupling).

22
Q

GOMs model

A

The model is representative of the search for metrics in the field of human-machine interface deisgn. The underlying methodology is to analyze tasks in terms of user goals, operators, methods and selection rules. In short methodology that allows the actions of a human using an interface to be analyzed as sequences of elementary steps.

23
Q

Incremental model

A

The desired software system is constructed in increments- the first being a simplified version of the final product with limited functionality. Once this version has been tested and perhaps evaluated by the future user, more features are added and tested in an incremental manner until the system is complete.