Объясните, почему невозможно восстановить системную спецификацию путем автоматического анализа исходного кода системы.2-4 предложения​

Вопрос школьника по предмету Другие предметы

Объясните, почему невозможно восстановить системную спецификацию путем автоматического анализа исходного кода системы.
2-4 предложения​

Ответ учителя по предмету Другие предметы

Ответ:

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

Тонны литературы посвящены метрикам кода. Если есть желание, можно посмотреть статью «Метрики кода и практическая реализация по их сбору и анализу». Я останавливаться на метриках здесь не буду, этот подход не всегда практичен и часто излишне формален. Здесь нам нужны качественные показатели кода. Т.е. то, насколько правильно работает система и насколько она применима для решения целевых задач. Какой при этом объём исходного кода, нас не интересует, хотя бы потому, что современные компиляторы часто оптимизируют код программы. В итоге на выполнение идёт совсем другой код.

Возможно, метрики хороши для руководителей проектов и вышестоящего начальства. Они хороши для управления качеством кода, если их правильно применять. Но для аналитика важны другие вещи (хотя иногда в некоторых задачах применять метрики нужно).

Подробнее с анализом кода можно познакомиться в книге Стива Макконела «Совершенный код» и книге Роберта Мартина «Чистый код».

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

Объяснение:

Исследование кода

Сначала посмотрим на процесс исследования кода с помощью обычного текстового редактора.

Хотя с обычным редактором я перегнул. Лучше использовать специальные редакторы, производящие синтаксический разбор текста программы и имеющие развитые средства навигации по коду. Для программ, написанных с использованием .NET Framework, самым лучшим помощником будет MS Visual Studio (имеется бесплатная версия для разработчиков). Для программ на Java или C++ удобна бесплатная расширяемая среда разработки Eclipse. Можно использовать более примитивные, но лёгкие редакторы типа Notepad++. Но в принципе, если есть достаточный объём знаний и некоторый практический навык, можно обойтись совершенно обычным редактором текста (но поддерживающим юникод!).

Описываемый здесь метод – классический code review, т.е. обзор кода. Обзор кода заключается фактически в очень внимательном чтении исходного кода с проверками ссылок на данные и вызовов методов.

Моментов, из-за которых код может стать некачественным, много. Желающие могут получить полное представление о них, прочитав указанные выше книги.

Аналитик в первую очередь должен смотреть не на совершенство кода (это работа программистов), а на то, как требования к системе отражены в исходном коде системы и есть ли «лишний» код.

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

изучение механизмов взаимодействия с ресурсами других организаций, с другими IT-активами предприятия и пользователями;

изучение программных модулей, реализующих бизнес-логику;

изучение вариантов развёртывания системы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей