More Related Content
Similar to Agile needs resurgence of visual modeling (20)
More from Russell Pannone (18)
Agile needs resurgence of visual modeling
- 3. Words are not enough to derive the solution
“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
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 3
- 4. The task of the software development team is to
engineer the illusion of simplicity
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 4
- 5. Engineering the illusion of simplicity is difficult because…
Copyright © 2010 Jurgen Appelo
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 5
- 6. Because there are so many elements to it
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 6 6
- 7. because…
Chen
Information
Engineering Individual Martin/IE
Merise
OMT
UML
OOAD
Team
Data Gane-Sarson
Modeling
IDEFx
Process
Modeling
OOSE
Enterprise
MSD Rational
Visio MSD Software Rational
Visual Modeler Data
Smart
Studio Modeler
Draw
7
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
- 8. because…
Categories of ALM & different points of view
Requirements
Analysis & Design
Coding
Testing
Deployment
Issue management
Workflow (Task
management)
Project management
Change management
Configuration
management
Build management
Release management
Monitoring and reporting
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 8
- 11. Account & Policy Level 1 Bus.
Management Capability Business Process Premium
Process Payment
Manage Account & Level 2 Bus.
Policy Billing Capability Process Step /
Schedule Payment
Activity
Ability to maintain Business
premium payments Requirement
Business User
As a Customer I want the ability to schedule
Customer a future-dated premium payment so that I
Roles Story can manage my cash flow and budget
Ability to support
500,000 payment Constraints
customers The Payment Schedule Date
must be on or before the
Business Payment Due Date.
Premium Payment Amount Rules A payment may not be
Business Data scheduled if the Payment
Premium Payment Schedule Date
Elements Status is ‘overdue’.
Premium Payment Frequency
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 11
- 12. Elements of business modeling
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. 12
- 15. Elements of application architecture
Project Resource Management
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 15
- 16. System Use Case Modeling
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 16
- 24. Object Oriented
Object Modeling Software Engineering
Technique OOSE
Object Oriented OMT
Analysis and Design
OOAD
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 24
- 30. // class Person Example output
// with two private fields name and age
// two public methods to retrieve fields int main() {
(called "getters") cout << "Creating a
// and public non-default constructor person..." << endl;
class Person { Person
public: johnDoe("John Doe",
Person(string name, int age) { 25);
this->name = name; cout << "Person's
this->age = age; name: " <<
} johnDoe.getName() <<
string getName() { endl;
return name; cout << "Person's
} age: " <<
int getAge() { johnDoe.getAge() <<
return age; endl;
} return 0;
private:
string name;
int age;
};
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
visibility 30
- 31. Types of data models
Conceptual Data Model Logical Data Model Physical Data Model
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 31
- 32. 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
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 32
- 33. 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)
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 33
- 34. 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 Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 34
- 35. Comparing elements of the three levels of data models
Elements Conceptual Logical Physical
Entity names
Entity relationship
Attributes
Primary key
Foreign key
Table names
Column names
Column data types
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 35
- 36. Logical data model using UML Class Diagram
Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 36
- 37. Hands-on exercise
Multiplicity
1 no more than one
0..1 zero or one
* many
0..* zero or many
1..* one or many
- 38. 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
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
the greatest difference 38