database software creation process

35
Database Software Creation Database Software Creation Process Process Arvin Meyer, MCP, MVP [email protected]

Upload: sema

Post on 10-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

Database Software Creation Process. Arvin Meyer, MCP, MVP [email protected]. Arvin Meyer, MCP, MVP [email protected] Chief Database Architect. Process. Identify Functional Requirements Identify Performance Requirements Define Measures of Performance Define Personal Roles - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Database Software Creation Process

Database Software Creation ProcessDatabase Software Creation ProcessArvin Meyer, MCP, MVP

[email protected]

Page 2: Database Software Creation Process

Arvin Meyer, MCP, [email protected]

Chief Database Architect

Page 3: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 4: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 5: Database Software Creation Process

Indentify Functional RequirementsIndentify Functional Requirements

Identify the activities, tasks, and Identify the activities, tasks, and the actions required to achieve the actions required to achieve the stated system goals.the stated system goals.

To do that the goals of the system To do that the goals of the system must be first defined or limited.must be first defined or limited.

This is also known as a definition This is also known as a definition of scope.of scope.

Page 6: Database Software Creation Process

Identify Functional Requirements - Interview with management Identify Functional Requirements - Interview with management

1. Determine a single point of contact at the initial meeting.1. Determine a single point of contact at the initial meeting.If there are multiple people, make sure that each is responsible If there are multiple people, make sure that each is responsible

for a for a single part of the project.single part of the project.Note the names and area of responsibility of each key person.Note the names and area of responsibility of each key person.Schedule specific interview time with each of them, separately.Schedule specific interview time with each of them, separately.

2. Determine goal or focus of database.2. Determine goal or focus of database.Determine the specific problem(s) that the database is supposed Determine the specific problem(s) that the database is supposed

to to address.address.Ask for samples of any specific report output that may be Ask for samples of any specific report output that may be

required.required.

3. Discover if there are any conflicting goals (i.e. keeping data secure and 3. Discover if there are any conflicting goals (i.e. keeping data secure and freely available).freely available).The way data is accessed may be specialized for different uses. The way data is accessed may be specialized for different uses.

4. Determine key users to interview.4. Determine key users to interview.Ask managers what each key user’s responsibility is.Ask managers what each key user’s responsibility is.

5. When interviewing key users ask how they describe their 5. When interviewing key users ask how they describe their responsibilities.responsibilities.

Make note of any differences between user and manager Make note of any differences between user and manager descriptions.descriptions.

Page 7: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 8: Database Software Creation Process

Indentify Performance Indentify Performance RequirementsRequirements

Identify the performance capabilities Identify the performance capabilities required to successfully achieve the required to successfully achieve the stated system goal. stated system goal.

Page 9: Database Software Creation Process

Indentify Performance Indentify Performance RequirementsRequirements

I. ExpectationsI. Expectations1. What are the expectations of management?1. What are the expectations of management?2. What are the expectations of each of the users 2. What are the expectations of each of the users

as to how the new system will perform?as to how the new system will perform?

II. LimitationsII. Limitations1. Are there any hardware limitations that will 1. Are there any hardware limitations that will prevent these expectations from fruition?prevent these expectations from fruition?2. Are there any software limitations?2. Are there any software limitations?3. Who is responsible for addressing each of the 3. Who is responsible for addressing each of the

identified limitations?identified limitations?

Page 10: Database Software Creation Process
Page 11: Database Software Creation Process

Indentify Performance Indentify Performance RequirementsRequirements

I. ExpectationsI. Expectations1. What are the expectations of management?1. What are the expectations of management?2. What are the expectations of each of the users 2. What are the expectations of each of the users

as to how the new system will perform?as to how the new system will perform?

II. LimitationsII. Limitations1. Are there any hardware limitations that will 1. Are there any hardware limitations that will prevent these expectations from fruition?prevent these expectations from fruition?2. Are there any software limitations?2. Are there any software limitations?3. Who is responsible for addressing each of the 3. Who is responsible for addressing each of the

identified limitations?identified limitations?

Page 12: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required Infrastructure Identify the Required Infrastructure Identify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 13: Database Software Creation Process

Define Measures of PerformanceDefine Measures of Performance

Define the metrics by which the Define the metrics by which the performance of the system will be performance of the system will be assessed.assessed.

In larger corporate systems, measures In larger corporate systems, measures of performance are defined to a of performance are defined to a greater degree of specificity. greater degree of specificity.

Page 14: Database Software Creation Process

Define Measures of PerformanceDefine Measures of PerformanceDevelop a set of standards Develop a set of standards

1. 1. Determine if it is necessary to define metrics. (Small Determine if it is necessary to define metrics. (Small systems often won’t need them)systems often won’t need them)

2. 2. Can we measure whether or not this software is Can we measure whether or not this software is accomplishing its design goals?accomplishing its design goals?

Example: If we build a mailing label system, what Example: If we build a mailing label system, what percentage of labels do we allow to not have percentage of labels do we allow to not have

zip codes?zip codes?

3. 3. Determine the requirement to alter business rules if Determine the requirement to alter business rules if the goals are not met.the goals are not met.

4. 4. An experienced developer must be involved at this An experienced developer must be involved at this point to provide a realistic assessment of cost and point to provide a realistic assessment of cost and success factors. This will avoid making promises of the success factors. This will avoid making promises of the software which are not feasible or cost effective.software which are not feasible or cost effective.

Page 15: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of PerformanceDefine Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 16: Database Software Creation Process

Define Personal Roles and Define Personal Roles and Business RulesBusiness Rules

Determine what decisions and activities Determine what decisions and activities within the operation of the database will within the operation of the database will be performed by employees and which be performed by employees and which decisions are not allowed to be performed decisions are not allowed to be performed by employees. This provides the balance by employees. This provides the balance between computer technology and the between computer technology and the control that employees can exert on the control that employees can exert on the system. In smaller sized companies, this system. In smaller sized companies, this control is normally wider than in larger control is normally wider than in larger companies. This includes leaving a companies. This includes leaving a decision to the user’s control, such as decision to the user’s control, such as having input masks for dates, or perhaps having input masks for dates, or perhaps requiring that specific labor-intensive requiring that specific labor-intensive actions be performed by the computer. actions be performed by the computer.

Page 17: Database Software Creation Process

Define Personal Roles and Define Personal Roles and Business RulesBusiness Rules

I.I. Are business rules required?Are business rules required?

1.1. To what extent do we allow a person to determine To what extent do we allow a person to determine how how data is entered and which business rules are to be data is entered and which business rules are to be

enforced by the software?enforced by the software? a. Smaller companies with a stable employee a. Smaller companies with a stable employee

base base generally require fewer business rules. generally require fewer business rules.2. 2. Make sure the corporate goals are met.Make sure the corporate goals are met.3. 3. Make sure data integrity is not sacrificed if that Make sure data integrity is not sacrificed if that data is data is critical to the company operation.critical to the company operation.4.4. Users must be involved in all specification Users must be involved in all specification decisions or decisions or there is a 100% chance of error.there is a 100% chance of error.

II.II. Identify which rules are necessities, and which are “bells Identify which rules are necessities, and which are “bells and whistles”and whistles”

1.1. Create a list of all identified business rules and Create a list of all identified business rules and prepare prepare a checklist for management. a checklist for management.

Page 18: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 19: Database Software Creation Process

Define the Structure of the Define the Structure of the DatabaseDatabase

Which tables will be required. Which Which tables will be required. Which fields will be required to achieve the fields will be required to achieve the necessary output. How will those necessary output. How will those tables be accessed (queries, forms, tables be accessed (queries, forms, reports, web, etc.) reports, web, etc.)

Page 20: Database Software Creation Process

Define the Structure of the DatabaseDefine the Structure of the DatabaseMethod AMethod A

Define table structures.Define table structures.1. Outline and diagram all table structures.1. Outline and diagram all table structures.2. Define all the data fields and datatypes for those fields.2. Define all the data fields and datatypes for those fields.3. Define and diagram all relationships and rules for enforcing 3. Define and diagram all relationships and rules for enforcing

Referential Integrity.Referential Integrity.Define Form and Report objects.Define Form and Report objects.1. Count and name forms necessary to achieve desired result.1. Count and name forms necessary to achieve desired result.2. Count and name reports necessary to achieve desired result.2. Count and name reports necessary to achieve desired result.

Method BMethod B1. Review existing paper forms/reports to determine data that 1. Review existing paper forms/reports to determine data that must be captured.must be captured.2. Review existing legacy data to ascertain datatypes and 2. Review existing legacy data to ascertain datatypes and structures.structures.3. Define fields and tables that will allow building a structure to 3. Define fields and tables that will allow building a structure to

construct forms/reports.construct forms/reports.4. Define entity relationship diagrams and rules for enforcing 4. Define entity relationship diagrams and rules for enforcing Referential Integrity.Referential Integrity.Define Form and Report objects as above.Define Form and Report objects as above.

Page 21: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 22: Database Software Creation Process

Identify the Required Identify the Required InfrastructureInfrastructure

Which parts of the system will require Which parts of the system will require outside maintenance, identify the outside maintenance, identify the infrastructure that must be created infrastructure that must be created or maintained to support the system. or maintained to support the system.

Page 23: Database Software Creation Process

Identify the Required InfrastructureIdentify the Required Infrastructure

Infrastructure includes items that may not Infrastructure includes items that may not typically be considered to be part of the typically be considered to be part of the database, such as networks, backup database, such as networks, backup devices, etc.devices, etc.

An example for a web based application An example for a web based application would be making sure that the intended would be making sure that the intended users have adequate bandwidth, or that users have adequate bandwidth, or that the network is adequate to carry the the network is adequate to carry the traffic.traffic.

