Языки программирования этапы разработки программы

15-е издание Понимание компьютеров сегодня и завтра Всеобъемлющая глава 13: Разработка программ и языки программирования Дебора Морли Чарльз С. Паркер Copyright 2015 Cengage Learning Цели обучения 1. Поймите различия между структурированным программированием. Объектно-ориентированным программированием (ООП). Аспекториентированным программированием (АОП) и адаптивной разработкой программного обеспечения. 2. Определите и опишите действия. Связанные с жизненным циклом разработки программы (PDLC). 3. Поймите, что представляет собой хороший дизайн программы. И перечислите несколько инструментов. Которые могут быть использованы компьютерными специалистами при разработке программы.

4. Объясните три основные структуры управления и то. Как они могут быть использованы для управления потоком программы во время выполнения. Понимание компьютеров: Сегодня и завтра, 15-е издание

2

4. Обсудите некоторые действия. Связанные с отладкой программы и обеспечением ее правильной разработки и написания. 5. Перечислите некоторые инструменты. Которые могут быть использованы для ускорения или иного облегчения разработки программы. 6. Опишите несколько языков программирования. Используемых сегодня. И объясните их ключевые особенности.

Понимание компьютеров: Сегодня и завтра, 15-е издание

3

Обзор • в этой главе рассматриваются: – наиболее общие подходы к программе проектирования и разработки – этапов программы развития жизненного цикла (ФПМ-ЖК) – средства. Которые могут быть использованы для проектирования и разработки программно – хорошая программа. Методы проектирования и типы программных ошибок – популярные языки программирования

понимание компьютеры: сегодня и завтра, 15-е издание

4

Подходы к проектированию и разработке программ • Процедурное программирование – Подход к проектированию программ. При котором программа разделяется на небольшие модули. Которые вызываются основной программой или другим модулем при необходимости • Вызов процедур—размещение конкретных задач в процедурах (модулях или подпрограммах). Которые вызываются основной программой при необходимости • Позволяет выполнять каждую процедуру столько раз. Сколько необходимо.; несколько копий кода не требуется • До процедурного программирования программы представляли собой один большой набор инструкций (использовались операторы GOTO) Понимание компьютеров: Сегодня и завтра, 15-е издание

5

подходов к разработке программ и развития • структурное программирование – идет еще дальше. Разбив программу на небольших модулей (проектирование сверху вниз) – переменные • именованные ячейки памяти. Которые являются определенными для программы • используется для хранения текущего значения элементов данных. Используемых в программе

понимания компьютеров: сегодня и завтра, 15-е издание

6

подходы к разработке программ и развития

понимания компьютеров: сегодня и завтра, 15-е издание

7

Подходы к разработке программ и развития • объектно-ориентированное программирование (ООП) – программа представляет собой набор объектов. Которые содержат данные и методы. Которые будут использоваться с этими данными • класс – группа объектов. Имеющих некоторые общие свойства • экземпляр – отдельный объект в класс наследует атрибуты и методы класса

понимание компьютеры: сегодня и завтра, 15-е издание

8

Подходы к проектированию и разработке программ • Атрибуты – Данные. Описывающие объект – Могут быть в различных форматах • Методы – Выполнять действия с объектом – Могут использоваться с различными типами объектов – Объекты могут быть доступны нескольким программам • Библиотеки классов

Понимание компьютеров: Сегодня и завтра, 15-е издание

9

Подходы к разработке программ и развития • аспектно-ориентированное программирование (АОП) – разделяет функции так компоненты программы могут быть разработаны и изменены отдельно друг от друга – компоненты могут быть легко повторно использованы с неродственными отдельные объекты • адаптивная разработка программного обеспечения – разработано. Чтобы сделать программу развития быстрее и эффективнее и специализируется на адаптации программы. Как это пишется • особенности итеративных и/или поступательное развитие

понимания компьютеров: сегодня и завтра, 15-й выпуск

10

