Процесс создания программ разработка всех типов программного обеспечения это что

Содержание

Создание программного обеспечения – процесс, требующий основательного подхода. В зависимости от выбранной модели поведения будет меняться успех всего проекта.

Отличить методологии и методы создания ПО бывает проблематично. Поэтому в данной статье будут раскрыты соответствующий направления. Информация поможет разобраться, какую модель выбрать в том или ином случае.

Разработка – это…

Процесс программной разработки – некий процесс, который позволяет преобразовывать пользовательские желания и потребности в полноценный программный продукт. Это – составной элемент программной инженерии.

Если говорить простыми словами – это процесс, в ходе которого разрабатывается техническое задание (ТЗ). Далее специалисты формируют проект и тестируют его. На выходе получается полноценное ПО, готовое к использованию.

Жизненные циклы

Каждый контент имеет жизненный цикл – этапы, через которые он проходит от начала создания до окончания разработки и релиза. Обычно сюда включают:

7. Процесс разработки программного обеспечения

  • подготовку;
  • проектирование;
  • поддержку;
  • создание (написание).

Каждый шаг может иметь различные названия, а также дробиться на более мелкие компоненты. Рассматриваемый процесс обычно предусматривает:

  1. Приобретение. Это – действия заказчика, которые позволят сформировать требования и ограничения к обеспечению. Сюда включают заключение договора на написание проекта, анализ и аудит выполненных задач. В конце заказчик получит готовый продукт.
  2. Поставку. Это – комплекс мероприятий, которые проводятся специалистами. Они анализируют требования клиента, создают проект, подводят итоги проведенных исследований. Далее – решают вопросы, связанные с непосредственным программированием. Завершающий этап – проверка контента и его поставка.
  3. Разработку. Так называется непосредственное программирование, а также создание дизайна.
  4. Эксплуатацию. Это – использование готового обеспечения заказчиком.
  5. Сопровождение. Подразумевает поддержку пользователей при необходимости. Разработчики занимаются исправлением ошибок и неполадок.

Эксплуатация и сопровождение обычно осуществляются одновременно.

Модель разработки – это описание стадий жизненного цикла. В ней отражается то, что происходит на каждом этапе.

Методология – набор методов по управлению процессами создания контента. Сюда относят правила, принципы и техники, которые позволяют добиться максимальной эффективности.

Основные модели

Процесс разработки программного обеспечения предусматривает множество различных моделей. Если знать особенности каждой, программист сможет выбрать оптимальное решение для того или иного проекта.

К ключевым моделям разработки ПО относят:

  • модель кодирования и устранения ошибок;
  • «водопад»;
  • разработку при помощи тестирования;
  • инкрементную модель;
  • итерационные модели;
  • спиральные модели;
  • «хаос»;
  • разработку через прототипы.

Далее каждый вариант будет рассмотрен более подробно.

Как устроен процесс разработки? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains

Водопад

Программная разработка здесь осуществляется шаг за шагом. Следующий этап будет начинаться только после того, как к концу подойдет предыдущий.

Существует «водопад» с 1970-го года. Если грамотно организовать эту модель, она станет самой быстрой, простой, понятной и эффективной.

Преимущества и недостатки

К плюсам «водопада» относят:

  1. Простой контроль программной разработки. Заказчик будет всегда знать, чем заняты программисты. Он сможет управлять сроками и расценками на выполненные задачи.
  2. Отсутствие необходимости найма тестировщиков с хорошей квалификацией. Можно просто обойтись подробной технической документацией при проверке контента.
  3. Возможность определения итоговой стоимости предстоящих работ. Этому способствует тщательное поэтапное планирование и согласование договора.
  1. Тестирование на поздних этапах написания контента. Если в требованиях будет ошибка, ее корректировка дорого обойдется. Обнаруживаются неполадки после того, как разработчики сформировали полноценный код проекта.
  2. Возможность увидеть итог только в конце процесса. Может получиться так, что заказчику не понравится результат. Проект придется переделывать.
  3. Огромное количество технической документации. Данный момент задерживает процесс написания исходного кода программного обеспечения.

Самое лучшее решение здесь – это формирование грамотного, тщательно продуманного и детализированного технического задания. Когда оно подробное, вероятность возникновения ошибок стремится к нулю.

V-образная

V-образный подход написания программ – это усовершенствованный «водопад». В нем заказчик будет вместе с программистами одновременно выдвигать требования к итоговому проекту, описывать его. Далее следует тестирование. Оно осуществляется на каждом этапе.

Такой подход сводит к минимуму количество архитектурных ошибок. Только при наличии неполадок в работе исправление обойдется дорого во всех смыслах. Хорошо подойдет для контента, где основополагающую играет надежность.

Инкрементный подход

Появился в 1930-х годах. Предусматривает написание ПО «по частям». Вот пример с социальной сетью, который поможет лучше разобраться в подходе:

  1. Клиент захотел сформировать социальную сеть. Он написал детализированное техническое задание. Программисты предложили реализовать основной функционал – личную страничку с данными и чат. После – протестировать процесс на целевой аудитории.
  2. Команда демонстрирует готовое ПО и реализовывает его. Если всех все устраивает, работа продолжается. Это происходит «по частям».
  3. Параллельно разработчики создают функциональные инструменты для обмена фото, аудио и документами, прослушивания музыки и так далее. Все это согласовывается с клиентом заранее.

К преимуществам подхода относят:

  1. Отсутствие больших финансовых вложений на первых порах. Задание оплачивается частично: сначала – ключевые моменты, если идея удалась – дополнительные функции.
  2. Отличную обратную связь. Она помогает понять целесообразность задумки, а также оперативно реагировать на обновления технического задания.
  3. Относительно недорогое исправление ошибок.
  1. Вероятность возникновения недопонимания в команде. Это связано с тем, что каждая группа программистов работает на «своей» задачей.
  2. Разработчики могут откладывать в долгий ящик релиз основного функционала, уделяя много времени «мелочевке».

Этот подход целесообразен для ПО с детализированным ТЗ. Используется тогда, когда сервис должен появиться на рынке быстро.

Итеративный подход

Рассматривая основы программной разработки, нужно обратить внимание на итеративный подход. В нем заказчик не имеет четкого представления о том, что он хочет получить «на выходе». Есть первоначальная задумка, а вот ее реализация не детализирована.

  1. Быстрый старт с минимальным набором функций. Это позволит оперативно получать обратную связь от потенциальной целевой аудитории.
  2. Постоянное пользовательское тестирование. Избавляет от дополнительных расходов на тестировщиков.
  1. Проблемы при использовании баз данных и серверов. Встречается проблема на первых порах создания контента.
  2. Отсутствие фиксированных сроков и бюджета.

Это – идеальное решение для масштабных трудов с неопределенными четкими требованиями. Вариант для инновационных сервисов – таких, где в результатах никто не уверен.

Спираль

В основы программной разработки включен подход, который называется «Спираль». Заказчики и программисты в ней занимаются тщательным анализом рисков. Написание продукта осуществляется итерационно.

Здесь каждая следующая стадия опирается на предыдущую. Каждый «виток» завершается – тогда принимается решение относительно дальнейшей судьбы первоначальной идеи. Рискам уделяется достаточное количество времени, но реализация долгая и дорогая.

Читайте также:
Bixby что это за программа

Agile – это…

Изучая основы создания ПО, нужно обратить внимание на эджайл. Это – практики и подходы, а также методологии, которые позволяют получать на выходе более эффективный итог.

В Agile process включают:

  • экстремальное программирование;
  • Scrum;
  • бережливую разработку;
  • создание «через тестирование»;
  • функционально управляемый подход;
  • методологии «чистой комнаты»;
  • итеративно-инкрементальный подход;
  • MSF;
  • написание динамических систем.

А еще здесь встречается метод управления Kanban. Ниже – таблица, которая поможет отличить Agile от «классических» приемов написания программного продукта.

Scrum – это не методология. Его обычно называют фреймворком. Связано это с тем, что у него присутствуют более строгие правила и принципы применения. Здесь роли и операции четко определены.

Kanban

Изучая модели и процесс разработки того или иного программного обеспечения, стоит обратить внимание на Kanban. Это один из самых популярных приемов.

Здесь команда будет работать через виртуальные доски. Они отражают принципы разбиения будущего сервиса на шаги. Каждый участник видит, какие задачи сейчас выполняются, какие – приторможены (и где), с какими удалось справиться.

Kanban дает возможность заниматься срочными задачами. Следующий спринт здесь ждать не придется. Такая модель идеальна не только для работы, но и для достижения личных целей.

Как лучше понять процесс