Page 24: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 25: Database Software Creation Process

Identify Other SystemsIdentify Other Systems

Based on the definition of the scope of Based on the definition of the scope of work, identify other systems, current work, identify other systems, current or anticipated, with which the or anticipated, with which the database design will be required to database design will be required to interact. interact.

Differences between legacy systems, Differences between legacy systems, future systems, and the database future systems, and the database under design need to be identified. under design need to be identified.

Page 26: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 27: Database Software Creation Process

Define Manpower Define Manpower RequirementsRequirements

On systems which may require 24/7 On systems which may require 24/7 access or have critical missions, how access or have critical missions, how many people will be necessary to many people will be necessary to ensure that the database remains on ensure that the database remains on line. line.

Page 28: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 29: Database Software Creation Process

Define Personnel Define Personnel RequirementsRequirements

Define the specific attributes of the Define the specific attributes of the manpower requirements. Personnel manpower requirements. Personnel factors may include abilities, skill factors may include abilities, skill levels, experience, training, security levels, experience, training, security clearances, and physical constraints. clearances, and physical constraints.

Page 30: Database Software Creation Process

ProcessProcessIdentify Functional RequirementsIdentify Functional RequirementsIdentify Performance RequirementsIdentify Performance RequirementsDefine Measures of Performance Define Measures of Performance Define Personal RolesDefine Personal RolesDefine Business RulesDefine Business RulesDefine the Structure of the DatabaseDefine the Structure of the DatabaseIdentify the Required InfrastructureIdentify the Required InfrastructureIdentify Other SystemsIdentify Other SystemsDefine Manpower RequirementsDefine Manpower RequirementsDefine Personnel RequirementsDefine Personnel RequirementsDefine Support and Training RequirementsDefine Support and Training Requirements

Page 31: Database Software Creation Process

Define Training Define Training RequirementsRequirements

Define the amount and level of Define the amount and level of instruction necessary to use the instruction necessary to use the system. Help systems can easily system. Help systems can easily account for 40% of the cost of the account for 40% of the cost of the system.system.

Page 32: Database Software Creation Process

Define Training RequirementsDefine Training RequirementsDetermine the amount and level of instruction Determine the amount and level of instruction

necessary to use the system:necessary to use the system:

1.1. While interviewing each of the users, get a While interviewing each of the users, get a “feel” for the comfort level that each has “feel” for the comfort level that each has for for computers and computer applications. computers and computer applications. Some Some users feel threatened by new users feel threatened by new applications applications and they will require more and they will require more attention and attention and training than others. Those training than others. Those users are also not users are also not ideal candidates for on-line ideal candidates for on-line training.training.2.2. How much external documentation How much external documentation (manuals, (manuals, slide or video training, etc.) will be slide or video training, etc.) will be

required? Written documentation required? Written documentation often takes often takes 40% as long to produce as the 40% as long to produce as the software itself.software itself.

Page 33: Database Software Creation Process

Other considerations include adequate resources (budget Other considerations include adequate resources (budget and manpower) required to complete the design and and manpower) required to complete the design and implementation of the project.implementation of the project.

A complete Requirements Analysis is necessary for a new A complete Requirements Analysis is necessary for a new system, but only parts of it may be necessary for system, but only parts of it may be necessary for existing systems.existing systems.

A complete Requirements Analysis should always be a A complete Requirements Analysis should always be a billable item as it produces a finished product, the billable item as it produces a finished product, the design of the database. design of the database.

There are 2 methods of achieving the final design:There are 2 methods of achieving the final design:

A. Following the steps outlined above – Generally A. Following the steps outlined above – Generally necessary for a new system.necessary for a new system.B. Working in reverse – If there is an existing set of B. Working in reverse – If there is an existing set of forms/reports that the customer is now using, or forms/reports that the customer is now using, or existing software that may be a legacy system but existing software that may be a legacy system but has salvageable data, that output can be used as a has salvageable data, that output can be used as a schema to design the framework of the new schema to design the framework of the new system.system.

Page 34: Database Software Creation Process

Set Client ExpectationsSet Client Expectations Pay on time. Pay on time. Avoid micromanaging - look for results Avoid micromanaging - look for results

not process.not process. Be specific, know what you want.Be specific, know what you want. Unless you have a very large budget, Unless you have a very large budget,

you can't have it all, you can't have you can't have it all, you can't have endless flexibility for the one time endless flexibility for the one time situations. Be focused in your goals.situations. Be focused in your goals.

Be available for questions and testing.Be available for questions and testing. Be congenial. Ensure that employees are Be congenial. Ensure that employees are

also.also. Pay on time. Pay on time.

Page 35: Database Software Creation Process

Database Software Creation ProcessDatabase Software Creation ProcessArvin Meyer, MCP, MVP

[email protected]

http://www.datastrat.com/Presentations/DatabaseCreationProcess/