Intro Figure - Choosing the level of detail you need Would you like ... ... just a 2-page overview of the COSMIC method? (You already know something about software size measurement.) ... an introduction to the ‘why’ and ‘how’ of software size measurement & some background on why the COSMIC method was developed? ... a more detailed introduction to the COSMIC method? (But for the full details, see the ‘Measurement Manual’) Read Chapter 4 Read Chapters 5 to 7 Read Chapters 1 to 3 For Advantages & Benefits of the COSMIC method Read Chapter 8
Intro Figure – COSMIC Documentation structure ISO 19671 Standard Introduction to the COSMIC method Measurement Manual v4.0 Real-time, Business, Data Warehouse, SOA etc Domain-specific Agile, UML*, etc Measurement Accuracy, Measurement Patterns, Approximate Measurement*, Convertibility*, etc Overviews: Quick Reference Guides Standards: Development method specific support Guidelines: Measurement application Estimating*, Accounting for NFR*, etc Case Studies: Real-time, Business, Web applications, etc
Intro Figure 4.1 - The COSMIC measurement process FUR Phase 1 Measurement Strategy Generic Software Model Phase 2 Mapping Phase FUR in the form of the Generic Software Model Phase 3 Functional size of the software in units of CFP Definition of each piece of software to be measured and of the required measurement Input from measurement sponsor Software Context Model
Intro Figure 4.2 - The four types of data movements Software being measured Boundary Functional Users Hardware devices, Other software or Humans Entries Exits Reads Writes Persistent Storage
Software Layers Hardware Middleware Layer (Utilities, etc) Intro Figure 5.1 - Typical layered software architecture for a Business/MIS computer system Middleware Layer (Utilities, etc) Operating System Layer Keyboard Driver Screen VDU Hardware Software Layers Disk Hard Disk Drive Print Printer Central Processor Database Management System Layer DBMS 1 DBMS 2 App 1 Application Layer App 2 App ‘n’
Intro Figure 5.2 - Three views of a piece of application software Application ‘A’ Application Layer UI Layer BR Layer DS Layer User Interface Component Business Rules Component Data Services Component c) Layers for SOA components of Business Rules Orchestration Layer Utility Layer b) Application ‘A’ components in a 3-layer Architecture a) View of an application ‘A’ as a whole
Intro Figure 6.1 - The relationship between events, functional users and functional processes Triggering Event causes that is moved into a FP by the FP’s Triggering Entry Boundary Functional Process Functional User to generate a data group
Intro Figure 6.2 - The structure of Functional User Requirements Functional Processes Data Manipulation Data Movement Sub-processes Theory: Principles b), c), d) Data Movements (account for data manipulation) 1 n 2 - n In practice, with Principle j)
Intro Figure 6.3 - The four types of data movements Software being measured Boundary Functional Users Hardware devices, Other software or Humans Entries Exits Reads Writes Persistent Storage
Employee Salary History Data Employee Salary History Intro Figure 6.4 - Relationships of an object of interest, data groups and data attributes Object of interest Data Attribute Data Group 1 n Principle g) Sensor Sensor Data Sensor ID Snsr. State Real-time Example Business Example Employee Employee Salary History Data Base Data ID Address Name Sal. start date Salary Employee Salary History Birth date
Intro Figure 6.5 – The intruder alarm system The embedded alarm software Persistent storage Keypad Front door sensor Power voltage detector Software Boundary Movement detectors External alarm Internal alarm 2 x LED’s Input devices (functional users) Output devices
Intro Figure 7.1 – Overview of the analysis of the functional processes Data Group Names Nos. of Data Movements Personnel System Functional Procesess Employee Base Data Employee ID Employee Salary History Error/Confirmation Message End of month 'clock tick' Employee current salary Employee totals Entries Exits Reads Writes Total Create Employee E, R, W E, W X 2 1 6 Read Employee data R, X E 3 Update Employee data 5 End of month report R Totals for Personnel System: 7 4 22
Intro Figure 8.1 - Mind map of possible uses of functional size measurements Produce measurable requirements/ specifications Control Customer/ Supplier Contract Establish and use performance Benchmarks Project ‘Scope Creep’ Improve on Projects and Maintenance & Support Measure Estimate effort and duration Size requirements = ‘Functional Size’ Client investment decision: selection Value software asset at replacement cost for Balance Sheet quality