Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ГОС ПрИЭ / Т7. Progr_inzheneria_otvety.docx
Скачиваний:
34
Добавлен:
13.05.2015
Размер:
102.31 Кб
Скачать

2. Эскизный проект

Разработка эскизного проекта. Предварительная разработка структуры вход­ных и выходных данных. Уточнение методов решения задачи. Разработка общего опи­сания алгоритма решения задачи. Разработка технико-экономического обоснова­ния.

Утверждение эскизного проекта. Разработка пояснительной записки. Согласование и утверждение эскизного проекта.

3. Технический проект

Разработка технического проекта. Уточнение структуры входных и выход­ных данных. Разработка алгоритма решения задачи. Определение формы представле­ния входных и выходных данных. Определение семантики и синтаксиса языка. Разра­ботка структуры программы. Окончательное определение конфигурации технических средств.

Утверждение технического проекта. Разработка плана мероприятий по разработке и внедрению программ. Разработка пояснительной записки. Согласование и утверждение технического проекта.

4. Рабочий проект

Разработка программы. Программирование и отладка программы.

Разработка программной документации. Разработка программных докумен­тов в соответствии с требованиями ГОСТ 19.101–77.

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

5. Внедрение

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

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

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

9. Определение, назначение и принципы структурного программирования.

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

Принципы структурного программирования

1. Модульное программирование – процесс разбиения программы на отдельные программные модули (базовые классы, процедуры, функции, ActiveX – элементы, COM/DCOM‑компоненты и др.). Свойства модуля: возникает в результате отдельной компиляции; вызывается по имени; возвращает управление тому, кто его вызывал; может обращаться к другим модулям, непосредственно нижестоящим в схеме иерархии; должен быть небольшого размера; должен иметь один вход и один выход; не должен сохранять историю вызовов для управ­ления своим функционированием; обладает единственной функцией; дол­жен быть независимым от других модулей; должен содержать тесно свя­зан­ные элементы; должен проверять аргументы; при возникновении в модуле ошибок управление должно возвращаться обратно; должен быть замкнутым.

2. Проектирование и кодирование (программирование) сверху вниз. Если проект боль­шой, то он разби­вается на части, представляющие собой древовид­ную структуру (схема иерархии). Сначала задача описывается на естественном языке, в даль­нейшем проект постепенно уточняется, и на каждом шаге выявляются детальные функции. Таким образом, задача разбивается на под­задачи до тех пор, пока они не станут настолько простыми, что каждой из них будет соответствовать один программный модуль.

Достоинства: хорошая комплексная отладка; заказчик участвует в проектировании; промежуточные результаты можно показать заказчику.

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

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

3. Защитное программирование. Это такой стиль написания прог­рамм, при котором появляющиеся ошибки легко обнаруживаются и иденти­фицируются программистом. Средства защитного программиро­ва­ния: все входные данные или действия пользователя подлежат обяза­тель­ной проверке (принцип «всеобщего недоверия»); немедленное обнаруже­ние ошибок; изолирование и минимизация последствий ошибок. Для предотвращения ошибок в программе рекомен­ду­ется не применять непро­веренные способы программирования. Не исполь­зуйте принцип умолчания значений (когда при отсутствии параметра программа прини­ма­ет его определенное значение), так как они могут изменяться в новых версиях. Не допускайте зависимости программ от недосто­вер­ности данных. Стре­ми­тесь минимизировать число обращений к пользователю.

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

Этапы тестирования:

  • Проверка в нормальных условиях для характерной совокупности до­­пус­­тимых значений.

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

  • Проверка в исключительных ситуациях в областях недо­пус­тимых значений.

С целью выяв­ле­ния ошибок организуется сквозной структурный контроль (прос­мотр). В этом случае собираются 4–6 специалистов, кото­рые получают не­об­хо­ди­мые материалы за 5–7 дней до начала совещания. Время совещания огра­ни­чи­вает­ся двумя часами. Ведущий совещание обес­пе­чивает сос­тавление пол­ного списка обнаруженных ошибок. В на­ча­ле со­ве­щания экс­пер­ты ха­рактеризуют степень завершенности и качество проекта. Разра­ботчик дела­ет обзор проделанной работы, результаты под­вер­гаются груп­повому ана­ли­зу. По окончании совещания председатель вру­чает каждому участнику список ошибок и проблем, требующих решения. Раз­работчик обя­зан устранить ошибки и сообщить об этом эксперту.

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

