Курсовая работа
Виды программного обеспечения. Общие требования к программным системам
Киев 2009
Содержание
1. Цели и задачи программной инженерии. Понятие программного обеспечения
2. Шесть принципов эффективного использования программного обеспечения
3. Виды программного обеспечения: общесистемное, сетевое и прикладное
4. Типы программного обеспечения
5. Общие требования к программным системам
6. Принципы построения программного обеспечения
Последнее десятилетие в области программирования характеризуется становлением новой дисциплины - программной инженерии (Software Engineering), что вызвано возросшими потребностями:
в создании различного вида компьютерных систем;
необходимостью сокращения сроков разработки;
обеспечения качества ПО;
оптимизации используемых ресурсов (финансовых и трудовых).
В результате разработку ПО стали рассматривать как определенный вид человеческой деятельности, к которому применимы инженерные методы выполнения и организации работ, методы менеджмента и управления, экономические методы оценки эффективности и стоимости работ. В последние годы наблюдается повышенный интерес к вопросам формализации методов анализа и спецификации требований к программному обеспечению. Необходимость этого обусловлена ростом требований к качеству программного обеспечения, изменениями в методологии его проектирования и разработки, в современной организации проектных работ.
Программная инженерия - это научная дисциплина, которая изучает методы, способы и технологии разработки ПО, в результате которого реализуются возможности ЭВМ по выполнению различных действий, связанных с переработкой информации.
Программная инженерия - строгое использование инженерных, научных и математических принципов, методов и инструментария для экономичного создания качественного программного обеспечения.
Программное обеспечение (ПО) - это совокупность машинных программ, соответствующей качественной документации, баз данных, а также технологических процедур по эксплуатации ПО.
Основа программной инженерии - стандарты, методы, методологии проектирования и управления процессом разработки ПО, а также инструментально-технологические средства поддержки этого процесса (CASE - технологии), к которым относятся системы программирования и автоматизации разных этапов проектирования и разработки ПО.
Верификация - это установление соответствия ПО его спецификации.
Подтверждение - установление пригодности или соответствия ПО его назначению.
Структура целей программной инженерии
Качество ПО | Эффективность процесса разработки ПО |
Человеческие факторы | |
Легкость использования | Планируемость |
Удовлетворение потребностей пользователя | Организованность команды разработчиков |
Следование модифицированному правилу | Контролируемость хода работ |
Управление ресурсами | |
Эффективность | Оценка затрат (стоимости проекта) |
Тестируемость | Анализ эффективности |
Контроль сроков и бюджета | |
Программотехника | |
Специфицированность | Анализ требований к ПО |
Правильность | Проектирование |
Адаптируемость | Программирование |
модифицируемость | Тестирование и контроль |
переносимость | Верификация и подтверждение |
работоспособность в других системах | Внедряемость и сопровождаемость |
Управляемость конфигурацией |
90-е годы - время интенсивного развития программной инженерии и новых информационных технологий. В то же время при внедрении и эксплуатации программных систем большинство компаний столкнулись с еще более серьезными проблемами, чем раньше. Многие организации обременены внедренными ранее дорогостоящими и неоправданно сложными системами. У других бизнес-подразделения и отдел информационных технологий не могут (или не хотят) найти общий язык. Третьи не могут понять, во что нужно вложить деньги, чтобы получить жизненно необходимые функциональные возможности.
Однако существует ряд компаний, которые смогли по-настоящему овладеть информационными технологиями и получают от них реальную пользу, т.к управляют своими программными системами примерно так же, как и другими важными функциями и процессами в компании:
обеспечивая административную поддержку на самом высоком уровне,
прививая специалистам по информационным технологиям знание бизнес-терминологии
ориентируя усилия сотрудников технического отдела на достижение конкретных бизнес-целей.
В основе успеха внедрения ПО лежат шесть перечисленных ниже принципов:
Развитие в области внедрения программных систем и информационных технологий обуславливается потребностями основной деятельности компании, а не технологическими новшествами.
Решения о финансировании в области программных систем и информационных технологий принимаются так же, как и во всех остальных сферах - исходя из соображений финансовой выгоды.
Программная система имеет простую и гибкую структуру.
Любые разработки начинают приносить пользу бизнесу практически с момента внедрения.
Проводятся планомерные и постоянные улучшения производительности программной системы.
Отдел информационных технологий хорошо разбирается в бизнесе, а бизнес-подразделения - в программных системах и информационных технологиях.
Очень важно применять все эти принципы одновременно: ни один из них не принесет успеха без пяти остальных.
Таблица 1. Контрольный список для реализации шести принципов
Развитие в области программного обеспечения обуславливается потребностями основной деятельности компании, а не технологическими новшествами | Решения о финансировании в области программного обеспечения принимаются так же, как и во всех остальных сферах - исходя из соображений финансовой выгоды | Программная система имеет простую и гибкую структуру |
Управляйте программным обеспечением так же, как остальными бизнес-функциями компании.Непосредственно свяжите ПО с важными для бизнеса стратегиями, основными стоимостными факторами и повседневными деловыми процессами.Назначьте линейных руководителей ответственными за новые приложения:Определение основных возможностейВыбор проектов для внедренияРуководство внедрениемОтветственность за результатыИспользование поддержки отдела информационных технологийПоручите отделу информационных технологий создание и поддержку эффективной инфраструктуры для приложений.Не относитесь к программной системе как к "черному ящику" - обязуйте технических специалистов применять деловую лексику. | Подходите к решениям о новых крупных инвестициях в ПО, как к остальным финансовым решениям:Свяжите инвестиции с реальными задачами совершенствования бизнеса и производительностиИспользуйте при принятии решений анализ затрат и преимуществ, который обеспечит упорядоченность и систематичность.Не используйте в качестве единственного критерия при разработке ПО снижение стоимости:Распространите принятые в бизнесе подходы к менее определенным, менее поддающимся количественному учету и более стратегически важным решениямВыходите за рамки отдельных проектов, учитывая при разработке приложений и инфраструктуры долговременные перспективы.Оценивайте текущие расходы на программное обеспечение исходя из поставленных целей в области стоимости и обслуживания.Избегайте крупных единовременных затрат на аппаратно-программное обеспечение; стремитесь к постоянному обновлению. | Устанавливайте стандарты архитектуры ПО и глубоко анализируйте плюсы и минусы использования иных стандартов.Упрощайте систему:Уменьшайте число используемых технологий и платформ.Применяйте для приложений модульную архитектуру.Используйте межплатформенные решения для повышения гибкости и простоты внедрения приложений и инфраструктуры.Консервативно подходите к выбору технологий, исключение могут составлять только нововведения, способные принести огромные прибылиУчитывайте коммерческие аспекты, такие как отраслевые стандарты и вероятность получения в будущем технической поддержки.Условием выбора новейших технологий должна быть значительная бизнес-отдача.Подходите к конфигурированию баз данных и приложений стратегически, стараясь обеспечить успешно работающую оптимальную структуру. |
Любые разработки начинают приносить пользу бизнесу практически с момента внедрения | Проводятся планомерные и постоянные улучшения производительности системы | Отдел информационных технологий хорошо разбирается в бизнесе, а бизнес-подразделения - в информационных технологиях |
Осуществляйте постепенный переход, а не глобальную замену:Разработку новых систем разбивайте на этапы.Устанавливайте промежуточные цели (с интервалом, как правило, не больше 6 месяцев), которые обеспечивают реальное продвижение в бизнесеИспользуйте по возможности стандартное проверенное ПО; сведите его модификацию к минимуму.Сконцентрируйте усилия на тех 20 процентах функций, которые отвечают за 80 процентов деятельности компании и быстро добейтесь их полной реализации.Если возможно, реализуйте тестовую модель проекта в небольших масштабах.Для дисциплинирования сотрудников технического отдела и ускорения процесса внедрения обращайтесь к сторонним фирмам.Постоянно сравнивайте развитие крупных проектов с эталонами и с запланированными результатами; при необходимости проводите коррекцию.Регулярно проводите ревизию завершенных проектов и переоценку этапов разработки. | Относитесь к управлению эксплуатацией ПО, как к управлению заводом: определите стандарты производительности и конкретные задачи улучшения управления стоимостью, качества обслуживания и времени отклика.Реорганизуйте работу ПО для получения максимально экономичной модели:Централизуйте основные функции (такие как работа справочной службы, информационного центра и управление сетью).Стандартизируйте конфигурацию настольных компьютеров и ограничьте возможность ее изменения.Консолидируйте закупки в области программного обеспечения.Строго контролируйте эффективность эксплуатации системы и передавайте обслуживание неэффективных функций сторонним организациям.Разработайте эталонные тесты, чтобы можно было ставить конкретные цели в области поддержки и стоимости эксплуатации системы | Правильно распределите обязанности:Генеральный директор активно участвует в принятии решений в области ПО, определяя верное направление.Менеджер по информатизации, в первую очередь, является бизнес-руководителем и входит в состав высшего руководстваОбеспечьте руководство со стороны представителей бизнес-подразделений и их осведомленность в области ПООбучите специалистов по программному обеспечению основам бизнеса.Выработайте совместную процедуру принятия обоснованных решений руководителями бизнес-отделов и руководителем информационно-технического отдела:Стимулируйте исследование деловых возможностей.Требуйте рассмотрения разных вариантов и всесторонних обсуждений при решении сложных вопросов.Создайте условия для высокопроизводительной работы отдела информационных технологий:Простая организационная структура.Мало должностей.Высокая квалификация специалистов.Материальное стимулирование повышения производительности. |
Развитие в области внедрения программных систем и информационных технологий обуславливается потребностями основной деятельности компании, а не технологическими новшествами