Для этого была разработана стратегия по созданию нового продукта, с помощью которого владельцы корпорации надеются достичь поставленной цели. Данный бизнес-план призван убедить потенциальных инвесторов и кредиторов в том, что проект заслуживает их финансовой поддержки.
Data Technologies Corporation разрабатывает компьютерное обеспечение и оказывает техническую поддержку коммерческим организациям. Для выхода на рынок и расширения ассортиментной линейки владельцы компании ищут финансирование в размере $200 тыс. Программы, предлагаемые разработчиком, пользуются большим спросом среди местных компаний.
Для расширения рынка сбыта планируется принимать участие в специализированных выставках и организовать серию обзорных публикаций в ведущих американских СМИ. Кроме того, инвестиции требуются и на адаптацию уже разработанного программного обеспечения к другим видам платформ. На протяжении последних нескольких месяцев DataTech выпустила несколько программ для различных компаний. Три из них могут быть переориентированы для запуска с другими компьютерными системами. Для этого потребуется около $75 тыс .
Как устроен процесс разработки? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains
Компания ставит перед собой цель производить качественное программное обеспечение и оказывать сопутствующие услуги различным фирмам. Для достижения этой цели планируется выпускать специальные приложения и расширять функциональность программ, предлагать техническую поддержку по автоматизации управления и обслуживание компьютеров, развивать клиентские программы на контрактной основе.
Наибольший интерес для DataTech представляет сегмент специализированных приложений для различных видов бизнеса. На данный момент было выпущено два таких продукта – для агентств, занимающихся прокатом лимузинов, и для кадровых работников.
В бизнес-плане приводится подробный обзор другой продукции Data Technologies Corporation, анализ телекоммуникационного рынка, обоснование необходимости получения финансирования и основные статьи расходов, прогнозы развития корпорации и размер ожидаемой прибыли.
Источник: www.openbusiness.ru
Этапы разработки прикладных программ пользователя.
1. Постановка задачи. Характеристика решаемой задачи, описание входной, выходной и нормативно-справочной информации, описание контрольного примера. Характеристика выбранной программы:
-определение цели задачи
-установление периодичности решения задачи
-установление взаимосвязи решаемой задачи с другими задачами
-определение условий прекращения задачи
-определение предпосылок автоматизации решения задачи
-определение форм и методов контроля достоверности информации.
-наименование входного сообщения
-установление источника информации
-установление формы информации
-определение сроков и частоты поступления информации
-классификация нормативно-справочной информации
-определение содержания справочников
-установление перечня выходных сообщений
-установление сроков выдачи сообщений
-определение периодичности выдачи сообщений
-определение получателей информации
Описание контрольного примера:
-описание порядка решения задачи
-описание всех способов решения задачи
-перечисление всех штатных и нештатных ситуаций, возникающих при решении задач и описание действий в каждом случае.
2. Экономико-математическое описание и выбор метода решения задачи. Обеспечивает её однозначное понимание пользователем и разработчиком программы. Используются математические, матичные и графические модели.
3. Алгоритмизация решения задачи. Разработка оригинального или адаптация уже известного алгоритма (точное предписание, определяющее вычислительный процесс, ведущий от начальных данных к конечному результату).
4. Составление и адаптация программы. Завершающий этап технологического процесса разработки программы. Процессы тестирования и отладки программы. Устранение ошибок.
АЛГОРИТМ: ОСНОВНЫЕ СВОЙСТВА, СПОСОБЫ ЗАДАНИЯ.
Алгоритм – это система точно сформулированных правил, определяющих процесс преобразования доступных исходных данных в желаемый результат за конечное число шагов.
Свойства алгоритма – это набор характеристик, атрибутов, отличающих алгоритм от любых других предписаний и обеспечивающих его автоматическое выполнение.
1. Дискретность – разбиение процесса обработки информации на более простые этапы.
2. Определённость (детерминированность) – характеризует однозначность выполнения каждого отдельного шага преобразования информации.
3. Результативность (конечность) – завершение работы алгоритма в целом за конечное число шагов.
4. Массовость – пригодность алгоритма для решения определённого класса задач.
Алгоритмизация – процесс сведения задач к последовательности этапов, выполняемых друг за другом так, что результаты предыдущих этапов используются при выполнении следующих.
Программа – этот тот же алгоритм, записанный на специальном алгоритмическом языке программирования, который может восприниматься в ЭВМ.
Исполнитель алгоритма – автоматическое устройство или человек, способный выполнить определённый набор команд.
Программирование – процесс теоретической и практической деятельности, связанной с созданием программ.
Язык программирования – формализованный язык для описания алгоритма решения задач на компьютере.
Способы задания алгоритма:
1. Словесный (без формул и таблиц).
2. Формульно-словесный (более компактный, словесные описания сочетаются с формулами).
3. Графический (представление алгоритма в виде блок-схемы).
4. Операторный (в виде последовательности операторов)
5. В виде таблицы решений (вспомогательный характер).
6. На алгоритмическом языке.
Основные структуры алгоритмов – ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
1. Следование – последовательное расположение блоков и групп блоков, в программе –последовательное расположение операторов.
2. Разветвление – необходимость в зависимости от заданного условия выполнить или одно, или другое действие.
3. Обход – частный случай разветвления, когда одна из ветвей не содержит никакого действия.
4. Цикл «до» — необходимость выполнения какого-либо вычисления несколько раз до выполнения некоторого заданного условия.
5. Цикл «пока» — проверка условия производится до выполнения тела цикла.
6. Множественный выбор – обобщение разветвления, в зависимости от значений переменной I выполняется одно из нескольких действий.
7. Комбинированный – использование нескольких основных структур, комбинации которых даёт всё многообразие алгоритмов.
01 Этапы разработки программного обеспечения
Похожие статьи.
- Этапы разработки программы
- Этапы разработки программ.
- Стадии и этапы разработки
- Этапы разработки программных продуктов.
Источник: cntruo.ru
Как создать прикладную программу для Altium Designer?

