Lecture 4 PowerPoint

advertisement
(Spring 2015)
Instructor: Craig Duckett
Lecture 04: Thursday, April 16, 2015
Chapter 3 Summary, Teamwork
1
PHASE 1: DISCOVERY DUE: Tuesday, April 28th, uploaded to Team Web Site
and ZIPPED and uploaded to StudentRacker by Phase 1 Project Manager
Projects and Team have been selected!
Phase 2: Design due Tuesday, May 19th
2
The Team Project
Five Phase Due Dates
•
•
•
•
•
Phase 1: Discovery (200 Points) DUE TUESDAY, APRIL 28
Phase 2: Design (200 Points) DUE TUESDAY, MAY 19
Phase 3: Develop (200 Points) DUE THURSDAY, MAY 28
Phase 4: Distribute (200 Points) DUE TUESDAY, JUNE 9
Phase 5: Documentation (200 Points) DUE THURSDAY, JUNE 18
3
TEAMS
Online Team Collaboration Programs (Free)
https://asana.com/
http://www.glip.com/
https://www.trello.com/
http://www.moxtra.com/
4
Database Design for Mere Mortals
Chapter 3 Summary TERMINOLOGY
•
•
VALUE RELATED TERMS
•
Data
•
Information
•
Null
STRUCTURE RELATED TERMS
•
Table
•
Field
•
Record
•
View
•
Keys
•
•
RELATIONSHIP RELATED TERMS
•
One-to-One
•
One-to-Many
•
Many-to-Many
•
Participation
INTEGRITY RELATED TERMS
•
Field Specification
•
General Elements
•
Physical Elements
•
Logical Elements
•
Data Integrity
•
Table-Level Integrity
•
Field-Level Integrity
•
Relationship-Level Integrity
•
Business Rules
TERMINOLOGY
Value Related Terms
•
•
•
•
•
•
•
Data is raw. It simply exists and has no significance beyond its existence (in and of itself). It can exist in any form, usable
or not. It does not have meaning of itself. In computer parlance, a spreadsheet or database generally starts out by
holding data.
Information is data that has been given meaning by way of relational connection. This "meaning" can be useful, but
does not have to be. In computer parlance, a relational database makes information from the data stored within it.
Knowledge is the appropriate collection of information, such that it's intent is to be useful. Knowledge is a deterministic
process. When someone "memorizes" information (as less-aspiring test-bound students often do), then they have
amassed knowledge. This knowledge has useful meaning to them, but it does not provide for, in and of itself, an
integration such as would infer further knowledge.
Understanding is an interpolative and probabilistic process. It is cognitive and analytical. It is the process by which I can
take knowledge and synthesize new knowledge from the previously held knowledge. The difference between
understanding and knowledge is the difference between "learning" and "memorizing"
Wisdom is an extrapolative and non-deterministic, non-probabilistic process. It calls upon all the previous levels of
consciousness, and specifically upon special types of human programming (moral, ethical codes, etc.). It beckons to give
us understanding about which there has previously been no understanding, and in doing so, goes far beyond
understanding itself. It is the essence of philosophical probing.
Analytical is data that has been processed in a way that makes it meaningful. It can be shown as the result of a query,
either displayed on-screen, or printed on a report.
Null is a value that is either missing or unknown. A null value represents neither zero nor blank, as they are actual
values and can be meaningful in certain circumstances. A drawback to null values is that they cannot be evaluated by
mathematical expressions.
TERMINOLOGY
Structure Related Terms
•
Table is the main structure in a relational database. It is composed of fields and records, the
order of which is completely unimportant. It always represents a single, specific subject,
which can be an object or an event.
•
Field (also known as a column or an attribute) is the smallest structure in a relational
database. It represents a characteristic of the subject of the table.
•
Record (also known as a row or a tuple) is a structure within a table that represents a unique
instance of the subject of the table.
•
View is a virtual table that is composed of the fields of one or more tables. It draws its data
from the tables on which it is based. They are commonly implemented as saved queries.
TERMINOLOGY
Structure Related Terms
In this example, the STUDENT INSTRUMENTS View is composed of fields taken from both the STUDENTS table
and the INSTRUMENTS table. Data in the View is drawn from both tables simultaneously, based on matching
values between the Student ID field in the STUDENTS table and the Student ID field in the INSTRUMENTS table.
TERMINOLOGY
Structure Related Terms
Keys are special fields that serve a specific purpose within a table. A Primary key is a field that uniquely
identifies a record within a table. A Foreign key is the field that is used to establish a relationship between a
pair of tables.
In the following example, Agent ID is the Primary key of AGENTS because it uniquely identifies each record in
that table. Similarly, Client ID is the Primary key of CLIENTS because it also uniquely identifies each of the
table’s records. Agent ID in the CLIENTS table is a Foreign key because it is used to establish a relationship
between the CLIENTS and the AGENTS table.
TERMINOLOGY
Relationship Related Terms
Relationships establish a connection between (at least) a pair of tables. This relationship exists
when a pair of tables is connected by a Primary and Foreign Key.
Types of Relationships
One-to-One Exists between a pair of tables if a single record in the first table is related to one and
only one record in the second table.
TERMINOLOGY
Relationship Related Terms
One-to-Many Exists between a pair of tables if a single record in the first table is related to one or
more records in the second table, but a single record in the second table can be related to only
one record in the first table. This is the most common type of relationship.
TERMINOLOGY
Relationship Related Terms
Many-to-Many Exists between a pair of tables if a single record in the first table can be related to
one or more records in the second table, and a single record in the second table can be related to
one or more records in the first table. Establishing a direct connection between these two tables
is difficult because it will produce a large amount of redundant data in one of the tables.
The CourseName could have
Also been put into a separate
Table and called with a CourseID
To remove redundancy
TERMINOLOGY
Relationship Related Terms
Types of Participation
There are two types of participation that a table can have within a relationship: mandatory and
optional. If records in Table A must exist before any records can be entered into Table B, then
Table A’s participation within the relationship is mandatory. If not, it is considered optional.
Each table in a relationship has a degree of participation, which is the minimum and maximum
number of records in one table that can be related to a single record in the other table.
Consider Agents and Clients tables. If we say that an agent should have at least one client but no
more than eight, then the degree of participation for the Clients table is 1,8.
TERMINOLOGY
Integrity Related Terms
Field = Column
A field specification (also known as a domain) represents all the elements of a field. Each field
specification has three types of elements: general, physical and logical.
A field’s general elements include such items as field name, description and source table.
Physical elements include items such as data type, length, and display format. Logical elements
describe the values stored in a field, such as required value, range of values and default values.
Data integrity refers to the validity, consistency and accuracy of the data in a database. The four
types of data integrity are:
•
•
•
•
Table-level integrity ensures that the field that identifies each record within the table is
unique and is never missing its value.
Field-level integrity ensures that the structure of every field is sound, that the values in each
field are valid, consistent and accurate.
Relationship-level integrity ensures that the relationship between a pair of tables is sound
and that there is synchronization between the two tables whenever data is entered, updated
or deleted.
Business rules impose restrictions or limitations on certain aspects of a database based on the
ways an organization perceives and uses its data.
Phase 1 Discovery
A Closer Walk-Through
Phase 1 – Discovery
OVERVIEW: Gather project information from your client to create a mission statement,
mission objectives and site goals, and the data model that will provide information from the
data. Based on your research and conversation(s) with the client, create a Strategic Brief
document. Send a copy to the client and follow-up to confirm the completeness and
accuracy of this scope document.
A. ORGANIZE YOUR TEAM
Get to know your team members by compiling a contact sheet with information from each
member including an email address and a brief bio. Decide on a name for your team. Choose
project roles for each phase of the design. Record this on the team info sheet.
In order to facilitate the coordination of the team effort, each member of the team will act as
a team-lead during a different phase of the project. As a group, decide who will act as teamlead during each phase. Choose a different team lead for each phase. For groups of four or
more, your team may assign a co-lead role to two of the members.
Discuss and decide on a process that your team will use to divide up the team tasks and
report out to the team on your individual progress. You will have some regular team meeting
time in class throughout the quarter.
Phase 1 – Discovery
Phase 1 – Discovery
B. MEET WITH YOUR CLIENT
Schedule a meeting with your team’s client between now and next week to discuss the
database design. At least two members of your team need to attend the meeting. One
team member should facilitate the meeting and one member should take notes at the
meeting. Email a synopsis of the notes to the entire team and the client. Copy me on all
email exchanges with the client.
Before meeting with the client, develop a set of initial and follow-up questions to ask the
client – send these questions to the client before the meeting and include your questions
along with the client answers in your meeting notes. Be sure to request from the client all
documents, forms, sample data, business rules, or comparable database examples that
they can provide to help you understand their needs.
Develop a Strategic Brief document (see example below in Part F) to begin your data
modeling process. You’re your conversation with the client, draft a mission statement and
set of objectives for the database project. Determine the informational questions,
decisions, data processes, and potential subjects, characteristics, and relationships for your
data model.
Phase 1 – Discovery
C. DEFINE YOUR PROJECT IN A STRATEGIC BRIEF
Create/Refine a database Mission Statement and Objectives
Creating a mission statement and a set of objectives will help to keep your data model focused on the core
purpose of the project and the information that is needed to accomplish the purpose. The mission statement
describes the purpose of the database project in the broadest terms. It answers the questions:
• What is the project going to do?
• Who is the project going to reach?
• How is the project going to do it?
• Why is the project needed?
The mission statement should be no more than three or four sentences.
Determine Objectives and Users:
Create a master list of objectives, ranked by priority for your Strategic Brief. Objectives are results; they are
specific, attainable and measurable. Some possible questions to ask the client to help determine the web
application objectives are:
• What is the purpose of the database for the business or organization?
• What are the short and long-term goals for the project?
• Who uses the database information? What different types of users are there?
• Why do people need this project?
Client Review
Review the Strategic Brief with the client via an email exchange to confirm your understandings. Make
adjustments as necessary based on the client’s feedback. Repeat this process until both you and the client are
satisfied that the project is well-defined.
Phase 1 – Discovery
D. DEVELOP THE DRAFT DATA MODEL
A clear understanding of the information needs and data processes will help ensure the
completeness and effectiveness of the data design. Review the notes from the client meeting and
supporting material to make a set of informational questions that describe information important
to the project mission. List decisions, data processes, potential subjects, and their characteristics
that seem to be important to the project mission and outcomes. This data model will form the
basis of your database design.
E. FINAL SUBMISSIONS FOR DISCOVERY (DUE MONDAY, APRIL 29)
1.
2.
3.
4.
5.
The team agreement that includes a team name, ground rules, and goals for the team, along with
contact information, roles, and bios for each team member.
The typed synopsis of notes from the initial client meeting including the questions you asked, the
client’s response and follow-up email confirmation with client.
The supporting material provided by the client to help define the database project.
A set of categorized questions and decisions that outline the information that the client intends to
draw from the database.
A Strategic Brief which includes the project mission statement, a set of objectives, and database
users, the data processes, subjects, and their characteristics.
THIS WILL CONSTITUTE THE DELIVERABLES SUBMITTED FOR PROJECT_01 IN STUDENT TRACKER
It only has to be zipped and submitted once (preferably by the PHASE 1 LEAD or TEAM LEADER) 100 POINTS
ALL TEAM DOCUMENTS SHOULD ALSO BE UPLOADED SEPARATELY TO THE TEAM SECTION IN ASANA
F: Example of a Strategic Brief
Interview Guidelines
Participant Guidelines
•
•
•
Make the participants aware of your intentions.
Let the participants know that you appreciate their taking part in the interview and that their
responses to the interview questions are valuable to the overall design project.
Make sure everyone understands that you are the official arbitrator if and when a dispute
arises.
Interviewer Guidelines
•
•
•
•
•
•
•
•
•
Conduct the interview in a well-lit room, separated from distracting noise, with a large table
and comfortable chairs, and have coffee and munchies on hand.
Set a limit of 10 people or fewer for each interview.
Conduct separate interviews for users and management.
When you have to interview several groups of people, designate a group leader for each
group.
Prepare your questions prior to the interview.
If you're not very good at taking notes, either assign that task to a dependable transcriber for
each interview or get the group's permission to use a tape recorder to record the interview.
Give everyone your equal and undivided attention.
Keep the pace of the interview moving.
Always maintain control of the interview.
Mission Statements
Mission Statement Guidelines
A well-written mission statement has the following attributes:
•
•
•
•
It expresses its point succinctly and immediately.
It avoids unnecessary statements or details and is well-defined.
It avoids phrases or sentences that explicitly describe specific tasks.
It makes sense to you (the database developer) and to those for whom you are designing the
database.
The immigrant research database will support Melissa Estelle’s PhD project on people
born and raised in Ireland and now residing in US or Canada/ Washington State or British
Columbia. With this research the client is trying to look for changes in people after
migrating to Canada or America.
Mission Objectives
Mission Objective Guidelines
A well-written mission objective has the following attributes:
•
•
•
It comprises a declarative sentence that clearly defines a general task and is free from
unnecessary details.
It expresses itself in general terms that are succinct, to the point, and unambiguous.
It makes sense to you and to those for whom you are designing the database.
1. To substantiate client’s PhD project.
2. To be able to easily extract information on differences between Irish
born/raised US and Canadian residents or citizens.
3. To design the database in such a way that they remain flexible for future expansion.
TEAM PROJECT STRATEGIZE GROUPS
To Do:
•
•
•
•
•
•
•
•
•
Team Name
Team Member Info List (Names, Emails, Phone, Short Bio)
Team Leader?
Phase Leaders?
Construct Email to Send to Client to Set Up Interview Time
Construct of List of Potential Interview Questions
Who Will Conduct the Interview? Interviewer? Note Taker?
Working it Up in Team Site (or additionally something like Asana)
Document Types and Backup Plan
Projects and the Team Formations
• Bothell Youth Court
• Wants a small database to hold names/cases/dates that can push a reminder when a
particular case is scheduled to come up. Two people will be using it, both with administer
access
• School of STEM (UW Bothell)
• Current using an Excel spreadsheet to enter and track information and would love to have a
database to do this instead
• Scuba Club
• Track members, member contact info, dive sites, dive site ratings, equipment, expenses,
equipment rentals, status
• Medication Tracker
• Medications, types, dosage, times, contraindications, allergies, prescription dates
26
TEAMS
TEAM A: Bothell Youth Court
TEAM C: Scuba Club
•
•
•
•
•
•
•
•
•
Reiff Castillote *
Elena Pavlovic
Sean Probst
Lara Ramey
Eric Salman
Deborah Engelmeyer #
Sofia Khaouly
David Arzumanov
David Drake
TEAM B: School of STEM
TEAM D: Medications
•
•
•
•
•
•
•
•
•
•
Jennifer Bronson
Bill Crotteau
Matthew Ngai
Erika Savoy
Katherine Kitzmiller
Megan Atkinson
David Carlin #
Dino Cizmic
Christopher Mack
Kirk Schultz
27
TEAM WORK
TEAM TIME: PHASE 1 Project Planning
28
Download