architecture analysis by maxym shabatura

11
Software architecture analysis Maksym Shabatura

Upload: romexsoft

Post on 05-Aug-2015

56 views

Category:

Technology


0 download

TRANSCRIPT

Software architecture analysis

Maksym 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 (!).

3

Project model

• Project models, e.g. for Maven projects – pom.xml:

4

UML diagrams• PRO webServicesImpl with UML diagrams

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.

6

Profilers to use

• Java: VisualVM, JConsole;

• PHP: Clockwork, Anbu;

• SQL: Neor SQL (MySQL), pgtop (PostgreSQL), ExpressProfiler (MSSQL);

• JavaScript: Firebug, Web developer tools;

7

Validators to use

• HTML - http://validator.w3.org/

• CSS - http://jigsaw.w3.org/css-validator/

• XML - http://xmlvalidation.com/

8

Static code analyzer

• Multilanguage - SonarQube http://umbra.romexsoft.com:9000/dashboard/index/4181

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

10

Swan, Pike and Crawfish“The Art of Time management”

11

Thank you !