Современные системы проектирования РЭА позволяют решать широкий круг задач различным категориям пользователей. Однако периодически возникает необходимость в реализации дополнительного функционала, не предусмотренного разработчиками системы. Поэтому разработчики сложных систем, включая Altium Designer, разрабатывают программные API для расширения функциональных возможностей. В Altium Designer такие модули называются Extentions
Существует два способа создания программных модулей для Altium Designer:
Altium SDK (Software Developer Kit) — модуль поставляется в виде dll, для создания используются языки программирования C++, C#, Delphi;Altium Designer API (Application Programming Interface) — поставляется в виде исходного кода на языках программирования PascalScrtipt, JScript, VBScript, Query LanguageДва данных метода кардинально отличаются подходом в построении прикладных программ, набором доступного функционала и принципом исполнения. Использование Altium SDKДля использования SDK необходимо иметь доступ к программе разработчиков Altium DXP Developer. Доступ открывается после запроса через вашего поставщика решений Altium. Зарегистрировавшись по данной программе для разработчиков в разделе «Extensions Altium Developer». Для установки расширения необходимо иметь подключение к личному кабинету.
После установки расширения в меню File появится дополнительный раздел (рис.1), с помощью которого можно создать собственный Extension и зарегистрировать его.
Для написания программы с помощью SDK необходимо использовать любое доступное средство для разработки под конкретный язык, например Borland Delphi при использовании языка Delphi или Visual Studio для языка C#. В каждом случае при создании собственной программы необходимо использовать SDK под конкретный язык.
Версий SDK на данный момент существует 5 версий:
SDK 1.0 — для Altium Designer 14.2 + и выше;
SDK 2.0 — для Altium Designer 15+ и выше;
SDK 3.0 — для Altium Designer 16+ и выше;
SDK 3.1 — для Altium Designer 17+ и выше;
SDK 4.0 — для Altium Designer 18 и выше.
Используя SDK и методы конкретной версии необходимо учитывать, что ваша программа может не работать на старых версиях Altium Designer, при использовании того функционала, который отсутствует в конкретной версии Altium Designer.