Рекомендации. Вводный комментарий объясняет назна­чение и условия применения. Пояснительные комментарии сопровож­дают те части программы, которые трудно понять. Дополнительные пробелы указываются повсюду, где это приводит к улучшению чита­бель­ности прог­рам­мы. Пе­ре­менные следует явно объявлять и комментировать. Имена должны отображать смысл со­дер­жания. Допускается пре­фик­сная нотация (перед именем объекта), которая отражает тип объекта (cmdVixod – имя командной кнопки «Выход»). Составные имена следует писать через знак под­черкива­ния или на­чи­нать с прописных букв. Используйте общепри­ня­тые име­на, которые описывают действия.

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

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

5. Гибкость и эффективность программ. Выносите изме­ня­емые константы, адреса и имена файлов, баз данных в отдельные файлы на­строй­ки. Оптимизируйте програм­му пос­ле ее от­лад­ки. Используйте име­но­ван­ные константы вместо обыч­ных. Ми­ни­ми­зи­руй­те применение глобаль­ных переменных, вложенных структур и ко­манд перехода Goto. Огра­ни­чи­вай­те дей­ствия над параметрами под­прог­рамм (например, для Visual Basic – ByVal, ByRef; для Pascal – Optional, Var, Out, Const).

Общие рекомендации программисту. Помните: программы чи­тают­ся людьми, и поэтому их тексты должны быть легко чи­таемы­ми и понятными. Используйте вводные комментарии. Распола­гай­те ком­мен­тарии в программе таким образом, чтобы это не делало ее менее наглядной. Одного оператора в строке достаточно. Для выделения структуры ис­поль­зуйте отступы (начало и конец структуры сдвинуты на три позиции влево относительно тела структуры). Фиксируйте соответствие букв кирил­лицы и букв латинского алфавита (например, Щ (H), И (I), B (V)). Стремитесь к простоте и уни­вер­сальности (например, программа имеет средства настройки на форматы и значения данных). Используйте постоян­ные приемы программирования. Унифи­цируй­те форматы ввода и вывода ин­фор­мации. Обеспечивайте макси­маль­но удобный интерфейс пользователю. Интересуйтесь, как эксплуатируется программа (поработайте со своей прог­рам­мой в качестве пользователя). Устанавливайте более скромные цели (рабо­тающие программы гораздо полезнее и важнее незаконченных громадных проектов). Общая схема упроще­ния – разбиение прог­рам­мы на модули и оформление каждого модуля в виде процедуры, функции, класса, ActiveX‑элемента, компонента. Сложность возрастает квадратично размеру программы. Рекомендуется заменять циклы или вложенные конструкции на функции.

10. Сущность структурного подхода к проектированию программных и информационных систем, основные понятия, принципы и модели.

Сущность структурного подхода к разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые функции (бизнес-процессы): сис­тема разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, а они – на задачи, и так до конк­рет­ных процедур. При этом автоматизируемая система сохра­няет целостное представление, в котором все составляющие компо­ненты взаимоувязаны. При разработке системы «снизу вверх» от отдельных задач ко всей системе целостность теряется, возникают проблемы при информационной стыковке отдельных компонентов.

Базовыми принципами структурного подхода являются:

  • принцип «разделяй и властвуй» – принцип решения сложных проблем путем их разбиения на множество меньших независи­мых задач, легких для понимания и решения;

  • принцип иерархического упорядочения – принцип организации составных частей проблемы в иерархические древовидные струк­туры с добавлением новых деталей на каждом уровне;

  • принцип абстрагирования – выделение существенных аспектов сис­те­мы и отвлечение от несущественных;

  • принцип формализации – необходимость строгого методическо­го под­хо­да к решению проблемы;

  • принцип непротиворечивости – обоснованность и согласован­ность эле­ментов;

  • принцип структурирования данных, т.е. данные должны быть струк­турированы и иерархически организованы.

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

  • DFD (Data Flow Diagrams) – диаграммы потоков данных (процессов);

  • SADT (Structured Analysis and Design Technique) – модели и соот­ветству­ющие функциональные диаграммы;

  • ERD (Entity-Relationship Diagrams) – диаграммы «сущность-связь».

11. Определение и назначение стандартов, базовых и предварительных стандартов, профилей, технических условий, свода правил, регламентов и положений.

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

