Упрощение архитектуры, когда это разумно?
От: klizardin  
Дата: 01.06.09 21:57
Оценка:
Бекграунд: Заказчик очень часто задает КАК сделать, что-то вместо, того чтобы формулировать ЧТО нужно сделать. В общем, это даже и не заказчик, а постановщик со стороны заказчика.

Проблема следующая. Создается, уже есть банковская система. Как обычно физические лица идентифицируются с помощью типа документа, номера документа (номер паспорта) и личного номера. Есть следующие типы документов: 1. "Паспорт гражданина РБ от 1996 года", 2. "Паспорт иностранного гражданина". Сейчас нужно работать с клиентами с типом документа "Вид на жительство" (3).

Постановщик выступает за то, чтобы совместить тип 1 и 3, и получить что-то вроде "Паспорт гражданина РБ от 1996 года или вид на жительство". Во "внутренностях" программы тип "паспорт гражданина РБ от 1996 года" так и остается типом документа "Паспорт гражданина РБ от 1996 года". С его точки зрения "совмещение" типов документов вполне правильный подход, т.к. позволяет ускорить разработку. Буквально произноситься следующее: пусть при вводе показывается сообщение, что это вид на жительство, ну а данные просто вводятся, т.е. типа документа пусть будет "Паспорт гражданина РБ от 1996 года", ну а личный номер и номер документа уже будет соответствовать виду на жительство. Постановщик убежден, что т.к. сейчас тип документа не используется, то "ничего страшного произойти не может".

Я аргументирую:
1. тип документа будет не верен, если реализовать такой ввод.
2. более чем вероятны ошибки в других системах и при взаимодействии с другими системами, т.к. как бы информация о типе документа есть, но она просто не верна, может интерпретироваться другими разработчиками не верно.
3. то, что сейчас тип документа не используется только говорит о том, что т.к. семантика не отражена в синтаксисе, то именно тип документа и работа с этими данными будет проблемными моментами в будущем коде.
4. сущность тип документа становиться через чур сложной, т.к. значения типа не определяют точно тип документа, а могут определять сразу два типа документа.
5. такая "экономия" на разработке может вылиться в то, что возможно могут возникать и проблемы с безопасностью банка, не уверен, но эти затраты могут на порядки перекрыть экономию при разработке.

Можете ли вы рассудить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.