Подходы к проектированию и разработке программ – Гибкая разработка программного обеспечения • Цель состоит в том. Чтобы быстро создавать программное обеспечение • Фокусируется на создании небольших функциональных частей программы по мере продвижения проекта • Подчеркивает команды людей. Работающих в тесном сотрудничестве (программисты, менеджеры. Бизнес-эксперты. Клиенты и т. Д.) • Некоторые мобильные разработчики используют непрерывные мобильные инновации

Понимание компьютеров: Сегодня и завтра, 15-е издание

11

Жизненный цикл Разработки Программы (PDLC) • Разработка программ (application software development) – Процесс создания прикладных программ • Жизненный цикл разработки программ (PDLC) – Пять фаз разработки программ

Понимание компьютеров: Сегодня и завтра, 15-е издание

12

Жизненный цикл разработки программ (PDLC)

Понимание компьютеров: Сегодня и завтра, 15-е издание

13

Жизненный цикл Разработки Программы (PDLC) • Анализ проблемы – Рассматривается проблема и разрабатываются спецификации программы • Спецификации. Разработанные в ходе PDLC. Рассматриваются системным аналитиком и программистом (человеком. Который будет кодировать программу) • Цель состоит в том. Чтобы понять функции. Которые должно выполнять программное обеспечение – Документация: Спецификации программы • Результат первого этапа PDLC с изложением того. Что должна делать программа Понимание компьютеров: Сегодня и завтра, 15-е издание

14

Жизненный цикл Разработки Программы (PDLC) • Дизайн программы – Программа технические условия раскладывается в полноценный проект новой программы • алгоритм программа разработана • тщательного планирования и дизайна программы для ЭВМ чрезвычайно важно – дизайн программы инструменты • инструменты планирования. Которые включают в себя графики, диаграммы. Таблицы и моделей • диаграммы структуры (иерархии диаграмм) – изображают общая организация программы компьютеры понимание: сегодня и завтра, 15-й

15

Жизненный цикл Разработки Программы (PDLC) • Блок – схемы-Показывают графически. Шаг за шагом, действия. Которые будет выполнять компьютерная программа – Используют специальные символы и реляционные операторы – Могут быть нарисованы вручную или с помощью программного обеспечения для построения блок-схем

Понимание компьютеров: Сегодня и завтра, 15-е издание

16

The Program Development Life Cycle (PDLC) • Каркасы – Визуальное представление общего дизайна и логики приложения или веб-сайта

Понимание компьютеров: Сегодня и завтра, 15-е издание

17

Жизненный цикл Разработки Программы (PDLC) • Псевдокод – использует английский заявления изложить логику программы. А не блок-схемы-это графические символы

понимание компьютеры: сегодня и завтра, 15-е издание

18

программа развития жизненного цикла (ФПМ-ЖК) – унифицированного языка моделирования (например. UML) модели • набор стандартных обозначений для создания бизнес-моделей • широко используется в objectoriented программ • включает в себя диаграммы классов и диаграммы вариантов

понимания компьютеров: сегодня и завтра, 15-е издание

19

Программа развития жизненного цикла (ФПМ-ЖК) – контрольные структуры • шаблон для контроля расхода логики в компьютерной программе, модуль или способ • последовательность управления структура – ряд утверждений, которые следуют одна за другой • выбор структуры управления – несколько путей, направление зависит от результата определенного условие » если-то-иначе » случай-контроль структуры понимания компьютеров: сегодня и завтра, 15-го выпуск

20

Жизненный цикл Разработки Программы (PDLC) • Повторение структуры управления (итерации контроля структуры) – последовательность инструкций в цикл. Который повторяется до тех пор. Пока конкретное условие – две формы » делай то время как структура » делать. Пока структура

понимания компьютеров: сегодня и завтра, 15-е издание

21

программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютеры: сегодня и завтра, 15-е издание

22

программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютеры: сегодня и завтра, 15-е издание

23

Программа развития жизненного цикла (ФПМ-ЖК) – хороший дизайн программы • важно • экономит время • хороший дизайн программы принципов – быть точным » все программы должны сделать или считаете должно быть указано – следить за одну точку входа/один выход-точечный правило – никаких бесконечных циклов или логических ошибок » бесконечный цикл-это ряд шагов, которые вечно понимание компьютеры: сегодня и завтра, 15-е издание