Используя меню Extension, необходимо подключить созданный проект на любом доступном языке, задать имя будущего плагина, назначить иконку и другие параметры. Подробнее о формировании Extension можно ознакомиться на сайте Altium [1].Итогом создания прикладной программы с помощью SDK является библиотека dll, которая будет встроена в Altium Designer как обычный Extension и будет загружаться в систему при каждом запуске. Запуск программы будет зависеть от реализации проекта – это может быть кнопка в панели инструментов, отдельная панель или масштабный модуль, затрагивающий множество функциональных возможностей Altium Designer. Использование SDK – метод, требующий хороших навыков программирования и умения разбираться в сторонних библиотеках для извлечения и использования нужных методов для реализации необходимых прикладных задач. Менее трудоемким процессом создания прикладных программ является использование API.
Использование Altium Designer API
API – интерфейс для создания скриптов средствами самого Altium Designer, в отличии от SDK при этом не требуется сторонних компиляторов для формирования dll библиотеки, не требуется создания Extension и подключения его. Для запуска и исполнения скрипта необходимо в меню File Run Script указать нужный проект с созданной программой и указать исполняемый файл с кодом программы.
Для создания прикладной программы (скрипта) с помощью API в Altium Designer необходимо создать проект PrjScr через меню File. Затем в данный проект необходимо вставить Script Form и после этого можно приступать к созданию программы. Используя API, сам код и интерфейс скрипта разрабатывается средствами встроенного интерфейса (рис.2). В нижней части рабочей области есть кнопки переключения между визуальной частью скрипта (Form) и исполняемым кодом (Code).

При использовании API есть описание всех необходимых интерфейсов Altium в документации на сайте [2]. Для некоторых приемов в документации приведены примеры использования.Весь предоставленный программный интерфейс разделен на несколько разделов:- System API (работа с файлами)- Integrated Library API (работа с библиотеками)- FPGA API (работа с FPGA моделями)- PCB API (работа с PCB редактором)- Schematic API (работа со схемотехническим редактором)
— Workspace Manager API (работа с проектами)
В каждом из разделов есть свой набор интерфейсов со своими методами.
Для создания графического интерфейса скрипта используется панель Tool Palette, в которой есть стандартные визуальные WindowsForms примитивы для отображения в окне программы. Все вставленные объекты в форму в редакторе кода можно обрабатывать и по различным действиям на объекты производить определенный набор необходимых действий. После завершения написания скрипта команду его запуска можно внедрить во вновь созданную строчку меню или кнопку в панели инструментов, для этого в меню Edit Command редактирования кнопки необходимо вставить:
Parameters : ProjectName=[имя проекта]|ProcName=[файл кода].pas>[имя метода]
Примеры реализации скрипта

