BRZ Podcast Banner

Порядок (make things in order)


Еще с университетской скамьи мне говорили, что сначала в системе создаются сущности, а потом они связываются. Так получается система как нечто большее, чем просто совокупность сущностей. Когда дорабатывается ИС, или в её рамках создается что-то новое, то, как бы это банально не звучало, сначала спроектируйте все сущности, затем определите их связи, и лишь потом начинайте переносить это все в систему в таком же порядке. Это прописная и очевидная истина, о которой забывают некоторые аналитики, считая, что создать связи между сущностями — дело разработчиков.
Тем не менее, мне довелось видеть случай разработки сущностей и связей вперемежку. Началось все с того, что были созданы "болванки" для банковских продуктов (минимальный набор атрибутов), затем их начали вязать с имеющимися сущностями, потом поняли, что атрибутов у продукта не хватает, перекинулись на их добавление, потом на допиливание механизмов, потом снова принялись за продукты. И так продолжается уже второй год.
Отсюда правило: перво-наперво, спроектируйте все сущности, заложите в них поля для связи со смежными системами и имеющимися сущностями в системе, а только лишь потом начинайте их связывать. Пример (неудачный): создали продукты, начали писать взаимодействие с системой "Эмиссия" (по пластиковым картам), поняли, что не хватает комиссий как атрибута продукта, добавили их, переписали взаимодействие, поняли, что базы по клиентам не синхронизированы, сделали кнопку проверки по базам, переписали взаимодействие. И я абсолютно уверен, что на этом приключения не окончены.
Eng:
Since the university I was told that initially you should develop entities and next develop links between them. This making the system to appear as thing greater than number of entities. When developing information system, or something new within it, then at first design all entities and at second define links, then start coding it. This is most obvious, but some analysts forget it, believing it to be the developers part of work.
Example of bad practice: credit cards project in some local bank. In the beginning they developed product templates to operate with, then started to create links from them to existing entities. At some moment they realized that existing number of attributes within developed entities is not correct (incomplete), changed focus on that attributes, then started to modify links, then again continued to change products, etc. This lasts for 2 years already.
Conclusion is in the first sentence: initially you should develop entities and next develop links between them.

Комментариев нет:

Отправить комментарий