SlideShare a Scribd company logo
1
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Automatic Measurements of Use Cases with COSMIC
Thomas M. Fehlmann, Zürich
Eberhard Kranich, Duisburg
Euro Project Office AG
E: info@e-p-o.com
H: www.e-p-o.com
2
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Dr.	
  Thomas	
  Fehlmann	
  
●  1981: Dr. Math. ETHZ
●  1991: Six Sigma for Software Black Belt
●  1999: Euro Project Office AG, Zürich
●  2001: Akao Price 2001 for original contributions to QFD
●  2003: SwissICT Expert for Software Metrics, ICTscope.ch
●  2004: Member of the Board QFD Institute Deutschland – QFD Architect
●  2007: CMMI for Software – Level 4 & 5
●  2011: Net Promoter® Certified Associate
●  2012: Member of the DASMA Board
●  2013: Vice-President ISBSG
●  1981: Dr. Math. ETHZ
●  1991: Six Sigma for Software Black Belt
●  1999: Euro Project Office AG, Zürich
●  2001: Akao Price 2001 for original contributions to QFD
●  2003: SwissICT Expert for Software Metrics, ICTscope.ch
●  2004: Member of the Board QFD Institute Deutschland – QFD Architect
●  2007: CMMI for Software – Level 4 & 5
●  2011: Net Promoter® Certified Associate
●  2012: Member of the DASMA Board
●  2013: Vice-President ISBSG
Dr. Thomas Fehlmann
3
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
●  Mathematics and Computer Science
●  Emphasis on Mathematical Statistics
●  Mathematical Optimization
●  Theory of Polynomial Complexity of Algorithms
●  Working at T-Systems International GmbH in Bonn, Germany
●  Six Sigma Black Belt for Software Development
●  Software Quality Assurance Manager
●  Member of the DASMA Board
Eberhard KranichEberhard Kranich
●  Mathematics and Computer Science
●  Emphasis on Mathematical Statistics
●  Mathematical Optimization
●  Theory of Polynomial Complexity of Algorithms
●  Worked at T-Systems International GmbH in Bonn, Germany
●  Six Sigma Black Belt for Software Development
●  Software Quality Assurance Manager
●  Member of the DASMA Board
4
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Aim of this Talk
●  This talk is about a free Excel-based
tool that allows drawing, or
importing, UML structure diagrams
and counts COSMIC function points
automatically
●  Enabling listeners to use the tool
●  It’s colorful and fun!
User
Functional
Process Data
1.// Enter Search Criteria
Trigger
2.// Write SQL Statement
3.// Get Result
4.// Display Result
5
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Use Cases
●  Automatically detect
➨  Actors
➨  Business Classes
(persistent data)
●  Guess
➨  Data Groups
•  From business classes
➨  Data Movements
•  From Activities
Total: 4
Step Activity Actor Type Business Class eCFP
1) Enter Search Criteria User E Data Collection 1
2) Write SQL Statement System W Data Collection 1
3) Get Result System R Data Collection 1
4) DisplayResult User X Data Collection 1
UC001:
Software
Boundary
Actor	
  
Use Case𝑬𝑛𝑡𝑟𝑦
Business
Class
𝑾𝑟𝑖𝑡𝑒                   𝑹𝑒𝑎𝑑
𝑒𝑿𝑖𝑡
User
Functional
Process Data
1.// Enter Search Criteria
Trigger
2.// Write SQL Statement
3.// Get Result
4.// Display Result
6
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Introduction
●  CosmicCount.xltm is an Excel tool
●  It runs on Office 2013 and uses VBA Macros
●  Its source is open and accessible to all users; no password protection; no
warranty
●  Sheets are protected by a password
➨  Password is stored in the Utilities module
➨  If you unprotect sheets, and change structure or defined names with Names
Manager, functionality will be affected
➨  Excel sheets serve as a database; they are known to the database interface only and
can be replaced by any other DB
➨  Structure diagrams are rendered on a blank Excel worksheet
●  License terms are 

GNU Free Documentation License, Version 1.3
7
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
How a Finished Count looks like
8
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Layer Identification
➨  Excel worksheet, for document control only
➨  You can add and delete rows in the three text areas
Layer Identification
Connected to:
Purpose of Measurement:
Testing the COSMIC Counting Tool
Author Team:
Thomas Fehlmann, Euro Project Office AG, Zürich thomas.fehlmann@e-p-o.com
Date:
Donnerstag, 14. Februar 2013
Counting the COSMIC Counting Tool
Add Row Del Row
9
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Application Boundary
➨  Excel worksheet, click to edit, for graphical overview only
➨  Functional users using and consuming data
Application Boundary
Designer
COSMIC
SequenceDiagram
Counting Tool
Counting
Report
Graphical
View
Counter
The Application Box includes
Functional Processes and
Persistent Storages
belonging to them
Other Applications
here to the Right
Devices
to the Left
10
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Functional User Requirements
➨  Excel worksheet, for documenting FURs in Grant Rule format
➨  You can add and delete rows – select cell for row position
➨  It is possible to link FUR to Entry Data Movements
➨  No programming logic is implemented for FURs
Name Label As a … [Functional User] I want to … [get something done] Such that …[quality characteristic] So that … [value or benefit]. To
1) Q001 Build Structure DiagramsProgrammer create structure diagrams, consisting of objects, data
movements, and triggers
such that data movements can be graphically
visualized
I can explain my design to peers and to programmers E001 Set Parameters F001
2) Q002 Database Design Database Designer record data groups I can link data movements to database design all requirements are modeled E005 Edit data groups F002
3) Q003 COSMIC Count Scope Manager count designs and structure diagrams data movements that qualify add to a COSMIC count counting does not require any additional effort than
design
E002 Create object of interest F002
4) Q004 Record FURs SWDevelopment Manager record Functional Requirements FURs are documented with the Counting Tool eveybody can read them and validate the count and
the structure diagran against them
E006 Add Row F001
5) Q005 Count Collector Other counting application access the count I can consolidate COSMIC counts for various
applciations
A get an overall count for a sequence of applications E010 Get CFP count F003
6) Q006 Customizable GraphicsQuality Manager be able to adapt graphical representations of
sequence diagrams
I can adapt visual appearance to corporate standards
or to those of the customer
They understand us E007 Request screen refresh F003
7) Q007 Table Input Tool User be able to enter data directly in an Excel table I can mass input data that had already been prepared
by some other application
keeping the database consistent E006 Add Row F001
8) Q008 Graphical Refresh Tool User see always an updated screen with my latest additions and changes I'm sure my changes have been acknowledged E007 Request screen refresh F003
Entry Movement used
User Stories
Add Row Del Row
11
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Objects of Interest
➨  Functional Processes and Persistent Data within the application boundary
➨  User Devices and other Applications using functionality from outside the Application
Boundary
➨  Correspond to objects in Structure Diagrams
➨  More than one functional process is possible within structure diagrams – at least one
Functional Process is required
➨  The common abbreviation is ‘Obj’ in VBA variable names
➨  The unique identity keys are
•  Position number in database tables
•  Name, identifying graphical objects
Name Label Description Type Link to Application
1) D001 Graphical User Interface Create and modify structure diagrams using forms D Device User
2) D002 Excel Table Edits Add and delete rows in database tables D Device User
3) F001 Excel Table Database Store data in Excel tables F Functional Process
4) P001 Count Control Data Record who performed the count and for what purpose P Persistent Data
5) P002 Functional User Requirements Table of FURs linked to Functional Users and their entry data movements P Persistent Data
6) F002 Build Structure Diagram The functional process that transforms user input into a database for a structure diagram F Functional Process
7) P003 Objects of Interest Table contains Functional Processes, Persistent Data, and all external devices such as Device Users and Application Users P Persistent Data
8) P004 Data Movements Everything pertaining to data movements, including origin and destination, link to triggers and groups P Persistent Data
9) P005 Triggers Trigger table P Persistent Data
10) P006 Data Groups Data Group table P Persistent Data
11) F003 Graphical Display Render all objects of interest, data movements and triggers as a sequence diagram F Functional Process
12) D003 Counting Sheet Worksheet used to display graphics only D Device User
13) F004 Count Functional Size Applies the COSMIC rules to count the structure diagram F Functional Process
14) A001 Functional Size Count Calculation on sheet 'Data Movements' A Application User
15) P007 Settings Sheet Contains color settings for shapes, and parameter settings for COSMIC rule checks P Persistent Data
Objects of Interest
Add Row Del Row Validate
12
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Data Movements and Triggers
➨  Data Movements have an Origin and a Destination, rendered
graphically as diamonds
➨  Either Origin or Destination must be a Functional Process
➨  Entry Movements can have a Trigger
➨  At least one entry movement per functional process must
have a trigger, to be eligible as one COSMIC function point
➨  If data movements count for COSMIC size,

their origin is colored in the color of the

arrow connector
➨  The common abbreviation is ‘Mov’ in VBA

variable names for Data Movements, and