Чтобы быстрее научиться грамотно подходить к вопросам формирования ПО, рекомендуется закончить специализированные компьютерные дистанционные курсы. Пример – от OTUS. Это образовательный центр в Москве, обучающий пользователей инновационным IT-профессиям.

Занятия полностью проходят онлайн. Можно смотреть уроки тогда, когда это удобно конкретному пользователю. Курсы рассчитаны на срок до 12 месяцев. Клиент может получить:

  • тщательно сформированную программу;
  • интересные домашние задания;
  • кураторство опытными специалистами;
  • собственное первое портфолио;
  • богатую и интересную практику.

В конце выдается онлайн-сертификат, который подтвердит навыки и знания в выбранном направлении. Разобраться с моделями разработки при помощи курсов – самое быстрое и верное решение.

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Источник: otus.ru

Запиши недостающие слова. Программирование — процесс создания… | Skysmart

Cart slov

Программирование — процесс создания программ, разработки всех типов программного обеспечения.

Этим занимаются программисты. Для записи программ используются языки программирования.

Skysmart на схожие темы

Дополни схему преобразования звука.

Закодируй слово «Видеокарта» в кодировке Windows. Ответ запиши в виде перечисления кодов в десятичной системе.

Занеси в таблицу результаты трёхразрядной дискретизации сигнала, изображённого на графике.
Запись и воспроизведение видеофильмов на компьютере связаны с ЦАП и АЦП и осуществляются при помощи
Запиши адреса клеток с оранжевыми плитками.
Запиши недостающие слова. Центральным устройством компьютера является…

Запиши ответ. Совокупность всех действий, которые может выполнить формальный исполнитель в ответ на команды.

Источник: www.euroki.org

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

Технология разработки программного обеспечения

В статье рассмотрим такую тему, как технология разработки программного обеспечения: поговорим о жизненном цикле программ, организационных и вспомогательных моментах при разработке ПО, пройдёмся по основным этапам создания программных продуктов, а также коснёмся некоторых моделей жизненного цикла программ.

Технология разработки программного обеспечения (ПО) — это комплекс мер по созданию программных продуктов (ПП). Данная деятельность включает в себя несколько этапов, с которыми так или иначе придётся столкнуться при разработке достаточно крупного ПО.

Технология разработки программного обеспечения

Ключевым понятием в технологии разработки ПО является понятие жизненного цикла программного продукта. С его рассмотрения мы и начнём.

Жизненный цикл программы

Перечислим основные этапы жизненного цикла программы и дадим краткую характеристику каждому из этапов. Всякая разработка включает в себя:

  • Процесс приобретения. Данный процесс представляет собой действия заказчика разработки ПО, и обычно включает в себя такие мероприятия, как: формирование требований и ограничений к программному продукту (ограничения могут быть связаны с выбором программной архитектуры, а также с приемлемым быстродействием системы и т.д.); заключение договора на разработку; анализ и аудит работы исполнителя. В конце данного процесса заказчик осуществляет приёмку готового программного продукта.
  • Процесс поставки включает в себя мероприятия, проводимые исполнителем по поставке ПО. Исполнитель анализирует требования заказчика, выполняет проектирование и анализ работ, решает, как будет происходить процесс конструирования (программирования): своими силами, либо же с привлечением сторонних команд разработки (подрядчика), также осуществляет оценку и контроль качества готового программного продукта и выполняет непосредственно поставку продукта и сопутствующие завершающие мероприятия.
  • Процесс разработки. Его мы подробно рассмотрим в разделе «Этапы создания программных продуктов».
  • Процесс эксплуатации. После того, как программное обеспечение будет готово, начинается процесс его эксплуатации организацией-заказчиком и её операторами.
  • Процесс сопровождения. Фирма-разработчик осуществляет поддержку пользователей программного продукта в случае возникновения у них каких-либо вопросов или проблем. Если в процессе эксплуатации будет обнаружена ошибка в ПП, разработчики должны её устранить. Процесс эксплуатации и процесс сопровождения идут параллельно.

Вспомогательные процессы

