Date post: | 01-Nov-2014 |
Category: |
Technology |
Upload: | russell-pannone |
View: | 1,552 times |
Download: | 1 times |
Introduction to Agile Visual Modeling Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
“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
4
The task of the software development team is to engineer the illusion of simplicity
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
5 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Copyright © 2010 Jurgen Appelo
Engineering the illusion of simplicity is difficult because…
6 6 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Because there are so many elements to it
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…
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…
9
Model driven system-software development and delivery
to the rescue
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
10 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
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.
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
13 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Process premium payment
14 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Project Resource Management
15
Elements of application architecture
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
System Use Case Modeling
16 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
17 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
18 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
19 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
20 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
21 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
22 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Notation and Process
23 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Object Modeling Technique
OMT
Object Oriented Software Engineering
OOSE Object Oriented
Analysis and Design OOAD
24 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
25 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
26
Business Modeling
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
27
Class/Object Modeling
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
28 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
29 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
// 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.
Types of data models
Conceptual Data Model Physical Data Model Logical Data Model
31 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
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.
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.
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.
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.
36
Logical data model using UML Class Diagram
Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
Multiplicity
Hands-on exercise
1 no more than one 0..1 zero or one * many 0..* zero or many 1..* one or many
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.
Backup Slides
40 Copyright © 2008 – 2012 Russell Pannone. All rights reserved.