четверг, 20 октября 2011 г. - www.msmirnov.ru

70-433

Эх, давненько я не брал в руки шашек!

Позавчера сдал экзамен 70-433 “Microsoft SQL Server 2008, Database Development.

При этом набрал максимальный балл – 1000 из 1000 возможных.

Экзамен, в общем-то, не сложный, но все равно приятно Улыбка

Мой сайт - www.msmirnov.ru

четверг, 18 августа 2011 г. - www.msmirnov.ru

Как заставить работать filtered indexes в MS SQL Server 2008.

Недавно мы столкнулись со следующей проблемой – создали несколько filtered indexes, которые не хотели работать – оптимизатор не хотел их использовать, даже если условия запроса удовлетворяли условиям индекса.

В Books online проблема описана довольно скупо, но вот что удалось выяснить – для нормальной работы filtered indexes необходимо произвести те же настройки, которые нужны для indexed views или indexed computed columns, а именно (http://msdn.microsoft.com/en-us/library/ms175088.aspx):

ANSI_NULLS ON
ANSI_PADDING ON
ANSI_WARNINGS ON
ARITHABORT ON
CONCAT_NULL_YIELDS_NULL ON
NUMERIC_ROUNDABORT OFF
QUOTED_IDENTIFIER ON

После включения этих опций filtered indexes начинают работать как надо.
Мой сайт - www.msmirnov.ru

понедельник, 15 августа 2011 г. - www.msmirnov.ru

Первая встреча Костромского клуба тестировщиков

Сегодня состоялось первое собрание Костромского клуба тестировщиков (http://www.clubqa.ru).

Честно говоря, я не ожидал такого количества народу на данном мероприятии. По моим оценкам там присутствовало порядка 40-50 человек.

Собрание было достаточно коротким – было прочитано всего два доклада.

Первый доклад читала Виктория Птицына. Ее доклад назывался “Азы тест-анализа и тест-дизайна”. Доклад был посвящен основным понятиям и подходам процесса тестирования.

Второй доклад назывался “Что должен знать тестировщик”. Читал доклад Иосиф Иткин. Его доклад освящал основные компетенции тестировщика и направления его развития.

В целом доклады имели уровень “для начинающих”, но, собственно говоря, это была первая встреча клуба и видимо доклады были специально подобраны таким образом, чтобы иметь подобный уровень сложности. Но даже это уже хорошо для Костромы.

В будущем хотелось бы послушать более сложные доклады, направленные в первую очередь на практическую деятельность.

И напоследок несколько фотографий с собрания.

DSC02378 DSC02386
DSC02381 DSC02385
Мой сайт - www.msmirnov.ru

четверг, 11 августа 2011 г. - www.msmirnov.ru

Шаблон договора на разработку сайта - в помощь фрилансеру

В помощь фрилансерам выкладываю шаблон договора для заключение контрактов на разработку сайтов.
Скачать шаблон договора можно по следующей ссылке: http://www.msmirnov.ru/public/ContractForSite.doc

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

Текст шаблона привожу ниже.


Договор № _______
на проведение работ по разработке интернет-сайта «___________».

г. ______________________                                                                            «__» __________ 20__ г.

___________________________________________________________, зарегистрирован(а) по адресу _________________________________________________________________, с одной стороны, и
_______________________________________________________________________________________________________________________________________________________, с другой стороны,
вместе и по отдельности именуемые в дальнейшем Стороны, заключили настоящий Договор о нижеследующем.
 1.                     ПРЕДМЕТ ДОГОВОРА
1.1.       Исполнитель по поручению Заказчика выполняет работы по разработке и внедрению интернет-сайта «______________» в объеме, определяемом Приложением №1 к настоящему Договору «Техническое задание», в сроки, предусмотренные Приложением №2 к настоящему Соглашению, «Календарный план».
2.                     ОБЯЗАННОСТИ ИСПОЛНИТЕЛЯ
Исполнитель обязуется:
2.1.       оказать услуги в соответствии с разделом 1 настоящего Договора;
2.2.       сформировать рабочую группу из числа сотрудников Исполнителя, в которой определить ответственных за оказание услуг в целом и на конкретных участках.
3.                     ОБЯЗАННОСТИ ЗАКАЗЧИКА
Заказчик обязуется:
3.1.       оплатить оказанные услуги в размерах и в сроки, установленные настоящим Договором;
3.2.       выпустить приказ о формировании группы сопровождения проекта, ответственной за своевременное и правильное выполнение обязательств по настоящему Договору со стороны Заказчика. В данной группе определяется ответственный исполнитель. Список членов группы, копии приказа о назначении ответственного исполнителя передать Заказчику в течение 5 дней с даты подписания настоящего Договора.
3.3.       обеспечить согласование документов в сроки, определенные Календарным планом (Приложение №2 к настоящему Соглашению).
3.4.       при наличии согласованной Сторонами необходимости, обеспечить сотрудникам Исполнителя возможность оказания услуг в помещениях Заказчика не менее 10 (десяти) рабочих часов в сутки по рабочим дням и в выходные дни;
3.5.       обеспечить сотрудникам Исполнителя, прибывшим на объекты Заказчика для оказания услуг по Договору, безопасные условия труда и проведения инструктажей в соответствии с правилами техники безопасности.
3.6.       Предоставлять по запросу сотрудников Исполнителя, выполняющих работы, необходимые данные, документы и материалы в согласованные сроки и в согласованном объеме.
4.                     СТОИМОСТЬ РАБОТ И ПОРЯДОК РАСЧЕТОВ
4.1.       Общая стоимость работ Исполнителя по настоящему Договору составляет ____________________ рублей.
4.2.       Заказчик выплачивает аванс в размере ________________ рублей в сроки определенные в Приложении № 2 к настоящему Договору, «График работ».
4.3.       Сумму, эквивалентную __________________ рублей, Заказчик оплачивает в сроки определенные в Приложении № 2 к настоящему Договору, «График работ».
4.4.       Дополнительные работы по проекту осуществляются из расчета ________ руб / чел.час. При этом исполнитель предоставляет перечень дополнительно выполненных работ с указанием даты их проведения и стоимости. Оплата дополнительных работ производится в течении _____ рабочих дней со дня предоставления перечня.
5.                     СРОКИ ОКАЗАНИЯ УСЛУГ
5.1.       Сроки работ определяются Приложением № 1 к настоящему Договору, «Календарный план».
5.2.       В случае задержки предоставления Заказчиком исходных данных (п. 3.6) срок действия Договора и сроки выполнения обязательств Исполнителем переносится на время задержки.
5.3.       Сроки оказания услуг могут быть изменены в процессе их оказания только по соглашению Сторон.
5.4.       При появлении новых деталей и обстоятельств, не указанных в Техническом задании, стоимость и время разработки проекта будет увеличено в соответствии с пунктом 4.4 настоящего Договора.

 6.                     ПОРЯДОК СДАЧИ-ПРИЕМКИ
6.1.       Исполнитель обязан своевременно оказать услуги.
6.2.       Оказанные по настоящему Договору услуги Заказчик принимает путем подписания Акта сдачи-приемки услуг, оформляемого в 2 (двух) экземплярах.
7.                     ОТВЕТСТВЕННОСТЬ СТОРОН
7.1.       Исполнитель не несет ответственность за невыполнение или несвоевременное выполнение им обязательств по настоящему Договору, вызванное не предоставлением ему ответственными представителями Заказчика необходимой информации, либо предоставлением неполной или некорректной информации.
8.                     Гарантийные обязательства
8.1.       Исполнитель предоставляет услуги гарантийной поддержки программного обеспечения разработанного по настоящему Договору. Гарантийная поддержка включает исправление обнаруженных ошибок в работе разработанных или доработанных Исполнителем частей программного обеспечения без изменения согласованного перечня требований к соответствующему программному обеспечению, зафиксированных Сторонами при выполнении работ по настоящему Договору к нему, при условии соблюдения Заказчиком порядка эксплуатации программного обеспечения, описанного в эксплуатационной документации к нему.
8.2.       Гарантийные обязательства Исполнителя теряют силу в случае внесения изменений в находящееся на гарантийной поддержке программное обеспечение силами Заказчика или третьих лиц.
8.3.       Под ошибкой понимается несоответствие документации функционалу программного обеспечения (ошибка в документации) либо систематическое невыполнение или некорректное выполнение функций программы (ошибка в коде), которое отвечает одному из критериев:
8.3.1. не соответствует документации на программное обеспечение;
8.3.2. явно присутствует (проявляется) в обслуживаемом программном обеспечении;
8.3.3. не является явным следствием одного или нескольких обстоятельств:
8.3.3.1.    ошибочного пользования программное обеспечение;
8.3.3.2.    несанкционированного изменения или дополнения ПО;
8.3.3.3.    сбоя смежного программного либо аппаратного обеспечения;
8.3.3.4.    недостаточности аппаратных или телекоммуникационных ресурсов;
8.3.3.5.    неисправности или изменения оборудования, на котором ПО установлено;
8.3.4. не является следствием изменения регламентов деловых процессов Заказчика.
8.4.       Гарантийный срок составляет ________ месяцев с даты подписания Сторонами Акта сдачи-приемки выполненных работ.
9.                     ИМУЩЕСТВЕННЫЕ ПРАВА
9.1.       Заказчику принадлежат исключительные имущественные права на разработанное по настоящему Договору программное обеспечение интернет-сайта «_______________________».
9.2.       Исключительные права Сторон и иных Правообладателей на программные средства, программное обеспечение и иные объекты интеллектуальной собственности, использованные при выполнении работ по настоящему Договору, сохраняются за соответствующими Сторонами и соответствующими Правообладателями.
10.                   ПРОЧИЕ УСЛОВИЯ
10.1.   Настоящий Договор вступает в силу с момента его подписания Сторонами и действует до выполнения ими принятых на себя обязательств.
10.2.   Договор в письменной форме. Письменная форма считается выполненной при наличии подписей уполномоченных лиц и оттисков печатей Сторон.
10.3.   Настоящий Договор составлен в двух экземплярах, имеющих одинаковую юридическую силу и по одному для каждой Стороны.
10.4.   Настоящий Договор может быть изменен либо дополнен на основании письменного соглашения Сторон.
10.5.   Все Приложения, Дополнения и Соглашения к настоящему Договору являются неотъемлемой его частью и действительны при условии соблюдения письменной формы и подписей сторон.
11.                   ПРИЛОЖЕНИЯ
11.1.   Все перечисленные ниже Приложения к настоящему Договору являются его неотъемлемой частью и действительны при наличии подписей должностных лиц, наделенных правом подписи данных документов и оттисков печатей Сторон.
11.1.1.  Приложение № 1 - «Техническое задание»
11.1.2.  Приложение № 2 - «Календарный план»
12.                   ЮРИДИЧЕСКИЕ АДРЕСА И БАНКОВСКИЕ РЕКВИЗИТЫ СТОРОН
Заказчик:


Исполнитель:














«____» ___________ 20___ г.


«____»____________ 20___ г.
Приложение № 1

«ТЕХНИЧЕСКОЕ ЗАДАНИЕ»

Техническое задание включает в себя следующие пункты:
Приложение № 2

«КАЛЕНДАРНЫЙ ПЛАН »

№ этапа
Наименование этапа
Сроки выполнения работ
Стоимость Работ, руб.
















Итого за работы:



* Примечание: Формы представления результатов работ, требования к их составу, содержанию и оформлению устанавливаются Руководителями проекта (п. 4.1 Договора) в рабочем порядке.








 ОТ ЗАКАЗЧИКА
 «____» ___________ 2011 г.

ОТ ИСПОЛНИТЕЛЯ
«____»____________ 2011 г.





Мой сайт - www.msmirnov.ru

вторник, 26 июля 2011 г. - www.msmirnov.ru

Работа со старыми DTS-пакетами MS SQL Server 2000 в MS SQL Server 2008

Недавно мне пришлось столкнуться с необходимостью работы с набором DTS-пакетов, созданных много лет назад в MS SQL Server 2000 и импортированных в SQL Server 2008.

Отказаться от их использования было нельзя - приложение было написано очень давно и задачи перехода на SSIS не стояло.

SQL Server 2008 обеспечивает корректную работу старых DTS-пакетов, но вот Management Studio 2008 не открывает DTS-пакеты для просмотра и редактирования, выдавая следуюшую ошибку:

"SQL Server 2000 DTS Designer components are required to edit DTS packages. Install the special Web download, “SQL Server 2000 DTS Designer Components” to use this feature. "


Microsoft предлагает скачать и установить SQL Server 2000 DTS Designer Components - см. здесь - (для этого надо будет скопировать 6 файлов (SEMSFC.DLL, SQLGUI.DLL, SQLSVC.DLL, SEMSFC.RLL, SQLGUI.RLL, и SQLSVC.RLL) из установки SQL Server 2000 в каталог с SQL Server 2008).

Однако, это  не решит проблему для случая SQL Server 2008 - после копирования файлов Server 2000 DTS Designer будет запускаться из Management Studio 2008, но корректно работать все равно не будет. Этот способ работает только для случая SQL Server 2005.

В SQL Server 2008 будет выдаваться следующая ошибка:

"Error Source : Microsoft Data Transformation Services (DTS) Package
Error Description : The DTS host failed to load or save the package properly.
"


В Microsoft пока не создали решения этой проблемы для SQL Server 2008, но есть один обходной вариант - пусть не очень удобный, но в случае необходимости он работает.

Следует поставить старый добрый SQL Server 2000 - причем не только сам Enterprise manager, а и ядро сервера - без инстанса работать с DTS-пакетами не получиться.
Причем, ставить нужно SQL Server 2000 SP3 или SP4. С SP2 работать не будет.

После этого необходимо сохранить DTS-пакеты из Management Studio 2008 на диск и открыть файлы на редактирование в Enterprise manager. Сам инстанс SQL 2000 при этом не понадобиться - Enterprise manager будет просто работать с файлами. Затем файлы необходимо опять импортировать в SQL Server 2008.

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

Хорошей новостью является то, что DTS-пакетами можно при этом управлять без каких-либо ограничений, так параметры подключений, которые в них указаны, в этом случае подключаются, как правило не к текущему серверу, а к SQL Server 2008, что облегчает работу с ними.
Мой сайт - www.msmirnov.ru

среда, 20 июля 2011 г. - www.msmirnov.ru

Какие вопросы задавать заказчику на первой встрече?

Я руковожу в основном продуктовой разработкой.


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

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

 Итак, вопросы.

  1. Общие вопросы. 
    • Как называется проект?
    • Каковы цели реализации проекта?
    • Каковы предпосылки (в том числе экономические), приводящие к инициации проекта?
    • Как вы сможете понять, что проект успешен?
    • Кто, кому и как будет сдавать проект?
    • Каковы должны быть результаты проекта, по которым можно будет судить о степени его завершенности?
    • Какие ограничения проекта существуют (по времени, по бюджету, по техническому обеспечению, оборудованию, доступу к информации и пр.)?
    • Существуют ли какие-либо стандарты либо законодательные акты, которые необходимо соблюдать при работе над проектом?
    • В каком виде предполагается последующая поддержка проекта?
  2. Команда проекта. 
    • Кто будет осуществлять руководство проектом со стороны заказчика?
    • Обладает ли он достаточными полномочиями для этого?
    • Кто ответственен за принятие ключевых решений со стороны заказчика?
    • Кто обладает достаточными знаниями для формирования требований к проекту?
    • Кто еще будет входить в состав проектной группы со стороны заказчика?
  3. Влияние проекта.
    • Кто будет затронут результатами внедрения проекта?
    • Какие могут быть сложности или особые условия в процессе внедрения?
    • Предполагается ли какая-либо миграция или одновременная работы с некими старыми системами?
    • Предполагается ли обучение персонала как часть проекта?
    • Кто будет пользователями проекта?
    • При работе над проектом, либо при его внедрении - будут ли задействованы какие-либо сторонние организации либо ваши подразделения, не являющиеся непосредственными пользователями (например, поставщики либо получатели каких-либо данных)?
  4. Риски
    • Какова квалификация пользователей проекта?
    • Будет ли обеспечен доступ в рабочую среду для проведения тестирования и раннего внедрения результатов проекта?
    • Существуют ли сотрудники, на стороне заказчика, не заинтересованные в реализации проекта?
Мой сайт - www.msmirnov.ru

вторник, 19 июля 2011 г. - www.msmirnov.ru

Visual Paradigm for UML

На днях мне довелось поработать с Visual Paradigm for UML 8.0.

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

Но, как мне показалось, что инструмент слегка перегружен. Тот же Enterprise Architect от Sparx мне показался более стройным и логичным что-ли.

К сожалению, не удалось толком сделать reverse engeneering базы MS SQL - нужного драйвера для Java в поставке не оказалось, а качать и устанавливать не хотелось.

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

Для меня эталоном удобства по работе с UML остается Rational XDE - очень удобный продукт времен Visual Studio 2003, который, к сожалению, не выпускается уже наверное лет 8. Очень жаль что IBM прекратила его поддержку - очень мощный и удобный был инструмент.
Мой сайт - www.msmirnov.ru