Технология разработки программ в рамках жизненного цикла программного обеспечения включает в себя ряд вспомогательных процессов. Рассмотрим их.

  • Процесс документирования. В процессе разработки и далее исполнитель пишет документацию и руководства пользователя к разрабатываемому программному продукту. Данные документы помогут разработчикам [вспомнить/разобраться] структуру и код ПО (ибо со временем всё забывается, особенно в больших проектах), а пользователям освоить работу с программой.
  • Процесс управления конфигурацией. Данный процесс включается в себя работы по управлению наборами разрабатываемых компонентов ПО и по управлению версиями ПП.
  • Процесс обеспечения качества. Он отвечает за то, чтобы разрабатываемый программный продукт соответствовал предварительным требованиям к разработке, а также стандартам организаций исполнителя и заказчика.
  • Процесс верификации. Нужен для того, чтобы выявить ошибки внесённые в ПО во время конструирования, а также выявить несоответствия разрабатываемого ПО выработанной архитектуре.
  • Процесс аттестации. Процесс направлен на подтверждение соответствия получаемых величин эталонным. То есть, выходные данные должны иметь погрешность, удовлетворяющую требованиям и установленным стандартам.
  • Процесс совместной оценки. Нужен для контроля и проверки состояния персонала и разрабатываемого программного продукта. Выполняется обеими сторонами (заказчиком и исполнителем) на протяжении времени всех работ по проекту.
  • Процесс аудита. Аудит направлен на независимую оценку текущих положений, состояния проекта, документации и отчетов. При аудите выполняется сравнение с договором и документами, определяющими стандарты. Может выполняться также обеими сторонами.
  • Процесс разрешения проблем. Реализует устранение недочётов, выявленных во время всех процессов связанных к контролем и оценкой.

Технология разработки программного обеспечения

Организационные процессы жизненного цикла программного продукта

Существует и проводится ряд мер, направленных на повышение организации и качества разработки программного обеспечения. Они называются организационными процессами жизненного цикла. Обычно их выделяют четыре вида, и мы рассмотрим каждый.

Организационные процессы жизненного цикла программного обеспечения включают:

  • Процесс управления, который направлен на грамотное и эффективное управлением персоналом компании-исполнителя. За это отвечают люди, находящиеся на руководящих постах, а также специальный отдел в фирме.
  • Процесс создания инфраструктуры. Разработка программных продуктов требует наличия огромного количества инфраструктурных компонентов: компьютеров, серверов, специальных программ для разработки и т.д. Кроме того, готовый продукт требует наличия определённых единиц для его работы. Данный процесс необходим для подготовки оборудования и ПО для разработчиков, а также для успешного функционирования готового ПП у заказчика.
  • Процесс усовершенствования. Направлен на усовершенствование всех остальных процессов жизненного цикла программного обеспечения. Усовершенствование может повысить производительность разработчиков и добиться большей выгоды от выполнения заказа на производство программы.
  • Процесс обучения. Постоянное обучение сотрудников и повышение их квалификации — это залог производства качественных продуктов и программ. Процесс обучения направлен на организацию мероприятий для повышения уровня и получения новых навыков сотрудниками компании-разработчика.
Читайте также:
Стандартная программа ножницы что это

Этапы создания программных продуктов

Приведём все основные этапы создания программного продукта. Всего их пять. Они так или иначе характерны для любой методологии разработки ПО: будь то классическая водопадная, либо современные гибкие методологии (Agile software development) — во всех из них разработчики проходят через следующие этапы создания программного обеспечения:

  1. Составление требований заказчика. На данном эта производится работа с заказчиком и документирование его видения и его требований к программе. В подавляющем большинстве случаев данный этап проходит трудно. Поскольку, слабо разбираясь в особенностях разработки ПО, заказчик плохо представляет себе, что нужно знать разработчикам и (самое главное!), что им нужно сообщить о продукте.
    Выработка требований чрезвычайно важное мероприятие. Убедитесь, что все требования полностью понятны вам и вашей команде.
  2. Проектирование программного продукта. Разобравшись в предметной области, разработчики приступают к проектированию. На данном этапе создания программного продукта разрабатывается архитектура компонентов ПО, выбираются нужные шаблоны проектирования (паттерны) и составляется схема информационной базы данных системы.
  3. Разработка. Когда требования сформулированы и архитектура готова — команда начинает разработку ПП. На этапе разработки также выполняется документирование системы.
  4. Тестирование. После разработки необходимо произвести тестирование системы в целом, тем самым подтвердить её соответствие требованиям заказчика.
    Здесь стоит сказать, что модульные тесты (unit-тесты; т.е. тесты отдельных частей программы) обычно выполняются на этапе разработки программистом, разрабатывавшем конкретный модуль.
    Когда все тесты пройдены, программное обеспечение готово к выпуску.
  5. Сопровождение ПП. После выпуска фирма-разработчик отвечает за поддержку программного продукта и выпуска новых версий, которые исправляют ошибки и привносят новый функционал. Также необходимо осуществлять поддержку пользователей разработанного ПО.

