Professional Documents
Culture Documents
Workshop On Trends in Object Oriented Analysis & Design (OOAD)
Workshop On Trends in Object Oriented Analysis & Design (OOAD)
For
MS (Software Engg) Students, VIT
by
ChandraMouli K S
18th Mar 2017
Trends
A trend is driven by a basic human need, one
that is catalysed by new technology.
A trend is timely, but it persists.
A trend evolves as it emerges.
A trend can materialize as a series of
unconnectable dots which begin out on the
fringe and move to the mainstream.
BOTs
The bots are taking over!
Bot is an application that performs
an automated task
Developers no longer need to
create from scratch, but plug into
an existing API
Apple Siri, Microsoft Cortana, AOL
Instant Messenger's SmartChild, Hi
Poncho Facebook weather chatbot
Interoperability between BOTS
IoT and Big Data
Internet of Things and Big
Data are big names
More and more devices are
getting connected through
the Internet
Bulk of data, extracting the
best of information - at the
right time in the right place
- Police, Army, Business,
Research, Education,
Internet of Everything
The IoT Accelerating into reality
Cloud Computing
Cloud is inseparable from
Computing
With Big Data and IoT, Cloud
computing is an integral
element
Amazon, Openstack, Microsoft
big names using it
Nearly a third of all enterprise
resource planning (ERP)
systems in the world will
attempt the migration to the
cloud in the next two years
years
Mobile Apps - Integrated and Specialized
- Design Defining Software Solution / Objects that represent the Analysis concepts
- Design Defining Software Solution / Objects that represent the Analysis concepts
Attributes
Methods
An instance of a Class will have the attributes bound with data (eg: Red Car)
Object Oriented Methodology
OO Methodology includes:
Notation
Process
Tools
. Decomposition Techniques
Class Diagram
Sequence Diagram
State Diagram
Packages enable
Modelers to Organize
Classes like Folders in
a File System
Deployment Diagram
The Deployment
Diagram helps to
model the physical
aspect of a system.
OOAD - Synopsis
OOAD SynopsisContd.
Recent Trends.
Java Script ES6 version new sites use this (enhancement to Arrows,
Classes, template strings..)
BaaS (Backend as a Service) Increased usage
Docker / Packer Services (Images / Binaries store)
Increased reliance on Server side languages (Scala, Clojure, Haskell)
Used in apps for Tablets, SmartPhones, IoT gadgets etc
Run in parallel (Stateless Mode)
Increasing usage of Material Design Elements
A visual language giving a unified experience across platforms / devices
Java 9, expected to be released in July 2017
GO (Googles)
Top Programming Languages
Java
C#
Python
PHP
Java Script
GO
PERL
RUBY
Node.js, AngularJs, React
Kotlin (for Android)
SWIFT
OOAD Challenges & Constraints
Functional Model is designed as Object Oriented
Data is stored & retrieved from a Relational DB
Every fetch reconstructs the data into an Object Model
Research is ongoing for an Object DB
Extension of OOAD for recent domain Mobile based Apps, Big Data,
IoT, BOTs
OO DB
Research Projects: ORION, IRIS, Galielo, PROBE etc..
O2: O2 Technology. Language O2C Supports an extended SQL language O2SQL which can refer to complex
objects.
GemStone: Earliest OODB supporting object identity, inheritance, encapsulation. Language OPAL is based
upon Smalltalk.
Ontos: C++ based system, supports encapsulation, inheritance, ability to construct complex objects.
Statics: Supports entity types, set valued attributes, and inheritance of entity types and methods.