Программная инженерия
Аттестация программ. Стандарты открытых систем, регламентирующие структуру и интерфейсы программных средств. Изучение проблемно-ориентированного экономического программного продукта. Оценка трудозатрат его разработки. Управление проектом и анализ данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.03.2018 |
Размер файла | 725,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
Программные системы в настоящее время присутствуют повсеместно: практически любые электронные устройства содержат программное обеспечение (ПО) того или иного вида. Без соответствующего программного обеспечения в современном мире невозможно представить индустриальное производство, школы и университеты, систему здравоохранения, финансовые и правительственные учреждения. Многие пользователи применяют ПО для самообразования, для развлечений и т.д. Создание спецификации требований, разработка, модификация и сопровождение таких систем ПО составляет суть технической дисциплины инженерия программного обеспечения.
Даже простые системы ПО обладают высокой степенью сложности, поэтому при их разработке приходится применять весь арсенал технических и инженерных методов. Следовательно, инженерия программного обеспечения - это инженерная дисциплина, где специалисты используют теорию и методы компьютерных наук для успешного решения разного рода нестандартных задач. Но, конечно, не каждый проект ПО завершается успешно в силу различных причин. Прогресс заметен: за последние 30 лет ПО очень сильно усложнилось, появились программы, предлагающие пользователям очень большие сервисные возможности для работы с ними.
Следует отметить, что инженерия программного обеспечения развивается в основном в соответствии с постановкой новых задач построения больших пользовательских систем ПО для промышленности, правительства и оборонного ведомства. С другой стороны, в настоящее время сфера программного обеспечения очень широка: от игр на специализированных игровых консолях, а также программных продуктов для персональных компьютеров до очень больших масштабируемых распределенных систем.
При создании программного продукта перед инженером встает множество вопросов различного рода, таких как, например, требования к ПО, модели систем, спецификации ПО, надежность создаваемого продукта, и т.д. В данной работе рассматриваются одни из самых сложных шагов в создании любого программного продукта - верификация и аттестация. В работе дается общее представление о верификации и аттестации программного обеспечения, о методах статической и динамической верификации, о верификации и аттестации критических систем.
Целью курсовой работы является изучение верификации и аттестации программного обеспечения, а так же изучение стандартов открытых систем.
Задачами курсовой работы являются;
- изучения и анализ верификации и аттестации программного обеспечения;
- изучение стандартов открытых систем;
- инсталляция и изучения проблемно ориентированного экономического программного продукта;
- оценить трудозатраты на разработку программной компоненты;
- раскрыть процесс управление проектом и произвести анализ данных.
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
программа экономический управление
1.1 Верификация и аттестация
Несмотря на кажущуюся схожесть, термины «верификация» и «аттестация» означают разные уровни проверки корректности работы программной системы. Дабы избежать дальнейшей путаницы, четко определим эти понятия.
Верификация - это проверка соответствия программного обеспечения проектной спецификации и стандартам, технической документации, представленной техзаданием, архитектурой или моделью предметной области. Так же целью верификации является достижение гарантии того, что верифицируемый объект (требование или программный код) реализован без непредусмотренных функций.
Аттестация программной системы - более общий процесс, целью которого является доказательство того, что в результате разработки системы мы достигли тех целей, которые планировали достичь благодаря ее использованию. Иными словами, аттестация - это проверка соответствия системы ожиданиям заказчика, поэтому она проводится после верификации. Если посмотреть на эти процессы с точки зрения вопроса, на который они дают ответ, верификация отвечает на вопрос - «Выполнено ли программное обеспечение правильно?» или «Соответствует ли разработанная система требованиям?», а аттестация - «Правильно ли работает система?» или «Соответствует ли разработанная система ожиданиям заказчика?».
Поскольку основной задачей верификации, как и аттестации, является контроль качества программного обеспечения, необходимо обратиться к этому понятию. Стандарт ISO 9126 [21-24] предлагает учитывать три разных точки зрения при рассмотрении качества ПО: точку зрения разработчиков, которые воспринимают внутреннее качество ПО, точку зрения руководства и аттестации ПО на соответствие сформулированным к нему требованиям, в ходе которой определяется внешнее качество ПО, и точку зрения пользователей, ощущающих качество ПО при использовании. Во всех трех случаях для описания качества используется предложенная МакКолом многоуровневая модель, состоящая из целей или факторов, атрибутов или критериев и метрик качества. Цели (факторы) позволяют на верхнем уровне определять основные характеристики, которые ПО должно иметь или уже имеет. Каждый фактор состоит из набора атрибутов (критериев), позволяющих качественно описать желаемые или полученные характеристики более детально. Каждый атрибут поддерживается набором метрик, которые позволяют количественно оценивать наличие соответствующей характеристики. Для двух точек зрения -- внешнего качества и внутреннего качества -- в рамках ISO 9126 предложена модель качества, схематически представленная на рисунке 1.
Рисунок 1 Факторы и атрибуты внешнего и внутреннего качества ПО по ISO 9126
Существуют две основные методики проверки и анализа систем в процессах верификации и аттестации: инспектирование и автоматический анализ - это статические методы, которые могут выполняться на всех этапах процесса разработки системы, а так же тестирование - это динамический метод, который выполняется если уже создана исполняемая программа, то есть на этапе реализации системы и после завершения ее реализации.
Тестирование (testing)--это процесс выполнения программы (или части программы) с намерением (или целью) найти ошибки. Отладка (debugging) не является разновидностью тестирования. Хотя слова «отладка» и «тестирование» часто используются как синонимы, под ними подразумеваются разные виды деятельности. Тестирование -- деятельность, направленная на обнаружение ошибок; отладка направлена на установление точной природы известной ошибки, а затем -- на исправление этой ошибки. Эти два вида деятельности связаны - результаты тестирования являются исходными данными для отладки. Отладка - сложный процесс и это обусловлено следующими причинами: от программиста требуются глубокие знания специфики управления используемыми техническими средствами, операционной системы, среды и языка программирования, реализуемых процессов, природы и специфики различных ошибок, методик отладки и соответствующих программных средств, так же сложность отладки может быть обусловлена взаимовлиянием ошибок в разных частях программы. Найденная программистом ошибка исправляется, после чего проводится повторное тестирование, так как в процессе исправления не исключается возможность появления новых ошибок. Полное повторное тестирование занимает много времени и как следствие является дорогостоящим, поэтому система разбивается на отдельные части и повторно тестируется только та часть, а так же связанные с нею другие части, где обнаружена ошибка.
1.2 Стандарты открытых систем, регламентирующие структуру и интерфейсы программных средств
В настоящее время в мире существует несколько авторитетных сообществ, занимающихся выработкой стандартов открытых систем. Однако исторически и, по-видимому, до сих пор наиболее важной деятельностью в этой области является деятельность комитетов POSIX. В этом разделе мы приведем краткий обзор этой деятельности.
Таблица 1.2.1 Иерархия архитектуры системы обработки данных
Уровень архитектуры системы обработки данных |
Компоненты системы обработки данных |
||||
Интерфейсы |
Средства обработки данных |
Представление и хранение данных |
Коммуникации |
||
Среда для конечного пользователя и инструментарий прикладного программиста |
Генераторы форм и отчетов |
Утилиты и библиотеки |
Языки программирования 4GL |
OSI. Прикладной уровень |
|
Языки программные и командные языки (оболочки) |
Прикладные программы |
Языки запросов СУБД |
OSI. Уровни сессий и представительный |
||
Операционная система |
Средства оконного интерфейса |
Верхний уровень ОС (организация процесса обработки) |
Средства доступа к среде хранения |
OSI. Транспортный уровень |
|
Драйверы |
Ядро операционной системы |
Файловая система |
OSI. Сетевой уровень |
||
Оборудование |
Системные интерфейсы (в т.ч. организация ввода-вывода) |
Процессоры (система команд) |
Организация памяти |
OSI. Уровень передачи данных |
|
Периферийные устройства |
Системная шина |
Шины (интерфейс) массовой памяти |
OSI. Физический уровень |
Первая рабочая группа POSIX (Portable Operating System Interface) была образована в IEEE в 1985 г. на основе UNIX-ориентированного комитета по стандартизации /usr/group (ныне UniForum). Отсюда видна первоначальная направленность работы POSIX на стандартизацию интерфейсов ОС UNIX. Однако постепенно тематика работы рабочих групп POSIX (а со временем их стало несколько) расширилась настолько, что стало возможным говорить не о стандартной ОС UNIX, а о POSIX-совместимых операционных средах, имея в виду любую операционную среду, интерфейсы которых соответствуют спецификациям POSIX.
Таблица 1.2.2 Сопоставление свойств открытых систем и объектно-ориентированных систем программирования
Свойства открытых систем |
Дружественность (пользователь) |
Мобильность (платформы) |
Расширяемость (новые функции и области применения) |
Интероперабельность (другие системы, пользователь) |
|
Свойства объектно-ориентированных систем программирования |
Объектное представление предметной области, наиболее удобное человеку. |
Инкапсуляция (скрытие реализации) |
Наследование, абстрактные типы данных |
Полиморфизм, динамическое связывание |
Сейчас функционируют и регулярно выпускают документы следующие рабочие группы POSIX.
POSIX 1003.0. Рабочая группа, выпускающая "Руководство по POSIX-совместимым средам Открытых Систем". Это руководство содержит сводную информацию о работе и текущем состоянии документов всех других рабочих групп POSIX, а также других тематически связанных организаций, связанных со стандартизацией интерфейсов Открытых Систем.
POSIX 1003.1. Интерфейсы системного уровня и их привязка к языку Си. В документах этой рабочей группы определяются обязательные интерфейсы между прикладной программой и операционной системой. С выпуска первой версии этого документа началась работа POSIX, и он в наибольшей степени связан с ОС UNIX, хотя в настоящее время интерфейсы 1003.1 поддерживаются в любой операционной среде, претендующей на соответствие принципам Открытых Систем. Заметим, что несмотря на очевидную важность 1003.1, в документе отсутствуют спецификации многих важных интерфейсов, в частности, интерфейсы системных вызовов, обеспечивающих межпроцессные взаимодействия.
POSIX 1003.2. Shell и утилиты. Рабочая группа специфицирует стандартный командный язык shell, основанный главным образом на Bourne shell, но включающий некоторые черты Korn shell. Кроме того, в документах этой рабочей группы специфицировано около 80 утилит, которые можно вызывать из процедур shell или прямо из прикладных программ. В документах серии 1003.2a описываются дополнительные средства, позволяющие пользователям работать с системой с помощью только ASCII-терминалов.
Целью рабочей группы является разработка методологии проверки соответствия реализаций стандартам POSIX. Документы рабочей группы используются в различных организациях при разработке тестовых наборов.
POSIX 1003.4. Средства, предоставляемые системой для прикладных программ реального времени. В соответствии с определением 1003.4, системой реального времени считается система, обеспечивающая предсказуемое и ограниченное время реакции. Работа ведется в трех секциях: файловые системы реального времени, согласованные многопотоковые (multithread) архитектуры, а также в секции, занимающейся такими вопросами, как семафоры и сигналы.
POSIX 1003.5. Привязка языка Ада к стандартам POSIX. В документах этой рабочей группы определяются правила привязки программ, написанных на языке Ада, к системным средствам, определенным в POSIX 1003.1.
POSIX 1003.6. Расширения POSIX, связанные с безопасностью. Разрабатываемый набор стандартов базируется на критериях министерства обороны США и будет определять безопасную среду POSIX.
POSIX 1003.7. Расширения, связанные с администрированием системы. Стандарт, разрабатываемый рабочей группой, будет определять общий интерфейс системного администрирования, в частности, разнородных сетей. Отправной точкой является модель OSI.
POSIX 1003.8. Прозрачный доступ к файлам. Будут обеспечены интерфейсы и семантика прозрачного доступа к файлам, распределенным в сети. Работа основывается на анализе существующих механизмов: NFS, RFS, AFS и FTAM.
POSIX 1003.9. Привязка языка Фортран. Определяются правила привязки прикладных программ, написанных на языке Фортран, к основным системным средствам.
POSIX 1003.10. Общие черты прикладной среды суперкомпьютеров (Application Environment Profile - AEP).
POSIX 1003.11. Общие черты прикладной среды обработки транзакций (On-line Transaction Processing Application Environment - OLTP).
POSIX 1003.12. Независимые от протоколов коммуникационные интерфейсы. Разрабатываются два стандартных набора интерфейсов для независимых от сетевых протоколов коммуникаций "процесс-процесс". Результаты должны обеспечивать единообразную работу с TCP/IP, OSI и другими системами коммуникаций.
POSIX 1003.13. Общие черты прикладных сред реального времени. POSIX 1003.14. Общие черты прикладных сред мультипроцессоров. Помимо прочего, должны быть предложены соответствующие расширения стандартов других рабочих групп.
POSIX 1003.15. Расширения, связанные с пакетной обработкой. Определяются интерфейсы пользователя и администратора и сетевые протоколы для пакетной обработки.
POSIX 1003.16. Привязка языка Си. Задача проекта, выполняемого реально рабочей группой 1003.1, состоит в выработке правил привязки международного стандарта языка Си (ISO 9989) к независимым от языка интерфейсам, определяемым POSIX 1003.1-1990 (ISO 9945-1).
POSIX 1003.17. Справочные услуги и пространство имен. Задачей рабочей группы является анализ и выработка рекомендаций по работе со справочниками и пространством имен в контексте X.500.
POSIX 1003.18. Общие черты среды POSIX-платформы. В одном документе должны быть специфицированы основные характеристики интерактивной многопользовательской прикладной платформы, соответствующей стандартам POSIX. Работа выполняется группой 1003.1.
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Инсталляция и изучение проблемно-ориентированного экономического программного продукта
Joomla! -- система управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных СУБД MySQL или другие стандартные промышленные реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.
Joomla -- одна из самых используемых и популярных CMS. С ней процесс создания сайта становится гораздо легче. Благодаря возможностям Joomla любой человек, даже не сильно владеющий знаниями языка PHP, сможет делать сложные динамические сайты.
Рисунок 2 Панель управления Joomla!
Достоинства Joomla:
*Доступность
Эта система бесплатная и поэтому доступна даже начинающим компаниям и индивидуальным предпринимателям, которые не могут покупать коммерческие CMS.
Некоторые CMS условно бесплатные и если вы хотите больше возможностей, например, сделать сайт на заказ, изменив некоторые компоненты и продать продукт заказчику, тем самым вы нарушите лицензию использования. CMS Joomla вы можете модифицировать как угодно
*Простая установка
Очень простой способ установки CMS и создания качественного и красивого сайта. В интернете можно скачать невероятное количество шаблонов для этой системы -- как платных, так и бесплатных, а также вы можете найти огромное количество видеоуроков рассказывающих о том как создать сайт на Joomla.
Более того, многие хостинг компании предлагают тарифные планы с возможностью установить Joomla на сайт одним кликом мыши. Один из таких хостингов является Таймвеб.
*Открытость системы
CMS Joomla не содержит закрытых компонентов, а распространяется с открытым исходным кодом под лицензией GNU GPL. В него можно вносить нужные изменения на усмотрение пользователя.
Также вы можете вносить изменения в исходный код Joomla, менять дизайн, модифицировать ядро и получать вознаграждение, если создаете сайт на Joomla на заказ.
Единственное ограничение, которое на вас накладывает лицензия GNU GPL - это нельзя изменять авторское права Joomla и изменять лицензию распространения Joomla. Тем не менее, вы можете убрать текст и графическую надпись "Powered by Joomla".
*Широкий выбор различных модулей и компонентов
Первая версия Joomla вышла в 2005 году. За это время CMS активно развивалась и было написано огромное количество модулей и компонентов, начиная от всевозможных видов галерей, заканчивая интеграцией с платежными системами.
Благодаря этому, создавая сайт на Joomla, вы сможете вооплатить в жизнь даже самые смелые идеи, а если по каким то причинам вы не найдете нужного компонента, вам всегда готовы помочь фрилансеры по всему миру, так как сообщество Joomla распространилось на весь мир.
*Простота и легкость в использовании сайта на этом движке
Существуют много систем управления сайтами (drupal, bitrix, prestashop и так далее). Во многих этих CMS существенный недостаток - это администрирование. Пользователям этих систем, для того чтобы сделать простое действие, например создать новую страницу, необходимо совершить 4 - 8 действий, прежде чем появится новая страница и будет готова к заполнению. В CMS Joomla очень простая панель администрирования сайта и многий полезный функционал можно реализовать двумя кликами мыши.
*Большая половина модулей и других расширений Joomla русифицированы
CMS Joomla локализирована энтузиастами на несколько десятков языков мира, включая популярные модули.
Рисунок 3 Менеджер расширений
*Регулярное обновление системы, и постоянно происходит создание новых компонентов и модулей
Как и любой другой программный продукт CMS Joomla развивается. Обновления для Joomla выходят достаточно часто. Часть обновлений выпускается для улучшения функционала Joomla, другая часть обновлений выпускаяется для улучшения безопасности, так как популярные системы управления сайтом подвержены угрозам взлома намного выше, чем самописные програмные продукты.
*Наличие огромного количества сайтов поддержки и блогов пользователей этого движка.
*Хостинг для Joomla
Для CMS Joomla подходит большинство веб-хостингов. Один из таких хостингов - это Таймвеб. В личном кабинете хостинга Таймвеб можно найти предустановленные CMS включая Joomla. Разворачивание Joomla на Таймвебе занимает несколько секунд и Joomla полностью готова к работе.
Рисунок 4 Тарифы на хостинг для Joomla!
Недостатки joomla
*Есть недоработки в структуре элементов cms
*Невысокий уровень защиты системы от взлома
*Иногда возникают проблемы с индексацией сайта
*Излишний код в шаблонах сайта и самом движке, который приводит к медленной работе страницы сайта
*Порой возникают проблемы с обновлением системы
*Специальной службы технической поддержки пользователей системы не существует
В CMS Joomla, как и в любой системе, есть свои недостатки, но на сегодня ее преимущества с лихвой их перекрывают, особенно что касается управления содержимым сайта. А одним из явных преимуществ является то, что любой продвинутый пользователь может сделать необходимые изменения в системе. Ее код является открытым, что предполагает неограниченные возможности при создании новостных сайтов, блогов и небольших порталов.
2.2 Оценка трудозатрат разработки программной компоненты
В качестве программы для сравнения при разработке проекта принята программа «WordPress».
Эта разработка принята в качестве базового варианта исходя из трех факторов:
1) смежный профиль;
2) соответствие требованиям технического задания проекта;
3) доступность для исследования и сравнения с разрабатываемым проектом реальной версии программы.
Для оценки конкурентоспособности разрабатываемого продукта необходимо провести анализ и сравнение с выбранным аналогом по функциональному назначению, основным техническим и эксплуатационным параметрам, областям применения. Подобный анализ осуществляется с помощью оценки эксплуатационно-технического уровня разрабатываемого продукта.
Эксплуатационно-технический уровень (ЭТУ) разрабатываемого продукта - это обобщенная характеристика его эксплуатационных свойств, возможностей, степени новизны, являющихся основой качества продукта. Для определения ЭТУ продукта можно использовать индекс эксплуатационно-технического уровня , который рассчитывается как сумма частных индексов, куда входят показатели качества программного продукта. Для учета значимости отдельных параметров применяется балльно-индексный метод.
Тогда:
, (2.1)
где - комплексный показатель качества продукта по группе показателей;
- число рассматриваемых показателей;
- коэффициент весомости -го показателя в долях единицы, назначаемый в соответствии с потребностями организации-заказчика программного продукта;
- экспертная оценка -го показателя качества по выбранной шкале оценивания.
В таблице 2 представлены результаты расчета балльно-индексным методом при пятибалльной шкале оценивания.
Показатели качества выбираются в соответствии с деревом характеристик качества программного изделия (ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программного продукта.
Таблица 2.2.1 Расчет показателя качества балльно-индексным методом
Показатели качества |
Коэффициент весомости, Вj |
Проект |
Аналог |
|||
Xj |
Вj*Xj |
Xj |
Вj*Xj |
|||
1. Удобство работы (пользовательский интерфейс) |
0,24 |
5 |
1,2 |
4 |
0,96 |
|
2.Новизна (соответствие современным требованиям) |
0,21 |
4 |
0,84 |
3 |
0,63 |
|
3.Соответствие профилю деятельности заказчика |
0,22 |
5 |
1,1 |
3 |
0,66 |
|
4.Ресурсная эффективность |
0,15 |
5 |
0,75 |
3 |
0,45 |
|
5. Надежность (защита данных) |
0,23 |
4 |
0,92 |
4 |
0,92 |
|
6.Скорость доступа к данным |
0,21 |
5 |
1,05 |
3 |
0,63 |
|
7.Гибкость настройки |
0,16 |
4 |
0,64 |
4 |
0,64 |
|
8.Обучаесость персонала |
0,23 |
4 |
0,92 |
3 |
0,69 |
|
9.Соотношение стоимость/возможности |
0,19 |
5 |
0,95 |
4 |
0,76 |
|
Обобщенный показатель качества JЭТУ |
JЭТУ1= |
8,37 |
JЭТУ2= |
6,34 |
Отношение двух найденных индексов называют коэффициентом технического уровня Аk первого программного продукта по отношению ко второму:
. (2.2)
Так как коэффициент больше 1, то разработка проекта с технической точки зрения оправдана.
Для проверки правильности расчетов построим таблицу в MS Excel и приведем скриншот результатов расчетов.
Рисунок 5 Расчеты в MS Excel
В столбец «В» расставляем коэффициенты весомости, в столбец «С» и «Е» проставляем оценки экспертов. В ячейку «D3» вводим формулу «=В3* С3» и растягиваем эту формулу на весь столбец. В ячейку «F3» вводим соответственно «=В3* Е3» и также растягиваем формулу. В ячейках «D12» и «F12» подсчитываем сумму при помощи математической функции «=СУММ( )». Поделив первое значение на второе, убеждаемся в том , что подсчеты были верны и проект с технической точки зрения оправдана.
Оценка экономической эффективности вариантов проектных решений элементов АИС основывается на расчете показателей сравнительной экономической эффективности капитальных вложений. Годовой экономический эффект от использования разрабатываемой системы определяется по разности приведенных затрат на базовый и новый варианты в расчете на годовой объем выпуска:
(2.3)
где , - приведенные затраты на единицу работ, выполняемых с помощью базового и проектируемого вариантов процесса обработки информации, руб.;
- коэффициент эксплуатационно-технической эквивалентности, или технического уровня, = 1,32 (формула (2.2));
- объем работ, выполняемых с помощью разрабатываемого продукта (примем равным 1).
Приведенные затраты Зi на единицу работ, выполняемых по базовому и разрабатываемому вариантам, рассчитываются по формуле
, (2.4)
где Ci - себестоимость (текущие эксплуатационные затраты единицы работ), руб.;
Ен - нормативный коэффициент экономической эффективности (Ен =0,33);
- суммарные затраты, связанные с внедрением нового проекта.
Затраты на единицу работ по аналогу:
=400000+0,33350000=515500 руб.
Затраты на единицу работ по проекту:
=300000+0,33280000 =392400 руб.
Экономический эффект от использования разрабатываемой системы:
Э=515500 1,60 -392400= 448700 руб.
Сводные данные по расчету экономического эффекта приведены в таблице 2.
Таблица 2.2.2 Экономический эффект
Характеристика |
Значение |
||
продукт-аналог (базовый) |
разрабатываемый продукт |
||
Себестоимость (текущие эксплуатационные затраты), руб. |
400000 |
300000 |
|
Суммарные затраты, связанные с внедрением проекта, руб. |
350000 |
280000 |
|
Приведенные затраты на единицу работ, руб. |
515500 |
392400 |
|
Экономический эффект от использования разрабатываемой системы, руб. |
432400 |
После определения годового экономического эффекта необходимо рассчитать срок окупаемости затрат на разработку продукта по формуле
(2.5)
Срок окупаемости составит: = 28000/432400 = 0,65 года.
Затем рассчитаем фактический коэффициент экономической эффективности разработки (Еф) и сопоставим его с нормативным значением коэффициента эффективности капитальных вложений Ен =0,33:
Еф=1/Tок.= 1/0,65 = 1,54. (2.6)
Фактический коэффициент экономической эффективности разработки получился больше, чем нормативный, поэтому разработка и внедрение разрабатываемого продукта является эффективной.
Таким образом, в ходе проделанной работы найдены все необходимые данные, доказывающие целесообразность и эффективность данной разработки. Приведем эти данные в сводной таблице 2.11.
Таблица 2.2.3 Результаты экономического обоснования проекта
Характеристика проекта |
Значение |
|
Затраты на разработку и внедрение проекта, руб. |
300000 |
|
Общие эксплуатационные затраты, руб. |
280000 |
|
Экономический эффект, руб. |
392400 |
|
Коэффициент экономической эффективности |
1,54 |
|
Срок окупаемости, лет |
0,65 |
2.3 Управление проектом и анализ данных
Предметной областью для курсовой работы, разработка бизнес-плана по подготовке рабочих мест в офисе ООО «ПрогИнжер», занимающемся реализацией программных продуктов. Вариант 56.
Организационная структура фирмы, следующая:
Рисунок 6 Структура фирмы
Для решения задачи необходимо завести следующие данные:
1) Начало проекта: 01 ноября 2016 года, длительность: 3 года.
2) Список продуктов: Программа «Бухгалтерия», Программа «Склад», Программа«Персонал». Начало продаж по всем продуктам: 01декабря 2016 г.
3) Установить стартовый баланс в следующем виде:
а) активы:
- денежные средства: 11200000 руб.;
- ценные бумаги: акции ГАЗПРОМ на сумму 11200000 руб. со сроком погашения 24 мес. и процентной ставкой 10;
б) пассивы:
- акционерный капитал: акционер ООО «Сода» с суммой 6160000 руб., номинальной стоимостью 1000 руб., количеством акций 6160 и 10% привилегированных акций; акционер ООО «Нефтеоргсинтез» с суммой вклада 5040000 руб., номинальной стоимостью 1000 руб., количеством акций 5040 и 10% привилегированных акций;
4) Ресурсы: Генеральный директор (тип: Люди, стоимость: 56000, ед.изм.: чел.), Финансовый директор (тип: Люди, стоимость: 56000 руб., ед.изм.: чел.), Бухгалтер (тип: Люди, стоимость: 28000 руб., ед.изм.: чел.), Системный администратор (тип: Люди, стоимость: 39200 руб., ед.изм.: чел.), Программист (тип: Люди, стоимость: 36400 руб., ед.изм.: чел.), Маркетолог (тип: Люди, стоимость: 28000 руб., ед.изм.: чел.), Менеджер (тип: Люди, стоимость: 22400 руб., ед.изм.: чел.).
5) План сбыта: Программа «Бухгалтерия» (объем сбыта: 560 шт.), Программа «Склад» (объем сбыта: 280 шт.), Программа «Персонал» (объем сбыта: 168 шт.).
6) Материалы и комплектующие: Канцтовары (ед.изм.: комп., цена: 5000), Заправка оргтехники (ед.изм.: комп., цена: 1000), Хоз.инвентарь (ед.изм.: комп., цена: 1000).
7) План производства: Программа «Бухгалтерия» (производственный цикл: 20 дней; материалы: заправка оргтехники - 1, канцтовары - 2; сдельная зарплата: написание программы - 56000 руб., тестирование - 28000 руб.; график производства: 10), Программа «Склад» (производственный цикл: 25 дней; материалы: заправка оргтехники - 1, канцтовары - 2; сдельная зарплата: написание программы - 56000 руб., тестирование - 28000 руб.; график производства: 5), Программа «Персонал» (производственный цикл: 15 дней; материалы: заправка оргтехники - 1, канцтовары - 2; сдельная зарплата: написание программы - 56000 руб., тестирование - 28000 руб.; график производства: 3).
8) План персонала: Управление - Генеральный директор - 1 чел., з/пл 36000 руб. (периодические выплаты в течение всего проекта); Производство - Финансовый директор - 1 чел., з/пл 56000 руб., Бухгалтер - 1 чел., з/пл 28000 руб., Системный администратор - 1 чел., з/пл 39200 руб., Программист - 1 чел., з/пл 36400 руб. (периодические выплаты в течение всего проекта); Маркетинг - Маркетолог - 1 чел., з/пл 28000 руб., Менеджер - 1 чел., з/пл 22400 руб. (периодические выплаты в течение всего проекта).
9) Календарный план:
Таблица 2.3.1 Календарный план
Наименование этапа |
Длительность |
Предыдущий этап |
Ресурсы |
|
1) Исследование рынка |
Итоговая задача для 2) и 3) |
|||
2) Реклама в СМИ |
30 дней |
Маркетолог, Менеджер |
||
3)Проведение презентаций |
1 день |
2) |
Генеральный директор, Менеджер |
|
4) Оборудование офиса |
1 день |
1) |
Менеджер, Бухгалтер, Системный администратор, Программист |
|
5) Обеспечение работы офиса |
Итоговая задача для 6), 7), 8) и 9) |
|||
6) Подготовка продукта |
10 дней |
Программист |
||
7) Финансовые расчеты |
10 дней |
6) |
Финансовый директор, Бухгалтер, Маркетолог |
|
8) Обслуживание клиента |
1 день |
7) |
Менеджер |
|
9) Контроль результатов |
1 день |
8) |
Генеральный директор, Финансовый директор |
|
10)Производство (Программа «Бухгалтерия») |
5) |
|||
11) Производство (Программа «Склад») |
5) |
|||
12) Производство (Программа «Персонал») |
5) |
10) Общие издержки: Управление - Изучение деятельности конкурента - 560000 руб.; Производство - Поддержка на актуальном уровне -28000 руб.; Маркетинг - Продвижение на рынке - 560000 руб.
11) Акционерный капитал: ООО «Сода» -6160000 руб., постепенная выплата в течение 12 мес., количество акций - 6160, номинал - 1000 руб.; ООО «Нефтеоргсинтез» - 5040000 руб., постепенная выплата в течение 12 мес. количество акций - 5040, номинал - 1000 руб.
12) Распределение прибыли: выплата дивидендов - один раз в год, доля прибыли на дивиденды - 10%, доля прибыли на резервы - 10%.
После заведения всех данных в программу Project Expert были получены следующие данные:
· Денежные средства уменьшаются в среднем на 20000000 рублей в год.
· Уменьшение суммарных текущих активов с 2452951 руб. до -67759693 руб.
· Уменьшение суммарного актива на 77322634 руб.
· Уменьшение нераспределенной прибыли на 83412635 руб.
· Уменьшение суммарного пассива на 77322634 руб.
· Уменьшение NWC на 60304614 руб.
· Уменьшение чистой прибыли на 83412635 руб.
Из этого следует что данная компания обанкротится, те есть данная модель неэффективна. Данные об итогах деятельности предприятия представлены в приложении Б.
2.4 Оценка качества программного обеспечения на основе лексического анализа
Разработка программы арифметического цикла на языке PERL
Дан арифметический цикл и входные данные:
Для решения данной задачи, воспользуемся циклом for. Листинг программы приведен на рисунке:
Рисунок 7 Листинг программы
Результат работы программы представлен на рисунке 5:
Рисунок 7 Результат работы программы
Оценка характеристик программы на основе метрики Холстеда
В таблице 2.4.2.1, представлены все операции и операторы, которые задействованы в программе:
Таблица 2.4.2.1 Операторы и операции
№ п/п |
Операторы, операции |
Номера строк |
Количество повторений |
|
1 |
for |
2 |
2 |
|
2 |
use |
1 |
1 |
|
3 |
= |
2,3,4,5,6,7 |
9 |
|
3 |
< |
1 |
2 |
|
4 |
; |
1,2,3,4,5,6,7 |
8 |
|
5 |
++ |
2 |
1 |
|
6 |
$ |
2,3,4,5,6,7 |
10 |
|
7 |
( |
2,3,4,5,6 |
6 |
|
8 |
) |
1,2,3 |
6 |
|
9 |
{ |
1 |
1 |
|
S |
} |
8 |
1 |
|
11 |
atan |
3 |
1 |
|
12 |
* |
4 |
2 |
|
13 |
. |
5,6 |
4 |
|
14 |
sprintf |
5,6 |
2 |
|
15 |
% |
5,6 |
2 |
|
16 |
“ |
5,6,7 |
4 |
|
17 |
, |
3,4 |
4 |
|
18 |
|
7 |
1 |
|
19 |
+ |
2,4 |
2 |
|
20 |
\n |
7 |
1 |
В таблице 2.4.2.2, представлены все операнды, которые задействованы в программе.
Таблица 2.4.2.2 Операнды
№ п/п |
Операторы |
Номера строк |
Количество повторений |
|
1 |
$x |
1,2,4 |
6 |
|
2 |
$y |
2,3,4 |
4 |
|
3 |
$b |
5,7 |
2 |
Для того, чтобы определить эффективность по метрике Холстеда, нам необходимо рассчитать промежуточные значения:
Длина реализации:
N = N1 + N2 = 70 + 12 = 82;
Длина программы:
N~ = n1 * log2n1 + n2 * log2n2 = 26 * log2(26) + 3*log2(3) = 110
Объем программы в битах:
V = (N1 + N2) * log2(n1 + n2) = V = (72 + 11) * log3(26 + 3) = 453
Потенциальный объем программы:
V* = (n2* + 2) * log2(n2* + 2) = 5 + 2 * log3(5 + 3) = 28
Уровень программы:
L = V* / V = 28 / 453 = 0.061
Уровень языка:
л = L * V* = 0,085 * 33
Интеллектуальное содержание программы:
I = L * V = 0, 061 * 453= 27,18
Работа по программированию
E = V / L = 390 / 0,085 = 12684,26
Занесем данные в таблицы:
Таблица 2.4.2.3 Количество операций и операндов
Наименование характеристики |
Обозначение и формула для вычисления |
Значение |
|
Число простых (уникальных) операторов и операций |
n1 |
26 |
|
Число простых (уникальных) операндов |
n2 |
3 |
|
Общей число всех операторов и операции |
N1 |
72 |
|
Общее число всех операндов |
N2 |
11 |
Таблица 2.4.2.4 Показатели эффективности
Число входных и выходных переменных (параметров) |
n2* |
5 |
|
Словарь программы |
n = n1 + n2 |
29 |
|
Длина реализации программы |
N = N1 + N2 |
82 |
|
Объем программы (в битах) |
V = (N1 + N2) * log2(n1 + n2) |
453 |
|
Потенциальный объем программы |
V* = (n2* + 2) * log2(n2* + 2) |
26 |
|
Уровень реализации программы |
L = V* / V |
0,061 |
|
Уровень реализации языка |
л = L * V* |
3,41 |
|
Работа программирования |
E = V / L |
12684 |
Уровень исследуемой программы довольно низкий, так как потенциальный объем программы на порядок меньше ее реального объема. В данном решении возможности языка программирования Perl использованы на низком уровне. Длина реализации значительно меньше расчетной длины программы. Несовершенств в программе нет.
ЗАКЛЮЧЕНИЕ
Верификация и аттестация должны стать обязательными шагами в разработке ПО, пусть даже самого простого. Каждая компания, производящая ПО, должна создать штат сотрудников, которые будут заниматься только верификацией и аттестацией: это инженеры-тестеры, инженеры-инспекторы и др. Организации должны учитывать экономическую обстановку на рынке ПО, желания пользователей (уже было отмечено, что требовательность пользователей к ПО растет). Если соблюдать все эти требования, то, скорее всего, наступит день, когда нас будут окружать системы, работающие без сбоев.
В результате выполнения курсовой работы были подробно изучены и описаны верификация и аттестация программного обеспечения, а так же стандарты открытых систем.
В рамках курсовой работы так же был выбран программный продукт для проектирования сайтов, изучены особенности работы с данным продуктом, выявлены необходимые системные требования, а также подробно был описан метод инсталляции рассматриваемого проблемно ориентированного экономического программного продукта. С помощью программного продукта Project Expert был спроектирована организация с использованием исходных данных, для раскрытия процессов управления проектом. По результатам деятельности созданной организации был произведен анализ, и были сформированы отчеты, содержащие все необходимый финансовые показатели.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Черемных С.В. Моделирование и анализ систем. IDEF-технологии: практикум. [Текст] - М.: Финансы и статистика, 2011. - 192 с.
2. Калянов Г.Н.Моделирование, анализ, реорганизация и автоматизация бизнес-процессов. Учебное пособие. [Текст] - М.: Финансы и статистика, 2014. - 240 с.
3. Вендров А.М. Практикум по проектированию программного обеспечения экономических информационных систем. Учебное пособие. 2-е изд., перераб. и доп. [Текст] - М.: Финансы и статистика, 2006. - 192 с.
4. Липаев В. В. Человеческие факторы в программной инженерии. Учебник. [Текст] -Directmedia, 2015 - 427 с.
5. Лаврищева Е.М., Грищенко В.Н, Области знаний программной инженерии - SWEBOK и подход к обучению этой дисциплины, Управляющие системы и машины. [Текст] - 2015. - №1.- С.38-54
6. Андон Ф.И., Коваль Г.И., Коротун Т.М., Лаврищева Е.М. Суслов В.Ю, Основы инженерии качества программных систем, [Текст] Киев: Академпериодика.- Второе изд., 2016. - 680 с
7. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем. Учебник. - М.: Финансы и статистика, 2012. - 512 с.
8. Избачков Ю.С. Информационные системы: Учебник для вузов / Ю.С. Избачков, В.Н. Петров. - 2-е изд. - СПБ.: Питер, 2005. - 656 с.
9. Гвоздева Т.В. Проектирование информационных систем: учеб. пособие / Т.В. Гвоздева, Б.А. Баллод. - Ростов н/Д: Феникс, 2009. -508 с.
10. Балдин К.В. Информационные системы в экономике: Учебник / К.В. Балдин, В.Б. Уткин. - М.: Издательско-торговая корпорация «Дашков и Ко», 2006. - 395 с.
ПРИЛОЖЕНИЕ
Список общепринятых сокращений
АС - автоматизированная система (обработки информации)
ООП - объектно-ориентированный подход
ИТ - информационные технологии
МЭ - межсетевой экран
НСД - несанкционированный доступ
ОО - объект оценки
ЦС - центр сертификации
ЭЦП - электронная цифровая подпись
CMS - система управления контентом
SCM - software configuration management
ПРИЛОЖЕНИЕ
Отчеты Project Expert
1) Общие данные (проект)
Рисунок 1Б Бизнес план проекта
Рисунок 2Б Стартовый баланс организации и список продуктов
Валюта организации - российский рубль.
2) Инвестиционный план (список этапов, список ресурсов, диаграмма Gantta),
Рисунок 3Б Этапы производства
Рисунок 4Б Инвестиционный план проекта
3) Операционный план (план сбыта, план производства, общие издержки / персонал),
Рисунок 5Б Планируемый объем поставок
Рисунок 6Б Общие издержки
Рисунок 7Б План по персоналу
Рисунок 8Б План производства
4) Финансовый план (формирование капитала, использование прибыли),
Рисунок 9Б Капитал организации
Рисунок 10Б Распределение прибыли организации
5) Результаты (прибыли-убытки, Кэш-фло, баланс, финансовые показатели).
Рисунок 11Б Прибыль и убытки организации
Рисунок 12Б Денежный поток организации (кэш-фло)
Рисунок 13Б Баланс ООО «ПрогИНжер»
Рисунок 14Б Финансовые показатели организации
Рисунок 15Б График окупаемости проекта
Размещено на Allbest.ru
...Подобные документы
Анализ требований к программному продукту. Требования к информационной и программной совместимости. Проектирование архитектуры программного продукта. Виды программ и программных документов. Общие сведения о С++. Технология разработки программного модуля.
дипломная работа [1,2 M], добавлен 05.08.2011Агентно-ориентированная программная архитектура систем обработки потоковых данных. Обеспечение гибкости и живучести программного обеспечения распределенных информационно-управляющих систем. Спецификации программных комплексов распределенной обработки.
реферат [1,1 M], добавлен 28.11.2015Характеристика программного продукта и стадий разработки. Расчет затрат на разработку и договорной цены, эксплуатационных расходов, связанных с использованием нового программного продукта. Оценка конкурентоспособности. Изучение, оценка рыночного спроса.
курсовая работа [139,0 K], добавлен 22.09.2008Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Рассмотрение приемов разработки программных средств для автоматизированных систем обработки информации и управления. Разработка программного продукта, предназначенного для автоматизации работы заместителя директора по учебно-воспитательной работе.
дипломная работа [1,7 M], добавлен 27.02.2015Программная и техническая характеристика информационных систем предприятия. Требования к информационной и программной совместимости. Проектирование программного обеспечения с использованием специализированных программных пакетов. Разработка базы данных.
отчет по практике [1,3 M], добавлен 11.04.2019Основные требования к программному изделию. Идентификация и оценка функциональности данных. Подсчет нормированного количества функциональных точек. Оценка трудозатрат и сроков разработки программных средств. Определение значения нормирующего фактора.
курсовая работа [1,4 M], добавлен 17.06.2012Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.
контрольная работа [2,5 M], добавлен 17.12.2014Понятие программной инженерии как применения определенного систематического измеримого подхода при разработке, эксплуатации и поддержке программного обеспечения. Модели процесса разработки программного обеспечения. Управление программными проектами.
презентация [870,6 K], добавлен 12.11.2014Разработка программного обеспечения для микропроцессорных систем МК51, интерфейсы в системах связи, основы асинхронной связи. Этапы решения задачи на ЭВМ, принципы тестирования программ и их отладка. Расчет затрат на разработку программного продукта.
дипломная работа [270,6 K], добавлен 19.06.2010Общие требования охраны труда во время работы, а также в аварийных ситуациях. Использование метрик программного продукта при ревьюировании. Проверка целостности программного кода и анализ потоков данных. Сценарии использования программного продукта.
отчет по практике [2,0 M], добавлен 28.11.2022Нормативные и правовые акты, регламентирующие применение современных программных средств в документационном обеспечении управления в Российской Федерации. Анализ программных средств для внедрения системы электронного документооборота в ООО "СЛМ-Монтаж".
дипломная работа [163,2 K], добавлен 10.05.2015Электронная цифровая подпись. Асимметричные алгоритмы шифрования. Сценарий распределения открытых ключей, обмен сертификатами. Выбор программных средств. Математическая модель. Скорости Эль-Гамаля для различных длин модулей. Программная реализация.
дипломная работа [461,7 K], добавлен 22.09.2011Формализация и стандартизация данных. Описание программных блоков. Защита от несанкционированного доступа, некорректной регистрации и авторизации. Тестирование и отладка программного продукта. Расчет годового экономического эффекта от его внедрения.
курсовая работа [588,7 K], добавлен 17.07.2014Жизненный цикл программного продукта. Современные среды разработки приложений. Защита информации в базах данных. Особенности разработки приложения с помощью среды Delphi 7. Проверка программного модуля на предмет соответствия стандартам кодирования.
отчет по практике [589,0 K], добавлен 18.05.2017Модульная структура программного продукта и типовые управляющие структуры алгоритмов обработки данных различных программных модулей в основе структурного программирования. Особенности пошаговой разработки программ. Основные типы базовых конструкций.
контрольная работа [163,7 K], добавлен 04.06.2013Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Анализ функциональной структуры автоматизированной системы управления. Обоснование необходимости создания подсистемы учета материальных средств, проектирование информационной базы данных. Расчет себестоимости разработки внедряемого программного продукта.
дипломная работа [5,4 M], добавлен 26.06.2011Порядок работы менеджера турфирмы. Анализ рынка программных приложений для ведения туристического бизнеса. Выбор средств проектирования и разработки системы управления баз данных. Разработка, реализация и анализ работы программного модуля, его запуск.
дипломная работа [3,4 M], добавлен 19.07.2015Выполнение отладки программных модулей с использованием специализированных программных средств. Тестирование, оптимизация кода модуля. Реализация базы данных в конкретной системе управления. Анализ проектной и технической документации на уровне компонент.
дипломная работа [5,0 M], добавлен 08.06.2017