В качестве примера приводим код скрипта на языке Delphi с использованием API и на языке c# с использованием SDK. Программа выполняет поиск переходных отверстий на плате, координаты которых не кратны текущей координатной сетке и накладывает на такие отверстия маску, тем самым скрывая все остальные примитивы плат. Результат выполнения скрипта представлен на рис.3.
Следующий пример создан на языке Delphi, используя API и можно повторить, создав следующий файл viagrid.pas, внеся в него следующий код и вызвал через меню File – Run Script:function viagrid;varBoard : IPCB_Board;Iter : IPCB_BoardIterator;Via : IPCB_Via;grid, x, y : double;beginBoard := PCBServer.GetCurrentPCBBoard;
If Board = Nil then exit;
ResetParameters;
AddStringParameter(‘Scope’,’All’);
RunProcess(‘PCB:DeSelect’);
Iter := Board.BoardIterator_Create;
Iter.AddFilter_ObjectSet(MkSet(eViaObject));
Iter.AddFilter_AllLayers;
Via := Iter.FirstPCBObject;
While (Via <> nil) do begin
x := roundto(coordtomms(Via.x-Board.BoardOutline.BoundingRectangle.Left),-3);
y := roundto(coordtomms(Via.y-Board.BoardOutline.BoundingRectangle.Bottom),-3);
grid := roundto(coordtomms(Board.ComponentGridSize),-3);
if ((frac(x / grid) <> 0) or (frac(y / grid) <> 0))
then Via.Selected := True;
Via := Iter.NextPCBObject;
end;
Board.BoardIterator_Destroy(Iter);
Client.PostMessage(‘PCB:RunQuery’,’Apply=True|Expr=IsSelected|Mask=True’,
Length(‘Apply=True|Expr=IsSelected|Mask=True’), Client.CurrentView);
end;
Пример реализации той же программы на языке c# с использованием SDK:
public void Command_Viagrid(IServerDocumentView view, ref string parameters)
IPCB_ServerInterface pcbServer = PCB.GlobalVars.PCBServer;
if (pcbServer == null) return;
IPCB_Board pcbBoard = pcbServer.GetCurrentPCBBoard();
if (pcbBoard == null) return;
DXP.Utils.RunCommand(«PCB:DeSelect», «Scope=All»);
var boundingRect = pcbBoard.GetState_BoardOutline().BoundingRectangle();
var gridSize = (int)pcbBoard.GetState_ComponentGridSize();
var delta = EDP.Utils.MMsToCoord(0.001);
IPCB_BoardIterator iterator = pcbBoard.BoardIterator_Create();
iterator.AddFilter_ObjectSet(new PCB.TObjectSet(PCB.TObjectId.eViaObject));
iterator.AddFilter_LayerSet(PCBConstant.V6AllLayersSet);
iterator.AddFilter_Area(boundingRect.Left, boundingRect.Bottom, boundingRect.Right, boundingRect.Top);
IPCB_Primitive pcbObject = iterator.FirstPCBObject();
while (pcbObject != null)
if (pcbObject is IPCB_Via via
(via.GetState_XLocation() % gridSize > delta
|| via.GetState_XLocation() % gridSize > delta))
via.SetState_Selected(true);
pcbObject = iterator.NextPCBObject();
>
pcbBoard.BoardIterator_Destroy(ref iterator);
DXP.Utils.RunCommand(«PCB:RunQuery»,
«Apply=True|Expr=IsSelected|Mask=True|Select=True»);
>
Оба данных примера доступны для общего пользования в публичном репозитории по адресу https://github.com/glavkondev.
Открытые средства для разработки прикладных программ для Altium Desinger позволяют решить любые возникающие у пользователей подзадачи. В руках программистов данные средства могут значительно увеличить эффективность работы с системой проектирования для рядовых пользователей. Скрипты и плагины могут быть различной сложности от обычного вывода справочной информации до сложных интеграционных систем, позволяющих обеспечить связь Altium Designer с другими внедренными на предприятии системами.
За всю историю развития Altium Designer инженерами-энтузиастами были написано множество прикладных программ и скриптов, решающих конкретные узконаправленные задачи. Множество из них находится в открытом доступе [3], их можно установить, модифицировать и использовать для решения любых возникающих задач.
Реализованные проекты
Компания Главкон испольуя API и SDK, реализовала следующие проекты:
Board Assistant — программный комплекс, разработан с целью автоматизировать процесс проектирования, а именно выпуск конструкторской и схемотхенической документации по ЕСКД.

Реализовано более 100 пунктов по доработкам продукта, под требования заказчика.
Интеграционное решение Altium Designer Windchill PDM для АО»НИИ ВЕКТОР»
Интеграционное решение Altium с СДС системой дистанционного снабжения компании Компэл(реализация механизмов сверки складских остатков с возможностью заказа прочих ЭРИ и расчеа стоимости производства печатного основания) https://sds.compel.ru/
Интеграционное решение Altium Designer Windchill PDM для АО «НИИ ТМ»
Источник: glavkon.com