• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Agile needs resurgence of visual modeling
 

Agile needs resurgence of visual modeling

on

  • 1,172 views

Being agile needs resurgence of visual modeling

Being agile needs resurgence of visual modeling

Statistics

Views

Total Views
1,172
Views on SlideShare
1,172
Embed Views
0

Actions

Likes
2
Downloads
42
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile needs resurgence of visual modeling Agile needs resurgence of visual modeling Presentation Transcript

    • Introduction to Agile Visual ModelingCopyright © 2008 – 2012 Russell Pannone. All rights reserved.
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
    • 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 understandingCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 3
    • The task of the software development team is to engineer the illusion of simplicityCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 4
    • Engineering the illusion of simplicity is difficult because… Copyright © 2010 Jurgen AppeloCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 5
    • Because there are so many elements to itCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 6 6
    • 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 7Copyright © 2008 – 2012 Russell Pannone. All rights reserved.
    • 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 reportingCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 8
    • Model driven system-software development and delivery to the rescueCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 9
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 10
    • 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 FrequencyCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 11
    • 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 structuredCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 12
    • Process premium paymentCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 13
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 14
    • Elements of application architecture Project Resource ManagementCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 15
    • System Use Case ModelingCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 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
    • Notation and ProcessCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 23
    • Object Oriented Object Modeling Software Engineering Technique OOSE Object Oriented OMT Analysis and Design OOADCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 24
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 25
    • Business ModelingCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 26
    • Class/Object ModelingCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 27
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 28
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 29
    • // 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 << "Persons this->age = age; name: " << } johnDoe.getName() << string getName() { endl; return name; cout << "Persons } 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
    • Types of data models Conceptual Data Model Logical Data Model Physical Data ModelCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 31
    • 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 specifiedCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 32
    • 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
    • A physical data model represents how themodel will be built in the database. Featuresof 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
    • 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
    • Logical data model using UML Class DiagramCopyright © 2008 – 2012 Russell Pannone. All rights reserved. 36
    • Hands-on exercise Multiplicity 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 dont show an insight-inspiring picture just because it saves a thousand words; we show it because it elicits the thousand words that makeCopyright © 2008 – 2012 Russell Pannone. All rights reserved. the greatest difference 38
    • Backup Slides
    • Copyright © 2008 – 2012 Russell Pannone. All rights reserved. 40