23
Enterprise software development ANTON HRYTSENKO

Enterprise software development

Embed Size (px)

Citation preview

Enterprise software developmentANTON HRYTSENKO

Development

Paradigms and

languages

Practices and tools

Architectures and

frameworksProcesses

©2016 ANTON HRYTSENKO 2

Paradigms and languagesPROGRAMMING PARADIGM IS A STYLE OF PROGRAMMING THAT IS DEFINED BY A SET OF CONCEPTS AND TECHNIQUES.

©2016 ANTON HRYTSENKO 3

Paradigms

Object-oriented programming

Functional programming

©2016 ANTON HRYTSENKO 4

Paradigms

Classes

• Hierarchy

• Composition

Functions

• First-class

• Higher-order

• Pure

• Anonymous

©2016 ANTON HRYTSENKO 5

ParadigmsCLASSES

Collection

List

ArrayList

Set

HashSet

FUNCTIONS

Map Filter Fold

©2016 ANTON HRYTSENKO 6

Paradigms

Generic programming

Aspect-oriented

programming

Event-driven programming

©2016 ANTON HRYTSENKO 7

LanguagesParadigm Java JavaScript

Object-oriented programming Java TypeScript

Functional programming Scala ECMAScript

©2016 ANTON HRYTSENKO 8

Features

Multi-paradigm

Modularity

Type checking

©2016 ANTON HRYTSENKO 9

Practices and toolsENGINEERING PRACTICE REPRESENTS A WIDELY USED TECHNIQUE THAT ALLOWS TO OBTAIN BETTER RESULTS IN COMPARISON WITH OTHER MEANS.

©2016 ANTON HRYTSENKO 10

Practices

Version control

Build automation

Unit testing

Static analysis

Continuous integration

©2016 ANTON HRYTSENKO 11

ToolsPractice Java JavaScript

Version control Git

Build automation Maven Gulp, npm

Unit testing JUnit, Mockito Karma, Jasmine

Static analysis FindBugs JSLint

Continuous integration Jenkins

©2016 ANTON HRYTSENKO 12

Environments

Local

Development Test

Stage Production

©2016 ANTON HRYTSENKO 13

Architectures and frameworksARCHITECTURE IS THE FUNDAMENTAL ORGANIZATION OF A SYSTEM EMBODIED IN ITS COMPONENTS, THEIR RELATIONSHIPS TO EACH OTHER, AND TO THE ENVIRONMENT, AND THE PRINCIPLES GUIDING ITS DESIGN AND EVOLUTION.

©2016 ANTON HRYTSENKO 14

Architectures

Component-based

Components

Multi-layered

Layers

Resource-oriented

©2016 ANTON HRYTSENKO 15

ArchitecturesService-oriented

architecture

Event-driven architecture

Microservice architecture

©2016 ANTON HRYTSENKO 16

Frameworks

Software framework

• Jersey

Platform

• Java EE

©2016 ANTON HRYTSENKO 17

Frameworks

Software framework

• Bootstrap

Application framework

• AngularJS

©2016 ANTON HRYTSENKO 18

ProcessesBUSINESS PROCESS IS A COLLECTION OF RELATED ACTIVITIES PERFORMED TOGETHER TO PRODUCE A SPECIFIC PRODUCT FOR A PARTICULAR CUSTOMER.

©2016 ANTON HRYTSENKO 19

Methodologies

Agile software development

Scrum

Kanban

Scrumban

©2016 ANTON HRYTSENKO 20

Activities

Development

Quality assurance

Project management

User interface

design

Configuration management

©2016 ANTON HRYTSENKO 21

Skills

Communication

LanguageSocial

©2016 ANTON HRYTSENKO 22

Questions

©2016 ANTON HRYTSENKO 23

Paradigms and languages

Practices and tools

Architectures and frameworks

Processes