it kitchen (artem levchenko)
DESCRIPTION
TRANSCRIPT
www.vrpinc.com
Learning how to cook in the IT-kitchen.Recipes from everyday practice
www.vrpinc.com
Introduction:1) Холодные закуски. UML
2) Правильно готовим горячее блюдо из Tooling API.
3) Десерт из Salesforce Tips and tricks и Sublime Text Plugins.
Аппетит приходит во время еды. ФРАНСУА РАБЛЕ
www.vrpinc.com
UML – холодная закуска ?
• The Unified Modeling Language (UML) is a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system ……………
www.vrpinc.com
UML. Что такое UML?
• UML ‒ это язык (язык графический, а не текстовый)
• UML ‒ это язык моделирования• UML ‒ это унифицированный (не
универсальный) язык моделирования
www.vrpinc.com
UML. Элементы.
• Спецификация• Визуализация• Проектирование• Документирование
www.vrpinc.com
UML. Преимущества. Способы использования.
• Один язык – понятный всем.• Графическое упорядочивание мыслей• Обмен информацией• Спецификация системы• Повторное использование архитектурных
решений• Генерация кода• Имитационное моделирование
www.vrpinc.com
Object
ClassInterface
Collaboration
Actor
ComponentArtifact
Node
UML. Сущности
СТРУКТУРНЫЕ СУЩНОСТИ
www.vrpinc.com
State
ActionActivity
UML. Сущности
ПОВЕДЕНЧЕСКИЕ СУЩНОСТИ
Use case
www.vrpinc.com
Comment
Package (group)
UML. Сущности
ГРУПИРУЮЩАЯ И АННОТАЦИОННАЯ
СУЩНОСТИ
www.vrpinc.com
UML. Отношения.
www.vrpinc.com
UML. Классификация диаграмм
•Диаграмма использования (Use Case diagram)•Диаграмма классов (Class diagram)•Диаграмма объектов (Object diagram)•Диаграмма состояний (State chart diagram)•Диаграмма деятельности (Activity diagram)•Диаграмма последовательности (Sequence diagram)•Диаграмма кооперации (Collaboration diagram)•Диаграмма компонентов (Component diagram)•Диаграмма развертывания (Deployment diagram)
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни
www.vrpinc.com
UML. Практика. Примеры из жизни class Class Model
BaseMB
AbstractAddressMB
- client: Client# editForAllLiveAddress: Boolean = false# editForAllRegAddress: Boolean = false# initFlag: boolean = false# isError: boolean = false- liveAddress: Address# liveAddressHelper: AddressHelper# LOGGER: Logger = Logger.getLogge... {readOnly}- regAddress: Address# regAddressHelper: AddressHelper
+ checkAddress(String, Address) : boolean+ checkErrorToAddresses(Address, Address) : boolean+ getEditForAllLiveAddress() : Boolean+ getEditForAllRegAddress() : Boolean+ getEntity() : Client+ getLiveAddress() : Address+ getLiveAddressByClient(Client) : Address+ getLiveAddressHelper() : AddressHelper+ getRegAddress() : Address+ getRegAddressByClient(Client) : Address+ getRegAddressHelper() : AddressHelper+ initEntity() : void+ initLiveAddress() : void+ initRegAddress() : void+ isError() : boolean+ preSubmitAddressesProcessing(Client) : Client+ redirectToBank() : String+ redirectToFirm() : String+ redirectToSoleTrader() : String+ redirectToSubject() : String+ setEditForAllLiveAddress(Boolean) : void+ setEditForAllRegAddress(Boolean) : void+ setError(boolean) : void+ setLiveAddressHelper(AddressHelper) : void+ setRegAddressHelper(AddressHelper) : void+ updateSubmitNoADF(ActionEvent) : void
FirmAddressMB
+ checkErrorToAddresses(Address, Address) : boolean+ getLiveAddressByClient(Client) : Address+ getRegAddressByClient(Client) : Address+ preSubmitAddressesProcessing(Client) : Client
SubjectAddressMB
+ checkErrorToAddresses(Address, Address) : boolean+ getLiveAddressByClient(Client) : Address+ getRegAddressByClient(Client) : Address+ preSubmitAddressesProcessing(Client) : Client
Client
id_client
is_residentis_clientunppersonalNumberouterSystemId
Account
id_accountid_client (FK)
id_currency (FK)
SystemInformation
id_systemInfo
openDatecloseDateactualDate
BankRelationItem
id_client (FK)
account_typemonthTurnCapitmonthTurnFundmonthTurnFactCapitmonthTurnFactFundopenDatecloseDatecontractDatecontractName
Firm
id_firm
firstNameserviceInfowwwworker_numberid_address (FK)dateOpen
Subject
id_subject
birthDaybloodGroupfirstNamelastNamesecondNamesexinnid_place (FK)id_docInfo (FK)id_address (FK)id_visa (FK)
Place
id_place
regionsettlementsettlementType
Death
id_death
typeDeathdate
DocInfo
id_docInfo
docNumberseriesexpireDateissueDate
Address
id_address
housestreetbuildingfullAddresofficepost_index
VisaItem
id_visa
numbertype
WorkRelation
id_subject (FK)id_workRelation
workPositionexpirencecontractExpireDatelineDescription
Sharer
id_firm (FK)
namefundPartbenefFundPart
Bank
id_bank
firstNameswiftbikforeNamedateLicenselicenseNumberis_unpEmptyid_direction (FK) Direction
id_direction
directionNameAuthority
id_bank (FK)id_authority
nameisDocumentisLicenseisRegistration
ClientRisk
id_systemInfo (FK)
dateriskLevelreasonis_manual
ClientCategory
id_systemInfo (FK)
reasondatecategoryis_manual
deployment Deployment Model
Server
База Данных Oracle
Адаптер 1
ИКД
БД ИКД
Адаптер 2
Client
browser
БД SC-BANK NT
TCP/IP
TCP/IP
www.vrpinc.com
UML. Salesforce Apex UML
www.vrpinc.com
Tooling API. What is it? Best Practice
www.vrpinc.com
Salesforce: Tips and Tricks.
Практические вопросы (демонстрация):1) Before insert2) isPersonAccount3) For loops soql 4) Datetime
www.vrpinc.com
Salesforce: Sublime Text Plugin.
Демонстрация простого плагина.
www.vrpinc.com
Thank you for your attention