Примечание 1: Следует как можно тщательнее подходить к формированию предварительных требований и проектированию, поскольку стоимость исправления ошибок после выпуска ПО, допущенных на этих этапах, обычно в 2-10 (!) раз выше, чем стоимость исправления ошибок сделанных на этапе программирования (Стив Макконнелл «Совершенный код»).

Примечание 2: Очень часто случается, что заказчик уже после составления требований к ПО (т.е. во время проектирования и разработки) объявляется и радостно сообщает исполнителю свои новые идеи или рассказывает о какой-нибудь «классной» функции, которую нужно добавить в приложение… Бывают случаи, когда это труднореализуемо и сопряжено с пересмотром архитектуры. В данной ситуации можно посоветовать сказать разработчику примерно следующее: «Отлично придумано! Мне нравится! Тогда я пересмотрю свою смету и сроки работы и потом сообщу Вам!». Практически всегда это срабатывает и гасит пыл заказчика, и он отказывается от новых идей и изменений в проекте.

Модели жизненного цикла

Модель жизненного цикла программного обеспечения характеризует подход команды к разработке ПП. Она отражает акценты и приоритеты во всём процессе изготовления программы, а самое главное, порядок следования этапов создания программных продуктов.

На сегодняшний день существует множество моделей жизненного цикла разработки программного продукта. Мы кратко рассмотрим основные из них и выделим их ключевые особенности.

Каскадная (водопадная) модель

Каскадная (водопадная) модель

Каскадная (водопадная) модель строго следует последовательности всех этапов разработки ПО и не предполагает возвращения с текущего этапа на предыдущий. Сейчас данная модель практически не используется, разве что в очень малых проектах.

V-образная модель разработки

V-образная модель разработки

По рисунку можно проследить, что в V-образной модели имеется возможность вернуться на некоторые этапы разработки и уточнить нужные требования.

Модель прототипирования

Модель прототипирования

Прототипирование предполагает создание на протяжении всего процесса разработки несколько рабочих версий программы (прототипов) с неполным функционалом. В первом прототипе может быть реализован исключительно один интерфейс приложения.

Модель быстрой разработки (RAD-модель)

Модель быстрой разработки (RAD-модель)

RAD-модель (rapid application development — быстрая разработка приложений) ориентирована в первую очередь на быстроту и удобство программирования. Команда делает акцент именно на разработке, а большая часть работы по составлению требований и описанию пользователей возлагается на заказчика.

Итерационная модель

В итерационной модели всегда имеется возможность вернуться на любой предыдущий этап разработки ПО для уточнений требований и исправления компонентов. Здесь главное вовремя остановиться, ведь итерации не могут продолжаться бесконечно.

Спиральная модель

Спиральная модель

В спиральной модели все этапы разработки последовательно повторяются по кругу до тех пор, пока текущая версия программы не станет полностью соответствовать требованиям. Здесь также нужно иметь предел и вовремя остановиться.

Гибкие методологии

Гибкие методологии (Agile) олицетворяют современные подходы к разработке ПО. Они используются обычно в небольших командах разработчиков. Среди них такие модели жизненного цикла программного продукта, как Scrum, DSDM, XP, FDD и другие. Вы можете посмотреть видео про одну из гибких методологий: экстремальное программирование.

Вот мы и рассмотрели тему, связанную с технологией разработки программного обеспечения. Если есть вопросы — задавайте их в комментариях. Спасибо за прочтение статьи!

Источник: vscode.ru

Процесс разработки программного обеспечения

Ключевой момент: жизненный цикл разработки программного обеспечения – это многоступенчатый процесс, который включает в себя спецификацию требований, анализ, проектирование, внедрение, тестирование, развертывание и обслуживание.

Разработка программного продукта – это технический процесс. Программные продукты, независимо от того, насколько они велики или насколько малы, имеют один и тот же жизненный цикл: спецификация требований, анализ, проектирование, внедрение, тестирование, развертывание и обслуживание, как показано на рисунке:

На любом этапе жизненного цикла разработки программного обеспечения может потребоваться вернуться на предыдущий этап, чтобы исправить ошибки или решить другие проблемы, которые могут помешать работе программного обеспечения, как от него ожидалось.

