Uploaded by Вячеслав Жура

ОПИ

advertisement
МОДУЛЬ №1
Задание №1
Описать 4 основные характеристики, которыми должен обладать любой
программный продукт.
Предложить 4 другие характеристики, которые также существенны для
программных систем.
У программного продукта есть характеристики, которые составляют
оценку качества продукта. Качество программного обеспечения – это степень, в
которой программное обеспечение обладает требуемой комбинацией свойств.
Они характеризуют поведение программы во время выполнения ею своих
действий.
Качество
программного
средства
–
совокупность
свойств
программного средства , которые обусловливают его пригодность удовлетворять
заданные или подразумеваемые потребности в соответствии с его назначением.
Основные характеристики качества программного продукта:
1. Функциональность (Functionality) - определяется способностью ПО
решать
задачи,
которые
соответствуют
зафиксированным
и
предполагаемым потребностям пользователя, при заданных условиях
использования ПО. Т.е. эта характеристика отвечает за то, что ПО
работает исправно и точно, функционально совместимо, соответствует
стандартам отрасли и защищено от несанкционированного доступа.
2. Надежность (Reliability) – способность ПО выполнять требуемые задачи
в обозначенных условиях на протяжении заданного промежутка
времени или указанное количество операций. Атрибуты данной
характеристики – это завершенность и целостность всей системы,
способность самостоятельно и корректно восстанавливаться после
сбоев в работе, отказоустойчивость.
3. Удобство использования (Usability) – возможность легкого понимания,
изучения, использования и привлекательности ПО для пользователя.
4. Эффективность (Efficiency) – способность ПО обеспечивать требуемый
уровень производительности в соответствие с выделенными ресурсами,
временем и другими обозначенными условиями.
5. Удобство сопровождения (Maintainability) – легкость, с которой ПО
может анализироваться, тестироваться, изменяться для исправления
дефектов, для
дальнейшего
реализации
обслуживания
новых
и
требований,
адаптироваться
для
к
облегчения
имеющемуся
окружению.
6. Портативность (Portability) – характеризует ПО с точки зрения легкости
его переноса из одного окружения (software/hardware) в другое.
Дополнительные характеристики качества программного продукта:
1. Портативность. Данная характеристика предполагает, что ПО можно
легко перенести из одного окружения в другое.
2. Оптимизация.
Характеристика,
эффективность работы ПО.
которая
напрямую
влияет
на
Задание №2
Представьте основные отличия между моделью создания ПО и самим
процессом.
Продемонстрируйте 2 ситуации, когда модель процесса создания ПО
может быть полезной в определении возможных этапов совершенствования
программного продукта.
Модель создания ПО является абстрактным представлением процесса
создания ПО. Модель процесса создания ПО – последовательность этапов,
необходимых для разработки создоваемого ПО.
Типы моделей технологического процесса создания ПО:
1. Модель последовательности работ
2. Модель потоков данных и процессов
3. Ролевая модель
Процесс создания ПО – это совокупность процессов, которые приводят к
результату – программному продукту.
Фундаментальные процессы , присущие любому проекту создания ПО:
1. Разработка
спецификации
функциональные
требований
характеристики
на
системы
ПО
и
(Определяют
обязательны
для
выполнения )
2. Создание
программного
обеспечения
(создание
ПО
согласно
спецификации )
3. Аттестация ПО (Созданное ПО должно пройти аттестацию для
подтверждения соответствию требованиям заказчика )
4. Модернизация ПО (совершенствование ПО согласно измененным
требованиям потребителя)
Ситуации, когда модель процесса создания может быть полезной в
совершенствовании программного продукта:
1. Сначала
создаётся
основной
функционал
системы,
то
есть
первоначальная программная система быстро разрабатывается на
основе некоторых обобщённых требования. Затем этим требования
уточняются и детализируются, что приводит к интеграции в уже
созданный
«каркас»
этих
самых
деталей.
Это
называется
эволюционным подходом.
2. Предполагается, что все составные части (модули) программы
существуют и весь процесс создания ПО ориентируется на интеграции
всех этих частей в одно целое.
Задание №3
Помимо проблем наследования ранее созданного ПО, возрастающей
разнородности программных систем и проблемы, порожденной требованием
уменьшения времени на создание ПО, назовите другие проблемы, также стоящие
перед инженерией ПО.
Другие виды проблем:
1. Проблемы наследования ранее созданного ПО. Многие большие
программные системы, эксплуатируемые в настоящее время, созданы
много лет назад, но до сих пор выполняют свои функции надлежащим
образом. Проблема наследования означает поддержку и модернизацию
таких систем, причем при минимальных финансовых и временных
затратах.
2. Проблема все возрастающей разнородности программных систем. В
настоящее время программное обеспечение должно быть способно
работать в качестве систем, распределенных в компьютерных сетях,
состоящих из компьютеров разных типов и использующих различные
операционные системы. Проблема возрастающей разнородности
программных систем состоит в том, что необходимо разрабатывать
надежные программные системы, способные работать совместно с ПО
разных типов.
3. Проблема, порожденная требованием уменьшения времени на создание
ПО. Многие тради­ционные технологии создания качественного
программного обеспечения требуют больших временных затрат. Вместе
с тем сегодня запросы рынка ПО и требования к программным системам
меняются очень быстро. Поэтому и ПО должно меняться с
соответствующей скоростью. Проблема, порожденная требованием
уменьшения времени на создание ПО, заключается в том, чтобы
сократить время на разработку больших и сложных программных
систем без снижения их качества.
Задание №4
Проведите
анализ
–
«Нужны
ли
специалисту,
работающему
с
направлением IT, соответствующие сертификаты».
Сертификация ITспециалиста повышает значимость личности на рынке
труда. Так как тестирование для сертификации довольно сложное и серьёзно
испытание, то значимость соответствующего сертификата будет оценена в любой
организации.
Сертификат никогда не заменит высшее образование. При всех
вышеперечисленных плюсах, сертифицирование дает понимание в довольно
узкой области знаний. Это, конечно, полезно, но для успешного выполнения
сложных задач узконаправленных умений недостаточно, нужно более широкое и
глубокое понимание проблем. Необходимый комплекс знаний способно дать
исключительно высшее образование.
Более того, сам по себе сертификат не говорит о наличии необходимых
навыков у владельца. Одно успешно пройденное тестирование не может
гарантировать того, что будущий специалист успешно усвоил, понял и запомнил
всю необходимую информацию.
Также сертификат является показателем актуальности знаний специалиста.
Сертификационное тестирование составляется с учётом всех самых последних
требований к специалисту в IT. Успешная сертификация даёт гарантию того, что
будущий сотрудник владеет всеми современными профильными знаниями.
Сертификат не заменит других требований к сотруднику. Наличие
«корочки» не станет поводом тут же взять такого сотрудника на должность. Попрежнему в первую очередь любой работодатель будет обращать внимание на
опыт работы, умение работать в команде, понимание задач текущей вакансии и
т.д. Сертификат – это не более чем дополнение.
Сертификат означает, что специалист добился успеха в приобретении
навыков и опыта для того, чтобы получить его. Это значит, что данный кадр
готов, хочет и умеет эффективно обучаться, а значит – преимущество при приёме
в IT-компанию.
Сертификат – это не показатель практических навыков. Как и результат
любого другого обучения, сертифицирование дает исключительно теоретические
навыки. Сможет ли соискатель применить их на практике – не известно.
Однако, есть и другая сторона сертификата, например – он никогда не
заменит высшее образование. Сертификат даёт понимание в очень узкой области
знаний, что недостаточно для выполнения сложных и комплексных задач. К тому
же, сам по себе сертификат не говорит о наличии необходимых навыков у
владельца.
Доступность сертификатов. Сейчас любой человек имеет возможность
стать сертифицированным специалистом. Но именно поэтому ценность такого
сотрудника постепенно падает. Чем больше соискателей приходят на
собеседование с «корочками», тем меньше на этот факт обращают внимание
работодатели. Когда сертификат есть у каждого второго программиста, ценность
такого документа стремится к нулю.
Наличие сертификата не станет поводом тут же взять такого сотрудника на
должность. В первую очередь любой работодатель будет обращать внимание на
опыт работы, умение работать в команде, понимание задач текущей вакансии, а
сертификат – не более, чем приятное дополнение по всему этому.
Сертификат не является гарантией наличия практических навыков.
Сертификация в большинстве случаев даёт исключительно теоретические
навыки, и сможет ли будущий работник применить их на практике – неизвестно.
На данный момент сертификаты являются достаточно доступными и
любой человек имеет возможность стать сертифицированным специалистом.
Именно поэтому ценность такого сотрудника постепенно падает, и чем больше
кадров приходят на собеседования с сертификатами, тем меньше на его наличие
обращают весомое внимание.
В итоге можно сказать, что сертификат вероятно даёт некоторые
преимущества на собеседованиях, однако, он не столь важен, как опыт работы
или наличие высшего образования. Сертификат, скорее всего, нужно
воспринимать, как приятное дополнение к своему резюме и выводить на первый
план опыт работы и высшее образование.
Задание №5
Приведите 3 примера Кодекса этики и профессиональной деятельности с
использованием графических иллюстраций и статей.
Кодекс этики и практической деятельности инженерии программного
обеспечения ACM/IEEE.
Помимо всех перечисленных в этом кодексе общественных обязательств
относительно здоровья, безопасности и благополучия общества, специалисты по
программному обеспечению должны взять на себя обязательства следовать
перечисленным принципам:
1. Производство – специалист по программному обеспечению должен
гарантировать,
что
произведенные
или
модифицированные
им
программные продукты соответствуют самым высоким, какие только
возможны, профессиональным стандартам.
Профессиональные
стандарты
Пользуется
Специалист
Используются при разработке
Разрабатывает
Продукт
2. Управление – действия руководителей программных проектов должны
подчиняться
высоким
этическим нормам
при
их
руководстве
разработкой и сопровождением программного обеспечения.
Подчиняются
Руководители
Этические нормы
Влияет на
Руководят
Разработка
3. Коллегиальность – специалист по программному обеспечению должен
поддерживать коллег и быть достойным членом своего коллектива.
Поддержка
Специалист
Коллектив
Поддержка
Download