Software development methodology

Содержание

Слайд 2

The methodological approach The specific methodology (methodological approach) is a set

The methodological approach

The specific methodology (methodological approach) is a set of

methods, combined some general guidelines and to a corresponding set of concepts. In a narrow sense, the methodology is a certain methodological approach. It is a methodology to determine which programming languages ​​and systems will be used for software development and technology approach which will then be used.
Слайд 3

Software development methodology Software development methodology (methodological approach) - is united

Software development methodology

Software development methodology (methodological approach) - is united by

a common philosophical approach a certain set of methods used in the software development process.
Слайд 4

Each methodology can associate its characteristic attributes: Philosophical approach (see key),

Each methodology can associate its characteristic attributes:

Philosophical approach (see key), which

is easy to formulate and defines the main source of the effectiveness of the methodology. 2. Consistent, coherent set of methods through which the methodology is implemented. 3. Concepts (concepts, ideas), supporting methodologies, and more precisely define them. In the framework of a given design methodology developed techniques that are used in the development of approaches.
Слайд 5

programming paradigm Any methodology based on the current accumulated by empirical

programming paradigm

Any methodology based on the current accumulated by empirical evidence

and practical results. For software development methodologies such facts and analysis are an existing programming language. When the methodology is applied during encoding, it is often called programming paradigm - a way of thinking and programming, not related to a specific programming language.
Слайд 6

The core of the methodology One approach to the classification methodology

The core of the methodology

One approach to the classification methodology is

that there is a core methodology with its methods, which specify some additional features - specific. This approach resembles the principle of word formation in Russian - is the root, to which are added affixes (prefixes, suffixes and endings), clarifying the meaning of the word.
Слайд 7

The core of the methodologies defined way to describe algorithms The

The core of the methodologies defined way to describe algorithms

The following

basic core methodology: Methodology imperative programming, methodology for object-oriented programming,   methodology for functional programming   methodology for logic programming restrictive programming methodology. All of these methodologies are in the range between the two concepts of computer science - algorithms and models. In this case, they are listed in order of decreasing due to the concept of the algorithm methodology and an increase due to the concept model.
Слайд 8

topology Each of the "roots"-cores can get a "console", defined a

topology

Each of the "roots"-cores can get a "console", defined a topology

- structure (information, control or logical) nodes and links of programs, which can be good or bad.   Topology defined by a set of multiple factors related to data abstraction, management, and modularity. For example, the topology leads to good not to use global data and operator unconditional transfer, proper modularity.
Слайд 9

example If the mandatory methodology follow the methods of structural representation

example

If the mandatory methodology follow the methods of structural representation (giving

a good topology), we obtain the well-known methodology: structural imperative programming, which is better known under its short name - the methodology of structured programming. It should be noted that the success of the methodology of object-oriented programming was initially identified her good topology, based on abstract data types.
Слайд 10

implementation Each of the "roots"-cores can get a "suffix" defining a

implementation

Each of the "roots"-cores can get a "suffix" defining a realization

- the organization of hardware support - the methodology. It is currently known are two implementations - centralized and distributed on the basis of which are based, respectively, serial and parallel methodologies.   Usually referred to the sequence of virtually all of the core methodologies, and to parallel - the corresponding modification.
Слайд 11

examples Examples of parallel methodologies: imperative parallel programming methodology, its short

examples

Examples of parallel methodologies:   imperative parallel programming methodology, its short name

- the methodology of parallel programming,   logical methodology for parallel programming.   Methodology for object-oriented programming parallelism implicitly used at the level of methods and concepts. Mixed methodology is based on combining a number of techniques of several (usually related) methodologies.
Слайд 12

Most often combined methodology of functional and logic programming, considered as

Most often combined methodology of functional and logic programming,

considered as a

declarative programming methodology as opposed to prescriptive programming methodology, which refers to the methodology of imperative programming and modifications, as well as a methodology for object-oriented programming. In addition, as part of declarative programming methodology often isolated sentential programming as an independent approach. Conducted research on combining different methodologies, in particular object-oriented and logic programming. A number of studies devoted to the unification of programming methodology. This classification does not include many of the existing methodology.
Слайд 13

Well-known, but rarely explicitly allocated to, the following methodology: - Methodology

Well-known, but rarely explicitly allocated to, the following methodology:

- Methodology of

event programming - an approach that uses the interaction through the events in the operation of the system. - Methodology automata programming - an approach that represents the functioning of the system in a state machine. Little known (at present) include the following methodology: - Methodology of programming that controls the flow of data - the approach of the fact that the operation can not occur sequentially, depending on the availability of data; - Methodology of access-oriented programming - an approach in which the functions associated with the variables in such a way that when you access the variable will be the appropriate functions; - Methodology of neural network programming - an approach that consists in the fact that, based on the knowledge of experts to write a program on the neuronal programming language, which is then compiled into an equivalent neural network with analog neurons.
Слайд 14

new methodologies From the far-exhaustive list of methodologies, it is clear

new methodologies

From the far-exhaustive list of methodologies, it is clear that

the new methodology is based on the application to software development ideas from different areas of scientific and technological activities:   operating systems (interruptions)   automatic control (the theory of finite automata) computing systems (systems that control the flow of data)   programming (access-oriented programming)   optimization (neural networks), etc.
Слайд 15

Three points of view on the origin of methodologies Currently, there

Three points of view on the origin of methodologies

Currently, there are

three points of view on the origin of methodologies: practical, algorithmic and structural language. The first point of view - an independent origin based on the experience of programmers. Very many of the methodologies have the author-creator or founder of a scientific school, exploring the methodology. In this case, the methodology can be regarded as the concentration of practical programming experience. This view allows you to appreciate the complexity of a sufficiently detailed classification methodology, which covers most of the existing and emerging methodologies used are extremely heterogeneous in their methods and principles.
Слайд 16

Algorithmic origin stems from the following statements: Theory of algorithms and

Algorithmic origin stems from the following statements:

Theory of algorithms and logic

- the parents of programming. Identify the following four main models of the algorithm: 1. Abstract computing Turing machine and Post. They define the methodology imperative, automata and event programming. 2. Recursive functions of Hilbert and Ackermann. They inherited from their ideas and design methodology of structured programming. 3. Combinatorial logic Sheynfinkelya and Curry and the modern idea - Church's lambda calculus. These ideas are being actively developed in the methodology of functional programming. 4. Markov normal algorithms. The model served as a basis for logic programming methodologies and sentential programming.