‘Trg’ for Triggers
➨  The unique identity keys (‘Pos’) are
•  Position number in the database tables
•  Name, identifying graphical objects (groups)
Name Label Data Movement Sub-Process Description
Direction
Unique?
Check1
Check2
Check3
Check4
Entry(E)
eXit(X)
Read(R)
Write(W)
1) E001 Set Parameters Set colors and flags for strict COSMIC rule enforcement T04 Set Flags F001 Excel Table Database < D002 Excel Table Edits G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1
2) W001 Record Parameters Record color and flag parameters F001 Excel Table Database > P007 Settings Sheet G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1
3) R001 Color Settings Apply settings from Setting Sheet F003 Graphical Display < P007 Settings Sheet G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1
4) R002 Rule Check Settings Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groupsF004 Count Functional Size < P007 Settings Sheet G010 Rule Enforcement Flags TR UE TR UE TR UE TR UE TR UE 1
5) E002 Create object of interest Enter everything that's needed to create either a functional process, persistent data, or a device to the structure diagram.T01 Use GUI F002 Build Structure Diagram < D001 Graphical User Interface G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
6) W002 Record objects of interest Create new record in database F002 Build Structure Diagram > P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
7) R003 Render objects of interest Persistent data, application and device users F003 Graphical Display < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
8) R004 Check objects of interest Collect all data needed to perform the count F004 Count Functional Size < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
9) E003 Create data movement linked to functional process and devices F002 Build Structure Diagram < D001 Graphical User Interface G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
10) W003 Record data movements and link with triggers and data groups F002 Build Structure Diagram > P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
11) R005 Render data movements and check for COSMIC rules, available triggers and for groups F003 Graphical Display < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
12) R006 Count data movements applying COSMIC rules F004 Count Functional Size < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
13) E004 Create triggers Typically from an e data entry movement F002 Build Structure Diagram < D001 Graphical User Interface G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1
14) W004 Record triggers hooked to respective data movement F002 Build Structure Diagram > P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1
15) R007 Render triggers Show them in the leftmost column F003 Graphical Display < P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1
16) R008 Check triggers See whether triggers exist per Functional Process F004 Count Functional Size < P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1
17) E005 Edit data groups Request update of functional size count when new grouls are added to the databaseF002 Build Structure Diagram < D001 Graphical User Interface G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1
18) W005 Record data groups and link to respective data movements F002 Build Structure Diagram > P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1
19) R009 Check data groups Check whether data groups are present F004 Count Functional Size < P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1
20) E006 Add Row Add another row to a database table T03 Excel edits F001 Excel Table Database < D002 Excel Table Edits G008 Excel Table Row TR UE TR UE TR UE TR UE TR UE 1
21) W006 Enter Layer Data Enter layer information and purpose of measurement F001 Excel Table Database > P001 Count Control Data G012 Document Control Data TR UE TR UE TR UE TR UE TR UE 1
22) R010 Delete Layer Data Remove data row from table F001 Excel Table Database < P001 Count Control Data G012 Document Control Data TR UE TR UE TR UE TR UE TR UE 1
23) W007 Add FUR Add or edit a FUR F001 Excel Table Database > P002 Functional User Requirements G009 Functional User Requirement TR UE TR UE TR UE TR UE TR UE 1
24) R011 Delete FUR Delete a FUR F001 Excel Table Database < P002 Functional User Requirements G009 Functional User Requirement TR UE TR UE TR UE TR UE TR UE 1
25) W008 Add Object Insert a row for an additional object of interest F001 Excel Table Database > P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
26) R012 Delete Object Delete an object of interest and all related data movements F001 Excel Table Database < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
27) W009 Add Data Movement Insert a row for an additional data movement F001 Excel Table Database > P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
28) R013 Delete Data Movement Delete a data movement F001 Excel Table Database < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
29) W010 Add data group Insert row for an additional data group F001 Excel Table Database > P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1
30) R014 Remove unused data groupsCheck which data groups aren't in use anymore, and delete them F001 Excel Table Database < P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1
31) X001 Delete row Delete a row from a database table F001 Excel Table Database > D002 Excel Table Edits G008 Excel Table Row TR UE TR UE TR UE TR UE TR UE 1
32) E007 Request screen refresh Depending which entry forms were used, request refresh of appropriate graphical objectsT02 Refresh F003 Graphical Display < D002 Excel Table Edits G011 Database objects changed TR UE TR UE TR UE TR UE TR UE 1
33) R015 Assess Objects' Consistency Checks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P003 Objects of Interest G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1
34) R016 Assess Data Moves' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P004 Data Movements G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1
35) R017 Assess Triggers' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P005 Triggers G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1
36) E008 Request screen refresh Depending which rows were added or deleted, request refresh of appropriate graphical objectsF003 Graphical Display < D001 Graphical User Interface G011 Database objects changed TR UE TR UE TR UE TR UE TR UE 1
37) X002 Refresh Objects of Interest Create or refresh functional processes, devices, applciations, and persistent data storesF003 Graphical Display > D003 Counting Sheet G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1
38) X003 Refresh Data Movements Create or refresh data movements F003 Graphical Display > D003 Counting Sheet G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1
39) X004 Position Triggers Add triggers where defined F003 Graphical Display > D003 Counting Sheet G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1
40) E009 Request count refresh Request update of functional size count when re-calculation becomes necessary in the database.T05 Display CFP F004 Count Functional Size < D003 Counting Sheet G006 Count Display Object TR UE TR UE TR UE TR UE TR UE 1
41) X005 Count CFP Apply COSMIC rules to count the functional size F004 Count Functional Size > A001 Functional Size Count G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1
42) E010 Get CFP count Show count for Entries, eXits, Reads and Writes, plus the total F003 Graphical Display < A001 Functional Size Count G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1
43) X006 Refresh CFP Count On top of sheet F003 Graphical Display > D003 Counting Sheet G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1
CFP per Data Movement Type 10 6 17 10
Total CFP 43
Data Movements Moving Data between Rule Check Move Type
43
Functional ProcessTrigger Object of Interest Data Group
Add Row Del Row Validate
Name Label Triggering Event Triggering Top Position
1) T01 Use GUI User starts COSMIC Counting Tool starting with Counting Sheet E002 Create object of interest F002 Build Structure Diagram 5
2) T02 Refresh When selecting the Counting Sheet, graphics are updated and shown E007 Request screen refresh F003 Graphical Display 32
3) T03 Excel edits Decide to edit data in Excel rather then the GUI E006 Add Row F001 Excel Table Database 20
4) T04 Set Flags Want to set parameters for colors and COSMIC rule enforcement E001 Set Parameters F001 Excel Table Database 1
5) T05 Display CFP Triggered when entering Counting Sheet form some other sheet, or after processing a click on the user interface E009 Request count refresh F004 Count Functional Size 40
Triggering Entry
Data Movement
Add Row Del Row Validate
13
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Definitions
●  Data Groups
➨  Data Groups are attributes to data movements
➨  One data group can serve for several data movements
➨  Every data movement must refer to some data group, to be counted as a COSMIC
function point
➨  The common abbreviation is ‘Grp’ in VBA variable names
➨  The unique identity keys are
•  Position number in the database tables
•  Name, otherwise not used
Name Label Attributes Data Owner Data Movements
1) G001 Objects of Interest Records All information, including link to applications, as needed for creating or modifying an object of interest Database Designer E002, W002, R003, R004, W008, R012, X002
2) G002 Data Movement Record Everything that's needed to identify a data movement, including reference to origin and destination, data group, and triggers, for entry movements only. Programmer E003, W003, R005, R006, W009, R013, X003
3) G003 Trigger Record Contains all information needed to render a trigger and to determine which functional process it triggers Programmer E004, W004, R007, R008, X004
4) G004 Data Group Record Contains all Information needed for a Data Group and for determining which data movement is using it. Programmer E005, W005, R009, W010, R014
5) G005 Graphic Colors Colors used for graphical rendering Designer E001, W001, R001
6) G006 Count Display Object Shape location for displaying the final count Programmer E009
7) G007 COSMIC Count Excel Tags for Entries, eXits, Reads and Writes Counter X005, E010, X006
8) G008 Excel Table Row Describes a row in an Excel table Counter E006, X001
9) G009 Functional User Requirement Requirements in Grant Rule User Story format Sponsor W007, R011
10) G010 Rule Enforcement Flags Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groups Counter R002
11) G011 Database objects changed Flag indicating that some data in the database has changed, affecting the graphical display and thus needing a refresh Programmer E007, E008
12) G012 Document Control Data Layer information, purpose of measurement, and authors Sponsor W006, R010
13) G013 Consistency Data Identifies items in the database tables that aren't consistent Programmer R015, R016, R017
Data Groups
DeleteallUnusedData Groups
Add Row Del Row Validate
14
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Parameter Settings Sheet
●  Select colors
➨  You can select colors for all graphical objects by changing Counting Check Options
on the sheet ‘How to Use’
●  You can waive against strict enforcement of
➨  Triggers, when counting Functional Processes
➨  Definition of data groups in Data Movements
Counting Check Options Export and Import
TRUE Enforce existence of triggers for functional processes
TRUE Enforce definition of data group in data movements
Export Count
Import Count
Functional
Process
Persistent Data
Application UserDevice User
Trigger
Entry
Entry
eXit
eXit
Write Read
About Using this Tool
You can adaptcolors,linecharacteristics,butnot preset shape types ("the smileyremains a smiley...")
on this sheet. All newlycreatedobjectswill beaffected.You canspecifylabels,add a description(shown
on the data sheetsonly), addand deleteuser devices,applicationdevices,functional processes,and
Persistent Data storageson the top row. ThenyoucreateData Movements, either by clickingposition
lines,first origin,then destination,or usingthe "New.." buttonin the respectivedialogform.
Selectedobjectsarehighlighted,alsoselectedoriginsand(applicable)destinationpositionlines.
CountingchecksfourCOSMICrules pertainingtoDataMovements;belowthere is an optionto enforce
the existenceof triggersfor functional processes,anddatagroupdefinitionsfor data movements.Ifyou
set these optionsto True,you must specifyall triggers, andall data groups,that pertainto functional
processesanddatamovementsin orderto includethem intoyour COSMICcount..If you do not want
suchrigorin your count,you canset the optionsbelowto False.DataMovermentsthat addto the count
are color-marked;ifthey loosetheir coloredorigindiamond,theydo not qualifyfor a datamovement
accordingCOSMIC rules.Thecolorsareindicativeforthe data movementtype and set on this sheet
When selectingagroupfor a data movement,you cannotselecta groupthat alreadyhadbeenused the
samewaybefore, betweensameoriginanddestination.Suchgroupswill not be offeredfor selection.
15
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Start Counting
●  Functional Process
➨  Click on object
•  Enter Object Label and Description
•  Pressing ‘New..’ adds more objects
•  Link to Application is used for application devices only
•  The number to the right indicates column position
16
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Arrange Objects
●  Persistent Data & Devices
➨  Add as many as needed
➨  Arrange relative position
•  Using the Scroll Position
•  Click left to move the object left
17
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Link to Application
●  Application User Devices
➨  Refers to other COSMIC counts
➨  You can set a link to it
➨  The link can be used for navigation between, but not for consolidating different
application counts
•  If an object is not used for now, objects can be deleted
18
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Add Data Movement
●  Click position line of Origin
➨  Eligible Destination will highlight
➨  Click position line of Destination
•  Enter Movement Label
•  Enter Movement Description
19
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Check Rules for Data Movement
●  Check COSMIC Rules
➨  Click on Check…
•  Unique Object of Interest?
•  Is there a FUR?
•  Unique Data Movement?
•  Independent from Values?
➨  Button becomes red if check fails
●  You can change Global Settings
20
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Add Data Group
●  Select a Data Group
➨  Create a new one…
➨  … or select from existing groups
➨  Data Group movements must be unique to add to the count!
●  You can edit a Data Group
➨  Enter Data Group Label, Description, and Owner
21
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Add Trigger
●  Click on Add Trigger
➨  Trigger will be added to 

data movement, making it 

countable
●  Click on Trigger
➨  Enter label and description
➨  Adjust position by scrolling or changing entry movements
22
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
See what Adds to the Count
●  Countable Data Movements
➨  If countable, origin of data movement
becomes colored
➨  Indicates if rule check fails or no unique
data group is assigned
●  You can change Global Settings
23
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Add more Data Movements
●  Add more Data Movements
➨  By clicking position lines of origin, then of destination, or
➨  Clicking New… button, adding a data movement below by
logically selecting origins and destinations
●  Scroll data movement positions using the Scroll Position
buttons
24
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Counting the COSMIC Counting Tool
10	
  Entry	
  (E)	
  +	
  6	
  eXit	
  (X)	
  +	
  17	
  Read	
  (R)	
  +	
  10	
  Write	
  (W)	
  =	
  43	
  CFP
