The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale...

16
The Devil in the Data a gruesome tale .....of software development Mike Goodland

Transcript of The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale...

Page 1: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

The Devil in the Dataa gruesome tale

.....of software development

Mike Goodland

Page 2: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

The Consultant Physician: Mr Smith

2©Metadata Training

Page 3: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

The Hospital IT Director

Patient

Administration

Ward

Treatments

Pharmacy

Pathology

Theatre

Management

Clinical Staff

Management

GP

3©Metadata Training

Page 4: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Mr Smith’s request

Dear IT Director,

Please order 30 iPads; one for each doctor who works for me on the wards. Each iPad will be linked to an electronic file which the IT department will hold.

A doctor can list all the wards in the hospital. Each ward would have its own screen and by tapping, the doctor would be able to list all patients in the ward, tapping on the patient name would bring-up patient details showing all drugs and treatments prescribed in the last five days. A doctor can create a patient’s prescription - this is stored and fired-off to the pharmacy system.

Many thanks

Mr Smith (Consultant Physician)

• List out some functional requirements for this solution. We use the verb noun format (e.g. Book Training Course)

Page 5: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Some Functional Requirements

• Display all wards

• Display one ward and its management

• Display patients in ward

• Create prescription for patient

• Display patient prescriptions in last five days

• Others implied: Create ward, Create patient, Modify ward, Modify patient...

5©Metadata Training

Page 6: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

I need 30 iPads to show treatments and linked to

the Pharmacy system

It can go into next years budget - need to investigate how it integrates with our other new systems...maybe

1 year?

Huh...not that hard...young Bart Smith could fix it in a week or

two

The Conversation

6©Metadata Training

Page 7: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

The Geek

Bart, Mr Smith’s nephew

1st year BSc Computer Science

PHP, MySQL

Give me 3 weeks and an

iPad

7©Metadata Training

Page 8: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

8

Page 9: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

2 months later installed....

6 months later....data (from Hell)

9

Any problems with this data?

©Metadata Training

Page 10: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Attributes• Smallest unit of system information of independent significance

– Atoms of business data

• Attributes often need to be fully defined

– Name, description, format, range of values, validation rules, method of derivation

– Naming and documentation standards must be decided

• Part of functional specification, wireframes, screen designs, report layouts, forms design, system interfaces as well as database design

Attribute (Type)

patientSurname

patientID

dateOfBirth

Attribute Occurrence (or value)

Moneybags

Penniless

1234

1235

23/7/1953

16/8/1958

©Metadata Training

Page 11: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Classes and Objects

Ward

No.

Ward

Name

Type Number

of beds

3

11

10

Nightingale

Fleming

Barnard

Medical

Medical

Surgical

8

12

21

Ward

• Classes (entities) become a

database Table

• Object = Instance = Occurrence = Row in Table

• a Class is a type thing representing many Objects sharing the

same Attribute types (and Operations)

• information systems and their classes:

– Library - books, borrowers, loans, reservations

– Personnel - employees, jobs, grades, skills

– Hospital - patients, wards, doctors, prescriptions

Ward

wardID

wardName

wardType

noBeds

©Metadata Training

Page 12: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Links between Objects

• Objects are linked to other

objects

– Moneybags is treated in Ward 10

• Can name at both ends:

– A ward treats zero or more

patients

– A patient is treated in zero

or one wardA. Foot

S. Bottom

etc

Wards Patients

Ward 10

M. Moneybags

S. Head

B. Leg

P. Hand

etc

Ward 11

©Metadata Training

Page 13: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Associations between Classes

• ‘One-to-Many’ association in that one

ward object can have many patient

objects linked

• 0… * = 0 to many, 0…1 = 0 or 1

• Can name at both ends:

– A ward treats zero or more

patients

– A patient is treated in zero or one

ward

Patient

patientID

patientSurname

patientDOB

wardID

Ward

wardID

wardName

wardType

noBeds

0..*

0..1treats

is treated in

©Metadata Training

Page 14: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Hospital Class Model Improvedbut grossly simplified

©Metadata Training

Patient

patientID

patientSurname

patientDOB

wardID

Ward

wardID

wardName

wardType

noBeds

0..*

0..1

Prescription

Item

dateTimePresc

dosage

frequency

patientID

drugCode

doctorID

Drug

drugCode

drugName

given>

0..*

1

contains>

0..*

1

Doctor

doctorID

doctorSurname

responsible for<0..*

1

given by>

1

0..*

Page 15: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Key Points

Attributes need to be clearly defined and documented

– Not just a database admin (DBA) job

– Part of functional specifications

Data must be organised

– Attributes grouped into interlinked Classes

– Models / Diagrams give big picture and detail

– Enable testing of reporting requirements

– Basis for database design

Data must be understood by business analysts

– Not just a functional / process view

15©Metadata Training

Page 16: The Devil in the Data - The International Institute of ... · The Devil in the Data a gruesome tale ... – Agile courses including AgileBA and Prince2 Agile ... Slide 1 Author: mike

Thank You

Please visit metadatatraining.co.uk for

– Data Modelling courses

– Other Business Analysis courses leading to the BCS BA

Diploma and the IIBA CBAP

– Agile courses including AgileBA and Prince2 Agile

16©Metadata Training