+ All Categories
Home > Technology > Agile needs resurgence of visual modeling

Agile needs resurgence of visual modeling

Date post: 01-Nov-2014
Category:
Upload: russell-pannone
View: 1,552 times
Download: 1 times
Share this document with a friend
Description:
Being agile needs resurgence of visual modeling
Popular Tags:
40
Introduction to Agile Visual Modeling Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Transcript
Page 1: Agile needs resurgence of visual modeling

Introduction to Agile Visual Modeling Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 2: Agile needs resurgence of visual modeling

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 3: Agile needs resurgence of visual modeling

“I have a five volume set of the Decline and Fall of the Roman

Empire, sitting on my bookshelf at home in proper order. Each

volume is 4 cm. thick and each cover is .1 cm. thick. The covers

and book pages are made of paper. If a bookworm eats through

from the 1st page of volume 1 to the last page of volume 5, how

many centimeters of paper will the bookworm eat through?”

Please feel free to ask questions to help clarify your understanding

3 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Words are not enough to derive the solution

Page 4: Agile needs resurgence of visual modeling

4

The task of the software development team is to engineer the illusion of simplicity

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 5: Agile needs resurgence of visual modeling

5 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Copyright © 2010 Jurgen Appelo

Engineering the illusion of simplicity is difficult because…

Page 6: Agile needs resurgence of visual modeling

6 6 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Because there are so many elements to it

Page 7: Agile needs resurgence of visual modeling

Enterprise

Team

Individual

7

Chen

Martin/IE

Merise

UML

Gane-Sarson

IDEFx

MSD

Visio

Rational

Software

Modeler

Rational

Data

Modeler

MSD

Visual

Studio Smart

Draw

OMT

OOSE

OOAD

Data

Modeling

Process

Modeling

Information

Engineering

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

because…

Page 8: Agile needs resurgence of visual modeling

Requirements Analysis & Design Coding Testing Deployment Issue management Workflow (Task

management) Project management Change management Configuration

management Build management Release management Monitoring and reporting

Categories of ALM & different points of view

8 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

because…

Page 9: Agile needs resurgence of visual modeling

9

Model driven system-software development and delivery

to the rescue

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 10: Agile needs resurgence of visual modeling

10 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 11: Agile needs resurgence of visual modeling

Ability to maintain premium payments

Business Requirement

Process Premium Payment

Business Process

Schedule Payment Process Step / Activity

The Payment Schedule Date must be on or before the Payment Due Date.

A payment may not be scheduled if the Payment Status is ‘overdue’.

Business Rules Premium Payment Amount

Premium Payment Schedule Date

Premium Payment Frequency

Business Data Elements

Customer Business Roles

Level 2 Bus. Capability

Manage Account & Policy Billing

Ability to support 500,000 payment customers

Constraints

Level 1 Bus. Capability

Account & Policy Management

As a Customer I want the ability to schedule a future-dated premium payment so that I can manage my cash flow and budget

User Story

11 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 12: Agile needs resurgence of visual modeling

12

Business modeling is a disciplined approach to creating and maintaining a set of business-

owned information assets that serve as a blueprint for the planning and execution of strategy

Business modeling provides a common, enterprise-level business language and framework for

documenting how the business is structured

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Elements of business modeling

Page 13: Agile needs resurgence of visual modeling

13 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Process premium payment

Page 14: Agile needs resurgence of visual modeling

14 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 15: Agile needs resurgence of visual modeling

Project Resource Management

15

Elements of application architecture

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 16: Agile needs resurgence of visual modeling

System Use Case Modeling

16 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 17: Agile needs resurgence of visual modeling

17 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 18: Agile needs resurgence of visual modeling

18 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 19: Agile needs resurgence of visual modeling

19 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 20: Agile needs resurgence of visual modeling

20 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 21: Agile needs resurgence of visual modeling

21 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 22: Agile needs resurgence of visual modeling

22 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 23: Agile needs resurgence of visual modeling

Notation and Process

23 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 24: Agile needs resurgence of visual modeling

Object Modeling Technique

OMT

Object Oriented Software Engineering

OOSE Object Oriented

Analysis and Design OOAD

24 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 25: Agile needs resurgence of visual modeling

25 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 26: Agile needs resurgence of visual modeling

26

Business Modeling

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 27: Agile needs resurgence of visual modeling

27

Class/Object Modeling

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 28: Agile needs resurgence of visual modeling

28 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 29: Agile needs resurgence of visual modeling

29 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 30: Agile needs resurgence of visual modeling

// class Person // with two private fields name and age // two public methods to retrieve fields (called "getters") // and public non-default constructor class Person { public: Person(string name, int age) { this->name = name; this->age = age; } string getName() { return name; } int getAge() { return age; } private: string name; int age; };

Example output

int main() { cout << "Creating a person..." << endl; Person johnDoe("John Doe", 25); cout << "Person's name: " << johnDoe.getName() << endl; cout << "Person's age: " << johnDoe.getAge() << endl; return 0;

30 visibility

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 31: Agile needs resurgence of visual modeling

Types of data models

Conceptual Data Model Physical Data Model Logical Data Model

31 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 32: Agile needs resurgence of visual modeling

A conceptual data model identifies the

highest-level relationships between the

different entities. Features of conceptual

data model include:

• includes the important entities and the

relationships among them

• no attribute is specified

• no primary key is specified

32 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 33: Agile needs resurgence of visual modeling

A logical data model describes the data in as much

detail as possible, without regard to how they will be

physically implemented in the database.

Features of a logical data model include:

• all entities and relationships between them including

cardinality

• all attributes for each entity are specified

• the primary key for each entity is specified

• foreign keys (keys identifying the relationship between different

entities) are specified

• normalization occurs at this level (there are actually 5 levels)

33 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 34: Agile needs resurgence of visual modeling

A physical data model represents how the

model will be built in the database. Features

of a physical data model include:

• specification all tables and columns

• foreign keys are used to identify

relationships between tables

• denormalization may occur based on

user requirements

• physical considerations may cause the physical data model to be

quite different from the logical data model

• physical data model will be different for different RDBMS; for

example, data type for a column may be different between

MySQL and SQL Server

The steps for physical data model design are as follows:

convert entities into tables

convert relationships into foreign keys

convert attributes into columns

modify the physical data model based on physical constraints/ requirements 34 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 35: Agile needs resurgence of visual modeling

Elements Conceptual Logical Physical

Entity names

Entity relationship

Attributes

Primary key

Foreign key

Table names

Column names

Column data types

Comparing elements of the three levels of data models

35 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 36: Agile needs resurgence of visual modeling

36

Logical data model using UML Class Diagram

Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 37: Agile needs resurgence of visual modeling

Multiplicity

Hands-on exercise

1 no more than one 0..1 zero or one * many 0..* zero or many 1..* one or many

Page 38: Agile needs resurgence of visual modeling

Natural language is not enough

The task of the software development team is to engineer the illusion of simplicity in the world of complex and complicated system-software development

Modeling is a synergistic blend of people, process, notation and tool

Models depict business architecture, application architecture, information & data architecture, and infrastructure architecture that progressively refines our knowledge, requirements, and design across multiple viewpoints

There are numerous types of modeling techniques and notations:

ERD – Chen, Merise, Martin, etc.

UML – class, activity, sequence, etc.

We don't show an insight-inspiring picture just because it saves a thousand words; we show it because it elicits the thousand words that make the greatest difference

38 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.

Page 39: Agile needs resurgence of visual modeling

Backup Slides

Page 40: Agile needs resurgence of visual modeling

40 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.


Recommended