SlideShare a Scribd company logo
Software architecture analysis
Maksym Shabatura
Team communication
• RoadMap with T-shirt sizes;
• Project expectations;
• Internal/External sessions;
• Code reviews;
• NO superheroes;
• NO minor players;
• Architecture – many suggestions, only one solution should GO (!).
2
Project model
• Project models, e.g. for Maven projects – pom.xml:
3
UML diagrams
• PRO webServicesImpl with UML diagrams
4
CodeCity, going through the Jungle
• e.g. the PRO webServicesImpl “city”:
1. God classes – higher complexity and
logic encapsulated between a huge amount
of methods – nightmare to maintain.
2. Brain classes – high complexity and
encapsulation could be even with one
method usage.
More details - A. Riel. Object-Oriented Design
Heuristics. Addison-Wesley, 1996.
5
Profilers to use
• Java: VisualVM, JConsole;
• PHP: Clockwork, Anbu;
• SQL: Neor SQL (MySQL), pgtop (PostgreSQL), ExpressProfiler (MSSQL);
• JavaScript: Firebug, Web developer tools;
6
Validators to use
• HTML - http://validator.w3.org/
• CSS - http://jigsaw.w3.org/css-validator/
• XML - http://xmlvalidation.com/
7
Static code analyzer
• Multilanguage - SonarQube
http://umbra.romexsoft.com:9000/dashboard/index/4181
8
Courses and readings
• Online courses, e. g. Coursera – https://class.coursera.org/posa-
002/lecture/preview
• Webinars, e. g. MIT -
https://sdm.mit.edu/news/news_articles/webinar_021411/webinar-
systems-thinking-software-architecture.html
• Grady Booch / Handbook of Software Architecture
• Len Bass, Paul Clements, Rick Kazman / Software architecture in practice
9
Swan, Pike and Crawfish
“The Art of Time management”
10
Thank you !
11

More Related Content

Similar to Architecture analysis by Maxym Shabatura

Road map
Road mapRoad map
Road map
Amin Shahnazari
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
IT Arena
 
OpenMockup - Presentation apr/2016
OpenMockup - Presentation apr/2016OpenMockup - Presentation apr/2016
OpenMockup - Presentation apr/2016
Xavi Montero
 
Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community Engine
Community Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
mathraq
 
Rocket Circus on Code Review
Rocket Circus on Code ReviewRocket Circus on Code Review
Rocket Circus on Code Reviewrocketcircus
 
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Conference
 
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
Shift Conference
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
Jeff Fox
 
Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
Camuel Gilyadov
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
Hussein Alshkhir
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
Harvard Web Working Group
 
Resume
ResumeResume
ResumeMina k
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
Phase2
 
Training and deploying ML models with Google Cloud Platform
Training and deploying ML models with Google Cloud PlatformTraining and deploying ML models with Google Cloud Platform
Training and deploying ML models with Google Cloud Platform
Sotrender
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Sotrender
 

Similar to Architecture analysis by Maxym Shabatura (20)

Road map
Road mapRoad map
Road map
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
OpenMockup - Presentation apr/2016
OpenMockup - Presentation apr/2016OpenMockup - Presentation apr/2016
OpenMockup - Presentation apr/2016
 
Venkata
VenkataVenkata
Venkata
 
Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
 
Rocket Circus on Code Review
Rocket Circus on Code ReviewRocket Circus on Code Review
Rocket Circus on Code Review
 
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
 
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 
Resume
ResumeResume
Resume
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 Hour
 
Training and deploying ML models with Google Cloud Platform
Training and deploying ML models with Google Cloud PlatformTraining and deploying ML models with Google Cloud Platform
Training and deploying ML models with Google Cloud Platform
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
 

More from Romexsoft

How Data Science can increase Ecommerce profits
How Data Science can increase Ecommerce profitsHow Data Science can increase Ecommerce profits
How Data Science can increase Ecommerce profits
Romexsoft
 
Romexsoft' projects
Romexsoft' projectsRomexsoft' projects
Romexsoft' projects
Romexsoft
 
Romexsoft presentation
Romexsoft presentationRomexsoft presentation
Romexsoft presentation
Romexsoft
 
Collaboration vs meetings in Scrum
Collaboration vs meetings in ScrumCollaboration vs meetings in Scrum
Collaboration vs meetings in Scrum
Romexsoft
 
Smarketing?! What the hack..
Smarketing?! What the hack..Smarketing?! What the hack..
Smarketing?! What the hack..
Romexsoft
 
Devops services
Devops servicesDevops services
Devops services
Romexsoft
 
The flow
The flowThe flow
The flow
Romexsoft
 
Automation testing
Automation testingAutomation testing
Automation testing
Romexsoft
 
Solid
SolidSolid
Solid
Romexsoft
 
What influences employees' motivation
What influences employees' motivationWhat influences employees' motivation
What influences employees' motivation
Romexsoft
 
Burnout. Causes and teatment
Burnout. Causes and teatmentBurnout. Causes and teatment
Burnout. Causes and teatment
Romexsoft
 
Business communication by Yevgen Kryvun
Business communication by Yevgen KryvunBusiness communication by Yevgen Kryvun
Business communication by Yevgen Kryvun
Romexsoft
 
Bluetooth by Ostap Demkovych
Bluetooth by Ostap DemkovychBluetooth by Ostap Demkovych
Bluetooth by Ostap Demkovych
Romexsoft
 
Continuous integration by Halyna Levko
Continuous integration by Halyna LevkoContinuous integration by Halyna Levko
Continuous integration by Halyna Levko
Romexsoft
 
MySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
MySQL tips&tricks and using JetProfiler tool by Ivan ShulyakMySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
MySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
Romexsoft
 

More from Romexsoft (15)

How Data Science can increase Ecommerce profits
How Data Science can increase Ecommerce profitsHow Data Science can increase Ecommerce profits
How Data Science can increase Ecommerce profits
 
Romexsoft' projects
Romexsoft' projectsRomexsoft' projects
Romexsoft' projects
 
Romexsoft presentation
Romexsoft presentationRomexsoft presentation
Romexsoft presentation
 
Collaboration vs meetings in Scrum
Collaboration vs meetings in ScrumCollaboration vs meetings in Scrum
Collaboration vs meetings in Scrum
 
Smarketing?! What the hack..
Smarketing?! What the hack..Smarketing?! What the hack..
Smarketing?! What the hack..
 
Devops services
Devops servicesDevops services
Devops services
 
The flow
The flowThe flow
The flow
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Solid
SolidSolid
Solid
 
What influences employees' motivation
What influences employees' motivationWhat influences employees' motivation
What influences employees' motivation
 
Burnout. Causes and teatment
Burnout. Causes and teatmentBurnout. Causes and teatment
Burnout. Causes and teatment
 
Business communication by Yevgen Kryvun
Business communication by Yevgen KryvunBusiness communication by Yevgen Kryvun
Business communication by Yevgen Kryvun
 
Bluetooth by Ostap Demkovych
Bluetooth by Ostap DemkovychBluetooth by Ostap Demkovych
Bluetooth by Ostap Demkovych
 
Continuous integration by Halyna Levko
Continuous integration by Halyna LevkoContinuous integration by Halyna Levko
Continuous integration by Halyna Levko
 
MySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
MySQL tips&tricks and using JetProfiler tool by Ivan ShulyakMySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
MySQL tips&tricks and using JetProfiler tool by Ivan Shulyak
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Architecture analysis by Maxym Shabatura

  • 2. Team communication • RoadMap with T-shirt sizes; • Project expectations; • Internal/External sessions; • Code reviews; • NO superheroes; • NO minor players; • Architecture – many suggestions, only one solution should GO (!). 2
  • 3. Project model • Project models, e.g. for Maven projects – pom.xml: 3
  • 4. UML diagrams • PRO webServicesImpl with UML diagrams 4
  • 5. CodeCity, going through the Jungle • e.g. the PRO webServicesImpl “city”: 1. God classes – higher complexity and logic encapsulated between a huge amount of methods – nightmare to maintain. 2. Brain classes – high complexity and encapsulation could be even with one method usage. More details - A. Riel. Object-Oriented Design Heuristics. Addison-Wesley, 1996. 5
  • 6. Profilers to use • Java: VisualVM, JConsole; • PHP: Clockwork, Anbu; • SQL: Neor SQL (MySQL), pgtop (PostgreSQL), ExpressProfiler (MSSQL); • JavaScript: Firebug, Web developer tools; 6
  • 7. Validators to use • HTML - http://validator.w3.org/ • CSS - http://jigsaw.w3.org/css-validator/ • XML - http://xmlvalidation.com/ 7
  • 8. Static code analyzer • Multilanguage - SonarQube http://umbra.romexsoft.com:9000/dashboard/index/4181 8
  • 9. Courses and readings • Online courses, e. g. Coursera – https://class.coursera.org/posa- 002/lecture/preview • Webinars, e. g. MIT - https://sdm.mit.edu/news/news_articles/webinar_021411/webinar- systems-thinking-software-architecture.html • Grady Booch / Handbook of Software Architecture • Len Bass, Paul Clements, Rick Kazman / Software architecture in practice 9
  • 10. Swan, Pike and Crawfish “The Art of Time management” 10