Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Технологии программирования
Лекция 1
О.А.Мирзеабасов
Отделение ИКС ИАТЭ НИЯУ МИФИ
Весна 2021
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
1 / 23
Содержание
1
Рекомендуемая литература
2
Определения
3
Задачи на семестр
4
Структура ТЗ
5
Язык программирования Java
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
2 / 23
Рекомендуемая литература
Рекомендуемая литература
1
2
3
4
5
Иванова Г.С. Технология программирования.
Орлов С.А. Технологии разработки программного
обеспечения.
Жоголев Е.А. Технология программирования.
Брукс Ф. Мифический человеко-месяц.
Макконнелл С. Профессиональная разработка программного
обеспечения
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
3 / 23
Определения
Определения
Технологией программирования называют совокупность
методов и средств, используемых в процессе
разработки ПО
Технология программирования представляет собой набор
технологических инструкций, включающих:
указание последовательности выполнения технологических
операций;
перечисление условий, при которых выполняется та или
иная операция;
описания самих операций (исходные данные, результаты,
критерии и методы оценки, стандарты и пр.)
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
4 / 23
Определения
Определения
основные понятия и определения
Ф.Брукс:
Программа — завершенный продукт, пригодный для запуска
своим автором на системе, на которой он был
разработана
Программный продукт — программа, которую любой человек
может запускать, тестировать, исправлять и
развивать. Такая программа должна быть написана в
обобщенном стиле, тщательно оттестирована и
сопровождена подробной документацией.
Е.А.Жоголев:
Программное средство — программа или логически связанная
совокупность программ на носителях данных,
снабженная программной документацией
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
5 / 23
Определения
Зачем нужна технология программирования
Кризис программирования
Проявления кризиса программирования в больших проектах:
отставание от графика
превышение сметы расходов
разработанный продукт не обладает требуемыми
функциональными возможностями
производительность разработанного продукта низка
качество разработанного продукта не устраивает
пользователя
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
6 / 23
Определения
Свойства программного обеспечения
Ф.Брукс: причины существования кризиса программирования —
свойства, присущие ПО
сложность программ является существенным
свойством
сложность лежит в основе административных
проблем
согласованность — значительная часть сложности зависит от
согласования с другими интерфейсами
изменяемость — ПО очень легко изменить, и появление
добавленного кода может разрушить первоначальные
идеи
незримость — ПО имеет очень сложное представление
сложность
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
7 / 23
Определения
Кризис программирования
Человеческий фактор
Причины, связанные с «человеческим фактором»:
невозможность проанализировать и обобщить действия
великих программистов за работой
неумение менеджера правильно сформировать проектную
команду (взаимоотношения в коллективе, подбор
психологически совместимых исполнителей)
отсутствие нормальных условий работы
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
8 / 23
Задачи на семестр
Задачи на семестр
выбор проекта и разработка ТЗ
проектирование пользовательского интерфейса и основных
модулей
коллективная разработка, использование системы
поддержки версий
тестирование и отладка проекта
подготовка документации
сдача проекта
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
9 / 23
Структура ТЗ
Структура технического задания
ГОСТ 19.201-78
введение;
основания для разработки;
назначение разработки;
требования к программе или программному изделию;
требования к программной документации;
технико-экономические показатели;
стадии и этапы разработки;
порядок контроля и приемки;
приложения.
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
10 / 23
Структура ТЗ
Структура ТЗ
введение включает наименование и краткую характеристику
области применения программы
основания для разработки сведения о документе, на основании
которого ведется разработка
назначение разработки — описание функционального и
эксплуатационного назначения разработки, категории
пользователей
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
11 / 23
Структура ТЗ
Структура ТЗ
требования к программе
Раздел «Требования к программе или программному изделию»
должен включать следующие подразделы:
требования к функциональным характеристикам;
требования к надежности;
условия эксплуатации;
требования к составу и параметрам технических средств;
требования к информационной и программной
совместимости;
требования к маркировке и упаковке;
требования к транспортированию и хранению;
специальные требования.
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
12 / 23
Структура ТЗ
Структура ТЗ
требования к программной документации — указывается
необходимость наличия руководства пользователя и
т.п.
технико-экономические показатели — экономические
показатели, преимущества по сравнению с аналогами
стадии и этапы разработки — стадии, этапы и содержание
работ с указанием сроков и исполнителей
порядок контроля и приемки — виды испытаний и общие
требования к приемке работы
приложения могут содержать схемы алгоритмов, таблицы,
описания, расчеты и другие документы
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
13 / 23
Язык программирования Java
Платформа Java
Приложение
Java API
JVM
OS
Платформа Java
JavaME — для мобильных
устройств
JavaSE — «обычные»
приложения
JavaEE — распределенные
многоуровневые
приложения
Архитектура приложений Java
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
14 / 23
Язык программирования Java
Java
где искать информацию
www.java.com официальный сайт Java содержит большое
количество примеров, документации, стандартов
www.oracle.com/technetwork/java/index.html
netbeans.org сайт проекта NetBeans — информация по
возможностям NetBeans, на специальном разделе
сайта приведены подробные примеры решения
различных задач
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
15 / 23
Язык программирования Java
Особенности языка Java
Java — объектно-ориентированный язык программирования,
переносимый, безопасный, с поддержкой многопоточности,
независимый от архитектуры.
Чего нет:
отсутствие оператора delete
не поддерживается множественное наследование
нет прямого доступа к памяти
Что есть:
сборщик мусора для удаления неиспользуемых
объектов
интерфейсы
большое количество стандартных классов
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
16 / 23
Язык программирования Java
Язык программирования Java
Пример исходного кода на Java: файл Test.java
/**
* Пример специального комментария
* для генерации документации
*/
public class Test {
// однострочный комментарий
public static void main(String [] args){
System.out.println("Привет Отделению ИКС!");
}
}
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
17 / 23
Язык программирования Java
Java
соглашения
все файлы с исходным кодом должны иметь расширение
.java
файл может содержать не более одного класса,
объявленного как public
если такой класс присутствует, его имя должно совпадать с
именем файла (без расширения)
В приведенном ранее примере класс Test был определен в файле
Test.java
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
18 / 23
Язык программирования Java
Компиляция и запуск
Имя.java
*.class
javac
jar
Имя.class
Имя.jar
Запуск программы, содержащейся в файле Demo.class
(расширение не указывается!)
java Demo
Запуск программы, содержащейся в архиве jar
java -jar Demo.jar
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
19 / 23
Язык программирования Java
Типы данных Java
Типы данных
примитивные
ссылочные
массивы
числовые
boolean
целые
byte
классы
интерфейсы
перечисления
вещественные
char
float
double
short
int long
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
20 / 23
Язык программирования Java
Java: ключевые и зарезервированные слова
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
false
final
float
finally
for
goto
package
if
private
implements protected
import
public
instanceof
return
int
static
interface
short
long
strictfp
native
super
new
switch
null
synchronized
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
this
throw
throws
transient
true
try
void
volatile
while
Весна 2021
21 / 23
Язык программирования Java
Размер представления типов данных
Тип данных
byte
int
float
char
short
long
double
Размер (в битах)
8
32
32
16
16
64
64
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
22 / 23
Язык программирования Java
Константы
Тип данных
boolean
char
int
long
float
double
String
Примеры констант
true false
’c’ ’\u4567’ ’\n’
24
0x2A
0X3D
077
12345L
1.23f 2.0F 1.2E+12F
1.1
2.34e-10
"Пример строки"
О.А.Мирзеабасов (Отделение ИКС) Технологии программирования
Весна 2021
23 / 23