Файл: Основы проектирования программ. Этапы создания программного обеспечения (ГЛАВА 1 ОСНОВЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ).pdf
Добавлен: 05.07.2023
Просмотров: 98
Скачиваний: 2
Безусловно, любое программное обеспечение строится на основе потребностей пользователя. Каждая компания имеет свою специфику работы и требует индивидуального подхода. Произведенная под конкретные требования разработка программ позволит значительно сэкономить время сотрудникам компании на обработке отдельной информации и внесении дополнительных данных. Это могут быть складские программы, программы для произведения сложных вычислений или элементарной записи телефонов клиентов для регулярной рассылки рекламной информации. Воспользовавшись услугами хорошего ПО, можно не только сэкономить время, но и деньги с заработной платы и налогов уже не требующегося сотрудника. ПО, в таком случае, оказывает услугу не только по экономии, но и избавляет работодателя от возможности ошибок от такого понятия как «человеческий фактор». Система не спит, не ест, не курит, не требует отпуск и не пьет чай — она всегда на месте и готова трудиться на благо компании. Если она вышла из строя, достаточно пригласить к ней программиста, и спустя пару часов система снова готова к усердной работе. Чтобы воспользоваться услугами этого чуда техники, достаточно найти сайт программного обеспечения и набрать номер телефона. Работники данной сферы точно знают потребность клиенту и пути удовлетворения этой потребности. Вам детально расскажут обо всех возможностях и наверняка поведают много нового о современном ПО, ведь новшества внедряются ежесекундно [6;15].
Чтобы полностью удовлетворить все потребности заказчика, предоставляя услуги по программному обеспечению, необходимо изучить особенности деятельности кампании, для которой создается ПО. Важно пониать требования и желания самих будущих пользователей программы, вникнуть в суть их работы и понять ее досконально. Только благодаря такому дельному подходу программист сможет не только создать представляемую заказчиком версию программы, но и предложить ее в более совершенном варианте. Еще одно серьезное преимущество опытных мастеров программирования заключается в том, что они уже не неоднократно сталкивались с проблемами и запросами аналогичными проблемам и запросам заказчика и знают «как сделать лучше». После проводится предварительное планирование работ. Определив пул задач, устанавливаются сроки по их выполнению и определяются ресурсы, нужные для их реализации. На основании подготовленных данных определяется общая стоимость работ по разработке программного обеспечения.
Проектирование ПО
На этой стадии разработки автоматизированной системы составляются технические задания и создаются спецификации, а планы по проведению работ закрепляются в документальном виде. Проводится анализ составленного плана работ. Определяется, какие процессы и вычисления должны быть видимыми, а какие могут производиться скрыто; к каким данным необходим доступ для внесения корректировок, а какие могут производиться только автоматически или даже нуждаются в этом. Помимо прочего, в зависимости от сложности создаваемой программы, могут использоваться различные методы проектирования. Если программа не очень сложная, для нее вполне подойдет «ручное» проектирование. Если же система является продуктом сложным, то автоматизация необходима даже на этом этапе. Как правило проектированию подвергается архитектура ПО, устройство его компонентов и пользовательские интерфейсы. Чтобы наглядно описать предполагаемую систему на этапе проектирования используются ER-диаграммы, блок-схемы, DFD-диаграммы, UML-диаграммы и макеты [7;124].
Какие компоненты входят в проектирование программного обеспечения?
1. Разработка дизайна.
Совершенно очевидно, что дизайн ПО не менее важен, чем сама разработка базы данных. Современные системы позволяют создавать различные виды форм, цветов и изображений. Проводя целый день перед монитором компьютера, важно, чтобы постоянно мелькающие перед глазами оттенки не были слишком яркими и не раздражали пользователя, а также не приводили к ушудшению зрения. Важно, чтобы использование программы было комфортным не только с точки зрения получения удовлетворительного результата от своей деятельности, но и просто благодаря комфортному и дружелюбному интерфейсу. Многим заказчикам нравится создание индивидуального стиля, но такая услуга имеет определенную дополнительную стоимость. Для рабочих программ как правило применяются шаблоны, которые подгоняются под специфику программы заказчика. После финального определения созданного дизайна получаются графические макеты, визуальные формы и тщательно продуманный интерфейс, готовый к последующему утверждению.
2. Кодирование ПО.
Само по себе понятие кода представляет собой набор знаков или символов, применяющихся для записи или передачи конкретных, заранее определенных понятий. Очевидно, что видимое на мониторе изображение — это только передаваемый визуальный объект, а сами программы пишутся и состоят из цепочек чисел, букв, символов и значимых пробелов. Чтобы немного приблизится к понятию, нужно нажать на правую кнопку мыши и выбрать «просмотр кода элемента». Примерно так и выглядят страницы сайтов и программ в момент их выпуска. И именно эту работу программиста предполагает «Кодирование ПО». Задача практически невыполнимая для обыкновенного пользователя, но интересная и посильная для опытного программиста в определенной сфере. Стоит отдельно отметить, что опыт при реальзации подобной задачи имеет очень важное значение.
3. Тестирование программного обеспечения.
На этапе после разработки проекта программы, утверждения дизайна и создания программного кода, системе необходимо пройти тщательное тестирование. Тестирование проводится для выполнения следующих задач:
— демонстрации программы заказчику для окончательного ее утверждения;
— проверки программы на наличие ошибок, или как это называется в обывательской речи, «багов».
Баг — это сбой системы, происходящий из-за небольшого недочета в коде программы. В этом случае независимо от масштабов ошибки — вплоть до отсутствия только одного символа, может выходить полностью ошибочный конечный результат. Поэтому тестирование и является важным этапом в разработке программной системы.
При проверке программы на наличие ошибок нужно быть очень внимательными каждому пользователю, поскольку ошибки могут скрываться в самых неожиданных местах. Естественно, если конечный результат будет ошибочным, заметить это несложно. Гораздо сложнее найти мелкие недочеты, приводящие к эффекту «накопительного» свойства. Например, если при произведении вычисления или записывая информацию программа будет совершать регулярно одну незначительную ошибку, которая на первый взгляд не имеет значения либо вообще невидима, итогом может стать полный крах системы, либо отсутствие части ожидаемых функций по формированию отчетов и прочего. Для таких случаев и предусмотрено сопровождение разработанного ПО программистами-создателями.
4. Документирование ПО в процессе разработки.
Документирование ПО — это совокупность данных и документов по реализуемому проекту. Данное действие может показаться пережитком бюрократического наследия, но на самом деле это очень полезная вещь по множеству причин.
4.1. Чем полезно документирование:
4.1.1. Зачастую разработкой каждой программой занимаеется большое количество специалистов, которые постоянно нуждаются в получении информации о производимых коллегами манипуляциях. Документирование обеспечивает доступ к требующимся сведениям любому специалисту в любой момент времени. Запись документации всегда производится на одном языке, понятном всем участникам проекта. В случае появления нового человека в группе специалистов, он легко знакомится со всеми произведенными операциями и может быстро понять суть работы.
4.1.2. В случае появления ошибки на определенном участке системы, будет гораздо удобней, если данный участок имеет определенное название. Таким образом можно быстро передать информацию коллегам, и она будет мгновенно принята к сведению. В таком контексте «Раздел № 26», звучит значительно понятней, чем «недоделанная вчера Ваней часть системы».
4.1.3. Ведение документации позволяет строго разграничить между специалистами их зоны влияния, тем самым возложив на каждого ответственность за свой конкретный участок работы. Это позволит избежать напрасных поисков виноватых в отдельных ситуациях и сотрудника, который должен устранить данную ошибку или произвести работу.
4.1.4. Четко определенные границы функциональности системы при ее проектировании намного проще сохранить, документируя весь процесс разработки технологий. Уже начав работу над созданием программы, не должно быть внезапно появившихся пожеланий заказчика. Изначально заложенная основа может быть просто не рассчитана на отдельные возможности.
4.2. Рекомендации по документированию программного обеспечения:
4.2.1. Краткость — сестра таланта. В случае с документированием процесса создания ПО эта истина приходится приобретает особую актуальность. Проектные документы должны содержать сухую лаконичную информацию, а не отвлекать и раздражать своими объемами занятых работой людей. Текст должен быть понятно и доступно изложен.
4.2.2. Документирование проекта представляет, по сути, логичную схему, в которой не должно быть разрозненных и не связанных документов. Если на вы видите документ, который не связанн с прочими документами какой-либо ссылкой, его можно удалять безжалостно и беспощадно.
4.2.3. Трудозатраты специалистов на отдельные участки системы следует рассчитывать, основываясь на описанные атомарные задачи. Невозможно определить, скольких усилий стоило конкретному программисту разработка функционала подсистемы ввода данных. Зато в описании атомарных задач все точно, причем чем мельче задача — тем точнее агрегированная оценка.
4.2.4. Необходимо обязательно формировать списки информирования всех участников проекта. В случае возникновения потребности в доработке какого-либо участка системы, все сотрудники, участвующие в ее создании, должны быть немедленно уведомлены. Несвоевременно полученная информация может стать причиной напрасно потраченного времени и труда многими специалистами.
Исходя из вышесказанного можно сделать вывод, что на пункт о документировании было потрачено столько слов не напрасно. Документирование — это не просто бюрократическая волокита, а способ передать накопленные знания коллегам-разработчикам.
После выпуска каждому программногому обеспечению необходимо обеспечить техническую поддержку. Она нужна не только на стадиях освоения и калибровки вылезающих проблем. На протяжении жизненного цикла системы требуется специалист, разбирающийся во всех нюансов и особенностях программы. Самым лучшим выбором в качестве сопровождения будет компания создатель вашего ПО. К поддержку входит два вида услуг: внедрение ПО и его сопровождение.
Разберем их в отдельности и посмотрим, что они из себя представляют.
2.3.1 Внедрение ПО.
В услуги внедрения входит исполнение договорных обязательств, завершение и вывод в продакшн финальную стабильную версию ПО. За этим следует! Запуск работы с приложением внутри организации. Для того чтобы использование приложения приносила работсь и приятные ощущения, необходимо провести обучение сотрудникам, которые будут работать в готовом приложении. Важно объянить и показать каждому, как и что нужно делать, а какие действия выполнять не следует. В первое время, разработчики сами используют свое приложение, и производят сбор данных о найденных дефектах, вопросах, возникающих в работе. За это время между компаниями выстраивается партнерское взаимодействие. Завершив этап обучения и устранив все возможные баги и дефекты разработчиком, общемение между ними в скором времени сойдет на нет. Но это не означает, что после этого можно вычеркнуть программиста из жизни компании и работы ПО. По своей природе люди часто допускают ошибки и это мождет привести к значительным проблемам в работе программного обеспечения, вызваныые механическими повреждениями или другими факторами – в таком случае потребуется помощь программиста отвественного за ващу программу. Последня часть плавно подводит нас к следующему пункту – сопровождение.
2.3.2 Сопровождение ПО.
Сопровождение программного обеспечения, это важная доля прибыли компаний, занимающихся разработкой программного обеспечения. Особенно, если созданный организацией успешный продукт, был востребован еще и другими компаниями, а компания разработчик, лучше всех знает как функционирует их программа. Зачастую разработчики программного обеспечения оставляют возможность маштабировать программногое обеспечение - совершать доработки с целью его совершенствования. Современный бизнес не стоит на месте, а вместе с бизнесом должна развиваться и система, контролирующая и анализирующая его. Сопровождать фирма может не только свое персонально разработанное ПО, но и устаревшее наследие программных комплексов организаций.
Если предприятие уже давно существует, и имеет свои базы данных, системное обеспечение и прочее нуждающееся в поддержке и сопровождении специалистами интеллектуальное имущество, компании по разработке ПО с радостью предоставят свои услуги.