24

программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютеры: сегодня и завтра, 15-е издание

25

Программа развития жизненного цикла (ФПМ-ЖК) – дизайн программы тестирования • дизайн должен быть протестирован. Чтобы убедиться. Логика правильная – бюро Регистрация трассировка столы – документация: дизайн технические характеристики • показана программа. Необходимая для выполнения программных требований • выражаться структурные схемы. Блок-схемы, схемы. Псевдокод и моделей UML • включать любые тестовые данные и результаты камеральной проверке

понимания компьютеров: сегодня и завтра, 15-й выпуск

26

программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютеры: сегодня и завтра, 15-е издание

27

Жизненный цикл разработки программ (PDLC)

Понимание компьютеров: Сегодня и завтра, 15-е издание

28

Жизненный цикл разработки программ (PDLC) • Кодирование программы – Программный код написан с использованием языка программирования – Выбор языка программирования • Пригодность к применению • Интеграция с другими программами • Стандарты для компании • Доступность программиста • Переносимость при запуске на нескольких платформах • Скорость разработки Понимание компьютеров: Сегодня и завтра, 15-е издание

29

Программа развития жизненного цикла (ФПМ-ЖК) – кодирование процесс • исходный код-это компьютерная программа. Перед его компиляцией – кодирование стандарты – правила. Призванные стандартизировать Программирование – делает программы более читаемым и проще в обслуживании – включает в себя правильное использование комментарии: » определить. Программист и дата последнего изменения » объяснить переменные. Используемые в программе » выявление основных частей программы

компьютеры понимание: сегодня и завтра, 15-е издание

30

Программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютера: Сегодня и завтра, 15-й выпуск

31

Программа развития жизненного цикла (ФПМ-ЖК) – повторно используемого кода • апробированная безошибочного кода сегментов. Которые могут быть использованы снова и снова с незначительными изменениями • может значительно уменьшить время разработки документации: документированный исходный код; программа кодирования фаза приводит в программе. Написанной на необходимый язык программирования • должны быть достаточно замечания (внутренняя документация) так что исходный код легко понять и обновить

понимание компьютеры: сегодня и завтра, 15-й выпуск

32

Конкурсы по программированию Technology and You Box – Один из примеров-TopCoder Open • Шесть конкурсов • Начальные отборочные раунды проходят онлайн • 48 полуфиналистов соревнуются на месте • Призы в размере 300 000 долларов • Другие конкурсы доступны онлайн Понимание компьютеров: Сегодня и завтра, 15-е издание

33

Жизненный цикл Разработки Программы (PDLC) • Программы. Отладка и тестирование – процесс обеспечения программы без ошибок (багов) и работает как ей положено – перевод закодированные программы в исполняемый код • кодированных программ должны быть переведены из исходного кода. Написанного программистом для объектного кода в компьютер может выполнять • преобразованы с помощью языка транслятор – программа. Которая преобразует исходный код в объектный код,

понимание компьютеры: сегодня и завтра, 15-е издание

34

Программа развития жизненного цикла (ФПМ-ЖК) – компиляторы • переводчик, которая преобразует всю программу в машинный язык перед его выполнением • предназначен для определенных языков программирования, таких как Java или Python – переводчиков • переводит одну строчку кода за один раз – монтажники • преобразование ассемблера программ в машинный язык, понимание компьютеры: сегодня и завтра, 15-е издание

35

Внутри Отраслевой коробки Оригинальная программа “Ошибка” – Ошибка – это ошибка. Которая вызывает сбой программы – Первый зарегистрированный экземпляр термина “ошибка” произошел в 1945 году-Короткое замыкание. Вызванное мотыльком. Попавшим между двумя контактами в одном из реле компьютера

Понимание компьютеров: Сегодня и завтра, 15-е издание

36