Существуют следующие разновидности нормативных документов.

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

Стандарты бывают двух типов:

де–юре - официально принятые организацией по стандартизации (например, международный стандарт языка SQL).

де–факто - добровольно принятые пользователями без формального принятия организацией по стандартизации.

Назначение стандартов:

- устанавливают параметры качества объекта стандартизации;

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

- унифицируют объекты стандартизации, что позволяет собирать более сложные объекты, не зависимо где и кем были произведены объекты, например, детали, узлы, изделия, программные модули различных типов: базовые классы, ActiveX–элементы, COM/DCOM‑компоненты, программные интерфейсы (например, связывание и встраивание объектов OLE), процедуры, функции, SQL-запросы и др. Унификация позволяет разработчикам программного обеспечения перейти от огромного множества разнообразных не связанных между собой разрозненных программных модулей к небольшому, хорошо интегрируемых набору программных модулей со стандартной структурой. Это, в частности, позволяет разрабатывать и использовать эти модули при разработке программного обеспечения на различных языках программирования;

Базовый стандарт – это принятый нормативный документ, регламентирующий типовые (возможно многовариантные) требования, нормы и правила применительно к объекту стандартизации.

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

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

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

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

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

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

  1. Организация работ по стандартизации на международном уровне и в США. Примеры международных стандартов в области программных и информационных систем и технологий.

1) Международные стандарты ISO/IEC, разрабатываемые Международной организа­цией стан­дартизации (International Standards Organization – ISO от греческого слова ISOS – равный, чтобы аббревиатура на всех языках была одинаковой) и Меж­дународной комиссией по электротехнике (International Electro-technical Commission – IEC). Международная организация по стандартизации – это всемирная организация, ответственная за разработку международных стандартов путем координации деятельности участвующих национальных органов стандартизации стран мира.

На этом уровне осуществляет­ся стандартизация наиболее общих технологических методов и процессов, имеющих значение для международной кооперации и разделения труда (прил. 1.1, 1.2, 1.3). Сфера деятельности ISO касается стандартизации во всех областях, кроме электротехники, электроники, радиосвязи и приборостроения, которыми занимается IEC. ИСО поддерживает связь с региональными организациями по стандартизации, например, с Европейским комитетом по стандартизации (CEH) и Европейской ассоциацией производителей вычислительных машин (ЕСМА, технический комитет ТК32 «Передача данных, сети и взаимосвязь систем»), созданной в 60-х гг. с целью координировать деятельность Европейских производственных средств обработки данных. Вопросами информационных технологий, микропроцессорной техники входят в область совместных разработок ИСО/МЭК, которые проводятся созданным в 1987 году Объединенным техническим комитетом JTC1 (Joint Technical Committee 1). В этом комитете существуют несколько подкомитетов и групп, которые специализируются по различным направлениям, например, разработка программного обеспечения и документации, языки программирования, компьютерная графика, телекоммуникация и информационный обмен, управлением данными, информационная безопасность, символьные данные и кодирование информации и др. Стандарты ISO/IEC имеют рекомендательный характер.

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

В частности на международном уровне решаются проблемы информационной совместимости различных архитектур. Разработана общая базовая эталонная модель - стандарт ИСО 7498 – все многочисленные функции сети были разделены на группы, каждая группа функций была отделена от другой стандартными интерфейсами и получила относительную независимость. Открытые системы – используют стандарт между однородными аппаратными компонентами. Для взаимосвязи открытых систем в федеральных правительственных службах возникли правительственные профили взаимосвязи открытых систем (Government Open Interconnection Profile - GOSIP), которые определяют и описывают общую совместимость протоколов обмена данными, которые позволяют системам, разработанными различными поставщиками взаимодействовать между собой, а пользователям этих систем обмениваться информацией.

Например, ISO/IEC 12207 - Международный стандарт жизненного цикла

ISO/IEC 9126 - Оценка программного продукта (характе­ристики и качество программных средств, и руководство по их ис­пользованию)

