Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процесс и инструменты для разработки 
:(
    Опции темы
ДобренькийПапаша
Дата 1.1.2010, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



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

Начал читать книгу Нильссона "Применение DDD..." вот тут речь идёт о некоей сохраняемости, но толком непонятно, что это? Это принцип какой-то?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
ivashkanet
Дата 6.1.2010, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



А что приходит в голову? Именно это и означает: возможность сохранить объекты домена в некоем хранилище для дальнейшего использования.

Вот что говорит Вики:
Цитата

Persistence in computer science refers to the characteristic of data that outlives the execution of the program that created it. Without this capability, data would only exist in RAM, and would be lost when this RAM loses power, such as on computer shutdown.[citation needed]

This is achieved in practice by storing the data in non-volatile storage such as a hard drive or flash memory.

Image editing programs or word processors, for example, achieve data persistence by saving their documents to files to avoid data loss in the event of power failures.

PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 3.2.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Интеграционные тесты для Веб приложений (MVC).

Именно такими, ИМО, они и должны быть.
Сценарий:
Цитата

1. When a logged-out user visits /Home/SecretAction, they should be redirected to the login screen
2. If the user then enters a valid username and password, they should be redirected back to /Home/SecretAction
3. Since the user is now logged in, they should be shown some secret information

Тест:
Код

[Test]
public void LogInProcess()
{
    string securedActionUrl = "/home/SecretAction";
 
    appHost.SimulateBrowsingSession(browsingSession => {
        // First try to request a secured page without being logged in                
        RequestResult initialRequestResult = browsingSession.ProcessRequest(securedActionUrl);
        string loginRedirectUrl = initialRequestResult.Response.RedirectLocation;
        Assert.IsTrue(loginRedirectUrl.StartsWith("/Account/LogOn"), "Didn't redirect to logon page");
 
        // Now follow redirection to logon page
        string loginFormResponseText = browsingSession.ProcessRequest(loginRedirectUrl).ResponseText;
        string suppliedAntiForgeryToken = MvcUtils.ExtractAntiForgeryToken(loginFormResponseText);
 
        // Now post the login form, including the verification token
        RequestResult loginResult = browsingSession.ProcessRequest(loginRedirectUrl, HttpVerbs.Post, new NameValueCollection
        {
            { "username", "steve" },
            { "password", "secret" },
            { "__RequestVerificationToken", suppliedAntiForgeryToken }
        });
        string afterLoginRedirectUrl = loginResult.Response.RedirectLocation;
        Assert.AreEqual(securedActionUrl, afterLoginRedirectUrl, "Didn't redirect back to SecretAction");
 
        // Check that we can now follow the redirection back to the protected action, and are let in
        RequestResult afterLoginResult = browsingSession.ProcessRequest(securedActionUrl);
        Assert.AreEqual("Hello, you're logged in as steve", afterLoginResult.ResponseText);
    });
}


А всякие WatiN, Sellenium -- в топку.
PM MAIL WWW ICQ   Вверх
Unlocker
Дата 25.3.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Хочу немного освежить тему несколькими вопросами:
  •  Есть ли у кого опыт работы в территориально-распределённых проектах? Какими средствами пользуется такая команда(ы)?
  •  На протяжении всей темы шёл спор о тех или иных методологиях. Мне интересен вопрос постановки процесса разработки. Представьте, что у Вас есть небольшая команда (4-6) разработчиков NET (WinForms, WinServices). С чего бы Вы посоветовали начать повышение качества разрабатываемого ими ПО? Т.е. каковы приоритеты и последовательность внедрения тех или иных методологий и соответствующих инструментов?
Для чистоты эксперимента примем, что у команды нет ничего, кроме системы контроля версий нет.
Прошу высказать свои предложения...

Это сообщение отредактировал(а) Unlocker - 25.3.2010, 14:20
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
PashaPash
Дата 25.3.2010, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



ivashkanet, поздно заметил мессагу. Эти интеграционные тесты не тестят javascript, в котором больше всего проблем и вылазит. А тупо делать тест в виде серии веб-реквестов умеет сама студия, даже с записью. Но пользы в таком тестировании мало.

Unlocker, по процессу - все очень зависит от контекста. Если бы для любой небольшой команды подходил один и тот же процесс, его бы давно задокументировали, и назвали "Процесс 4-6". 
По инструментам - стандартый набор. любая система CI (ccnet/tfs/teamcity), любая гонялка тестов (*unit, mstest), что-то для code review...


--------------------
PM MAIL WWW   Вверх
Unlocker
Дата 26.3.2010, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Цитата(PashaPash @  25.3.2010,  21:25 Найти цитируемый пост)
по процессу - все очень зависит от контекста. Если бы для любой небольшой команды подходил один и тот же процесс, его бы давно задокументировали, и назвали "Процесс 4-6"


PashaPash, не открою ничего нового, если скажу, что у старины Брукса идея про отсутствие "серебряной пули" была высказана довольно давно и чётко.

Цитата(PashaPash @  25.3.2010,  21:25 Найти цитируемый пост)
По инструментам - стандартый набор. любая система CI (ccnet/tfs/teamcity), любая гонялка тестов (*unit, mstest), что-то для code review... 


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

PashaPash, внедрялись ли в вашей организации системы учёта дефектов (багтрекеры), создавались ли базы знаний на основе движков Wiki или других средств?

Обсуждение можно продолжать...

Это сообщение отредактировал(а) Unlocker - 26.3.2010, 10:38
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
PashaPash
Дата 26.3.2010, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Unlocker, у нас основная связка cruise control.net + msbuild/mstest + selenium/watin для ui тестов. Test Track Pro как багтрекер (исторически сложилось, QA не хотят с него переходить). На паре проектов - HP Quality Center, но IMHO он монструозен немного smile Ну и всякие wiki и crucible, по необходимости.

Из Continuous Integration утилит еще вроде TeamCity рассматривали. Можно поробовать еще TFS как полностью готовое решение (или полностью не готовоеsmile

Проще поднять конкретный набор на виртуалках и проверить. 

Даже ограничение "нет ничего, кроме системы контроля версий нет" - уже довольно сильное. Вдруг у вас там VSS. Или наоборот, Mercurial.


--------------------
PM MAIL WWW   Вверх
Unlocker
Дата 27.3.2010, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Цитата(PashaPash @  26.3.2010,  15:35 Найти цитируемый пост)
Даже ограничение "нет ничего, кроме системы контроля версий нет" - уже довольно сильное. Вдруг у вас там VSS. Или наоборот, Mercurial. 


PashaPash, насчет VSS ты попал в точку. Он был поднят еще до моего прихода в компанию и сейчас начальство приходит к мнению о необходимости его постепенной замены. Насчет новой системы контроля версий склоняемся в пользу Subversion (центральный репозиторий исходных кодов легче бэкапить), систему отслеживания дефектов Trac. А вот насчет остальной инфраструктуры пока думаем... Build-сервером пока думаем сделать ccnet.
TFS нам при поверхностном знакомстве не понравился своей громоздкой настройкой (надо настроить всё и сразу), чего естественно без дорогих специалистов сделать не получится.
Систему тестирования пока тоже обсуждаем: nunit (этот вариант пока рассматривается основным), mbunit, mstest (с твоей подачи). Это надо отдельно решать, но не к спеху, т.к. это будет после системы учета дефектов.
Build-машина пока тоже не определена: первоначально хотели nAnt, но этот проект уже несколько лет как никто не поддерживает. Тут тоже предстоит собрать инфо и обсудить.
Ну а прочие прелести типа систем инспекции кода, база знаний MediaWiki будут подниматься по мере получения положительных результатов с предыдущих этапов.

Это сообщение отредактировал(а) Unlocker - 27.3.2010, 11:31
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
PashaPash
Дата 27.3.2010, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Unlocker, если у вас распределенная команда - берите mercurial. вместо nant - обычный msbuild.

TFS все-таки попробуйте. Там не все так сложно в настройке, и может оказаться проще чем настройка 5 отдельных утилит. По установке есть подробная, до клика, инструкция.


--------------------
PM MAIL WWW   Вверх
Unlocker
Дата 27.3.2010, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Цитата(PashaPash @  27.3.2010,  13:44 Найти цитируемый пост)
TFS все-таки попробуйте. Там не все так сложно в настройке, и может оказаться проще чем настройка 5 отдельных утилит. По установке есть подробная, до клика, инструкция. 

Видать, эта инструкция мне как-то попадалась к прочтению (500 с лишним страниц не произвели на меня впечатление "быстро и понятно"). Еще в TFS мне не нравится опора на SharePoint (у нас он использовался для внутрикорпоративных нужд). На мой взгляд, Wiki в том или ином виде значительно удобнее для простого сбора, поддержки и обновления информации по проектам (ну, вероятно, у меня такое мнение окончательно сложилось после оформления дипломной работы в TeXe, где в проекте много отдельных документов, связанных определенными ссылками) ;)

Кстати, одна из проблем в нашей инфраструктуре -- это хранение важных данных в системе инженерного документооборота в формате doc/excel. При большом количестве документов, разложенных в разных папках, найти нужную тебе информацию практически нереально. Исходя из информации, полученной от начальства, филиал первоначально будет пользоваться инфраструктурой центрального офиса, т.к. ответственный персонал будет именно в центре.

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

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

PashaPash, спасибо за беседу. Любые интересные мысли с удовольствием выслушаю ;)