Программа развития жизненного цикла (ФПМ-ЖК) – предварительная отладка • компилятор и синтаксические ошибки – Как программ, компилировать или интерпретировать, возникают ошибки, которые мешают программе запускаться должным образом − синтаксические ошибки возникают, когда программист не следовали правилам языка программирования • времени выполнения и логические ошибки – Ошибки времени выполнения возникают, когда запущена программа – логические ошибки-это ошибки в логике программы » программа запускается, но выдает неверные результаты понимания компьютеров: сегодня и завтра, 15-й выпуск

37

программа развития жизненного цикла (ФПМ-ЖК)

Понимание компьютеры: сегодня и завтра, 15-й выпуск

38

программа развития жизненного цикла (ФПМ-ЖК)

понимание компьютеры: сегодня и завтра, 15-й выпуск

39

Программа развития жизненного цикла (ФПМ-ЖК) – Тестирование • происходит после предварительной отладки процесса. Чтобы найти дополнительные ошибки • использует хорошие тестовые данные—сведения. Которые очень похожи на фактические данные. Которые будут использоваться в готовом программы • тесты условия. Что будет происходить. Когда программа реализуется • проверяет наличие нестандартных ситуаций или возможных ошибок ввода

понимание компьютеры: сегодня и завтра, 15-е издание

40

Жизненный цикл Разработки Программы (PDLC) • Два этапа альфа – тестирования—внутренняя на месте тест – бета-тест—снаружи тест – документация: программа завершена пакет • копия данных теста. Результаты теста. Готового кода программы. И другие документы генерируются во время тестирования должны быть добавлены к программе пакет – разработчика документация – документация

понимание компьютеры: сегодня и завтра, 15-е издание

41

Жизненный цикл Разработки Программы (PDLC) • Программа внедрения и поддержания – после того, как система, содержащая программа запущена и работает, осуществлении процесса – программа обслуживания • процесс обновления программного обеспечения, так что она продолжает быть полезной • очень дорогостоящим документации: были внесены изменения в программу пакет • комплексная программа должны быть обновлены с учетом новых проблем и вопросов, которые возникают и какие изменения в программе были необходимы понимание компьютеры: сегодня и завтра, 15-й выпуск

42

Быстрая викторина 1. Какой подход к программированию использует концепцию наследования? a. Процедурный b. Объектно-ориентированный c. Аспектно-ориентированный 2. Истинный или Ложный: Бесконечный цикл является примером логической ошибки. 3. A(n) __________ это инструмент проектирования программ. Который графически показывает шаг за шагом действия. Которые будет выполнять компьютерная программа. Ответы: 1) b; 2) True; 3) flowchart

Understanding Computers: Today and Tomorrow, 15th Edition

43

Инструменты для облегчения разработки программ • Инструменты управления жизненным циклом приложений (ALM) – Создание и управление приложением в течение всего его жизненного цикла. От проектирования до выхода на пенсию – Инструменты включают в себя: • Управление требованиями – Отслеживание и управление требованиями программы по мере их определения и последующего изменения • Управление конфигурацией – Отслеживание хода выполнения проекта разработки программы Понимание компьютеров: Сегодня и завтра, 15-е издание

44

Инструменты для облегчения разработки программы • отслеживание записи таких проблем, как клопы или другие проблемы, которые возникают во время развития или после системы • Применение генераторов – программа. Которая помогает программистам разрабатывать программы – макросы • последовательность сохраняется действий, которые могут быть воспроизведены при необходимости • программисты пишут их в макро язык программирования, такие как Visual Basic для приложений понимание компьютеры: сегодня и завтра, 15-й выпуск

45

Инструменты для облегчения разработки программы – генераторы отчетов и пользовательский интерфейс (UI) строители • генератор отчетов – инструмент, который готовит доклады для использования с программным обеспечением программа легко и быстро • интерфейс пользователя (UI) строителей – создать меню, форм, входных экранов, используемых в программе или базе • интегрированная среда разработки (IDE) – набор программных инструментов для создания программных приложений, понимание компьютеры: сегодня и завтра, 15-й выпуск

46

инструментарием для реализации Программы развития

понимания компьютеров: сегодня и завтра, 15-е издание