2) Американские национальные стандарты в виду лидирующих позиций США в Мировой экономике и информатике, имеют оттенок международных стандартов. Во многих слу­чаях они служат базой для пос­ледующего создания стандартов уровня ISO/IEC. Единственной организацией в США, которая утверждает стандарты, является Националь­ный институт стандартов и технологий (NIST), бывший Американский национальный институт стандартов (ANSI). Разрабатывают федеральные стандарты организации, аккредитованные NIST. В области электротехники и электроники стандарты разрабатываются Институтом инженеров электротех­ники и радиоэлектроники США (Institute of Electromechanical and Electronics Engineers – IEEE). По этому направ­лению разработано наибольшее число стандартов в рассматривае­мой области (прил. 1.2, 1.3). Стандарты NIST/IEEE в основном имеют рекомендательный характер, кроме, требований, касающихся безопасности. Для министерства обороны США есть отдельные группы стандартов (MIL, DOD), которые имеют повышенные требования к качеству, надежности и безопасности и являются обязательными для фирм, работающих по заказам этого министерства обороны.

  1. Отраслевые стандарты (ОСТ) и стандарты предприятий (СТП). Определение, назначение, классификация и порядок разработки СТП.

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

OCT XXXXXXXX, где

XXXXXXXX – номер отраслевого стандарта.

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

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

СТП XXXXXXXX, где

XXXXXXXX – номер стандарта.

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

Стандарты предприятия можно разделить на две группы:

1) производственные – регламентируют процессы разработки проекта по стадиям и этапам жизненного цикла программного средства;

2) управленческие – регламентируют порядок управления разработкой проектов.

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

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

Часто стандарт предприятия разрабатывается путем детализации соответствующего государственного или отраслевого стандарта (т.е. является профилем соответствующего вышестоящего стандарта), например, руководства программиста, системного программиста и пользователя из группы государственных стандартов ГОСТ 19 (ЕСПД).

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

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

Приведем следующие наиболее общепринятые СТП в области разработки ПС: анализ и проектирование.

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

Стандарты анализа и проектирования регламентируют применение методик (структурного, объектно-ориентированного) и средств (BPWin, ERWin, Rational Rose и др.) анализа предметной области; правила оформления и хранения аналитической информации, наименований файлов и других объектов.

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

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

  1. Организация работ по стандартизации в России. Классификация и обозначение стандартов. Группы стандартов в области разработки программных и информационных систем.

В России деятельность по стандартизации регулируется законом РФ «О стандартизации», а национальным органом по стандартизации является Государственный комитет Российской Федерации по стандартизации и метрологии (Госстандарт России), который имеет свой логотип. В его ведении находятся службы по надзору за государственными стандартами и обеспечением единства измерений, более 100 центров стандартизации, метрологии и сертификации (ЦСМ), 19 научно-исследовательских институтов, 13 опытных заводов, 2 типографии, 3 учебных заведения. Постоянными рабочими органами являются технические комитеты, которые специализируются по объектам стандартизации.

Все стандарты, разработанные в России, разбиты на группы, и их кодовое обозначение имеет следующий вид:

ГОСТ ГГ.ТNN – ХХ, где

ГГ – числовой номер группы стандартов;

Т – числовой тип стандарта;

NN – числовой номер стандарта данного типа;

ХХ – две последние цифры номера года издания стандарта.

Основные группы стандартов в области информатики:

ГОСТ 19 - ЕСПД (Единая система программы документации);

ГОСТ 24 - АСУ (Автоматизированная система управления);

ГОСТ 34 - АС (Автоматизированная система).

Большинство этих стандартов морально устарели. Обновление стандартов происходит в основном путем включения соответствующих международных стандартов в состав Российских вместо устаревших или в качестве новых стандартов. Такие стандарты обозначаются в виде:

ГОСТ Р ИСО/МЭК NNNNNNNN-XX, где

NN – номер стандарта по международной классификации;

ХХ – две последние цифры номера года принятия стандарта в состав Российских стандартов (номер года не всегда указывается).

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

  1. Модели жизненного цикла программных средств. Определение и сравнительный анализ. Определение, назначение и особенности технологии быстрой разработки приложений (RAD-технологий).

Модель жизненного цикла ПС (ЖЦ ПС) – структура, содержащая про­цессы, дей­ст­вия и задачи, которые осуществляются в ходе разработки, функциони­ро­ва­ния и сопровождения программного средства в течение всей жизни системы, от определения требований до завершения ее использования (прил. 1.1). В самом общем виде ЖСПС включает этапы системного анализа, проектирования, эксплуатация и сопровождение ПС.

Соседние файлы в папке Ответы ГОС ПрИЭ