Технические требования

Спецификация требований – это формальный процесс, который направлен на понимание проблемы, которую будет решать программное обеспечение, и подробного документирования того, что должна делать система программного обеспечения. Этот этап предполагает тесное взаимодействие между пользователями и разработчиками. Большинство примеров на этом сайте просты, и их требования четко сформулированы. Однако в реальном мире проблемы не всегда четко определены. Разработчики должны тесно сотрудничать со своими клиентами (физическими лицами или организациями, которые будут использовать программное обеспечение) и тщательно изучать проблему, чтобы определить, что нужно делать.

Системный анализ

Системный анализ направлен на анализ потока данных и идентификацию ввода и вывода системы. Когда вы проводите анализ, это помогает начать с определения, каким должен быть вывод, а затем выяснить, какие входные данные вам нужны для получения результата.

Системный дизайн

Читайте также:
Pc home что это за программа

Системный дизайн – это разработка процесса получения выходных данных из ввода. Эта фаза предполагает использование множества уровней абстракции для разбивки проблемы на управляемые компоненты и стратегии разработки для реализации каждого компонента. Вы можете рассматривать каждый компонент как подсистему, которая выполняет определенную функцию системы. Суть системного анализа и дизайна — вход, процесс и выход (IPO).

Реализация

Реализация включает перевод дизайна системы в программы. Отдельные программы записываются для каждого компонента, а затем интегрируются для совместной работы. На этом этапе требуется использование языка программирования, такого как Java. Реализация включает в себя кодинг, самотестирование и отладку (то есть поиск ошибок, называемых багами, в коде).

Тестирование

Тестирование гарантирует, что код соответствует требованиям спецификации, а ошибки искоренены. Независимая команда разработчиков программного обеспечения, не участвующая в разработке и внедрении продукта, обычно проводит такое тестирование.

Развертывание

Развертывание делает программное обеспечение доступным для использования. В зависимости от типа программного обеспечения оно может быть установлено на компьютере каждого пользователя или установлено на сервере, доступном в Интернете.

Обслуживание

Техническое обслуживание связано с обновлением и улучшением продукта. Программный продукт должен продолжать работать и улучшаться в постоянно меняющейся среде. Это требует периодических обновлений продукта для исправления вновь обнаруженных ошибок и внесения изменений.

Чтобы увидеть процесс разработки программного обеспечения в действии, мы теперь создадим программу, которая вычисляет платежи по кредиту. Кредитом может быть ссуда на покупку автомобиля, студенческий кредит или ипотечный кредит на жилье. Для вводного курса программирования мы фокусируемся на спецификации требований, анализе, проектировании, внедрении и тестировании.

Этап 1: Спецификация требований

Программа должна удовлетворять следующим требованиям:

  • Она должна позволить пользователю ввести процентную ставку, сумму кредита и количество лет, за которые будут производиться платежи.
  • Она должна вычислять и отображать ежемесячные платежи и общую сумму платежа.

Этап 2: Системный анализ

Результатом является ежемесячный платеж и общий платеж, который можно получить по следующим формулам:

Для расчёта ежемесячного платежа:

  • monthlyPayment – ежемесячный платёж,
  • loanAmount – сумма кредита,
  • monthlyInterestRate – ежемесячная процентная ставка,
  • numberOfYears – число лет.

Для расчёта всего платежа:

  • totalPayment – общий платёж,
  • monthlyPayment – ежемесячный платёж,
  • numberOfYears – число лет.

Таким образом, ввод, необходимый для программы, — это месячная процентная ставка, продолжительность кредита в годах и сумма кредита.

Примечание: в спецификации требований говорится, что пользователь должен ввести годовую процентную ставку, сумму кредита и количество лет, за которые будут производиться платежи. Однако во время анализа возможно, что вы обнаружите, что ввод недостаточен или некоторые значения не нужны для вывода. Если это произойдет, вы можете вернуться и изменить спецификацию требований.

Примечание: в реальном мире вы будете работать с клиентами из всех сфер жизни. Вы можете разрабатывать программное обеспечение для химиков, физиков, инженеров, экономистов и психологов, и, конечно же, у вас не будет (или недостаточно) полного знания всех этих областей. Поэтому вам не нужно знать, как получились эти формулы, но узнав ежемесячную процентную ставку, количество лет и сумму кредита вы можете вычислить ежемесячный платеж в этой программе. Однако вам нужно будет общаться с клиентами и понимать, как работает математическая модель для системы.