Graphical User
Interface
Excel Table
Edits
Excel Table
Database
Count Control
Data
Functional
User Requirements
Build Structure
Diagram
Objects of
Interest
Data Movements Triggers Data Groups Graphical Display Counting Sheet
Count Functional
Size
Functional
Size Count Settings Sheet
1.// Set Parameters
Set Flags
2.// Record Parameters
3.// Color Settings
4.// Rule Check Settings
5.// Create object of interest
Use GUI
6.// Record objects of interest
7.// Render objects of interest
8.// Check objects of interest
9.// Create data movement
10.// Record data movements
11.// Render data movements
12.// Count data movements
13.// Create triggers
14.// Record triggers
15.// Render triggers
16.// Check triggers
17.// Edit data groups
18.// Record data groups
19.// Check data groups
20.// Add Row
Excel edits
21.// Enter Layer Data
22.// Delete Layer Data
23.// Add FUR
24.// Delete FUR
25.// Add Object
26.// Delete Object
27.// Add Data Movement
28.// Delete Data Movement
29.// Add data group
30.// Remove unused data groups
25
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Objects in the COSMIC Counting Tool
●  To add or delete table rows
➨  Select row by clicking cell in the white are of the table
➨  Enter data in white cells
➨  You must indicate type of object, and direction of data movement
➨  Click ‘Validate’ to generate unique names for objects
●  Validation is automatic if you leave the sheet
Name Label Description Type Link to Application
1) D001 Graphical User Interface Create and modify structure diagrams using forms D Device User
2) D002 Excel Table Edits Add and delete rows in database tables D Device User
3) F001 Excel Table Database Store data in Excel tables F Functional Process
4) P001 Count Control Data Record who performed the count and for what purpose P Persistent Data
5) P002 Functional User Requirements Table of FURs linked to Functional Users and their entry data movements P Persistent Data
6) F002 Build Structure Diagram The functional process that transforms user input into a database for a structure diagram F Functional Process
7) P003 Objects of Interest Table contains Functional Processes, Persistent Data, and all external devices such as Device Users and Application Users P Persistent Data
8) P004 Data Movements Everything pertaining to data movements, including origin and destination, link to triggers and groups P Persistent Data
9) P005 Triggers Trigger table P Persistent Data
# P006 Data Groups Data Group table P Persistent Data
# F003 Graphical Display Render all objects of interest, data movements and triggers as a sequence diagram F Functional Process
# D003 Counting Sheet Worksheet used to display graphics only D Device User
# F004 Count Functional Size Applies the COSMIC rules to count the structure diagram F Functional Process
# A001 Functional Size Count Calculation on sheet 'Data Movements' A Application User
# P007 Settings Sheet Contains color settings for shapes, and parameter settings for COSMIC rule checks P Persistent Data
Objects of Interest
Add Row Del Row Validate
26
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Data Movements in the COSMIC Counting Tool
Name Label Data Movement Sub-Process Description
Direction
Unique?
Check1
Check2
Check3
Check4
Entry(E)
eXit(X)
Read(R)
Write(W)
1) E001 Set Parameters Set colors and flags for strict COSMIC rule enforcement T04 Set Flags F001 Excel Table Database < D002 Excel Table Edits G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1
2) W001 Record Parameters Record color and flag parameters F001 Excel Table Database > P007 Settings Sheet G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1
3) R001 Color Settings Apply settings from Setting Sheet F003 Graphical Display < P007 Settings Sheet G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1
4) R002 Rule Check Settings Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groupsF004 Count Functional Size < P007 Settings Sheet G010 Rule Enforcement Flags TRUE TRUE TRUE TRUE TRUE 1
5) E002 Create object of interest Enter everything that's needed to create either a functional process, persistent data, or a device to the structure diagram.T01 Use GUI F002 Build Structure Diagram < D001 Graphical User Interface G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
6) W002 Record objects of interest Create new record in database F002 Build Structure Diagram > P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
7) R003 Render objects of interest Persistent data, application and device users F003 Graphical Display < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
8) R004 Check objects of interest Collect all data needed to perform the count F004 Count Functional Size < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
9) E003 Create data movement linked to functional process and devices F002 Build Structure Diagram < D001 Graphical User Interface G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
10) W003 Record data movements and link with triggers and data groups F002 Build Structure Diagram > P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
11) R005 Render data movements and check for COSMIC rules, available triggers and for groups F003 Graphical Display < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
12) R006 Count data movements applying COSMIC rules F004 Count Functional Size < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
13) E004 Create triggers Typically from an e data entry movement F002 Build Structure Diagram < D001 Graphical User Interface G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1
14) W004 Record triggers hooked to respective data movement F002 Build Structure Diagram > P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1
15) R007 Render triggers Show them in the leftmost column F003 Graphical Display < P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1
16) R008 Check triggers See whether triggers exist per Functional Process F004 Count Functional Size < P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1
17) E005 Edit data groups Request update of functional size count when new grouls are added to the databaseF002 Build Structure Diagram < D001 Graphical User Interface G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1
18) W005 Record data groups and link to respective data movements F002 Build Structure Diagram > P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1
19) R009 Check data groups Check whether data groups are present F004 Count Functional Size < P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1
20) E006 Add Row Add another row to a database table T03 Excel edits F001 Excel Table Database < D002 Excel Table Edits G008 Excel Table Row TRUE TRUE TRUE TRUE TRUE 1
21) W006 Enter Layer Data Enter layer information and purpose of measurement F001 Excel Table Database > P001 Count Control Data G012 Document Control Data TRUE TRUE TRUE TRUE TRUE 1
22) R010 Delete Layer Data Remove data row from table F001 Excel Table Database < P001 Count Control Data G012 Document Control Data TRUE TRUE TRUE TRUE TRUE 1
23) W007 Add FUR Add or edit a FUR F001 Excel Table Database > P002 Functional User Requirements G009 Functional User Requirement TRUE TRUE TRUE TRUE TRUE 1
24) R011 Delete FUR Delete a FUR F001 Excel Table Database < P002 Functional User Requirements G009 Functional User Requirement TRUE TRUE TRUE TRUE TRUE 1
25) W008 Add Object Insert a row for an additional object of interest F001 Excel Table Database > P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
26) R012 Delete Object Delete an object of interest and all related data movements F001 Excel Table Database < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
27) W009 Add Data Movement Insert a row for an additional data movement F001 Excel Table Database > P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
28) R013 Delete Data Movement Delete a data movement F001 Excel Table Database < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
29) W010 Add data group Insert row for an additional data group F001 Excel Table Database > P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1
30) R014 Remove unused data groupsCheck which data groups aren't in use anymore, and delete them F001 Excel Table Database < P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1
31) X001 Delete row Delete a row from a database table F001 Excel Table Database > D002 Excel Table Edits G008 Excel Table Row TRUE TRUE TRUE TRUE TRUE 1
32) E007 Request screen refresh Depending which entry forms were used, request refresh of appropriate graphical objectsT02 Refresh F003 Graphical Display < D002 Excel Table Edits G011 Database objects changed TRUE TRUE TRUE TRUE TRUE 1
33) R015 Assess Objects' Consistency Checks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P003 Objects of Interest G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1
34) R016 Assess Data Moves' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P004 Data Movements G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1
35) R017 Assess Triggers' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P005 Triggers G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1
36) E008 Request screen refresh Depending which rows were added or deleted, request refresh of appropriate graphical objectsF003 Graphical Display < D001 Graphical User Interface G011 Database objects changed TRUE TRUE TRUE TRUE TRUE 1
37) X002 Refresh Objects of Interest Create or refresh functional processes, devices, applciations, and persistent data storesF003 Graphical Display > D003 Counting Sheet G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1
38) X003 Refresh Data Movements Create or refresh data movements F003 Graphical Display > D003 Counting Sheet G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1
39) X004 Position Triggers Add triggers where defined F003 Graphical Display > D003 Counting Sheet G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1
40) E009 Request count refresh Request update of functional size count when re-calculation becomes necessary in the database.T05 Display CFP F004 Count Functional Size < D003 Counting Sheet G006 Count Display Object TRUE TRUE TRUE TRUE TRUE 1
41) X005 Count CFP Apply COSMIC rules to count the functional size F004 Count Functional Size > A001 Functional Size Count G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1
42) E010 Get CFP count Show count for Entries, eXits, Reads and Writes, plus the total F003 Graphical Display < A001 Functional Size Count G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1
43) X006 Refresh CFP Count On top of sheet F003 Graphical Display > D003 Counting Sheet G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1
CFP per Data Movement Type 10 6 17 10
Total CFP 43
Data Movements Moving Data between Rule Check Move Type
43
Functional ProcessTrigger Object of Interest Data Group
Add Row Del Row Validate
27
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Data Groups in the COSMIC Counting Tool
●  The Total Count:
➨  Standard Excel functionality is not included in the tool count
Name Label Attributes Data Owner Data Movements
1) G001 Objects ofInterestRecords All information, including link to applications, as needed for creating or modifying an objectofinterest Database Designer E002, W002, R003, R004, W008, R012, X002
2) G002 Data MovementRecord Everything that's needed to identify a data movement, including reference to origin and destination, data group, and triggers, for entry movements only. Programmer E003, W003, R005, R006, W009, R013, X003
3) G003 Trigger Record Contains all information needed to render a trigger and to determine which functional process ittriggers Programmer E004, W004, R007, R008, X004
4) G004 Data Group Record Contains all Information needed for a Data Group and for determining which data movementis using it. Programmer E005, W005, R009, W010, R014
5) G005 Graphic Colors Colors used for graphical rendering Designer E001, W001, R001
6) G006 CountDisplay Object Shape location for displaying the final count Programmer E009
7) G007 COSMIC Count Excel Tags for Entries, eXits, Reads and Writes Counter X005, E010, X006
8) G008 Excel Table Row Describes a row in an Excel table Counter E006, X001
9) G009 Functional User Requirement Requirements in GrantRule User Story format Sponsor W007, R011
10) G010 Rule EnforcementFlags Define whether COSMIC rules are strictly being enforced for existence oftriggers, and definition ofgroups Counter R002
11) G011 Database objects changed Flag indicating thatsome data in the database has changed, affecting the graphical display and thus needing a refresh Programmer E007, E008
12) G012 DocumentControl Data Layer information, purpose ofmeasurement, and authors Sponsor W006, R010
13) G013 Consistency Data Identifies items in the database tables thataren'tconsistent Programmer R015, R016, R017
Data Groups
DeleteallUnusedData Groups
Add Row Del Row Validate
10	
  Entry	
  (E)	
  +	
  6	
  eXit	
  (X)	
  +	
  17	
  Read	
  (R)	
  +	
  10	
  Write	
  (W)	
  =	
  43	
  CFP	
  
28
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Table Input in Excel
●  All tables can be edited without using forms
➨  Tables have Add Row, Del Row and Validate buttons
•  Default for adding rows is bottom of table
•  Missing data results in no validation and no graphical display
➨  You need to refer to the unique names for linking data
➨  There are consistency checks similar to graphical input:
•  Deleting objects of interest also deletes data movements
•  Deleting data movements also deletes triggers
➨  A full refresh event occurs when activating Counting Sheet
➨  Select cells to indicate where to insert or delete table rows
➨  Keep sheets always protected
●  You cannot add or delete rows outside the table interior
➨  Note that there are hidden first and last rows in the table
29
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Import and Export
●  Import and Export copy the following data tables
➨  Data Groups
➨  Objects of Interest
➨  Data Movements
➨  Triggers
➨  Functional User Requirements
●  References (e.g., origin, destination for data movements) refer to line numbers
instead of ‘Name’ used in data tables
●  Two buttons on the ‘How to Use’ sheet allow exporting to, and importing from, a
file in the XLSX format
➨  Export/import functionality be extended to XML as soon as a schema file is available
Export and Import
Export Count
Import Count
30
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Limitations
●  Structure Diagrams contain
➨  Looped Data Movements, same origins and destinations
•  Not yet supported
➨  Conditional areas with execution under condition only
•  Not yet supported
●  Counting several applications with COSMIC
➨  You can link to other application counts but a count consolidation sheet is not
available
➨  You need to customize a consolidation sheet
•  Use the following Excel range names to access count results:

CFP, CFP_E , CFP_X, CFP_R , CFP_W
•  On sheet ‘Data Movements’ for each counting workbook
31
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Installation
●  Copy the template to your Microsoft template directory
➨  Usually C:Users<username>AppDataRoamingMicrosoftTemplates
•  Or where appropriate
➨  Trust macros – in expert mode:
•  File – Options – Trust Center Settings – Macro Settings:

Enable all macros (not recommended by Microsoft)
➨  Trust macros – in enterprise mode:
•  Install corporate digital certificate in VBA
•  Then enable digitally signed macros only
●  No other resources are used
➨  Except standard Office 2013 libraries including PowerPoint
32
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Tool – Architecture
NPS Priority
Kano Priority
AHP Priority
Kano Analysis
COSMIC
Count
Goal	
  Interface	
  	
  
Size	
  Interface	
  	
  
FUR
Deployment
QFD Transfer
Function
Cascaded	
  Quality	
  
FuncGon	
  Deployments	
  
Combine
VoC Priority
New Lanchester
Story Card
Deployment
Planning Matrix
Test
Coverage
Test	
  Interface	
  	
  
33
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Questions?
34
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Troubleshoot with Office 2010 or earlier
●  Depending what your machine has, it might seem impossible to run the VBA
macros, because Office 2013 now references another security package then
before
●  You have to manually re-link VBA libraries – something very difficult because
Excel won’t you let in but maintains some strange VBA compiler error messages
●  Recommended procedure:
➨  Delete all the VBA code displayed with error
➨  Usually you have to do that twice, until VBA allows you to access VBA – Tools – References
➨  Set the references in VBA – Tools – References correctly, as explained next slide
➨  Now undo the code deletions – the VBA code should now compile
35
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS
Office 2013 à 2010
●  There is a major change regarding security policy
➨  In Office 2013, authorization is via a new library:
•  Microsoft Office.NET Private Object Library
➨  It used to be:
•  Microsoft Office 14 Authorization Control Type Library
●  You have to manually switch References in VBA!

More Related Content

What's hot

Integration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source codeIntegration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source code
Michael Moser
 
IRJET- Design Automation of Flange Coupling using NX 10.0
IRJET- Design Automation of Flange Coupling using NX 10.0IRJET- Design Automation of Flange Coupling using NX 10.0
IRJET- Design Automation of Flange Coupling using NX 10.0
IRJET Journal
 
Software Presentation Slides
Software Presentation SlidesSoftware Presentation Slides
Software Presentation Slides
Shze Hwa Lee
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
Gabor Guta
 
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
QueBIT Consulting
 
Generation of Situational Applications from Business Process Models
Generation of Situational Applications from Business Process ModelsGeneration of Situational Applications from Business Process Models
Generation of Situational Applications from Business Process Models
Flávio Faria
 
CADCAM CAE Notes
CADCAM CAE NotesCADCAM CAE Notes
CADCAM CAE Notes
Abhay Gore
 
ME6501 Unit 1 introduction to cad
ME6501 Unit 1 introduction to cadME6501 Unit 1 introduction to cad
ME6501 Unit 1 introduction to cad
Javith Saleem
 
Software applications-presentation
Software applications-presentationSoftware applications-presentation
Software applications-presentation
Syafiq Zariful
 
Software assignment 1
Software assignment 1Software assignment 1
Software assignment 1
Timun Loh
 
Streamlining Feature Engineering Pipelines with Open Source
Streamlining Feature Engineering Pipelines with Open SourceStreamlining Feature Engineering Pipelines with Open Source
Streamlining Feature Engineering Pipelines with Open Source
Soledad Galli
 
Wayne_Atkinson_Resume_1May16
Wayne_Atkinson_Resume_1May16Wayne_Atkinson_Resume_1May16
Wayne_Atkinson_Resume_1May16Wayne Atkinson
 
C045061425
C045061425C045061425
C045061425
IJERA Editor
 
Software Application Presentation Slide
Software Application Presentation SlideSoftware Application Presentation Slide
Software Application Presentation Slide
Lee Pei Gie
 
Fpa Cosmic Ffp Convertability Final
Fpa   Cosmic Ffp Convertability FinalFpa   Cosmic Ffp Convertability Final
Fpa Cosmic Ffp Convertability Final
Harold van Heeringen
 
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Philipp Königs
 

What's hot (19)

Jessica Cinquanta Resume
Jessica Cinquanta ResumeJessica Cinquanta Resume
Jessica Cinquanta Resume
 
Integration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source codeIntegration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source code
 
IRJET- Design Automation of Flange Coupling using NX 10.0
IRJET- Design Automation of Flange Coupling using NX 10.0IRJET- Design Automation of Flange Coupling using NX 10.0
IRJET- Design Automation of Flange Coupling using NX 10.0
 
Software Presentation Slides
Software Presentation SlidesSoftware Presentation Slides
Software Presentation Slides
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
 
Generation of Situational Applications from Business Process Models
Generation of Situational Applications from Business Process ModelsGeneration of Situational Applications from Business Process Models
Generation of Situational Applications from Business Process Models
 
CADCAM CAE Notes
CADCAM CAE NotesCADCAM CAE Notes
CADCAM CAE Notes
 
ME6501 Unit 1 introduction to cad
ME6501 Unit 1 introduction to cadME6501 Unit 1 introduction to cad
ME6501 Unit 1 introduction to cad
 
Software applications-presentation
Software applications-presentationSoftware applications-presentation
Software applications-presentation
 
Software assignment 1
Software assignment 1Software assignment 1
Software assignment 1
 
Streamlining Feature Engineering Pipelines with Open Source
Streamlining Feature Engineering Pipelines with Open SourceStreamlining Feature Engineering Pipelines with Open Source
Streamlining Feature Engineering Pipelines with Open Source
 
Wayne_Atkinson_Resume_1May16
Wayne_Atkinson_Resume_1May16Wayne_Atkinson_Resume_1May16
Wayne_Atkinson_Resume_1May16
 
C045061425
C045061425C045061425
C045061425
 
Rnd
RndRnd
Rnd
 
Software Application Presentation Slide
Software Application Presentation SlideSoftware Application Presentation Slide
Software Application Presentation Slide
 
Fpa Cosmic Ffp Convertability Final
Fpa   Cosmic Ffp Convertability FinalFpa   Cosmic Ffp Convertability Final
Fpa Cosmic Ffp Convertability Final
 
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
 
Vico
VicoVico
Vico
 

Similar to Automatic measurements of use cases with cosmic thomas fehlmann

Ashwin J-resume
Ashwin J-resumeAshwin J-resume
Ashwin J-resumeAshwin J
 
Dynamics ax 2012 development overview
Dynamics ax 2012 development overviewDynamics ax 2012 development overview
Dynamics ax 2012 development overviewAli Raza Zaidi
 
A look into the crystal ball at JBoss BRMS and BPM Suite
 A look into the crystal ball at JBoss BRMS and BPM Suite A look into the crystal ball at JBoss BRMS and BPM Suite
A look into the crystal ball at JBoss BRMS and BPM Suite
Eric D. Schabell
 
James hall ch 14
James hall ch 14James hall ch 14
James hall ch 14
David Julian
 
Empowering Business Users with Process Management Tools
Empowering Business Users with Process Management ToolsEmpowering Business Users with Process Management Tools
Empowering Business Users with Process Management Tools
Kris Verlaenen
 
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
Nesma
 
Integrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk SolutionsIntegrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk Solutions
Rich Hanapole
 
Kelis king - requirements analysis and the unified process
Kelis king - requirements analysis and the unified processKelis king - requirements analysis and the unified process
Kelis king - requirements analysis and the unified process
KelisKing
 
Oracle Forms Modernization Roadmap
Oracle Forms Modernization RoadmapOracle Forms Modernization Roadmap
Oracle Forms Modernization Roadmap
Kai-Uwe Möller
 
Slides4lucid
Slides4lucidSlides4lucid
Slides4lucid
roysolay
 
Slides4lucid
Slides4lucidSlides4lucid
Slides4lucid
roysolay
 
MindQuad Solutions Pvt. Ltd. - Corporate Profile
MindQuad Solutions Pvt. Ltd. - Corporate ProfileMindQuad Solutions Pvt. Ltd. - Corporate Profile
MindQuad Solutions Pvt. Ltd. - Corporate Profile
nikhil patel
 
prashant_resume-SW_2014
prashant_resume-SW_2014prashant_resume-SW_2014
prashant_resume-SW_2014prashant mane
 
Oracle Aim Methodology
Oracle Aim MethodologyOracle Aim Methodology
Oracle Aim Methodology
Shivmohan Purohit
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
Viacheslav Nefedov
 
Human Factors In Groupware Applications
Human Factors In Groupware ApplicationsHuman Factors In Groupware Applications
Human Factors In Groupware Applications
ESS
 
Bachelor Degree Thesis in Computer Science
Bachelor Degree Thesis in Computer ScienceBachelor Degree Thesis in Computer Science
Bachelor Degree Thesis in Computer Science
Gennaro Schiano di Cola
 

Similar to Automatic measurements of use cases with cosmic thomas fehlmann (20)

Ashwin J-resume
Ashwin J-resumeAshwin J-resume
Ashwin J-resume
 
Dynamics ax 2012 development overview
Dynamics ax 2012 development overviewDynamics ax 2012 development overview
Dynamics ax 2012 development overview
 
A look into the crystal ball at JBoss BRMS and BPM Suite
 A look into the crystal ball at JBoss BRMS and BPM Suite A look into the crystal ball at JBoss BRMS and BPM Suite
A look into the crystal ball at JBoss BRMS and BPM Suite
 
James hall ch 14
James hall ch 14James hall ch 14
James hall ch 14
 
Kate Resume-7Page
Kate Resume-7PageKate Resume-7Page
Kate Resume-7Page
 
Empowering Business Users with Process Management Tools
Empowering Business Users with Process Management ToolsEmpowering Business Users with Process Management Tools
Empowering Business Users with Process Management Tools
 
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
Nesma autumn conference 2015 - A QFD based tool for managing agile requiremen...
 
Integrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk SolutionsIntegrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk Solutions
 
Kelis king - requirements analysis and the unified process
Kelis king - requirements analysis and the unified processKelis king - requirements analysis and the unified process
Kelis king - requirements analysis and the unified process
 