47

Инструменты для облегчения разработки программы • устройства средства разработки – оказание помощи в разработке встраиваемого программного обеспечения для использования на устройствах, таких как автомобили, банкоматы и потребительских устройств • интегрированные среды разработки (IDE) – набор инструментов, используемых с конкретным языком программирования для разработки и тестирования программного обеспечения • наборы для разработки программного обеспечения (SDK) для – программирования пакет, предназначенный для конкретной платформы – позволяет программистам создавать приложения для этой платформы более быстро и легко понимание компьютеры: сегодня и завтра, 15-й выпуск

48

Инструменты для облегчения разработки программы • прикладных интерфейсов программирования (API) – помогите приложений интерфейс с определенной операционной системы – часто используется в сочетании с веб-сайтами – от Google API Карт и Google об OpenSocial API позволяют разработчикам добавлять карты Google или приложения для социальных сетей. Легко для веб-сайтов. Соответственно,

понимание компьютеры: сегодня и завтра, 15-е издание

49

Trend Box Mobile App Builders – Доступно множество инструментов для разработки мобильных приложений и их развертывания на различных платформах – Одним из примеров является appsbar – После создания приложения appsbar тестирует его. А затем отправляет на основные рынки приложений для публикации

Understanding Computers: Today and Tomorrow, 15th Edition

50

Быстрая викторина 1. a. Программное обеспечение для определения требований b. Генератор кода c. Интерфейс прикладной программы (API) 2. True или False: Набор для разработки программного обеспечения (SDK) предназначен для конкретной платформы и позволяет программистам быстро разрабатывать приложения для этой платформы. 3. A(n) __________ это последовательность сохраненных действий (таких как нажатия клавиш. Щелчки мыши и выбор меню). Которые могут быть воспроизведены при необходимости в прикладной программе. В которой они были созданы. Ответы: 1) с; 2) Истинно; 3) макро-понимание компьютеров: Сегодня и завтра, 15-е издание

51

Языки программирования • Что такое Язык Программирования? – Набор правил, слов. Символов и кодов. Используемых для записи компьютерных программ – писать программы. Необходимо соответствующее программное обеспечение на языке программирования используется • категории языки программирования – классифицируется по видам программы. Они предназначены для создания: процедурный или объектно-ориентированные языки часто классифицируются по их уровню или поколения

понимание компьютеры: сегодня и завтра, 15-е издание

52

Языки программирования • низкоуровневых языках (в ранних языках программирования) – машинный язык • написано на очень низком уровне. Используя только 1S и 0s • первое поколение языков программирования – ассемблера • использует имена и другие символы. Чтобы заменить некоторые из 1S и 0s в машине языку • второе поколение языков программирования • программы занимает больше времени. Чтобы писать и поддерживать

понимание компьютеры: сегодня и завтра, 15-й выпуск

53

языках программирования,

понимание компьютеры: сегодня и завтра, 15-й выпуск

54

