Реферат: IS1024 Project Team 7
IS1024
Project Team 7
David Azzolina
Philip Boggs
Brian Defranco
Bryce Foster
Mike Smolenski
Mark Wimer
The Beverage Company Incorporated Data Warehouse System
BEVDOT Database Warehouse System
14th, April 2009
Problem/Opportunity Statement #4
Your team works in the IT division of The Beverage Company, Inc. The company produces beverages for sale to other businesses. The financial department wants to track, analyze, and forecast the sales revenue across geographic regions on a periodic basis for all products sold. You already have standard queries of the sales data. However, these queries add to the load on your operational database. Also, users sometimes ask for additional ad hoc queries of the data, based on the results of the standard queries. As a result, senior management at the company has decided to create a data warehouse for the sales data. A data warehouse is a database that contains data that has been cleansed and transformed from an operational format (Create, Read, Update, Delete (CRUD)) into an informational format (user query and report-centric.) Your team’s responsibility is to come up with an overall software solution to address this business opportunity.
^ Document History/Revision Record
Revision #
Date
Author(s)
Revision Notes
1.0
2/24/09
David Azzolina, Philip Boggs, Bryan Defranco, Bryce Foster, Mike Smolenski, Mark Wimer
Initial draft
1.2
3/12/2009
B. DeFranco
Initial release – draft (Section 3)
1.3
3/15/2009
M. Smolenski
B. Foster
P. Boggs
Initial interviews
Use-case realization
Initial features listed
1.4
3/25/09
M. Wimer
New use cases
1.5
3/28/09
M. Wimer
Additional Use Cases
2.0
4/2/2009
M. Smolenski
P. Boggs
B. Foster
Add Workshop information
First draft of Actors and use cases
Additional features added
Develop Features for use-case
4/7/2009
M. Wimer
Initial Draft (Section 5)
2.1
4/10/2009
B. DeFranco
Add Table of contents.
Add Section 13
2.2
4/12/2009
M. Smolenski
B. Foster
M. Wimer
Rework of actors and use cases
Develop test-cases for use-cases
Completing Use Cases and Supp Specs
2.3
4/11/2009
M. Wimer
Finalizing Use Cases
2.4
4/13/2009
P. Boggs
M. Wimer
Rework of use cases and prioritization
Combined Both SS’s and Modified
2.5
4/14/09
D. Azzolina
Final draft
^ Table of Contents
Fishbone Diagram
Current System is overloaded!
Comments: The Fishbone Diagram shown above is the first of the Total Quality Management (TQM) tools we used to determine the underlying root cause of the problem statement given to us by senior management. We analyzed cause-and-effect and revealed the causes and key relationships from group brainstorming sessions. The “bones” of the diagram include problems arising among the system, from the lack of reports, from the lack of space, and from the inability to analyze sales data. This diagram gave us crucial insight into our system’s process behavior, and led us into early development of our problem statement. We determined that the main cause was overload on the system.
Pareto Bar Chart
Comments: The Pareto bar chart represents the main problem of overload on the system as defined in the fishbone diagram. We took this root problem of an overloaded system and used it to build a Pareto bar chart with the purpose of further determining the underlying root cause and as a stepping stone in coming up with our own problem definition, and also to highlight the most important cause, or the most frequent reasons for senior management’s complaints.
We found that the highest occurring defect was the limited amount of storage space available (50% of the problem). Then, it was obsolete hardware/software (30% of the problem). The next most common defect was data that had not been cleansed and transformed from an operational format into an informational format (25% of the problem). And finally, employees’ acting on the system whose performance was not meeting the required metrics made up only a small parcel of the overarching problem (5% of the problem).
Developing the Problem Statement
Comments: Finally, we put together all of the results of our evolving TQM techniques and used the results to come up with our very own problem definition as this chart shows. This chart illustrates the steps that we took as a group to logically step through our understanding of the root cause, and displays the intermediary problem going back to the original problem given to us by senior management in the problem statement.
Users and Stakeholders
Users Stakeholders
The Financial Department Senior Management
The Sales Department Our Customers
The Marketing Department All Beverage
Company Incorporated
Stock Holders
The Shipping Department
IT (Information Technology) Dept.
Problem Statement
Element Description
The problem of… Insufficient resources.
Currently the legacy
system delivers only
operational data that
does not track, analyze
and forecast sales
revenue.
Affects… Senior Management,
Financial, Sales,
Shipping, and
Marketing departments.
And results in… Time consuming
queries. Data that
is not generated into
reports.
Benefits of a solution… Productivity (Time
management/Fast
queries). Generation
of useful reports. Sales
forecast and targeting.
Comments: Our problem definition was agreed upon as a group and is summed in the problem of insufficient resources. This problem involves taking the current legacy database system and doing something to deliver informational data. These changes will affect all of our users and stakeholders. The results will pay off over time and furthermore we will be greatly benefitted by the new system in that we will be able to forecast and target the market based on our sales data.
Comments: This is our compiled list of users and stakeholders.
Defining Solution System Boundary
^ Direct interactions with BevDOT
-Legacy System - Sales Department
-Shipping Department - Financial Department
-Marketing Department
Identify Constraints on Solution
Users Stakeholders Rationale
Equipment Budget
Simple system cost, no new client hardware
Cost control. Maintenance.
Technology
Solution must be a Database Warehouse. Solution must use current Legacy database.
Increased productivity and profitability.
Security
Any sensitive customer or user data must be protected and secure.
Prevent information leak, secure company assets.
Operational
Backed up copies of sales revenue will remain on the Legacy database system for up to 6 months.
High risk of data loss.
Comments: Our constraints are all associated with variables such as Equipment and cost, environment and data security. And all of our reasoning was efficiently justified with critical thinking.
Introduction
Purpose
The purpose of this section was to elicit and organize the needs of the stakeholders for the BevDot System. The interviews will show what each person and department wanted to see in this system and them will be organized into features and high level use cases. These documents will go though the step by step process; discussions, the workshop and the questionnaire.
2.1 Elicit Stakeholder Request
The interview
The Following is the questions that were taken into each interview. While each interview started the same, it was expected that each interview would end in different directions based on stakeholder responses.
Questions*
Name?
Job title?
What are your key responsibilities?
How is success measured?
For what problems do you lack solutions?
Why does this problem exist?
How would you like to solve it?
Who uses the current system
What is their educational and computer background?
Are additional applications in use that is relevant to the application?
What do you expect out of this product?
What kind of user help do you need?
What are your expectations of performance and reliability?
*References Managing Software Requirements, Second Edition, Dean Leffingwell and Don Widrig
The following people were interviewed From Beverage Company Inc.
Dave Smith, CIO
John Bell, CFO
Michael Davis, Senior Manager of Marketing
Jen Jones, Senior Manager of Sales
Don King, IT Manager
Bella Mathis, Head of Shipping
The following are the full interviews of each person.
Dave Smith
CIO
“I oversee all information systems for the company”
“I find that as long as all systems are running well the company runs like a well oiled machine”
“Our current system Runs Slow”
“The system is overloaded. There are too many users on it and it takes too long to get the information that our people want.”
“We need a database warehouse that allows us to spread out the usage of both systems.”
“Marketing, sales and the senior management some of the time.”
“Most have a bachelor’s degree, but have only a basic understanding of computers.”
“Just the standard database programs”
“I expect to see reporting of the information inputted into the warehouse”
“Standard online and written texts.”
“I want to see 24 hour availability with only 1% downtime”
John Bell
CFO
“I oversee all financial transactions, the sales and market departments”
“Increases sales revenue”
“I want to see sales forecasting reports and We need to be able to create our own reports”
“Our current system is limited”
“Increased functions in the new system”
“Most of the people in both departments
“bachelors’ degrees, basic computer knowledge”
“Not that I am away of”
“More reports”
“Any training plus an instruction book”
“As long as it works that what I want”
Michael Davis
Senior Manager of Marketing
“I oversee the Marketing department”
“Good response to our marketing campaigns”
“We need to see sales reports based on a particular region’
“Our current system does not allow us to see these kind of reports”
“Add this as a function of a new system”
“Most of my staff uses the current system”
“Most of my people have a bachelors’ degree and basic computer knowledge”
“No Idea”
“Better reports”
“Good training of the system”
“As long as if runs during business hours I’m good”
Jen Jones
Senior Manager of Sales
“I oversee the entire sales department”
“Increasing sales”
“We need to see monthly, quarterly or yearly reports”
“Current system sucks”
“More reporting”
“most of my staff uses the Current system”
“High school diploma or greater and have a typical understanding of computers”
“ummm….no clue”
“Better reporting of sales numbers”
“I just need to know where to click”
“Make it work”
Don King
IT Manager
“I run to IT department”
“I am happy as long as everything is running”
“I would like to see how well the system is running”
“The current system does not have the functionality that it needs”
“Increased functionality in the database will allow us to check efficiency also it would be a benefit for us if we have an ETL program that will automatically retrieve the data from the old system and place it in the database warehouse”
“All of my staff services the current system at some point or another”
“bachelors or better with solid computer skills”
“Just the usual Oracle based database program”
“Efficiency”
“I won’t need too much”
“We will keep it running”
Bella Mathis
Head of shipping
“I oversee all parcels in and out of the company”
“Everything get where its goin’ on time”
“I need to see where my parcels have gone”
“The current system does not show this information to us’
“Be able to print this kind of report when I need to”
“None of my people do”
“High school mostly with basic computer skills”
“No idea”
“Reports”
“As much as possible”
“I’m happy as long as it works”
After talking with each of these people the notes from the interviews were reviewed and the following statements were taken from them. These statements were found important in determining the system features for the BevDot Database warehouse.
Dave Smith
“Our current system runs too slow.”
John Bell
“I would like to see sales forecasting reports”
“We need to be able to create our own reports”
Michael Davis
“We need to see sales reports based on a particular region”
Jen Jones
“I need to see monthly, quarterly or yearly reports”
Don King
“It would be a benefit for us if we have an ETL program that will automatically retrieve the data from the old system and place it in the new database warehouse”
“I would like to see how well the system is running”
Bella Mathias
“I need to see where my parcels have gone”
^ Requirements Workshop
After we met with some of the key people in different departments we put together a requirements workshop. We got together people from different departments put them together and discussed the task at hand. The workshop consisted of two days worth of meeting. It included brainstorming sessions, feature definitions and idea reduction and prioritization.
During this workshop we found that some ideas were the same as those that we got from the interview, however, we also got some other ideas that were new. After sorting through everything we found three new points that would lead to features.
Graphical representation of source data
Error handling
User-Friendly GUI
Questionnaire
The questionnaire was sent out to people in different departments that were not able to attend the requirements workshop. It was an attempt to elicit and more features for the system. The questionnaire contained the same questions that the interviewer had with him. We received very few of the questionnaires back and the ones that we did contained the same ideas from sections a and b.
Section 2.2 Determine System Features
After all the time was spent speaking with various people and getting responses to our questions we came up with a list of features that the system would need in order to satisfy all of the stakeholders for the system. The following is the features for BevDOT.
Reports
Ad-hoc
Sales Forecasting
Regional Sales
Seasonal Sales
Tracking
Efficiency
User-friendly GUI
Database Warehouse
Periodic Auto Uploads From Legacy System (ETL)
Extract Data
Auto Validation
Transform Data
Load Data
Manual Validation of Data from Legacy System
Error Handling
Graphical representations of Reports
Section 2.3 Finding Actors and Use cases
There are four main actors for BevDOT
The Legacy System – it will be responsible for interfacing with BevDOT to upload new data into the warehouse. It will be the primary actor for the ETL process
The Financial Department – this includes two groups. Marketing and Sales. They will be the primary actors for most of the reports.
The IT Department – They will responsible for maintaining and updating BevDOT. They will print the System Efficiency Reports. They also will be responsible for manual validation of any data that is kicked out of the ETL process.
The Shipping Department – They are the primary actors for the Tracking Reports.
Uses Cases
The following are the use cases that will be needed in order to complete the system.
Generate Reports
Ad-hoc
Sales Forecasting
Regional Sales
Seasonal Sales
Tracking
System Efficiency Reports
The DBA will be able to periodically check the amount of system errors, system load and other important system information.
Manual Validation
The IT Department will manually validate any information that is kicked out of the ETL process
Generate Graphs of Reports
This is for all reports including efficiency reports. The user will be able to have graphs made for presentational or other purposes.
Retrieve Data from Legacy System
ETL Process
Extract
Validate
Transform
Load Data
Use Case Diagram – First Iteration
Use Case Diagram – 2nd Iteration
^ List of use cases:
UC #1 – Extract Data
UC #2 – Validate Data
UC #3 – Manual Validate Data
UC #4 – Transform Data
UC #5 – Load Data
UC #6 – Error Handling
UC #7 – Generate Reports
UC #8 – Ad Hoc Report
UC #9 – Create Graphs
Use Case #1.0
Use Case Name: Extract Data
Description: Initiates the ETL process for transferring data from the operational format legacy system to the informational format BevDOT data warehouse.
^ Scope: BevDOT System
Level: Batch Process
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions: BevDOT system has loaded the data acquisition and extraction rules from external file.
Success Guarantee (Postcondition): Required data is retrieved from Legacy System and passed to Validate Data1
Main Scenario (Basic Flow):
BevDOT system connects to Legacy System using ODBC over TCP/IP
Legacy System authenticates BevDOT system
3. BevDOT system generates SQL statements based on loaded rules, and the date the last extraction was performed.
4. BevDOT System submits query to Legacy System
5. Legacy system begins return of requested data
6. BevDOT System performs ValidateData1
7. BevDOT System checks if more data is available from Legacy system
8. BevDOT System disconnects from Legacy system
Technology and Data Variations: Data extraction rules are specified outside of BevDOT, and define the data to retrieve. The rules file will also define table formats of Legacy system to facilitate ability to reconfigure if Legacy database structure changes in the future.
Use Case #2.0
Use Case Name: Validate Data
Description: Ensures data integrity. Routes inconsistent data to be held in temporary tables for Manual Validation
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
1. BevDOT System is authenticated with Legacy System
2. A data chunk has been extracted.
3. Validation rules have been loaded from external file.
Success Guarantee (Postcondition): Required data chunk is validated and passed to Transform Data
Main Scenario (Basic Flow):
BevDOT System applies rules from external configuration.
BevDOT System performs Transform Data
Extensions:
1a. Upon failure of validation algorithm
BevDOT System saves the questionable data in temporary storage for manual review
*a. Upon detection of system failure
1. BevDOT System performs Error Handling
Return error code to Extract Data
Technology and Data Variations:
A data chunk is a sufficient amount of data to perform batch validation, transformation, and storage in data warehouse.
Special Requirements:
Validation rules will contain checks for null values, dates out of range, orphaned records, and any other items the DBA requires for successful transformation. This external configuration can be changed as needed.
Use Case #3.0
Use Case Name: Manual Validate Data
Description: DBA Corrects data anomalies received from Legacy Database
Scope: BevDOT System
Level: User Goal
Primary Actor: DBA
Stakeholders and Interests: IT Department, DBA
Preconditions:
User is logged on to BevDBW system, and has entered Manual Validation screen
Validation rules are loaded from external file
Success Guarantee (Postcondition): Data is successfully corrected and passed to Transform Data
Main Scenario (Basic Flow):
BevDOT System displays questionable data from temporary storage
User corrects data abnormalities
BevDOT System validates data using validation rules
BevDOT System performs Transform Data
Extensions:
3a. Upon failure of validation algorithm
1. BevDOT System displays data that did not pass validation
BevDOT System resumes at step 1
*a. Upon detection of system failure
1. BevDOT System performs Error Handling
Technology and Data Variations: None
Special Requirements:
Validation rules will contain checks for null values, dates out of range, orphaned records, and any other items the DBA requires for successful transformation. This external configuration can be changed as needed.
Use Case #4.0
Use Case Name: Transform Data
Description: Data is cleansed and transformed from an operational format, into an informational format consistent with BevDOT data warehouse
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
BevDOT System is authenticated with Legacy System
A data chunk has been Extracted and Validated.
Transformation Rules have been loaded from external file.
Success Guarantee (Postcondition): Required data chunk is cleansed and transformed and passed to Load Data
Main Scenario (Basic Flow):
BevDOT System applies transformation algorithm to data.
BevDOT System performs Load Data
Extensions:
*a. Upon detection of system failure
1. System performs Error Handling
Return error code to Validate Data
Technology and Data Variations:
A data chunk is a sufficient amount of data to perform batch validation, transformation, and storage in data warehouse.
Transformation algorithm is based on loaded rules defined external to the BevDOT system. These rules may be changed for future needs.
Use Case #5.0
Use Case Name: Load Data
Description: Data is loaded into tables in the BevDOT data warehouse in a manner consistent with existing information data format
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
1. BevDOT System is authenticated with Legacy System
2. A data chunk has been Extracted, Validated, and Transformed.
3. BevDOT system has loaded the configuration rules from external file.
Success Guarantee (Postcondition): Required data is stored in data warehouse tables
Main Scenario (Basic Flow):
BevDOT System generates SQL statements based on configuration file
BevDOT System initiates transaction
BevDOT System writes data to data warehouse tables using SQL
BevDOT System commits changes
Technology and Data Variations: Data Loading rules are specified outside of BevDOT. The rules file will define table formats of BevDOT system to facilitate ability to reconfigure if BevDOT database structure changes in the future.
(creator: Mark Wimer)
Use Case #6.0
Use Case Name: Error Handling
Description: Error Handling use case will perform the appropriate actions if an abnormal error occurs within the system’s scope of performance.
Scope: BevDOT
Level: System Goal
Primary Actor: Database Administrator, System Administrator
Stakeholders and Interests: Senior Management, IT Department
Preconditions:
BevDOT is performing a system function
System error occurs
Success Guarantee (Postcondition):
BevDOT successfully receives, codes, and logs system errors for later retrieval.
Main Scenario (Basic Flow):
Legacy system sends handshake request to BevDOT
BevDOT connects to Legacy System
Legacy system sends error report(s) to BevDOT
BevDOT disconnects from Legacy System
BevDOT assigns incremental error code to each error report
BevDOT logs errors in a flat file
The use case on this page was created by Mark Wimer
(creator: Mark Wimer and Philip Boggs)
Use Case # 7.0
Use Case Name: Generate Reports
Description: Serves as the initial reporting interface for users of the BevDOT system to generate reports based on existing BevDOT data.
^ Scope: BevDOT
Level: User Goal
Primary Actor: Sales, Marketing, Finance, Shipping, and IT departments.
Stakeholders and Interests: Sales, Marketing, Finance, Shipping, and IT departments – will use this to generate various reports for data contained within BevDOT.
Senior management - will use reports to set and track goals at the company, division, and country level to anticipate trends and changes in the market over time to improve forecasting, and to make executive decisions based on product demand.
Preconditions: User is logged into the system. Database must be established with minimum of one (1) record.
Success Guarantee (Postcondition): A report is generated.
Main Scenario (Basic Flow):
1. System displays operations options on the GUI interface.
2. User chooses the generate report option.
3. System displays a report type variant screen.
4. User selects a report type from the menu.
5. System queries BevDOT for report-specific data.
7. BevDOT returns data to System.
8. System displays data in spreadsheet format.
9. System presents options to print results or export results.
Use Case #8.0
Use Case Name: Generate Ad-Hoc Report
Description: Gives users ability to specify parameters to craft report output.
Scope: BevDOT System
Level: Sub function of Generate Reports
Primary Actor: Sales person, Marketing Agent, Accountant
Stakeholders and Interests: Senior management - will use reports to set and track goals at the company, division, and country level to anticipate trends and changes in the market over time to improve forecasting, and to make executive decisions based on product demand.
Preconditions: User is logged into the system. Reports menu is displayed.
Success Guarantee (Postcondition): Report is generated, critiqued to the users’ needs.
Main Scenario (Basic Flow):
User chooses ‘Custom Reporting’ from the menu.
System presents options for the user to choose a saved configuration, or create a new one
User chooses ‘create new’
System presents options screen for the user to select and/or key-in values
User selects desired options and enters needed criteria.
System checks for incomplete or improper specification
System generates query from the users configuration.
System queries data warehouse and displays results
System presents options to print, save, save configuration, generate graph, quit
Extensions (Alternative Flows):
2a. Upon selection to use saved configuration,
System presents user with list of saved configurations
User chooses the desired configuration from the menu
Skip to step 7.
6a. Upon detection of bad spec:
System informs user of the fields improperly or not filled
System resumes at step 4
9a. Upon selection to print
System sends the report to the print spooler.
System presents Reports menu
9b. Upon the selection to save
System writes the query results to an Excel compatible file
System resumes at step 9
9c. Upon selection to save configuration
System prompts for input of a name for the custom configuration
User enters a name for the custom configuration
System saves the query criteria in the database
System resumes at step 9
9d. Upon selection to generate graph
System Performs Generate Graph
System resumes at step 9
9e. Upon selection to quit
1. System presents the Reports menu
*a. Upon detection of system failure:
Present failure message to user.
Generate error message and send to IT dept error logger
Restart main menu, step 1
Special Requirements: None
Technology and Data Variations: None
Frequency of Occurrence: As needed
(creator: Mark Wimer and Bryan Defranco)
Use Case #9.0
Use Case Name: Create Graphs
Description: Gives users ability to create graphs in conjunction with existing BevDOT reports and previously saved ad-hoc reports. Users will use a 3rd party graphing tool to interpret BevDOT data for graph generation
^ Scope: BevDOT System
Level: Sub function of Generate Reports
Primary Actor: Sales person, Marketing Agent, Accountant, System Administrator, Database Administrator
Stakeholders and Interests: Sales, Marketing, Finance / Accounting, System Administrators, Database Administrators – will all have access to create graphs
Preconditions:
User is logged into the system.
Reports menu has been accessed and is displayed.
Success Guarantee (Postcondition): Graph is generated based on existing BevDOT reports, or previously saved ad-hoc reports.
Main Scenario (Basic Flow):
1. User chooses the ‘Graph Data’ option.
2. System displays a ‘Graph Type’ selection screen.
3. User selects a graph type from the available options.
4. System presents options to print results, export results, or quit.
[Bryan DeFranco]
Introduction
1.1 Purpose
The purpose of this document is to define requirements of the BevDOT system. This Supplementary Specification lists the requirements that are not readily captured in the use cases of the use-case model. The Supplementary Specifications and the use-case model together capture a complete set of requirements on the system.
1.2 Scope
This Supplementary Specification applies to the BevDOT System which will be developed by the Beverage Company, Inc. IT department. The IT department will develop this client-server system to interface with the existing legacy database system.
BevDOT system will give users needed information previously not redily available. BevDOT system will reduce the load on the existing Legacy system.
This specification defines the non-functional requirements of the system; such as reliability, usability, performance, and supportability as well as …
^ 1.3 References
[References to be added in final supplementary specification]
[Philip Boggs]
Functionality
2.1 System Error Handling
All system errors shall be logged. Non-fatal errors will cause the session to restart at the best previous point. Fatal system errors shall result first in a system halt, then an orderly shutdown of the system.
The system error messages shall include a text description of the error, the operating system error code (if applicable), the module detecting the error, and a date/time stamp. All system errors shall be retained in the Error Log Database.
[Philip Boggs]
3. Usability
This section lists all of those requirements that relate to, or affect, the usability of the system.
^ 3.1 Operating System Compliance
The desktop user-interface shall be platform independent. The minimum operating system requirements shall be Microsoft Windows XP, Linux kernel 5.1, or Mac OS X 10.3.
3.2 Design for Ease-of-Use
The user interface of the data warehouse shall be designed for ease-of-use and shall be appropriate for a computer-literate user community with a minimal level of training on the System.
[Philip Boggs]
^ 4. Reliability
This section lists all reliability requirements.
4.1 Availability
The data warehouse shall be available 99% during normal business hours. It will also be available outside of business hours subject to SS item #9
^ 4.2 Mean Time Between Failures
Mean Time Between Failures shall exceed 500 hours.
[Philip Boggs]
5. Performance
The performance characteristics of the system are outlined in this section.
5.1 Simultaneous Users
The system shall support up to 500 simultaneous users against the central database at any given time, and up to 200 simultaneous users against the local servers at any one time.
^ 5.2 Database Access Response Time
The BevDOT system shall respond in a time of no longer than 2 seconds during normal transactional operations.
[Mark Wimer]
6. Supportability
6.1 Software Updates and Maintenance
To provide as much security as possible,. The database itself will not be connected to any external connections except for occasional software updates and maintenance, at which point a system admin will enable such a connection. Any off-site access must be done through a VPN to the legacy system.
[Bryan DeFranco]
^ 7. Design Constraints
7.1 Legacy System
The system shall integrate with the existing legacy database system.
The system shall clean and transform data from an operational format (Create, Read, Update, Delete) into an informational format, and store it in a data warehouse.
Software platform requirements
The system shall use a modern, industry-standard data warehousing scheme. Refer to supplementary specification item #10
[Philip Boggs]
^ 8. Documentation Requirements
This section will outline the documentation that will be included for a successful deployment of the product.
8.1 User Manual
The user manual will provide a purpose, table of contents, and glossary as well as detailed instructions on operating the product and troubleshooting any problems that may be encountered.
^ 8.2 Online Help
The online help section will have a download of the user manual a frequently asked questions page.
8.1 Online Help
Each feature of the data warehouse shall have built-in online help for the user. Online Help shall include step by step instructions on using the System. Online Help shall include definitions for terms and acronyms
[Bryan DeFranco]
^ 9. Scheduled Maintenance
Periodical loading / ETL batch transformations from legacy database will take place during evening/night (non-business hours)
[Section 10,11,12,by Michael Smolenski]
10. Applicable Standards
The Database Warehouse system must run an Oracle based Unix system and compatible with Windows XP or greater. It needs an easy to use GUI interfaces will allow easy to use access to the necessary data. The interface must be compatible with a TCP/IP protocol accessed on a company controlled WAN. Firewalls must be in place to avoid outside users accessing the WAN. The system should also be compatible with Norton Antivirus software.
^ 11. System Requirements
The hosting server will be a Windows based or Unix operating system with at least 4 GB of memory and each PC that interfaces with the sever must have at least 1 GB of memory in order to run the necessary queries. The hosting server will have at least 2 TB or storage with bays available to expand as needed.
^ 12. Licensing, Security, and Installation
An Oracle or Microsoft licenses will be needed for the server. Microsoft licenses will be needed for the interfacing computers. Norton Antivirus software licenses will be needed for all computers in the network. Only authorized employees of Beverage Inc. will be allowed to access the system and updates will handled by the maintenance staff.
[Bryan DeFranco]
Technical Specification
^ 13.1 Data and Technology Variations
13.1.1 Data Chunk
A data chunk is a sufficient amount of data to perform batch validation, transformation, and storage in data warehouse for a DB-unit of information. This typically will be less than 12 records, or 100K Bytes per chunk, but each chunk will vary is size.
A DB-unit of information is that which sufficient to create a meaningful storage in Data Warehouse informational format. This is bound by the external rules file.
^ 13.1.2 Extraction, Transformation and Validation Rules
Data extraction rules are specified outside of BevDOT, and define the data to retrieve. The rules file will also define table formats of Legacy system to facilitate ability to reconfigure if Legacy database structure changes in the future.
BevDOT
Legacy System
Validate
Transform
1. Introduction
Purpose
The purpose of this section was to prioritize the features and the use cases for the BevDot System and then identify the use cases for the first iteration. The prioritization of the use cases is related to the needs as specified in section two.
^ 4.1 Prioritize Use Cases
Features Table, Prioritized
ID
Feature
Effort
Risk
Comment
1
Extract Data
Med
High
Download data
2
Auto validate data
Med
High
Auto validation
3
Manually validate data
Med
High
Manual validation
4
Transform data to BevDOT
High
High
Transform data
5
Load data
Med
High
Load validated data
6
Error handling
High
High
Handle critical errors
7
Generate reports(high level)
Med
Med
High level reports
8
Generate ad-hoc reports
Med
Med
Ad-Hoc reports
9
Generate sales forecasting reports
Med
Med
Sales forecasting reports
10
Generate regional revenue reports
Med
Med
Regional revenue reports
11
Generate tracking reports
Med
Med
Tracking reports
12
Generate seasonal sales reports
Med
Med
Seasonal sales reports
13
Create system efficiency reports
Med
Low
System efficiency reports for IT
14
Create graphical representations of data
Med
Low
Make graphs based on report data
Use Cases, Prioritized
The use cases have been derived from the features as shown above and put in order of importance from highest to lowest.
ETL Use Case (Extract, Transform, Load)
Automatic Validation
Manual Validation
Error Handling
Generate Reports
Generate Ad-Hoc Reports
Create Graphs
Section 4.2 Identify Use Cases for Initial Iteration
After discussing the necessary use cases for the successful operation of the system, the use cases have been narrowed down to six for the initial iteration of BevDOT. They are as follows:
ETL Use Case
Automatic Validation
Manual Validation
Error Handling
Generate Reports
Generate Ad-Hoc Reports
These six (6) use cases will fulfill the needs of the company in the initial iteration. Graphical representations of data from user-generated reports as well as additional reports will be added in future iterations.
1. Introduction
Purpose
The purpose of this section is to further refine the system by finalizing preliminary use cases into fully dressed use cases. This section is to also refine the initial supplementary specification into the Final Supplementary Specification for the BevDOT data Warehouse.
5.1a (creator: Bryan Defranco)
Use Case #1.0
Use Case Name: Extract Data
Description: Initiates the ETL process for transferring data from the operational format legacy system to the informational format BevDOT data warehouse.
^ Scope: BevDOT System
Level: Batch Process
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions: BevDOT system has loaded the data acquisition and extraction rules from external file.
Success Guarantee (Postcondition): Required data is retrieved from Legacy System and passed to Validate Data1
Main Scenario (Basic Flow):
BevDOT system connects to Legacy System using ODBC over TCP/IP
Legacy System authenticates BevDOT system
3. BevDOT system generates SQL statements based on loaded rules, and the date the last extraction was performed.
4. BevDOT System submits query to Legacy System
5. Legacy system begins return of requested data
6. BevDOT System performs ValidateData1
7. BevDOT System checks if more data is available from Legacy system
8. BevDOT System disconnects from Legacy system
Extensions:
7a. Upon additional data available
BevDOT restarts process at step 4.
7b. Upon no additional data available
BevDOT resumes process at step 8
*a. Upon detection of system failure
1. BevDOT System performs Error Handling
Special Requirements: None
Technology and Data Variations: Data extraction rules are specified outside of BevDOT, and define the data to retrieve. The rules file will also define table formats of Legacy system to facilitate ability to reconfigure if Legacy database structure changes in the future.
^ Frequency of Occurrence: Weekly
5.1b (creator: Bryan Defranco)
Use Case #2.0
Use Case Name: Validate Data
Description: Ensures data integrity. Routes bad data to be held in temporary tables for Manual Validation
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
1. BevDOT System is authenticated with Legacy System
2. A data chunk has been extracted.
3. Validation rules have been loaded from external file.
Success Guarantee (Postcondition): Required data chunk is validated and passed to Transform Data
Main Scenario (Basic Flow):
BevDOT System applies rules from external configuration.
BevDOT System performs Transform Data
Extensions:
1a. Upon failure of validation algorithm
BevDOT System saves the questionable data in temporary storage for manual review
*a. Upon detection of system failure
1. BevDOT System performs Error Handling
Return error code to Extract Data
Special Requirements:
Validation rules will contain checks for null values, dates out of range, orphaned records, and any other items the DBA requires for successful transformation. This external configuration can be changed as needed.
Technology and Data Variations:
A data chunk is a sufficient amount of data to perform batch validation, transformation, and storage in data warehouse.
^ Frequency of Occurrence: As needed by parent process
5.1c (creator: Bryan Defranco)
Use Case #3.0
Use Case Name: Manual Validate Data
Description: DBA Corrects data anomalies received from Legacy Database
Scope: BevDOT System
Level: User Goal
Primary Actor: DBA
Stakeholders and Interests: IT Department, DBA
Preconditions:
User is logged on to BevDBW system, and has entered Manual Validation screen
Validation rules are loaded from external file
Success Guarantee (Postcondition): Data is successfully corrected and passed to Transform Data
Main Scenario (Basic Flow):
BevDOT System displays questionable data from temporary storage
User corrects data abnormalities
BevDOT System validates data using validation rules
BevDOT System performs Transform Data
Extensions:
3a. Upon failure of validation algorithm
1. BevDOT System displays data that did not pass validation
BevDOT System resumes at step 1
*a. Upon detection of system failure
1. BevDOT System performs Error Handling
Technology and Data Variations: None
Special Requirements:
Validation rules will contain checks for null values, dates out of range, orphaned records, and any other items the DBA requires for successful transformation. This external configuration can be changed as needed.
5.1d (creator: Bryan Defranco)
Use Case #4.0
Use Case Name: Transform Data
Description: Data is cleansed and transformed from an operational format, into an informational format consistent with BevDOT data warehouse
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
BevDOT System is authenticated with Legacy System
A data chunk has been Extracted and Validated.
Transformation Rules have been loaded from external file.
Success Guarantee (Postcondition): Required data chunk is cleansed and transformed and passed to Load Data
Main Scenario (Basic Flow):
BevDOT System applies transformation algorithm to data.
BevDOT System performs Load Data
Extensions:
*a. Upon detection of system failure:
System displays error code
System Performs Error Handling
Return error code to Validate Data
Special Requirements: None
Technology and Data Variations:
A data chunk is a sufficient amount of data to perform batch validation, transformation, and storage in data warehouse.
Transformation algorithm is based on loaded rules defined external to the BevDOT system. These rules may be changed for future needs.
^ Frequency of Occurrence: As needed by parent process
5.1e (creator: Bryan Defranco)
Use Case #5.0
Use Case Name: Load Data
Description: Data is loaded into tables in the BevDOT data warehouse in a manner consistent with existing information data format
Scope: BevDOT System
Level: Sub Function
Primary Actor: Legacy System
Stakeholders and Interests: IT Department, DBA
Preconditions:
1. BevDOT System is authenticated with Legacy System
2. A data chunk has been Extracted, Validated, and Transformed.
3. BevDOT system has loaded the configuration rules from external file.
Success Guarantee (Postcondition): Required data is stored in data warehouse tables
Main Scenario (Basic Flow):
BevDOT System generates SQL statements based on configuration file
BevDOT System initiates transaction
BevDOT System writes data to data warehouse tables using SQL
BevDOT System commits changes
Extensions:
*a. Upon detection of system failure:
System displays error code
System Performs Error Handling
Special Requirements: None
Technology and Data Variations: Data Loading rules are specified outside of BevDOT. The rules file will define table formats of BevDOT system to facilitate ability to reconfigure if BevDOT database structure changes in the future.
Frequency of Occurrence: As needed by parent process
5.1f (creator: Mark Wimer)
Use Case #6.0
Use Case Name: Error Handling
Description: Error Handling use case will perform the appropriate actions if an abnormal error occurs within the system’s scope of performance.
Scope: BevDOT
Level: System Goal
Primary Actor: Database Administrator, System Administrator
Stakeholders and Interests: Senior Management, IT Department
Preconditions:
BevDOT is performing a system function
System error occurs
Success Guarantee (Postcondition):
BevDOT successfully receives, codes, and logs system errors for later retrieval.
Main Scenario (Basic Flow):
Legacy system sends handshake request to BevDOT
BevDOT connects to Legacy System
Legacy system sends error report(s) to BevDOT
BevDOT disconnects from Legacy System
BevDOT assigns incremental error code to each error report
BevDOT logs errors in a flat file
Extensions (Alternative Flows):
6a. Export Error log
User opens log file
BevDOT displays all errors
User chooses, ‘Export Data’ from file options
BevDOT presents user with file extensions for exporting
User selects file extensions and chooses, “Export”
BevDOT creates export file.
6b. Delete Error Log
User opens log file
BevDOT displays all errors
User chooses specific or all error logs
User selects, ‘Delete’
BevDOT displays warning prompt, “Are you sure?”
User confirms ‘Delete’
BevDOT removes selected error logs
*a. Upon detection of system failure:
BevDOT halts process
BevDOT dumps temporary memory to file
BevDOT terminates process
Special Requirements: Error reports are stored until an IT user clears them from the BevDOT.
Technology and Data Variations: BevDOT retains a small portion of disk space for error logs.
Frequency of Occurrence: Daily or as needed.
5.1g (creator: David Azzolina; contributor(s): Mark Wimer )
Use Case # 7.0
Use Case Name: Generate Reports
Description: Serves as the initial reporting interface for users of the BevDOT system to generate reports based on existing BevDOT data.
^ Scope: BevDOT
Level: User Goal
Primary Actor: Sales, Marketing, Finance, Shipping, and IT departments.
Stakeholders and Interests: Sales, Marketing, Finance, Shipping, and IT departments – will use this to generate various reports for data contained within BevDOT.
Senior management - will use reports to set and track goals at the company, division, and country level to anticipate trends and changes in the market over time to improve forecasting, and to make executive decisions based on product demand.
Preconditions: User is logged into the system. Database must be established with minimum of one (1) record.
^ Success Guarantee (Postcondition): A report is generated.
Main Scenario (Basic Flow):
1. System displays operations options on the GUI interface.
2. User chooses the generate report option.
3. System displays a report type screen.
4. User selects a report type from the menu.
5. System queries BevDOT for report-specific data.
7. BevDOT returns data to System.
8. System displays data in spreadsheet format.
9. System presents options to print results or export results.
Extensions (Alternative Flows):
4a. User chooses ‘Custom Reporting’ from the menu.
System performs Generate Ad-Hoc Report.
4b. User chooses ‘Sales Forecasting Reporting’ from the menu.
System generates Sales Forecasting Report.
4c. User chooses ‘Regional Reporting’ from the menu.
System generates Regional Sales Report .
4d. User chooses ‘Seasonal Reporting’ from the menu.
System Generates Seasonal Sales Report .
4e. User chooses ‘Tracking Reporting’ from the menu.
System Generates Tracking Report .
4f. User chooses ‘System Reporting’ from the menu.
System Generates System Efficiency Report .
4g. User chooses ‘Statistical Graphics Reporting’ from the menu.
System Performs Create Graphs.
9a. Upon selection to print:
System sends the query results to the print spooler.
System sends print instructions to printer when queued job is called.
9b. Upon selection to export:
System prompts user to name file and select file type
User enters filename and selects type, selects export option
System creates new file from report data.
*a. Upon detection of system failure:
System displays error code
System Performs Error Handling
Restart step 1
Special Requirements: The Create Graphs use case will be dependent on data from other reports. It will generate graphics in accordance with other BevDOT reports, but will utilize templates specific to each report type.
Technology and Data Variations: None
Frequency of Occurrence: As needed
5.1h (creator: Bryan Defranco)
Use Case #8.0
Use Case Name: Generate Ad-Hoc Report
Description: Gives users ability to specify parameters to craft report output.
Scope: BevDOT System
Level: Sub function of Generate Reports
Primary Actor: Sales person, Marketing Agent, Accountant
Stakeholders and Interests: Senior management - will use reports to set and track goals at the company, division, and country level to anticipate trends and changes in the market over time to improve forecasting, and to make executive decisions based on product demand.
Preconditions: User is logged into the system. Reports menu is displayed.
Success Guarantee (Postcondition): Report is generated, critiqued to the users’ needs.
Main Scenario (Basic Flow):
User chooses ‘Custom Reporting’ from the menu.
System presents options for the user to choose a saved configuration, or create a new one
User chooses ‘create new’
System presents options screen for the user to select and/or key-in values
User selects desired options and enters needed criteria.
System checks for incomplete or improper specification
System generates query from the users configuration.
System queries data warehouse and displays results
System presents options to print, save, save configuration, quit
Extensions (Alternative Flows):
2a. Upon selection to use saved configuration,
System presents user with list of saved configurations
User chooses the desired configuration from the menu
Skip to step 7.
6a. Upon detection of bad specification:
System informs user of the fields improperly or not filled
System resumes at step 4
9a. Upon selection to print
System sends the query results to the print spooler.
System sends print instructions to printer when queued job is called.
9b. Upon the selection to export
System prompts user to name file and select file type
User enters filename and selects type, selects export option
System creates new file from report data.
System resumes at Step 9.
9c. Upon selection to save configuration
System prompts for input of a name for the custom configuration
User enters a name for the custom configuration
System saves the query criteria in the database
System resumes at step 9
9d. Upon selection to generate graph
System Performs Create Graph
System resumes at step 9
9d. Upon selection to quit
1. System presents the Reports menu
*a. Upon detection of system failure:
System displays error code
System Performs Error Handling
Special Requirements: None
Technology and Data Variations: None
Frequency of Occurrence: As needed
5.1i (creator: Mark Wimer and Bryan Defranco)
Use Case #9.0
Use Case Name: Create Graphs
Description: Gives users ability to create graphs in conjunction with existing BevDOT reports and previously saved ad-hoc reports. Users will use a 3rd party graphing tool to interpret BevDOT data for graph generation
^ Scope: BevDOT System
Level: Sub function of Generate Reports
Primary Actor: Sales person, Marketing Agent, Accountant, System Administrator, Database Administrator
Stakeholders and Interests: Sales, Marketing, Finance /
еще рефераты
Еще работы по разное
Реферат по разное
Межклубный внедорожный новый год 2009 «в гостях у сказки»
17 Сентября 2013
Реферат по разное
Эмоциональный компонент выполняет особую функцию в структуре мотивации
17 Сентября 2013
Реферат по разное
Etymological survey of the English word-stock
17 Сентября 2013
Реферат по разное
Права. Век знаменовал собой развитие промышленности и естественных наук. Расширилась связь с Европой. В россии стали принимать идеи западничества
17 Сентября 2013