Oracle Forms Modernization Roadmap
Oracle Forms Modernization RoadmapOracle Forms Modernization Roadmap
Oracle Forms Modernization Roadmap
 
Slides4lucid
Slides4lucidSlides4lucid
Slides4lucid
 
Slides4lucid
Slides4lucidSlides4lucid
Slides4lucid
 
Resume_Deb
Resume_DebResume_Deb
Resume_Deb
 
MindQuad Solutions Pvt. Ltd. - Corporate Profile
MindQuad Solutions Pvt. Ltd. - Corporate ProfileMindQuad Solutions Pvt. Ltd. - Corporate Profile
MindQuad Solutions Pvt. Ltd. - Corporate Profile
 
prashant_resume-SW_2014
prashant_resume-SW_2014prashant_resume-SW_2014
prashant_resume-SW_2014
 
Oracle Aim Methodology
Oracle Aim MethodologyOracle Aim Methodology
Oracle Aim Methodology
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
 
Human Factors In Groupware Applications
Human Factors In Groupware ApplicationsHuman Factors In Groupware Applications
Human Factors In Groupware Applications
 
AX_srinivas_ TechM
AX_srinivas_ TechMAX_srinivas_ TechM
AX_srinivas_ TechM
 
Bachelor Degree Thesis in Computer Science
Bachelor Degree Thesis in Computer ScienceBachelor Degree Thesis in Computer Science
Bachelor Degree Thesis in Computer Science
 

More from IWSM Mensura

When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
IWSM Mensura
 
Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...
IWSM Mensura
 
Workshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank VogelezangWorkshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank Vogelezang
IWSM Mensura
 
Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...
IWSM Mensura
 
The significance of ifpug base functionality types in effort estimation cig...
The significance of ifpug base functionality types in effort estimation   cig...The significance of ifpug base functionality types in effort estimation   cig...
The significance of ifpug base functionality types in effort estimation cig...
IWSM Mensura
 
The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...
IWSM Mensura
 
Software or service that's the question luigi buglione
Software or service that's the question   luigi buglioneSoftware or service that's the question   luigi buglione
Software or service that's the question luigi buglione
IWSM Mensura
 
Requirements effort estimation state of the practice - mohamad kassab
Requirements effort estimation  state of the practice - mohamad kassabRequirements effort estimation  state of the practice - mohamad kassab
Requirements effort estimation state of the practice - mohamad kassab
IWSM Mensura
 
Quantitative functional change impact analysis in activity diagrams a cosmi...
Quantitative functional change impact analysis in activity diagrams   a cosmi...Quantitative functional change impact analysis in activity diagrams   a cosmi...
Quantitative functional change impact analysis in activity diagrams a cosmi...
IWSM Mensura
 
Practical usage of fpa and automatic code review piotr popovski
Practical usage of fpa and automatic code review   piotr popovskiPractical usage of fpa and automatic code review   piotr popovski
Practical usage of fpa and automatic code review piotr popovski
IWSM Mensura
 
Performance measurement of agile teams harold van heeringen
Performance measurement of agile teams   harold van heeringenPerformance measurement of agile teams   harold van heeringen
Performance measurement of agile teams harold van heeringen
IWSM Mensura
 
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
IWSM Mensura
 
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
IWSM Mensura
 
Functional size measurement for processor load estimation hassan soubra
Functional size measurement for processor load estimation   hassan soubraFunctional size measurement for processor load estimation   hassan soubra
Functional size measurement for processor load estimation hassan soubra
IWSM Mensura
 
From software to service sustainability a still broader perspective - luigi...
From software to service sustainability   a still broader perspective - luigi...From software to service sustainability   a still broader perspective - luigi...
From software to service sustainability a still broader perspective - luigi...
IWSM Mensura
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
IWSM Mensura
 
Energy wasting rate jérôme rocheteau
Energy wasting rate   jérôme rocheteauEnergy wasting rate   jérôme rocheteau
Energy wasting rate jérôme rocheteau
IWSM Mensura
 
Do we measure functional size or do we count thomas fehlmann
Do we measure functional size or do we count   thomas fehlmannDo we measure functional size or do we count   thomas fehlmann
Do we measure functional size or do we count thomas fehlmann
IWSM Mensura
 
Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...
IWSM Mensura
 
Combining qualitative and quantitative software process evaluation sylvie t...
Combining qualitative and quantitative software process evaluation   sylvie t...Combining qualitative and quantitative software process evaluation   sylvie t...
Combining qualitative and quantitative software process evaluation sylvie t...
IWSM Mensura
 

More from IWSM Mensura (20)

When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
 
Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...
 
Workshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank VogelezangWorkshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank Vogelezang
 
Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...
 
The significance of ifpug base functionality types in effort estimation cig...
The significance of ifpug base functionality types in effort estimation   cig...The significance of ifpug base functionality types in effort estimation   cig...
The significance of ifpug base functionality types in effort estimation cig...
 
The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...
 
Software or service that's the question luigi buglione
Software or service that's the question   luigi buglioneSoftware or service that's the question   luigi buglione
Software or service that's the question luigi buglione
 
Requirements effort estimation state of the practice - mohamad kassab
Requirements effort estimation  state of the practice - mohamad kassabRequirements effort estimation  state of the practice - mohamad kassab
Requirements effort estimation state of the practice - mohamad kassab
 
Quantitative functional change impact analysis in activity diagrams a cosmi...
Quantitative functional change impact analysis in activity diagrams   a cosmi...Quantitative functional change impact analysis in activity diagrams   a cosmi...
Quantitative functional change impact analysis in activity diagrams a cosmi...
 
Practical usage of fpa and automatic code review piotr popovski
Practical usage of fpa and automatic code review   piotr popovskiPractical usage of fpa and automatic code review   piotr popovski
Practical usage of fpa and automatic code review piotr popovski
 
Performance measurement of agile teams harold van heeringen
Performance measurement of agile teams   harold van heeringenPerformance measurement of agile teams   harold van heeringen
Performance measurement of agile teams harold van heeringen
 
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
 
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
 
Functional size measurement for processor load estimation hassan soubra
Functional size measurement for processor load estimation   hassan soubraFunctional size measurement for processor load estimation   hassan soubra
Functional size measurement for processor load estimation hassan soubra
 
From software to service sustainability a still broader perspective - luigi...
From software to service sustainability   a still broader perspective - luigi...From software to service sustainability   a still broader perspective - luigi...
From software to service sustainability a still broader perspective - luigi...
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
 
Energy wasting rate jérôme rocheteau
Energy wasting rate   jérôme rocheteauEnergy wasting rate   jérôme rocheteau
Energy wasting rate jérôme rocheteau
 
Do we measure functional size or do we count thomas fehlmann
Do we measure functional size or do we count   thomas fehlmannDo we measure functional size or do we count   thomas fehlmann
Do we measure functional size or do we count thomas fehlmann
 
Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...
 
Combining qualitative and quantitative software process evaluation sylvie t...
Combining qualitative and quantitative software process evaluation   sylvie t...Combining qualitative and quantitative software process evaluation   sylvie t...
Combining qualitative and quantitative software process evaluation sylvie t...
 

