trisha cummings. most people involved in application development follow some kind of methodology. ...

29
Trisha Cummings

Upload: juliet-ray

Post on 24-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Trisha Cummings

Page 2: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Most people involved in application development follow some kind of methodology.

A methodology is a prescribed set of processes through which the developer analyzes the client's requirements and develops an application.

One technique commonly used in analyzing the client's requirements is data modeling

The purpose of data modeling is to develop an accurate model, or graphical representation, of the client's information needs and business processes.

Page 3: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

The data model acts as a framework for the development of the new or enhanced application.

Data modeling is the process of creating a data model by applying a data model theory to create a data model instance.

A data model theory is a formal data model description.

A database model is a theory or specification describing how a database is structured and used. Several such models have been suggested.

Page 4: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Conceptual data models. 

Logical data models (LDMs). 

Physical data models (PDMs). 

Page 5: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

  These models, sometimes called domain models, are typically used to explore domain concepts with project stakeholders. 

On Agile teams high-level conceptual models are often created as part of your initial requirements envisioning efforts as they are used to explore the high-level static business structures and concepts. 

On traditional teams conceptual data models are often created as the precursor to LDMs or as alternatives to LDMs. 

Page 6: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

  LDMs are used to explore the domain concepts, and their relationships, of your problem domain. 

This could be done for the scope of a single project or for your entire enterprise. 

LDMs depict the logical entity types, typically referred to simply as entity types, the data attributes describing those entities, and the relationships between the entities. 

LDMs are rarely used on Agile projects although often are on traditional projects (where they rarely seem to add much value in practice).

Page 7: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

  PDMs are used to design the internal schema of a database, depicting the data tables, the data columns of those tables, and the relationships between the tables. 

PDMs often prove to be useful on both Agile and traditional projects and as a result the focus of this article is on physical modeling.

Page 8: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Common models include: Hierarchical model Network model Relational model Entity-relationship Object-Relational model Object model Associative Concept-oriented Entity-Attribute-Value Multi-dimensional model Semi-structured Star schema XML database

Page 9: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

When data modeling, we are structuring and organizing data.

These data structures are then typically implemented in a database management system.

In addition to defining and organizing the data, data modeling will impose (implicitly or explicitly) constraints or limitations on the data placed within the structure.

Managing large quantities of structured and unstructured data is a primary function of information systems.

Data models describe structured data for storage in data management systems such as relational databases.

Page 10: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Entity Relationship Diagrams are a major data modelling tool and will help organize the data in your project into entities and define the relationships between the entities.

This process has proved to enable the analyst to produce a good database structure so that the data can be stored and retrieved in a most efficient manner. 

Page 11: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Entity Relationship Attribute

 

Page 12: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

A data entity is anything real or abstract about which we want to store data.

Entity types fall into five classes:

roles, events, locations, tangible things or concepts.

Page 13: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

A data relationship is a natural association that exists between one or more entities.Employees process payments. Cardinality defines the number of

occurrences of one entity for a single occurrence of the related entity. an employee may process many payments but

might not process any payments depending on the nature of her job. 

Page 14: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

A data attribute is a characteristic common to all or most instances of a particular entity.

Synonyms include property, data element, field. Name, address, Employee Number, pay rate

are all attributes of the entity employee. An attribute or combination of attributes

that uniquely identifies one and only one instance of an entity is called a primary key or identifier. Employee Number is a primary key for

Employee. 

Page 15: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Identify Entities Find relationships Draw a rough ERD Fill in cardinality Define primary keys Draw key based erd Identify attributes Map attributes Draw Fully Attributed ERD Check Results   

Page 16: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

A company has several departments. Each department has a supervisor and at

least one employee. Employees must be assigned to at least one,

but possibly more departments. At least one employee is assigned to a

project, but an employee may be on vacation and not assigned to any projects.

The important data fields are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee number and a unique project number.

Page 17: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

The entities in this system are Department, Employee, Supervisor and Project.

One is tempted to make Company an entity, but it is a false entity because it has only one instance in this problem.

True entities must have more than one instance. 

Page 18: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

  Department Employee Supervisor     Project

Department   is assigned  run by   

Employee belongs to     works on

Supervisor runs      

Project   uses   

We construct the following Entity Relationship Matrix: 

Page 19: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

We connect the entities whenever a relationship is shown in the entity Relationship Matrix. 

Page 20: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

From the description of the problem we see that:  Each department has exactly one supervisor. 

A supervisor is in charge of one and only one department. 

Each department is assigned at least one employee. 

Each employee works for at least one department. 

Each project has at least one employee working on it. 

An employee is assigned to 0 or more projects. 

Page 21: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through
Page 22: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

The primary keys are Department Name, Supervisor Number, Employee Number, Project Number.

Page 23: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

There are two many-to-many relationships in the rough ERD above, between Department and Employee and between Employee and Project.

Thus we need the associative entities Department-Employee and Employee-Project.

The primary key for Department-Employee is the concatenated key Department Name and Employee Number.

The primary key for Employee-Project is the concatenated key Employee Number and Project Number

Page 24: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through
Page 25: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

The only attributes indicated are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee NUMBER and a unique project number. 

Page 26: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Attribute    Entity    Attribute          

Entity

Department Name      

Department Supervisor Number      

Supervisor

Employee Number        

Employee Supervisor Name      

Supervisor

Employee Name        

Employee Project Name         

Project

    Project Number        

Project

Page 27: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through
Page 28: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

Look at your diagram from the point of view of a system owner or user.

Is everything clear? Check through the Cardinality pairs.

Also, look over the list of attributes associated with each entity to see if anything has been omitted. 

Page 29: Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through

http://www.islandnet.com/~tmc/html/articles/datamodl.htm

http://en.wikipedia.org/wiki/Database_model

http://www.agiledata.org/essays/dataModeling101.html

http://www.infocom.cqu.edu.au/Courses/spr2000/95169/Extra_Examples/ERD.htm