Это сообщение отредактировал(а) Unlocker - 27.3.2010, 15:27
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
Unlocker
Дата 27.3.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Немного прочитал про сравнение между собой различных продуктов СУВ (CustIS). Убедился, что всё-таки в условиях компании и довольно больших продуктов выгоднее использовать Subversion: у распределенной системы повышенный расход дискового пространства на рабочих станциях и сложности слияния при достаточно большом количестве работников. SVN хорошо себя зарекомендовал на ресурсах "Sourceforge" и "Google Code", поэтому начнём с него.
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
Unlocker
Дата 30.3.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Такой вопрос по инфраструктуре разработки: 
использовалась ли кем-нибудь для управления проектами разработкой связка Trac+Subversion под .NET? 
Если да, то какие плагины Trac'a вы считаете необходимыми при первоначальном развертывании?
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
Unlocker
Дата 5.4.2010, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 2.11.2007
Где: Москва - Знаменск (Капустин Яр)

Репутация: нет
Всего: 2



Процесс обсуждения параллельно идет на другой площадке по адресу -- Agile Software Development.
Вопросы организации инфраструктуры для .NET-разработки в теме Инфраструктура NET-разработки.
Желающие могут присоединяться к обсуждению... 
--------------------
"Если бы Шекспир был программистом, то фразу "To be or not to be" он написал бы так: 2b | ! 2b."
PM MAIL ICQ Skype GTalk Jabber   Вверх
ДобренькийПапаша
Дата 5.4.2010, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



PashaPash, а если в одно лицо, сам разрабатываешь продукт, что бы Вы применяли в смысле инструментов?

Это сообщение отредактировал(а) ДобренькийПапаша - 5.4.2010, 18:11


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
PashaPash
Дата 5.4.2010, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



ДобренькийПапаша, очевидно, те же самые инструменты smile


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1989 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.