Recently uploaded

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Automatic measurements of use cases with cosmic thomas fehlmann

  • 1. 1 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Automatic Measurements of Use Cases with COSMIC Thomas M. Fehlmann, Zürich Eberhard Kranich, Duisburg Euro Project Office AG E: info@e-p-o.com H: www.e-p-o.com
  • 2. 2 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Dr.  Thomas  Fehlmann   ●  1981: Dr. Math. ETHZ ●  1991: Six Sigma for Software Black Belt ●  1999: Euro Project Office AG, Zürich ●  2001: Akao Price 2001 for original contributions to QFD ●  2003: SwissICT Expert for Software Metrics, ICTscope.ch ●  2004: Member of the Board QFD Institute Deutschland – QFD Architect ●  2007: CMMI for Software – Level 4 & 5 ●  2011: Net Promoter® Certified Associate ●  2012: Member of the DASMA Board ●  2013: Vice-President ISBSG ●  1981: Dr. Math. ETHZ ●  1991: Six Sigma for Software Black Belt ●  1999: Euro Project Office AG, Zürich ●  2001: Akao Price 2001 for original contributions to QFD ●  2003: SwissICT Expert for Software Metrics, ICTscope.ch ●  2004: Member of the Board QFD Institute Deutschland – QFD Architect ●  2007: CMMI for Software – Level 4 & 5 ●  2011: Net Promoter® Certified Associate ●  2012: Member of the DASMA Board ●  2013: Vice-President ISBSG Dr. Thomas Fehlmann
  • 3. 3 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS ●  Mathematics and Computer Science ●  Emphasis on Mathematical Statistics ●  Mathematical Optimization ●  Theory of Polynomial Complexity of Algorithms ●  Working at T-Systems International GmbH in Bonn, Germany ●  Six Sigma Black Belt for Software Development ●  Software Quality Assurance Manager ●  Member of the DASMA Board Eberhard KranichEberhard Kranich ●  Mathematics and Computer Science ●  Emphasis on Mathematical Statistics ●  Mathematical Optimization ●  Theory of Polynomial Complexity of Algorithms ●  Worked at T-Systems International GmbH in Bonn, Germany ●  Six Sigma Black Belt for Software Development ●  Software Quality Assurance Manager ●  Member of the DASMA Board
  • 4. 4 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Aim of this Talk ●  This talk is about a free Excel-based tool that allows drawing, or importing, UML structure diagrams and counts COSMIC function points automatically ●  Enabling listeners to use the tool ●  It’s colorful and fun! User Functional Process Data 1.// Enter Search Criteria Trigger 2.// Write SQL Statement 3.// Get Result 4.// Display Result
  • 5. 5 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Use Cases ●  Automatically detect ➨  Actors ➨  Business Classes (persistent data) ●  Guess ➨  Data Groups •  From business classes ➨  Data Movements •  From Activities Total: 4 Step Activity Actor Type Business Class eCFP 1) Enter Search Criteria User E Data Collection 1 2) Write SQL Statement System W Data Collection 1 3) Get Result System R Data Collection 1 4) DisplayResult User X Data Collection 1 UC001: Software Boundary Actor   Use Case𝑬𝑛𝑡𝑟𝑦 Business Class 𝑾𝑟𝑖𝑡𝑒                   𝑹𝑒𝑎𝑑 𝑒𝑿𝑖𝑡 User Functional Process Data 1.// Enter Search Criteria Trigger 2.// Write SQL Statement 3.// Get Result 4.// Display Result
  • 6. 6 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Introduction ●  CosmicCount.xltm is an Excel tool ●  It runs on Office 2013 and uses VBA Macros ●  Its source is open and accessible to all users; no password protection; no warranty ●  Sheets are protected by a password ➨  Password is stored in the Utilities module ➨  If you unprotect sheets, and change structure or defined names with Names Manager, functionality will be affected ➨  Excel sheets serve as a database; they are known to the database interface only and can be replaced by any other DB ➨  Structure diagrams are rendered on a blank Excel worksheet ●  License terms are 
 GNU Free Documentation License, Version 1.3
  • 7. 7 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS How a Finished Count looks like
  • 8. 8 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Layer Identification ➨  Excel worksheet, for document control only ➨  You can add and delete rows in the three text areas Layer Identification Connected to: Purpose of Measurement: Testing the COSMIC Counting Tool Author Team: Thomas Fehlmann, Euro Project Office AG, Zürich thomas.fehlmann@e-p-o.com Date: Donnerstag, 14. Februar 2013 Counting the COSMIC Counting Tool Add Row Del Row
  • 9. 9 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Application Boundary ➨  Excel worksheet, click to edit, for graphical overview only ➨  Functional users using and consuming data Application Boundary Designer COSMIC SequenceDiagram Counting Tool Counting Report Graphical View Counter The Application Box includes Functional Processes and Persistent Storages belonging to them Other Applications here to the Right Devices to the Left
  • 10. 10 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Functional User Requirements ➨  Excel worksheet, for documenting FURs in Grant Rule format ➨  You can add and delete rows – select cell for row position ➨  It is possible to link FUR to Entry Data Movements ➨  No programming logic is implemented for FURs Name Label As a … [Functional User] I want to … [get something done] Such that …[quality characteristic] So that … [value or benefit]. To 1) Q001 Build Structure DiagramsProgrammer create structure diagrams, consisting of objects, data movements, and triggers such that data movements can be graphically visualized I can explain my design to peers and to programmers E001 Set Parameters F001 2) Q002 Database Design Database Designer record data groups I can link data movements to database design all requirements are modeled E005 Edit data groups F002 3) Q003 COSMIC Count Scope Manager count designs and structure diagrams data movements that qualify add to a COSMIC count counting does not require any additional effort than design E002 Create object of interest F002 4) Q004 Record FURs SWDevelopment Manager record Functional Requirements FURs are documented with the Counting Tool eveybody can read them and validate the count and the structure diagran against them E006 Add Row F001 5) Q005 Count Collector Other counting application access the count I can consolidate COSMIC counts for various applciations A get an overall count for a sequence of applications E010 Get CFP count F003 6) Q006 Customizable GraphicsQuality Manager be able to adapt graphical representations of sequence diagrams I can adapt visual appearance to corporate standards or to those of the customer They understand us E007 Request screen refresh F003 7) Q007 Table Input Tool User be able to enter data directly in an Excel table I can mass input data that had already been prepared by some other application keeping the database consistent E006 Add Row F001 8) Q008 Graphical Refresh Tool User see always an updated screen with my latest additions and changes I'm sure my changes have been acknowledged E007 Request screen refresh F003 Entry Movement used User Stories Add Row Del Row
  • 11. 11 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Objects of Interest ➨  Functional Processes and Persistent Data within the application boundary ➨  User Devices and other Applications using functionality from outside the Application Boundary ➨  Correspond to objects in Structure Diagrams ➨  More than one functional process is possible within structure diagrams – at least one Functional Process is required ➨  The common abbreviation is ‘Obj’ in VBA variable names ➨  The unique identity keys are •  Position number in database tables •  Name, identifying graphical objects Name Label Description Type Link to Application 1) D001 Graphical User Interface Create and modify structure diagrams using forms D Device User 2) D002 Excel Table Edits Add and delete rows in database tables D Device User 3) F001 Excel Table Database Store data in Excel tables F Functional Process 4) P001 Count Control Data Record who performed the count and for what purpose P Persistent Data 5) P002 Functional User Requirements Table of FURs linked to Functional Users and their entry data movements P Persistent Data 6) F002 Build Structure Diagram The functional process that transforms user input into a database for a structure diagram F Functional Process 7) P003 Objects of Interest Table contains Functional Processes, Persistent Data, and all external devices such as Device Users and Application Users P Persistent Data 8) P004 Data Movements Everything pertaining to data movements, including origin and destination, link to triggers and groups P Persistent Data 9) P005 Triggers Trigger table P Persistent Data 10) P006 Data Groups Data Group table P Persistent Data 11) F003 Graphical Display Render all objects of interest, data movements and triggers as a sequence diagram F Functional Process 12) D003 Counting Sheet Worksheet used to display graphics only D Device User 13) F004 Count Functional Size Applies the COSMIC rules to count the structure diagram F Functional Process 14) A001 Functional Size Count Calculation on sheet 'Data Movements' A Application User 15) P007 Settings Sheet Contains color settings for shapes, and parameter settings for COSMIC rule checks P Persistent Data Objects of Interest Add Row Del Row Validate
  • 12. 12 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Data Movements and Triggers ➨  Data Movements have an Origin and a Destination, rendered graphically as diamonds ➨  Either Origin or Destination must be a Functional Process ➨  Entry Movements can have a Trigger ➨  At least one entry movement per functional process must have a trigger, to be eligible as one COSMIC function point ➨  If data movements count for COSMIC size,
 their origin is colored in the color of the
 arrow connector ➨  The common abbreviation is ‘Mov’ in VBA
 variable names for Data Movements, and
 ‘Trg’ for Triggers ➨  The unique identity keys (‘Pos’) are •  Position number in the database tables •  Name, identifying graphical objects (groups) Name Label Data Movement Sub-Process Description Direction Unique? Check1 Check2 Check3 Check4 Entry(E) eXit(X) Read(R) Write(W) 1) E001 Set Parameters Set colors and flags for strict COSMIC rule enforcement T04 Set Flags F001 Excel Table Database < D002 Excel Table Edits G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1 2) W001 Record Parameters Record color and flag parameters F001 Excel Table Database > P007 Settings Sheet G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1 3) R001 Color Settings Apply settings from Setting Sheet F003 Graphical Display < P007 Settings Sheet G005 Graphic Colors TR UE TR UE TR UE TR UE TR UE 1 4) R002 Rule Check Settings Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groupsF004 Count Functional Size < P007 Settings Sheet G010 Rule Enforcement Flags TR UE TR UE TR UE TR UE TR UE 1 5) E002 Create object of interest Enter everything that's needed to create either a functional process, persistent data, or a device to the structure diagram.T01 Use GUI F002 Build Structure Diagram < D001 Graphical User Interface G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 6) W002 Record objects of interest Create new record in database F002 Build Structure Diagram > P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 7) R003 Render objects of interest Persistent data, application and device users F003 Graphical Display < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 8) R004 Check objects of interest Collect all data needed to perform the count F004 Count Functional Size < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 9) E003 Create data movement linked to functional process and devices F002 Build Structure Diagram < D001 Graphical User Interface G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 10) W003 Record data movements and link with triggers and data groups F002 Build Structure Diagram > P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 11) R005 Render data movements and check for COSMIC rules, available triggers and for groups F003 Graphical Display < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 12) R006 Count data movements applying COSMIC rules F004 Count Functional Size < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 13) E004 Create triggers Typically from an e data entry movement F002 Build Structure Diagram < D001 Graphical User Interface G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1 14) W004 Record triggers hooked to respective data movement F002 Build Structure Diagram > P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1 15) R007 Render triggers Show them in the leftmost column F003 Graphical Display < P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1 16) R008 Check triggers See whether triggers exist per Functional Process F004 Count Functional Size < P005 Triggers G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1 17) E005 Edit data groups Request update of functional size count when new grouls are added to the databaseF002 Build Structure Diagram < D001 Graphical User Interface G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1 18) W005 Record data groups and link to respective data movements F002 Build Structure Diagram > P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1 19) R009 Check data groups Check whether data groups are present F004 Count Functional Size < P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1 20) E006 Add Row Add another row to a database table T03 Excel edits F001 Excel Table Database < D002 Excel Table Edits G008 Excel Table Row TR UE TR UE TR UE TR UE TR UE 1 21) W006 Enter Layer Data Enter layer information and purpose of measurement F001 Excel Table Database > P001 Count Control Data G012 Document Control Data TR UE TR UE TR UE TR UE TR UE 1 22) R010 Delete Layer Data Remove data row from table F001 Excel Table Database < P001 Count Control Data G012 Document Control Data TR UE TR UE TR UE TR UE TR UE 1 23) W007 Add FUR Add or edit a FUR F001 Excel Table Database > P002 Functional User Requirements G009 Functional User Requirement TR UE TR UE TR UE TR UE TR UE 1 24) R011 Delete FUR Delete a FUR F001 Excel Table Database < P002 Functional User Requirements G009 Functional User Requirement TR UE TR UE TR UE TR UE TR UE 1 25) W008 Add Object Insert a row for an additional object of interest F001 Excel Table Database > P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 26) R012 Delete Object Delete an object of interest and all related data movements F001 Excel Table Database < P003 Objects of Interest G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 27) W009 Add Data Movement Insert a row for an additional data movement F001 Excel Table Database > P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 28) R013 Delete Data Movement Delete a data movement F001 Excel Table Database < P004 Data Movements G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 29) W010 Add data group Insert row for an additional data group F001 Excel Table Database > P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1 30) R014 Remove unused data groupsCheck which data groups aren't in use anymore, and delete them F001 Excel Table Database < P006 Data Groups G004 Data Group Record TR UE TR UE TR UE TR UE TR UE 1 31) X001 Delete row Delete a row from a database table F001 Excel Table Database > D002 Excel Table Edits G008 Excel Table Row TR UE TR UE TR UE TR UE TR UE 1 32) E007 Request screen refresh Depending which entry forms were used, request refresh of appropriate graphical objectsT02 Refresh F003 Graphical Display < D002 Excel Table Edits G011 Database objects changed TR UE TR UE TR UE TR UE TR UE 1 33) R015 Assess Objects' Consistency Checks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P003 Objects of Interest G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1 34) R016 Assess Data Moves' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P004 Data Movements G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1 35) R017 Assess Triggers' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P005 Triggers G013 Consistency Data TR UE TR UE TR UE TR UE TR UE 1 36) E008 Request screen refresh Depending which rows were added or deleted, request refresh of appropriate graphical objectsF003 Graphical Display < D001 Graphical User Interface G011 Database objects changed TR UE TR UE TR UE TR UE TR UE 1 37) X002 Refresh Objects of Interest Create or refresh functional processes, devices, applciations, and persistent data storesF003 Graphical Display > D003 Counting Sheet G001 Objects of Interest Records TR UE TR UE TR UE TR UE TR UE 1 38) X003 Refresh Data Movements Create or refresh data movements F003 Graphical Display > D003 Counting Sheet G002 Data Movement Record TR UE TR UE TR UE TR UE TR UE 1 39) X004 Position Triggers Add triggers where defined F003 Graphical Display > D003 Counting Sheet G003 Trigger Record TR UE TR UE TR UE TR UE TR UE 1 40) E009 Request count refresh Request update of functional size count when re-calculation becomes necessary in the database.T05 Display CFP F004 Count Functional Size < D003 Counting Sheet G006 Count Display Object TR UE TR UE TR UE TR UE TR UE 1 41) X005 Count CFP Apply COSMIC rules to count the functional size F004 Count Functional Size > A001 Functional Size Count G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1 42) E010 Get CFP count Show count for Entries, eXits, Reads and Writes, plus the total F003 Graphical Display < A001 Functional Size Count G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1 43) X006 Refresh CFP Count On top of sheet F003 Graphical Display > D003 Counting Sheet G007 COSMIC Count TR UE TR UE TR UE TR UE TR UE 1 CFP per Data Movement Type 10 6 17 10 Total CFP 43 Data Movements Moving Data between Rule Check Move Type 43 Functional ProcessTrigger Object of Interest Data Group Add Row Del Row Validate Name Label Triggering Event Triggering Top Position 1) T01 Use GUI User starts COSMIC Counting Tool starting with Counting Sheet E002 Create object of interest F002 Build Structure Diagram 5 2) T02 Refresh When selecting the Counting Sheet, graphics are updated and shown E007 Request screen refresh F003 Graphical Display 32 3) T03 Excel edits Decide to edit data in Excel rather then the GUI E006 Add Row F001 Excel Table Database 20 4) T04 Set Flags Want to set parameters for colors and COSMIC rule enforcement E001 Set Parameters F001 Excel Table Database 1 5) T05 Display CFP Triggered when entering Counting Sheet form some other sheet, or after processing a click on the user interface E009 Request count refresh F004 Count Functional Size 40 Triggering Entry Data Movement Add Row Del Row Validate
  • 13. 13 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Definitions ●  Data Groups ➨  Data Groups are attributes to data movements ➨  One data group can serve for several data movements ➨  Every data movement must refer to some data group, to be counted as a COSMIC function point ➨  The common abbreviation is ‘Grp’ in VBA variable names ➨  The unique identity keys are •  Position number in the database tables •  Name, otherwise not used Name Label Attributes Data Owner Data Movements 1) G001 Objects of Interest Records All information, including link to applications, as needed for creating or modifying an object of interest Database Designer E002, W002, R003, R004, W008, R012, X002 2) G002 Data Movement Record Everything that's needed to identify a data movement, including reference to origin and destination, data group, and triggers, for entry movements only. Programmer E003, W003, R005, R006, W009, R013, X003 3) G003 Trigger Record Contains all information needed to render a trigger and to determine which functional process it triggers Programmer E004, W004, R007, R008, X004 4) G004 Data Group Record Contains all Information needed for a Data Group and for determining which data movement is using it. Programmer E005, W005, R009, W010, R014 5) G005 Graphic Colors Colors used for graphical rendering Designer E001, W001, R001 6) G006 Count Display Object Shape location for displaying the final count Programmer E009 7) G007 COSMIC Count Excel Tags for Entries, eXits, Reads and Writes Counter X005, E010, X006 8) G008 Excel Table Row Describes a row in an Excel table Counter E006, X001 9) G009 Functional User Requirement Requirements in Grant Rule User Story format Sponsor W007, R011 10) G010 Rule Enforcement Flags Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groups Counter R002 11) G011 Database objects changed Flag indicating that some data in the database has changed, affecting the graphical display and thus needing a refresh Programmer E007, E008 12) G012 Document Control Data Layer information, purpose of measurement, and authors Sponsor W006, R010 13) G013 Consistency Data Identifies items in the database tables that aren't consistent Programmer R015, R016, R017 Data Groups DeleteallUnusedData Groups Add Row Del Row Validate
  • 14. 14 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Parameter Settings Sheet ●  Select colors ➨  You can select colors for all graphical objects by changing Counting Check Options on the sheet ‘How to Use’ ●  You can waive against strict enforcement of ➨  Triggers, when counting Functional Processes ➨  Definition of data groups in Data Movements Counting Check Options Export and Import TRUE Enforce existence of triggers for functional processes TRUE Enforce definition of data group in data movements Export Count Import Count Functional Process Persistent Data Application UserDevice User Trigger Entry Entry eXit eXit Write Read About Using this Tool You can adaptcolors,linecharacteristics,butnot preset shape types ("the smileyremains a smiley...") on this sheet. All newlycreatedobjectswill beaffected.You canspecifylabels,add a description(shown on the data sheetsonly), addand deleteuser devices,applicationdevices,functional processes,and Persistent Data storageson the top row. ThenyoucreateData Movements, either by clickingposition lines,first origin,then destination,or usingthe "New.." buttonin the respectivedialogform. Selectedobjectsarehighlighted,alsoselectedoriginsand(applicable)destinationpositionlines. CountingchecksfourCOSMICrules pertainingtoDataMovements;belowthere is an optionto enforce the existenceof triggersfor functional processes,anddatagroupdefinitionsfor data movements.Ifyou set these optionsto True,you must specifyall triggers, andall data groups,that pertainto functional processesanddatamovementsin orderto includethem intoyour COSMICcount..If you do not want suchrigorin your count,you canset the optionsbelowto False.DataMovermentsthat addto the count are color-marked;ifthey loosetheir coloredorigindiamond,theydo not qualifyfor a datamovement accordingCOSMIC rules.Thecolorsareindicativeforthe data movementtype and set on this sheet When selectingagroupfor a data movement,you cannotselecta groupthat alreadyhadbeenused the samewaybefore, betweensameoriginanddestination.Suchgroupswill not be offeredfor selection.
  • 15. 15 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Start Counting ●  Functional Process ➨  Click on object •  Enter Object Label and Description •  Pressing ‘New..’ adds more objects •  Link to Application is used for application devices only •  The number to the right indicates column position
  • 16. 16 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Arrange Objects ●  Persistent Data & Devices ➨  Add as many as needed ➨  Arrange relative position •  Using the Scroll Position •  Click left to move the object left
  • 17. 17 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Link to Application ●  Application User Devices ➨  Refers to other COSMIC counts ➨  You can set a link to it ➨  The link can be used for navigation between, but not for consolidating different application counts •  If an object is not used for now, objects can be deleted
  • 18. 18 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Add Data Movement ●  Click position line of Origin ➨  Eligible Destination will highlight ➨  Click position line of Destination •  Enter Movement Label •  Enter Movement Description
  • 19. 19 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Check Rules for Data Movement ●  Check COSMIC Rules ➨  Click on Check… •  Unique Object of Interest? •  Is there a FUR? •  Unique Data Movement? •  Independent from Values? ➨  Button becomes red if check fails ●  You can change Global Settings
  • 20. 20 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Add Data Group ●  Select a Data Group ➨  Create a new one… ➨  … or select from existing groups ➨  Data Group movements must be unique to add to the count! ●  You can edit a Data Group ➨  Enter Data Group Label, Description, and Owner
  • 21. 21 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Add Trigger ●  Click on Add Trigger ➨  Trigger will be added to 
 data movement, making it 
 countable ●  Click on Trigger ➨  Enter label and description ➨  Adjust position by scrolling or changing entry movements
  • 22. 22 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS See what Adds to the Count ●  Countable Data Movements ➨  If countable, origin of data movement becomes colored ➨  Indicates if rule check fails or no unique data group is assigned ●  You can change Global Settings
  • 23. 23 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Add more Data Movements ●  Add more Data Movements ➨  By clicking position lines of origin, then of destination, or ➨  Clicking New… button, adding a data movement below by logically selecting origins and destinations ●  Scroll data movement positions using the Scroll Position buttons
  • 24. 24 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Counting the COSMIC Counting Tool 10  Entry  (E)  +  6  eXit  (X)  +  17  Read  (R)  +  10  Write  (W)  =  43  CFP Graphical User Interface Excel Table Edits Excel Table Database Count Control Data Functional User Requirements Build Structure Diagram Objects of Interest Data Movements Triggers Data Groups Graphical Display Counting Sheet Count Functional Size Functional Size Count Settings Sheet 1.// Set Parameters Set Flags 2.// Record Parameters 3.// Color Settings 4.// Rule Check Settings 5.// Create object of interest Use GUI 6.// Record objects of interest 7.// Render objects of interest 8.// Check objects of interest 9.// Create data movement 10.// Record data movements 11.// Render data movements 12.// Count data movements 13.// Create triggers 14.// Record triggers 15.// Render triggers 16.// Check triggers 17.// Edit data groups 18.// Record data groups 19.// Check data groups 20.// Add Row Excel edits 21.// Enter Layer Data 22.// Delete Layer Data 23.// Add FUR 24.// Delete FUR 25.// Add Object 26.// Delete Object 27.// Add Data Movement 28.// Delete Data Movement 29.// Add data group 30.// Remove unused data groups
  • 25. 25 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Objects in the COSMIC Counting Tool ●  To add or delete table rows ➨  Select row by clicking cell in the white are of the table ➨  Enter data in white cells ➨  You must indicate type of object, and direction of data movement ➨  Click ‘Validate’ to generate unique names for objects ●  Validation is automatic if you leave the sheet Name Label Description Type Link to Application 1) D001 Graphical User Interface Create and modify structure diagrams using forms D Device User 2) D002 Excel Table Edits Add and delete rows in database tables D Device User 3) F001 Excel Table Database Store data in Excel tables F Functional Process 4) P001 Count Control Data Record who performed the count and for what purpose P Persistent Data 5) P002 Functional User Requirements Table of FURs linked to Functional Users and their entry data movements P Persistent Data 6) F002 Build Structure Diagram The functional process that transforms user input into a database for a structure diagram F Functional Process 7) P003 Objects of Interest Table contains Functional Processes, Persistent Data, and all external devices such as Device Users and Application Users P Persistent Data 8) P004 Data Movements Everything pertaining to data movements, including origin and destination, link to triggers and groups P Persistent Data 9) P005 Triggers Trigger table P Persistent Data # P006 Data Groups Data Group table P Persistent Data # F003 Graphical Display Render all objects of interest, data movements and triggers as a sequence diagram F Functional Process # D003 Counting Sheet Worksheet used to display graphics only D Device User # F004 Count Functional Size Applies the COSMIC rules to count the structure diagram F Functional Process # A001 Functional Size Count Calculation on sheet 'Data Movements' A Application User # P007 Settings Sheet Contains color settings for shapes, and parameter settings for COSMIC rule checks P Persistent Data Objects of Interest Add Row Del Row Validate
  • 26. 26 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Data Movements in the COSMIC Counting Tool Name Label Data Movement Sub-Process Description Direction Unique? Check1 Check2 Check3 Check4 Entry(E) eXit(X) Read(R) Write(W) 1) E001 Set Parameters Set colors and flags for strict COSMIC rule enforcement T04 Set Flags F001 Excel Table Database < D002 Excel Table Edits G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1 2) W001 Record Parameters Record color and flag parameters F001 Excel Table Database > P007 Settings Sheet G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1 3) R001 Color Settings Apply settings from Setting Sheet F003 Graphical Display < P007 Settings Sheet G005 Graphic Colors TRUE TRUE TRUE TRUE TRUE 1 4) R002 Rule Check Settings Define whether COSMIC rules are strictly being enforced for existence of triggers, and definition of groupsF004 Count Functional Size < P007 Settings Sheet G010 Rule Enforcement Flags TRUE TRUE TRUE TRUE TRUE 1 5) E002 Create object of interest Enter everything that's needed to create either a functional process, persistent data, or a device to the structure diagram.T01 Use GUI F002 Build Structure Diagram < D001 Graphical User Interface G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 6) W002 Record objects of interest Create new record in database F002 Build Structure Diagram > P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 7) R003 Render objects of interest Persistent data, application and device users F003 Graphical Display < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 8) R004 Check objects of interest Collect all data needed to perform the count F004 Count Functional Size < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 9) E003 Create data movement linked to functional process and devices F002 Build Structure Diagram < D001 Graphical User Interface G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 10) W003 Record data movements and link with triggers and data groups F002 Build Structure Diagram > P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 11) R005 Render data movements and check for COSMIC rules, available triggers and for groups F003 Graphical Display < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 12) R006 Count data movements applying COSMIC rules F004 Count Functional Size < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 13) E004 Create triggers Typically from an e data entry movement F002 Build Structure Diagram < D001 Graphical User Interface G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1 14) W004 Record triggers hooked to respective data movement F002 Build Structure Diagram > P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1 15) R007 Render triggers Show them in the leftmost column F003 Graphical Display < P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1 16) R008 Check triggers See whether triggers exist per Functional Process F004 Count Functional Size < P005 Triggers G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1 17) E005 Edit data groups Request update of functional size count when new grouls are added to the databaseF002 Build Structure Diagram < D001 Graphical User Interface G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1 18) W005 Record data groups and link to respective data movements F002 Build Structure Diagram > P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1 19) R009 Check data groups Check whether data groups are present F004 Count Functional Size < P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1 20) E006 Add Row Add another row to a database table T03 Excel edits F001 Excel Table Database < D002 Excel Table Edits G008 Excel Table Row TRUE TRUE TRUE TRUE TRUE 1 21) W006 Enter Layer Data Enter layer information and purpose of measurement F001 Excel Table Database > P001 Count Control Data G012 Document Control Data TRUE TRUE TRUE TRUE TRUE 1 22) R010 Delete Layer Data Remove data row from table F001 Excel Table Database < P001 Count Control Data G012 Document Control Data TRUE TRUE TRUE TRUE TRUE 1 23) W007 Add FUR Add or edit a FUR F001 Excel Table Database > P002 Functional User Requirements G009 Functional User Requirement TRUE TRUE TRUE TRUE TRUE 1 24) R011 Delete FUR Delete a FUR F001 Excel Table Database < P002 Functional User Requirements G009 Functional User Requirement TRUE TRUE TRUE TRUE TRUE 1 25) W008 Add Object Insert a row for an additional object of interest F001 Excel Table Database > P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 26) R012 Delete Object Delete an object of interest and all related data movements F001 Excel Table Database < P003 Objects of Interest G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 27) W009 Add Data Movement Insert a row for an additional data movement F001 Excel Table Database > P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 28) R013 Delete Data Movement Delete a data movement F001 Excel Table Database < P004 Data Movements G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 29) W010 Add data group Insert row for an additional data group F001 Excel Table Database > P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1 30) R014 Remove unused data groupsCheck which data groups aren't in use anymore, and delete them F001 Excel Table Database < P006 Data Groups G004 Data Group Record TRUE TRUE TRUE TRUE TRUE 1 31) X001 Delete row Delete a row from a database table F001 Excel Table Database > D002 Excel Table Edits G008 Excel Table Row TRUE TRUE TRUE TRUE TRUE 1 32) E007 Request screen refresh Depending which entry forms were used, request refresh of appropriate graphical objectsT02 Refresh F003 Graphical Display < D002 Excel Table Edits G011 Database objects changed TRUE TRUE TRUE TRUE TRUE 1 33) R015 Assess Objects' Consistency Checks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P003 Objects of Interest G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1 34) R016 Assess Data Moves' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P004 Data Movements G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1 35) R017 Assess Triggers' ConsistencyChecks consistency of table edits and alerts user and Graphical Display if something's missingF003 Graphical Display < P005 Triggers G013 Consistency Data TRUE TRUE TRUE TRUE TRUE 1 36) E008 Request screen refresh Depending which rows were added or deleted, request refresh of appropriate graphical objectsF003 Graphical Display < D001 Graphical User Interface G011 Database objects changed TRUE TRUE TRUE TRUE TRUE 1 37) X002 Refresh Objects of Interest Create or refresh functional processes, devices, applciations, and persistent data storesF003 Graphical Display > D003 Counting Sheet G001 Objects of Interest Records TRUE TRUE TRUE TRUE TRUE 1 38) X003 Refresh Data Movements Create or refresh data movements F003 Graphical Display > D003 Counting Sheet G002 Data Movement Record TRUE TRUE TRUE TRUE TRUE 1 39) X004 Position Triggers Add triggers where defined F003 Graphical Display > D003 Counting Sheet G003 Trigger Record TRUE TRUE TRUE TRUE TRUE 1 40) E009 Request count refresh Request update of functional size count when re-calculation becomes necessary in the database.T05 Display CFP F004 Count Functional Size < D003 Counting Sheet G006 Count Display Object TRUE TRUE TRUE TRUE TRUE 1 41) X005 Count CFP Apply COSMIC rules to count the functional size F004 Count Functional Size > A001 Functional Size Count G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1 42) E010 Get CFP count Show count for Entries, eXits, Reads and Writes, plus the total F003 Graphical Display < A001 Functional Size Count G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1 43) X006 Refresh CFP Count On top of sheet F003 Graphical Display > D003 Counting Sheet G007 COSMIC Count TRUE TRUE TRUE TRUE TRUE 1 CFP per Data Movement Type 10 6 17 10 Total CFP 43 Data Movements Moving Data between Rule Check Move Type 43 Functional ProcessTrigger Object of Interest Data Group Add Row Del Row Validate
  • 27. 27 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Data Groups in the COSMIC Counting Tool ●  The Total Count: ➨  Standard Excel functionality is not included in the tool count Name Label Attributes Data Owner Data Movements 1) G001 Objects ofInterestRecords All information, including link to applications, as needed for creating or modifying an objectofinterest Database Designer E002, W002, R003, R004, W008, R012, X002 2) G002 Data MovementRecord Everything that's needed to identify a data movement, including reference to origin and destination, data group, and triggers, for entry movements only. Programmer E003, W003, R005, R006, W009, R013, X003 3) G003 Trigger Record Contains all information needed to render a trigger and to determine which functional process ittriggers Programmer E004, W004, R007, R008, X004 4) G004 Data Group Record Contains all Information needed for a Data Group and for determining which data movementis using it. Programmer E005, W005, R009, W010, R014 5) G005 Graphic Colors Colors used for graphical rendering Designer E001, W001, R001 6) G006 CountDisplay Object Shape location for displaying the final count Programmer E009 7) G007 COSMIC Count Excel Tags for Entries, eXits, Reads and Writes Counter X005, E010, X006 8) G008 Excel Table Row Describes a row in an Excel table Counter E006, X001 9) G009 Functional User Requirement Requirements in GrantRule User Story format Sponsor W007, R011 10) G010 Rule EnforcementFlags Define whether COSMIC rules are strictly being enforced for existence oftriggers, and definition ofgroups Counter R002 11) G011 Database objects changed Flag indicating thatsome data in the database has changed, affecting the graphical display and thus needing a refresh Programmer E007, E008 12) G012 DocumentControl Data Layer information, purpose ofmeasurement, and authors Sponsor W006, R010 13) G013 Consistency Data Identifies items in the database tables thataren'tconsistent Programmer R015, R016, R017 Data Groups DeleteallUnusedData Groups Add Row Del Row Validate 10  Entry  (E)  +  6  eXit  (X)  +  17  Read  (R)  +  10  Write  (W)  =  43  CFP  
  • 28. 28 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Table Input in Excel ●  All tables can be edited without using forms ➨  Tables have Add Row, Del Row and Validate buttons •  Default for adding rows is bottom of table •  Missing data results in no validation and no graphical display ➨  You need to refer to the unique names for linking data ➨  There are consistency checks similar to graphical input: •  Deleting objects of interest also deletes data movements •  Deleting data movements also deletes triggers ➨  A full refresh event occurs when activating Counting Sheet ➨  Select cells to indicate where to insert or delete table rows ➨  Keep sheets always protected ●  You cannot add or delete rows outside the table interior ➨  Note that there are hidden first and last rows in the table
  • 29. 29 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Import and Export ●  Import and Export copy the following data tables ➨  Data Groups ➨  Objects of Interest ➨  Data Movements ➨  Triggers ➨  Functional User Requirements ●  References (e.g., origin, destination for data movements) refer to line numbers instead of ‘Name’ used in data tables ●  Two buttons on the ‘How to Use’ sheet allow exporting to, and importing from, a file in the XLSX format ➨  Export/import functionality be extended to XML as soon as a schema file is available Export and Import Export Count Import Count
  • 30. 30 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Limitations ●  Structure Diagrams contain ➨  Looped Data Movements, same origins and destinations •  Not yet supported ➨  Conditional areas with execution under condition only •  Not yet supported ●  Counting several applications with COSMIC ➨  You can link to other application counts but a count consolidation sheet is not available ➨  You need to customize a consolidation sheet •  Use the following Excel range names to access count results:
 CFP, CFP_E , CFP_X, CFP_R , CFP_W •  On sheet ‘Data Movements’ for each counting workbook
  • 31. 31 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Installation ●  Copy the template to your Microsoft template directory ➨  Usually C:Users<username>AppDataRoamingMicrosoftTemplates •  Or where appropriate ➨  Trust macros – in expert mode: •  File – Options – Trust Center Settings – Macro Settings:
 Enable all macros (not recommended by Microsoft) ➨  Trust macros – in enterprise mode: •  Install corporate digital certificate in VBA •  Then enable digitally signed macros only ●  No other resources are used ➨  Except standard Office 2013 libraries including PowerPoint
  • 32. 32 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Tool – Architecture NPS Priority Kano Priority AHP Priority Kano Analysis COSMIC Count Goal  Interface     Size  Interface     FUR Deployment QFD Transfer Function Cascaded  Quality   FuncGon  Deployments   Combine VoC Priority New Lanchester Story Card Deployment Planning Matrix Test Coverage Test  Interface    
  • 33. 33 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Questions?
  • 34. 34 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Troubleshoot with Office 2010 or earlier ●  Depending what your machine has, it might seem impossible to run the VBA macros, because Office 2013 now references another security package then before ●  You have to manually re-link VBA libraries – something very difficult because Excel won’t you let in but maintains some strange VBA compiler error messages ●  Recommended procedure: ➨  Delete all the VBA code displayed with error ➨  Usually you have to do that twice, until VBA allows you to access VBA – Tools – References ➨  Set the references in VBA – Tools – References correctly, as explained next slide ➨  Now undo the code deletions – the VBA code should now compile
  • 35. 35 Customer Orientation Lean Six Sigma Agile Processes Project Estimations Transfer Functions IWSM MENSURAWHERE ACADEMIC IDEAS MEET INDUSTRY PRACTICE ON SOFTWARE MEASUREMENT TOPICS Office 2013 à 2010 ●  There is a major change regarding security policy ➨  In Office 2013, authorization is via a new library: •  Microsoft Office.NET Private Object Library ➨  It used to be: •  Microsoft Office 14 Authorization Control Type Library ●  You have to manually switch References in VBA!