Языки программирования • Языки высокого уровня – Ближе к естественным языкам – Машинно – независимые-Включают 3GLs (FORTRAN, BASIC. COBOL, C и т. Д.) и объектно – ориентированные языки (Visual Basic. C#on, Java и т. Д.) — Среды визуального программирования (VPEs) • Используйте графический интерфейс для создания программ • Некоторые из них предназначены для образовательных целей – Scratch Понимание компьютеров: Сегодня и завтра, 15-е издание

55

Языки программирования

Понимание компьютеров: Сегодня и завтра, 15-е издание

56

Языки программирования • Языки четвертого поколения (4GLs) – Еще ближе к естественным языкам и проще в работе. Чем языки высокого уровня-Декларативные. А не процедурные – Обычно используются для доступа к базам

данных Понимание компьютеров: Сегодня и завтра, 15-е издание

57

Распространенные языки программирования • Фортран – высокоуровневый язык программирования. Используемых для математических, научных и инженерных приложениях – прежнему используется сегодня для высокопроизводительных вычислительных задач (прогнозирования погоды) – крепость • версия предназначенная для высокопроизводительных вычислений • использует многоядерные процессоры и многопроцессорные компьютеры • не обновляется понимания компьютеров: сегодня и завтра, 15-й выпуск

58

распространенные языки программирования

понимание компьютеры: сегодня и завтра, 15-е издание

59

Распространенные языки программирования • КОБОЛ – предназначен для обработки бизнес-транзакций – позволяет широко использовать модули – сила заключается в пакетной обработке и ее стабильности – программы длительным и занять много времени. Чтобы писать – считаются устаревшими. Некоторые – новые версии эволюционируют • COBOL.NET

понимание компьютеры: сегодня и завтра, 15-й выпуск

60

распространенные языки программирования

понимание компьютеры: сегодня и завтра, 15-й выпуск

61

Распространенные языки программирования • Паскаль, названный в честь математик Блез Паскаль создавался как обучающий инструмент, чтобы стимулировать структурное программирование – содержит различные управляющие структуры, используемые для работы модулей систематически • Basic и Visual Basic в – простой в освоении, высокоуровневый язык программирования. Который был разработан, чтобы быть использованы начинающими программистами – визуальный базовый • объектно-ориентированная версия Basic; использование среды визуального понимания компьютеров: сегодня и завтра, 15-й выпуск

62

распространенные языки программирования

понимание компьютеры: сегодня и завтра, 15-е издание

63

Распространенные языки программирования

понимание компьютеры: сегодня и завтра, 15-й выпуск

64

распространенных языков программирования • С. C++ и C# – C : много ближе к ассемблере. Чем на других языках высокого уровня – с++: объектно-ориентированная версия c • очень популярен для графических приложений на C# (Си Шарп): гибрид C и C++ • используется для создания веб-приложений. Основанный на XML web-сервисы и Windows – Objective-С: Для iPhone и других приложений Apple

понимание компьютеры: сегодня и завтра, 15-й выпуск

65

языков программирования

понимание компьютеры: сегодня и завтра, 15-е издание

66

Распространенные языки программирования • в Java – высокоуровневый объектно-ориентированный язык программирования часто используется для веб-приложений – Java-программы компилируются в байт-код может выполняться на любом компьютере, который содержит виртуальная машина Java (виртуальная машина Java) – может использоваться для написания апплетов Java • Дарт – высокого уровня, с открытым исходным кодом. Объектно-ориентированный язык программирования, разработанный компанией Google – предназначен для замены JavaScript в web-приложений, понимание компьютеры: сегодня и завтра, 15-й выпуск

67

распространенные языки программирования

понимание компьютера: Сегодня и завтра, 15-й выпуск

68

Распространенные языки программирования

понимание компьютеры: сегодня и завтра, 15-й выпуск

69

распространенных языков программирования – Рубин • высокого уровня с открытым исходным кодом. Объектно-ориентированный язык программирования. Который часто используется для разработки веб-приложений на Python • с открытым исходным кодом. Динамический. Объектно-ориентированный язык. Который может быть использован для разработки различных приложений. Например, игр. Научных и базы данных • используется в крупных организациях. И в некоторых колледжах. Таких как MIT

понимание компьютеры: сегодня и завтра, 15-е издание

70

распространенные языки программирования

Понимание компьютеров: Сегодня и завтра, 15-е издание

71

Как это работает Box Создание приложений с помощью Android SDK и Eclipse

Понимание компьютеров: Сегодня и завтра, 15-е издание

72

Быстрая викторина 1. Примером высокоуровневого языка программирования является __________. а. Паскаль б. Язык ассемблера c. Машинный язык 2. True или False: Visual Basic-это объектно-ориентированная версия COBOL. 3. Java-апплеты-это небольшие программы. Написанные на __________ язык программирования. Ответы: 1) a; 2) False; 3) Java

Understanding Computers: Today and Tomorrow, 15th Edition

73

Summary • • • •

Подходы к проектированию и разработке программ Жизненный цикл разработки программ (PDLC) Инструменты для облегчения разработки программ Языки

программирования Понимание компьютеров: Сегодня и завтра, 15-е издание

74