Basics of software development (continued)

Содержание

Слайд 2

Programming can be considered as a scientific discipline and as an

Programming can be considered as a scientific discipline and as an

engineering activity

Science - the science that studies the laws and methods of storage, processing and transmission of information. From a theoretical point of view, distinguish theoretical computer science. Theoretical Computer Science and Information Science - Computer Science section, the student information processes and systems, including the structure of the information and its use in various fields of human activity.   From a practical point of view, isolated Applied Informatics. Applied Informatics and Computer Science - a set of sections of Computer Science, focused on a variety of issues automation solution storage, transmission and processing of information.

Слайд 3

Then programming can be described as follows Programming as a scientific

Then programming can be described as follows

Programming as a scientific discipline

- the section of computer science, studying the description of data processing. It should be noted that most of the topics and areas of programming usually refers to applied science. In programming, clearly distinguished the sections listed below.
Слайд 4

Programming Forums 1. Programming theory (tzh. science programming): The mathematical abstraction

Programming Forums

1. Programming theory (tzh. science programming): The mathematical abstraction of

programs viewed as an object, expressed in a formal language with a certain information and logical structure and to be automatically execute on a computer. This is a set of directions, studying the basic principles of programming using formal mathematical methods.
Слайд 5

programming theory is based on three concepts: the algorithm, task and

programming theory

is based on three concepts: the algorithm, task and computer,

and includes the following areas associated with them (Fig. 2.1): data structures, searching and organizing, formal languages ​​and grammars, automata and other abstract machines, parsing programs, evaluation complexity of algorithms and complexity theory, equivalent conversion algorithms, the specification of tasks, proving properties of programs, automatic program synthesis, the semantics of programming languages ​​(theory program models).
Слайд 6

Fig.2.1. Concepts and trends in programming theory

Fig.2.1. Concepts and trends in programming theory

Слайд 7

programming Forums 2. Programming Methodology: exploring methods in terms of the

programming Forums

2. Programming Methodology: exploring methods in terms of the basis

for their construction. The specific methodology (approach) - a unified philosophical approach one set of methods used in the development process. 3. Technology programming studies the processes of software development as the processes and procedures have been established (using the knowledge, methods and tools). Particular technology (approach) contains a specific set of processes, and used their knowledge, methods and tools.
Слайд 8

programming Forums 4. Engineering programming or software engineering: exploring various methods

programming Forums

4. Engineering programming or software engineering: exploring various methods and

tools in terms of specific objectives, ie has obvious practical. Engineering is understood as engineering, creative and technical activities. The main idea of ​​engineering software is that software development is a formal process that can be studied and improved.
Слайд 9

Engineering content very dynamic and includes a large number of areas,

Engineering content very dynamic and includes a large number of areas,

among which are the following:

mathematical foundations of engineering software metrics,   economy software   Engineering-specific programming systems (middleware software, real-time systems, mobile systems, distributed systems, Internet-based, etc.) Engineering program as a training course.

development process of the project, the simulation was, formation of product requirements,   formal specifications, software architecture, software testing, maintenance and evolution of software   analysis software tools and environment engineering

Слайд 10

programming Forums 5. Programming tools or software tools: exploring programming system.

programming Forums

5. Programming tools or software tools: exploring programming system.   This

includes all the tools that support the software development process.
Слайд 11

The term "method" In each of these sections, as methodology, technology

The term "method"

In each of these sections, as methodology, technology and

engineering, using the term "method."   In general, the method is a way of research or knowledge. The method includes a means - through which the action is - and how - how the action will be performed.   In the methodology of programming methods are discussed in terms of the basis of their construction,   in software engineering - from the point of view of their use in organization processes   and in the engineering program - in terms of meeting with them certain goals.
Слайд 12

The main directions in programming are three overlapping groups (Fig. 2.2).

The main directions in programming are three overlapping groups (Fig. 2.2).

The

first - directing - group contains two directions, which should be defined before starting the project. Selected methods and approaches to identify a core ideology and principles of the project.   Second - instrumental - the group contains two areas - language and system support for the project.   The third - the base - the group contains two directions representing the platform - the basis on which the project is based
Слайд 13

Fig.2.2. Route group programming

Fig.2.2. Route group programming

Слайд 14

The main task of programming at a professional level is solved

The main task of programming at a professional level is solved

by following the basic directions.

Summary of recommendations for their use are as follows: 1. First, you must determine the methodology, which will include a set of methods and concepts, united by a common philosophical approach. 2. Then choose the technology that will define the set of processes used in the development of a software product. Defined earlier methodology includes a set of methods that will be applied in the technological approach. 3. Methodology and technology define programming languages ​​and systems that are required for each process chosen technological approach. 4. Processes will run on certain hardware and OS platforms. Note that the platform can greatly determine the presence and specific tools. In most development should be avoided depending on the platform, but a number of projects to a large extent based on a good knowledge of them.

Слайд 15

Programming as an engineering activity - A set of processes associated

Programming as an engineering activity

- A set of processes associated with

the creation of the software and its implementation. Due to the increasing complexity of software and the creation instead of the term "programming" is being used more general concept - software development (RPO).   Basic concept has remained relevant in the narrow sense - like writing programs, which are synonymous coding and implementation.
Слайд 16

In the literature on software development, this change is manifested in

In the literature on software development, this change is manifested in

the use of other names for the sections of programming:

theory of programming is usually called the theory of software (lit. science software);   programming methodology - the methodology of software development;   programming technology - the technology of software development. From this point of view, software engineering is also known as software engineering, and software tools - Tools software. In foreign literature, most of the questions of methodology and software technologies usually considered from an engineering point of view and to carry out the directions of the development of software engineering.

Слайд 17

Systems Engineering Currently, the rapidly emerging field called Systems Engineering (tzh.

Systems Engineering

Currently, the rapidly emerging field called Systems Engineering (tzh. Systems

Engineering), in which we are talking about the development of systems. Change in terminology is the result of the influence of a systematic approach. In this case, it means understanding what is necessary to consider not only the software itself, but the environment, ie, the whole system, in which the software - just a specific (albeit significant) part of it.