Этап 3: Проектирование системы

Во время проектирования системы вы определяете шаги в программе.

Шаг 1. Попросите пользователя ввести годовую процентную ставку, количество лет и сумму кредита.

(Процентная ставка обычно выражается в процентах от основной суммы в течение одного года. Это называется годовой процентной ставкой.)

Шаг 2. Ввод годовой процентной ставки — это число в процентах, например, 4,5%. Программа должна преобразовать ее в десятичную цифру, разделив ее на 100. Чтобы получить ежемесячную процентную ставку от годовой процентной ставки, разделите ее на 12, так как год составляет 12 месяцев. Таким образом, чтобы получить ежемесячную процентную ставку в десятичном формате, вам необходимо разделить процентную ставку в процентах на 1200. Например, если годовая процентная ставка составляет 4,5%, то ежемесячная процентная ставка составляет 4,5 / 1200 = 0,00375.

Шаг 3. Вычислите ежемесячный платеж, используя предыдущую формулу.

Шаг 4. Вычислите общий платеж, который представляет собой ежемесячный платеж, умноженный на 12 и умноженный на количество лет.

Шаг 5. Выведите ежемесячный платеж и общий платеж.

Этап 4: Реализация

Реализация также известна как кодирование (запись кода). В формуле вы должны вычислить (1 + monthlyInterestRate) numberOfYears * 12 , это можно получить используя Math.pow(1 + monthlyInterestRate, numberOfYears * 12).

Полный код программы:

import java.util.Scanner; public class ComputeLoan < public static void main(String[] args) < // Создаём Scanner Scanner input = new Scanner(System.in); // Введите процентную ставку в процентах, например, 7,25% System.out.print(«Введите процентную ставку в процентах, например, 7,25%: «); double annualInterestRate = input.nextDouble(); // Получаем ежемесячную процентную ставку double monthlyInterestRate = annualInterestRate / 1200; // Введите число лет System.out.print( «Введите число лет как целое число, например, 5: «); int numberOfYears = input.nextInt(); // Введите сумму кредита System.out.print(«Введите сумму кредита, например, 120000,95: «); double loanAmount = input.nextDouble(); // Вычисление платежа double monthlyPayment = loanAmount * monthlyInterestRate / (1 — 1 / Math.pow(1 + monthlyInterestRate, numberOfYears * 12)); double totalPayment = monthlyPayment * numberOfYears * 12; // Display results System.out.println(«Ежёмесяынй платёж составляет $» + (int) (monthlyPayment * 100) / 100.0); System.out.println(«Общий платёж составляет $» + (int) (totalPayment * 100) / 100.0); >>

Строка 10 считывает годовую процентную ставку, которая конвертируется в ежемесячную процентную ставку в строке 13.

Выберите наиболее подходящий тип данных для переменной. Например, numberOfYears лучше всего объявлять как int (строка 18), хотя она может быть объявлен как long, float или double. Обратите внимание, что byte может быть наиболее подходящим для numberOfYears. Однако для простоты примеры на этом сайте будут использовать int для целых чисел и double для значений с плавающей запятой.

Формула для расчета ежемесячного платежа преобразуется в код Java в строках 25-27.

Явное изменение типа данных (кастинг) используется в строках 31 и 33 для получения нового monthlyPayment и totalPayment с двумя цифрами после десятичных точек.

Программа использует класс Scanner, импортированный в строку 1. Программа также использует класс Math, и вам может быть интересно, почему этот класс не импортируется в программу. Класс Math находится в пакете java.lang, и все классы в пакете java.lang импортируются неявно. Поэтому вам не нужно явно импортировать класс Math.

Этап 5: Тестирование

После реализации программы протестируйте ее с помощью некоторых выборочных входных данных и проверьте правильность вывода. Некоторые из проблем могут быть связаны со многими случаями, как вы увидите в последующих главах. Для этих типов проблем вам необходимо разработать тестовые данные, которые охватывают все случаи.

Подсказка: в этом примере этап системного проектирования разбит на несколько этапов. Это хороший подход к коду, постепенно тестируйте эти шаги, постепенно добавляя новые. Такой подход упрощает выявление проблем и отладку программы.

Проверь себя:

Как бы вы записали следующее арифметическое выражение?

Источник: java9.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru