ALL OCCASIONS GIFTS ALL OCCASIONS GIFTS RANJANI PRASAD, PRIYA PRADHAN, PAUL HENNIGAN ISAM 5635- SYSTEM ANALYSIS AND DESIGN SPRING’10 Page 1 ALL OCCASIONS GIFTS TABLE OF CONTENTS Project Summary……………………………………………………………………………..4 PLANNING PHASE Systems Request……………………………………………………………………………...6 Feasibility Analysis Technical Feasibility………………………………………………………………….8 Economical Feasibility………………………………………………………………..9 Organizational Feasibility…………………………………………………………….10 Project Plan Size Estimation………………………………………………………………………11 Work Breakdown Structure………………………………………………………….14 Gantt Chart…………………………………………………………………………. 15 Staffing Plan…………………………………………………………………………16 Standards…………………………………………………………………………….17 Risk Assessment……………………………………………………………………..19 ANALYSIS PHASE Requirements Gathering Documentation……………………………………………………21 Data Flow Diagrams Context-level diagram………………………………………………………………..26 Level 0 Diagram……………………………………………………………………...28 Level 1 Diagram……………………………………………………………………...30 Data dictionary……………………………………………………………………………….35 Page 2 ALL OCCASIONS GIFTS DESIGN PHASE System Components………………………………………………………………………… 49 Structure Chart………………………………………………………………………………. 50 Logical Design (ER- Diagram)……………………………………………………………… 51 Physical Design…………………………………………………………………………….....52 Design Input Screens………………………………………………………………………… 53 Design Output Screen/Report………………………………………………………………... 57 System Architecture…………………………………………………………………………...60 Program Test Design…………………………………………………………………………. 61 Test Plans………………………………………………………………………………………63 Page 3 ALL OCCASIONS GIFTS PROJECT SUMMARY All Occasion Gifts is a gift shop based in Houston, Texas. It specializes in selling gifts for everyday occasions such as Anniversary, Birthday, Baby Shower to special occasions such as Valentine’s Day, Christmas etc. It also specializes in personalized gifts and handmade craft gifts. The company was founded in 2007 and has expanded their business operations in 5 major cities: Houston, Austin, Dallas, San Antonio and El Paso in Texas. The company would like to introduce online business and expand their customer base and hence, would like to develop a web-based information system. This system will allow their employees to keep track of inventory by generating reports. It will also help them to generate overall sales report, regional sales report, popular products report and loyal customers report. Thus, the company needs to keep track of customers, their orders and inventory. This system will allow the company to identify loyal customers, their region, and popular products. The new system will allow their employees to more readily access business records, as well as customer profiles and data. It will also minimize the human error in entering data, as well as help us to track sales, improve efficiency, and allow easy access to customers to browse products and order them online. The motto for the new system is to satisfy the existing customers and attract new customers through online business. The system should be easy to use and user friendly. The functionality expected from the new system is listed below: System should allow customers to browse gifts by categories, add items to shopping cart and view the shopping cart. System should allow customers to do secure payment online and view account and billing information online. System should allow customers to rate the product and also view product rating System should allow employees to check inventory status and generate Sales Report at regional and national level Page 4 ALL OCCASIONS GIFTS PLANNING PHASE Page 5 ALL OCCASIONS GIFTS SYSTEM REQUEST PROJECT SPONSOR: Sarah Brown, Owner and CEO PROJECT TEAM: Dr. Rob, Ranjani Prasad, Paul Hennigan and Priya Pradhan BUSINESS BACKGROUND All Occasion Gifts is a gift shop based in Houston, Texas. It specializes in selling gifts for everyday occasions such as Anniversary, Birthday, Baby Shower to special occasions such as Valentine’s Day, Christmas etc. It also specializes in personalized gifts and handmade craft gifts. The company was founded in 2007 and has expanded their business operations in 5 major cities: Houston, Austin, Dallas, San Antonio and El Paso in Texas. BUSINESS NEED The company would like to expand their customer base and hence, would like to develop a web-based information system which should be available to customers 24 X 7. The current system is local to each shop. This will centralize the store database and web-based information system database. Also, this system will allow their employees to keep track of inventory by generating reports. It will also help them to generate sales report at both, national and regional level. BUSINESS REQUIREMENTS This web-based information system should allow customers to browse / search for products as well as purchase the products. The system should have the following functionality: System should allow customers to browse gifts by categories System should allow customer to add items to shopping cart System should allow customers to do secure payment online System should allow customers to rate the product and also view product rating System should allow employees to check inventory status System should allow employees to generate Sales Report at regional and national level Page 6 ALL OCCASIONS GIFTS System should allow employees to generate product ratings reports BUSINESS VALUE This web based information system will allow customers to purchase products at their convenience regardless of time and location. The tangible and intangible values are identified below: Tangible: 40% increase in customers 45% increase in business revenue Inventory management efficiency will increase by 30% Intangible: This system will speed up the business process This system will increase the popularity of the gifts shop Available 24 x 7 x 365 Customer Convenience SPECIAL ISSUES AND CONSTRAINTS System should be user friendly System should be up 24 x 7 System should support secure online transactions System should be compatible with diff. browsers System will be delivered in two phases. The first phase will focus on developing web-based information system. The second phase will centralize store and web-based information system database and will complete the data conversion from current system to the new web-based system. The first phase will be completed by June and the second phase will be completed by mid-September. Page 7 ALL OCCASIONS GIFTS FEASIBILITY ANALYSIS The following feasibility analysis has been created for the system: Technical Feasibility Economic Feasibility Organizational Feasibility TECHNICAL FEASIBILITY 1. Familiarity with Application: Risk Level: Low. The business and inventory control segments of the organization may not be familiar with the application of a web-base system. The IT department has extensive knowledge of similar systems and is capable of developing web-based information system for All Occasion Gifts. External consultants are readily available online to provide technology support in this system. 2. Familiarity with Technology: Risk Level: Low. The project will be developed using ASP.NET and Microsoft Access for the database. The developers are mostly familiar with the technologies being used. 3. Project Size: Risk Level: Medium. The project team likely will include less than 10 people. Business user involvement will be required. 4. Compatibility with the existing system: Risk Level: Low. After the new system is deployed, employees will begin entering data into the system. Old data will be entered into the system over a period of time. Page 8 ALL OCCASIONS GIFTS Time frame is 6 months to system completion and implementation. ECONOMIC FEASIBILITY According to the cost-benefit analysis below, the new system is considered to be economically feasible. The figures in cost-benefit analysis represent the tangible benefits. Cost-Benefit Analysis 2010 2011 2012 2013 Total Benefits Increased sales from New Customers $300,000 $345,000 $385,000 $1,030,000 Increased sales from Existing Customers Total Benefits $150,000 $450,000 $175,000 $520,000 $190,000 $575,000 $515,000 $1,545,000 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $0 $95,000 $25,000 $15,325 $10,945 $175,745 $322,015 $35,000 $18,000 $85,000 $138,000 $35,000 $18,000 $89,500 $142,500 $35,000 $18,000 $93,243 $146,243 $105,000 $54,000 $267,743 $426,743 $322,015 $138,000 $142,500 $146,243 $748,758 ($322,015) ($322,015) $312,000 ($10,015) $377,500 $367,485 $428,757 $796,242 $796,242 Development Costs Servers Printer Software licenses Server software Development labor Total Development Costs $95,000 $25,000 $15,325 $10,945 $175,745 $322,015 Operational Costs Hardware Software Operational labor Total Operational Costs Total Costs Total Benefits-Total Costs Cumulative Net Cash Flow Return on Investment (ROI) Break-even Point 1.063417019 10.63% (796,242/748,758) 0.0265 2.65 years Page 9 ALL OCCASIONS GIFTS ORGANIZATIONAL FEASIBILITY From an organizational perspective, this project has low risk. The objective of the system is to increase the sales and improve the customer satisfaction. The move to internet sales also aligns with the Marketing’s goal to become savvier in Internet marketing and sales. The product development updates is regularly monitored. The users of the new system, employees and the managers are expected to accept the system contingent upon increased sales and user-friendliness. The system will add value to the current business model. Page 10 ALL OCCASIONS GIFTS PROJECT PLAN Estimation is the process of assigning the projected values for effort and time. We are using Function Point Approach which is an estimation technique that allows estimating the size, the effort and the time required to complete the system. This is a complex but reliable approach. The Function Point Approach consists of three steps: Estimate the size of the project in terms of the number of lines of code the new system will require Convert the size estimate into the amount of effort required to develop the system in terms of the number of person-months Convert the estimated effort into an estimated schedule time in terms of the number of month from beginning to an end ESTIMATE THE PROJECT SIZE: Following table shows the calculation of Total Unadjusted Function Points (TUFP): System Components: Description Complexity Total Number Low Medium High Total Input Forms 8 3x3 4x4 1x6 31 Output Reports 14 3x4 8x5 3x7 73 Queries 15 2x3 10 x 4 3x6 64 Files 15 5x7 8 x 10 2 x 15 145 Program Interfaces 2 0x5 0x7 2 x 10 20 Total Unadjusted Function Points (TUFP): Page 11 333 ALL OCCASIONS GIFTS Overall System: Data Communications 3 Heavy use Configurations 0 Transaction Rate End-user Efficiency Complex Processing Installation Ease Multiple sites Performance 2 2 1 0 0 2 Distributed Functions Online Data Entry Online Update Reusability Operational Ease Extensibility 0 1 1 0 1 0 13 Total Processing Complexity (PC): (0 - no effect on processing complexity; 3 - great effect on processing complexity) We have used 0.65 as baseline APC value as it is a simple system. Adjusted Project Complexity (APC): .65 + (.01 x PC) = APC .65 + (.01 x 13) = 0.78 Total Adjusted Function Points (TAFP): APC x TUFP = TAFP .78 x 333 = 259.74 (approx. 260) LINES OF CODE: We want to use ASP.NET. It needs on an average 30 lines of code per function point. So, total number of lines of code = 260 x 30 = 7800 Page 12 ALL OCCASIONS GIFTS ESTIMATE EFFORT: Effort depends on the system size and production rate i.e. the amount of work one can complete in a given time. As per the COCOMO model, the lines of code estimate can be converted into personmonths by using the following formula: effort (in person-month) = 1.4 x thousands of lines of code effort (in person-months) = 1.4 x (7800/1000) effort (in person-months) = 10.92 person-months ( approx. 11 person-months) It will take approximately 11 person-months to complete the project. ESTIMATE TIME REQUIRED: The total time needed to complete the project is estimated using the following formula: schedule time (months) = 3.0 x person-months schedule time (months) = 3.0 x (10.92)1/3 schedule time(months) = 6.66 So, it will take over 6 months to finish the project. ESTIMATE THE NUMBER OF STAFF: The average number of staff needed to complete the project can be estimated as follows: No. of staff = effort (person-months) / schedule time (months) = 10.91 / 6.6 = 1.653 Thus, to finish approx. 11 person-months project in approx.7 months, we need to 2 full time staff members. Page 13 ALL OCCASIONS GIFTS WORK BREAKDOWN STRUCTURE WBS TASK NAME DURATION Page 14 START DATE END DATE STATUS ALL OCCASIONS GIFTS GANTT CHART Page 15 ALL OCCASIONS GIFTS STAFFING PLAN The Project Team will consist of a Project Manager, a User Interface developer, a Database Developer/Database Administrator, a System Analyst, and a Web Administrator. Their roles and responsibilities are explained below: Role Project Manager System Analyst Database Developer User Interface Developer Website Administrator Description He oversees the project. He is responsible for project planning, staffing, scheduling and control. He makes sure that project is delivered on time, within budget and meets the objectives of the system. She is responsible for designing the business processes and the information system. She should identify the technology to improve business processes and ensure the system conforms to information system standards. He designs and develops the Microsoft Access database. She designs and develops the user interface as well as responsible for the server side scripting using ASP .NET. He/She is responsible for the maintenance of the website and database. Also, he/she is responsible for updating the website with promotional offers. Page 16 Assigned To Dr. Rob Priya Pradhan Paul Hennigan Ranjani Prasad Ranjani Prasad, Paul Hennigan ALL OCCASIONS GIFTS STANDARDS STANDARDS The purpose of this document is to ensure that the tasks are performed in a standard format. The different types of standards that should be followed are: 1. Documentation Standards The date and project name should appear as a header on all documents. All margins should be set to one inch. All deliverables should be added to the project binder and recorded in its table of contents All text should be Times New Roman and size 12. 2. Coding Standards: Each file should contain the following basic information: --File Name --Purpose --Last Update Date Every program should contain one line of comment for every five lines of code. All functions should have a comment listing the purpose of the function. 3. Procedural standards: Actual task progress should be recorded in the work plan every Monday morning by 10 AM. Project meeting updates will be held weekly on Friday morning at 9:30 am All changes to a requirements document must be approved by the project manager. All deliverables must be approved by the project manager. 4. Specification Requirement Standards: Name of the program to be created. Description of the Programs purpose. Special calculations that need to be computed. Psuedocode Due Date Page 17 ALL OCCASIONS GIFTS 5. User Interface Standards: Date and name of reports should appear at the top in bold. Labels will appear in bold face text, left justified and followed by a colon. Page 18 ALL OCCASIONS GIFTS RISK ASSESSMENT This risk assessment document keeps track of potential risks and has strategy to handle them so that they can be avoided or mitigated well ahead of time. RISK #1 Likelihood of risk: Potential impact on the project: Ways to address this risk: RISK #2 Likelihood of risk: Potential impact on the project: Ways to address this risk: The query to create National and Regional level reports is complex and if not written properly, it will slow down the generate reports module and the project team does not have a member who is highly experience in writing complex queries. MEDIUM This risk will increase the time to complete database programming task by 35%. The National and Regional Sales Reports are necessary for All Occasion Gifts as they give information about company’s performance at regional and national level. Also, the response time is very important for these reports. For this, the database should be properly designed and normalized. Also, the appropriate indexes should be created and the queries should be tuned. A highly experienced database developer who has Database Administration experience will be brought in for the duration of the project. The credit card transaction should be secure. The project team does not have experience in implementing online transactions. MEDIUM This risk will increase the time to complete the project by 30%. The system analyst will be sent for training to learn about how to implement security technology. The Internet Merchant account will be established. In order to connect All Occasions Gifts website to Internet Merchant Account, the credit card clearing house service will be selected which will enable real-time credit card authorization for online transactions. The credit card information from website will be sent to credit card clearing house using the latest 40 or 128-bit Secure Socket Layer (SSL) 3.0 technology which will be encrypted. Page 19 ALL OCCASIONS GIFTS ANALYSIS PHASE Page 20 ALL OCCASIONS GIFTS REQUIREMENTS GATHERING DOCUMENTATION INTERVIEW SCHEDULE Name Sarah Brown Position CEO Julie Smith Sales Manager Jim Holmes Marketing Manager Emma Thomas Sales Representative Susan White Sales Representative James Wood Data Entry Operator Mary Jones Accounting Manager Purpose of Interview Strategic view for the new system Issues with the existing system and future needs Increase sales and expand the customer base Current problems with maintaining inventory Problems with generating reports Problems with the current system Problems with the current system Page 21 Meeting Mon, Feb 8th 9.00 – 11.00 AM Wed, Feb 10th 10.00 AM – 12.00 PM Wed, Feb 17th 2.00 – 4.00 PM Mon, Feb 22nd 09.30 – 11.30 AM Thu, Feb 25th 10.00 – 12.00 PM Thu, Feb 25th 2.30 – 4.30 PM Mon, Mar 9th 02.00 – 4.00 PM ALL OCCASIONS GIFTS INTERVIEW NOTES Person Interviewed: Sarah Brown, CEO Interviewer: Ranjani Prasad, Priya Pradhan, Paul Hennigan Appointment Date: Feb 8, 2010 Duration: 09:00 AM to 11:00 AM Purpose of the Interview: To understand how the current system works. To get an idea of business needs of the system. Summary of the Interview: The interviewee wants to introduce online business and develop a web-based information system. This system should allow their employees to keep track of customers, customer orders and inventory by generating reports. It should allow them to generate overall sales report, regional sales report, popular products report and loyal customers report. This system should also allow the company to identify loyal customers, their region, and popular products. General Observations: Interviewee emphasized his need to generate sales report at regional and national level. Questions from interviewee: None Unresolved issues: None Page 22 ALL OCCASIONS GIFTS INTERVIEW NOTES Person Interviewed: Julie Smith, Sales Manager Interviewer: Ranjani Prasad, Priya Pradhan, Paul Hennigan Appointment Date: Feb 10, 2010 Duration: 10:00 AM-12:00 PM Purpose of the interview: To understand how the current system works To get an idea of what the manager needs from the online system Any special requirements needed by the manager to ease his job Summary of the interview: Problems with the current system. 1. All the inventory details are stored in an excel sheet. 2. All the stores maintain their own database. The proposed system will have centralized database which can be maintained by each franchise. The company would like to expand their operations by setting up online business. General Observations: Interviewee emphasized his need to generate sales report at regional and national level. Interviewee suggested that the system should allow the employees to check inventory status and to generate product ratings report. Questions from interviewee: The manager wanted to know the role of the staff and how much training is required to be proficient with the new system. Unresolved issues: None Page 23 ALL OCCASIONS GIFTS QUESTIONNAIRE 1. What is your role in the company? ___ Data entry operator ___ Management ___ Sales Staff 2. What would you mainly use the new system for? (Select all that Apply) ___ Inputting Data ___ Looking up Data ___ Running Reports ___ Improve Customer Service ___ Increase Sales 3. Describe how you manage your current sales and inventory information. ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ 4. Why does the current system fail to meet your needs? ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ 5. What are your expectations from the new system? ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ 6. How do you want to analyze the business and track progress? ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ 7. How do you see the new system interacting with the customers? ___________________________________________________________________________ ___________________________________________________________________________ 8. Any other suggestions? ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ Page 24 ALL OCCASIONS GIFTS DATA FLOW DIAGRAMS Page 25 ALL OCCASIONS GIFTS CONTEXT DIAGRAM Page 26 ALL OCCASIONS GIFTS LEVEL 0 DFD External Entities Customer Manager/Supervisor Credit Card Clearinghouse Processes Browse Products Order Products Check Order Status Generate Reports Data Stores D1 product_category D2 product D3 customer D4 cust_shop_cart D5 payment D6 cust_order D7 employee D8 region_state D9 D10 user_prod_rating cust_order_product Page 27 ALL OCCASIONS GIFTS LEVEL 0 DFD Page 28 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 1 (BROWSE PRODUCTS) External Entities Customer Processes Process Search Products Process Product Selection Process adding Product to shopping cart Process view shopping cart Data Stores D1 product_category D2 product D4 cust_shop _cart Page 29 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 1 (BROWSE PRODUCTS) Page 30 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 2(ORDER PRODUCTS) External Entities Customer Credit Card Clearinghouse Processes Create Customer Account Process Customer Account Process Payments Confirm Purchase Data Store D3 customer D5 payment D6 cust_order D9 cust_order_product Page 31 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 2(ORDER PRODUCTS) Page 32 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 3(GENERATE REPORT) External Entities Supervisor/Manager Processes Create Inventory Status Report Create Regional Sales Report Create National Sales Report Data Stores D1 product_category D2 product D3 customer D6 cust_order D7 employee D8 region state Page 33 ALL OCCASIONS GIFTS LEVEL 1 DFD FOR PROCESS 3(GENERATE REPORT) Page 34 ALL OCCASIONS GIFTS DATA DICTIONARY Page 35 ALL OCCASIONS GIFTS PROCESSES DESCRIPTIONS Label: Process Search Products Entry Type: Process Description: Process #: Process Description: This process allows customers to search products by entering search criteria in the search box or browsing the products by categories on the website. 1.1 Input Dataflows: product info product search, product category info, Output Dataflows: product search result data, product details Notes: None Label: Process Product Selection Entry Type: Process Description: This process allows customers to select product(s) from product search result data. Process #: 1.2 Input Dataflows: product details, products selection Process Description: Output Dataflows: product selection, product details Notes: None Page 36 ALL OCCASIONS GIFTS Label: Process adding Products to shopping cart Entry Type: Process Description: This process allows customers to add products to shopping cart. Process #: 1.3 Input Dataflows: product selection, shopping cart data Process Description: Output Dataflows: product to shopping cart (shopping cart data), product to buy Notes: None Label: Process View Shopping Cart Entry Type: Process Description: This process allows customers to view shopping cart. Process #: 1.4 Process Description: Input Dataflows: shopping cart view req., shopping cart data view Output Dataflows: shopping cart view Notes: None Page 37 ALL OCCASIONS GIFTS Label: Create Customer Account Entry Type: Process Description: This process allows customers to register with All Occasions Giftstore by creating new customer account Process #: 2.1 Input Dataflows: Registration Info Process Description: Output Dataflows: Customer Info (Registration Info) Notes: None Label: Process Customer Account Entry Type: Process Description: This process is used by customers to login to their account in All Occasions Giftstore. Process #: 2.2 Input Dataflows: Login Info, Customer Details Process Description: Output Dataflows: Customer Details Info Notes: None Page 38 ALL OCCASIONS GIFTS Label: Process Payments Entry Type: Process Description: This process is used by customers to give payment information while placing an order with All Occasions Giftstore. Process #: 2.3 Process Description: Input Dataflows: Payment Details, Shipping Info, Customer Details, Products to Buy, CC Authorization Output Dataflows: Order Details Notes: None Label: Confirm Purchase Entry Type: Process Description: Process #: This process is used by customers to confirm the purchase and hence, place an order with All Occasions Giftstore. 2.4 Input Dataflows: Order Details , Checkout, Purchase Confirmation Process Description: Notes: Output Dataflows: Email Order Notification, Order Details, Purchase Confirmation Req., CC Charge, Shipping Info, Payment Details None Page 39 ALL OCCASIONS GIFTS Label: Select Report Entry Type: Process Description: This process is used by supervisors/managers to select report Process #: 3.1 Input Dataflows: Login Info, Report Req. Process Description: Output Dataflows: Inventory Status Report req, Regional Sales Report Req., National Sales Report Req. Notes: None Label: Create Inventory Status Report Entry Type: Process Description: This process is used to create Inventory Status Report Process #: 3.2 Process Description: Input Dataflows: Inventory Status Report Req., product category info, product info, employee info Output Dataflows: Inventory Status Report Notes: None Page 40 ALL OCCASIONS GIFTS Label: Create Regional Sales Report Entry Type: Description: Process #: Process This process is used to create Regional Sales Report Process Description: 3.3 Input Dataflows: Regional Sales Report Req., region info, sale data, employee info, customer details Output Dataflows: Regional Sales Report Notes: None Label: Create National Sales Report Entry Type: Process Description: This process is used to create National Sales Report Process #: 3.4 Input Dataflows: National Sales Report Req., region info, sale data, employee info, customer details Process Description: Notes: Output Dataflows: National Sales Report None Label: Check Order Status Entry Type: Process Description: This process is used to check status of order by customer. Process #: 4.0 Input Dataflows: order status, cust_order_details, payment info Process Description: product_rating_info, Output Dataflows: Order Details, product_rating Notes: The customer may rate the product at this time. Page 41 ALL OCCASIONS GIFTS DATA DICTIONARY Data storage with Data Structure and Element Description CUSTOMER DATA STORE Label: customer Entry Type: Data Store Description: This stores customer information Alias: None Name Type userId Text passwd Text security_question Text Composition: [Attributes] Length Null 10 Not Null 8 Not Null 100 Not Null security_answer Text 255 Not Null first_name last_name email_addr phone_no street_addr city cust_stateCODE zip country Text 20 Text 20 Text 50 Number Integer Text 255 Text 100 Text 2 Number 5 Text 150 Page 42 Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Description userId of customer customer’s password security question for customer if he forgets password answer for security question customer’s firstname customer’s lastname customer’s email address customer’s phone no customer’s street address city customer lives in state customer lives in zip code of customer country of customer, defaults to U.S. ALL OCCASIONS GIFTS EMPLOYEE DATA STORE Label: employee Entry Type: Data Store Description: This stores employee information Alias: None Name Composition: [Attributes] empID storeID emp_uname emp_pwd emp_firstname emp_lastname job_title email_addr Type Length Null Description Number Number Text Text Text Text Text Text Integer Integer 10 8 20 20 50 50 Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Employee’s ID Gift store’s ID Employee’s username Employee’s password Employee’s firstname Employee’s lastname Employee’s job title Email address of employee REGION_STATE DATA STORE Label: region_state Entry Type: Data Store Description: This stores information about states and region to which they belong Alias: None Name Composition: [Attributes] stateCODE state_name regionID Type Text Text Text Length Null 2 Not Null 30 Not Null 20 Not Null Page 43 Description two character code for state state’s full name region ID of region ALL OCCASIONS GIFTS PRODUCT_DATA STORE Label: product Entry Type: Data Store Description: This stores information about all products None Alias: Name Composition: [Attributes] Type Length Null Description prodID catID Number Text Integer 10 Not Null Not Null Product ID Product’s category ID vendorID prod_name prod_desc Number Text Text Integer Not Null 100 Not Null 255 Not Null 200 Not Null prod_picture_name Text prod_price Currency Not Null prod_avail_qty Number Integer Null prod_qty_ordered Number Integer Null prod_date_ordered Date/Time Vendor ID Product’s name Description of product Picture name of the product Unit price of the product Product quantity in stock Ordered quantity of the product Date product ordered from vendor PRODUCT_CATEGORY DATA STORE Label: product_category Entry Type: Data Store Description: This stores information about all products Alias: Composition: [Attributes] None Name catID cat_desc Type Length Null Description Text 10 Not Null Product Category ID Text 255 Not Null Product’s Category Description Page 44 ALL OCCASIONS GIFTS CUST_SHOP_CART DATA STORE Label: cust_shop_cart Entry Type: Data Store Description: This stores information about products in customer’s shopping cart None Alias: Composition: [Attributes] Name Type Length Null userID Text 10 Not Null prodID Number Integer Not Null prod_quantity Number Integer Not Null Description User Id of customer Product ID Quantity of product customer has ordered USER_PROD_RATING DATA STORE Label: user_prod_rating Data Store Entry Type: Description: This stores information about product ratings which are entered by customer None Alias: Name Composition: [Attributes] userID prodID rateID Type Text Number Number Length 10 Integer Single Null Not Null Not Null Not Null Page 45 Description User Id of customer Product ID Product Ratings ID ALL OCCASIONS GIFTS CUST_ORDER DATA STORE Label: Entry Type: Description: Alias: cust_order Data Store This stores information about customer’s order None Name ordID Type Number Length Integer userID ordstatCODE Text Text 10 Not Null 5 Not Null ccrno Number 16 Not Null ord_delivery_date Date/Time Composition: [Attributes] Null Not Null Not Null personal_msg Text 255 Null ship_firstname Text 20 Not Null ship_lastname ship_street_addr Text Text 20 Not Null 255 Not Null ship_city ship_stateCODE Text Text 100 Not Null 2 Not Null ship_zip country Text Text 5 Not Null 150 Not Null Page 46 Description Customer’s Order ID Customer’s user ID Customer’s Order Status Code Customer’s credit Card Number Delivery Date for Customer’s order Personal Message of customer to customize order Receiver’s firstname Receiver’s lastname Receiver’s street address Receiver’s city Receiver’s statecode Receiver’s zipcode Receiver’s country ALL OCCASIONS GIFTS CUST_ORDER_PRODUCT DATA STORE Label: cust_order_product Entry Type: Data Store Description: This stores information about products ordered by customer None Alias: Composition: [Attributes] Name ordID Type Number Length Integer Null Not Null prodID prod_ord_qty Number Number Integer Integer Not Null Not Null Description Customer’s Order ID Product ID Quantity of product ordered by customer PAYMENT DATA STORE Label: payment Entry Type: Data Store Description: This stores information about customer’s credit card None Alias: Composition: [Attributes] Name ccrNO Type Number Length Integer userID Text 10 Not Null ccrtype ccr_exp_date Text Date/Time 50 ccr_ccv Number Integer Page 47 Null Not Null Not Null Not Null Not Null Description Customer’s credit card Number Customer’s UserID Credit Card Type Expiration Date of Credit Card 3-digit Credit Card Verification Number ALL OCCASIONS GIFTS DESIGN PHASE Page 48 ALL OCCASIONS GIFTS SYSTEM COMPONENTS Page 49 ALL OCCASIONS GIFTS STRUCTURE CHART Page 50 ALL OCCASIONS GIFTS LOGICAL DESIGN – ER DIAGRAM Page 51 ALL OCCASIONS GIFTS PHYSICAL DESIGN employee (empID, emp_uname, emp_pwd, emp_firstname, emp_lastname, job_title, emp_email_addr, storeID) store_loc (storeID, store_street, store_city, store_stateCODE, store_zip, store_country, store_phoneno) customer (userID, passwd, firstname, lastname, email_addr, phone_no, street_addr, city, cust_stateCODE, zip, country, security_question, security_answer) product_category (catID, cat_desc) product (prodID, catID, prod_name, prod_desc, prod_picture_name, prod_price, prod_avail_qty, prod_qty_ordered, vendorID, prod_date_ordered) vendor (vendorID, vendor_name, vendor_street_address, vendor_city, vendorstateCODE, vendor_zip, vendor_country) cust_shop_cart (userID, prodID, prod_quantity) cust_order (ordID, userID, ccrNO, ordstatCODE, ord_delivery_date, personal_msg, ship_firstname, ship_lastname, ship_street_addr, ship_city, ship_stateCODE, ship_zip, country) cust_order_product (ordID, prodID, prod_ord_qty) region (regionID, region_desc) region_state (stateCODE, state_name, regionID) payment (ccrNO, userID, ccrtype, ccr_exp_date, ccr_cvv) order_stat_code (ordstatCODE, ord_stat_code_desc) prod_rating (rateID, rate_desc) user_prod_rating (userID, prodID, rateID) Page 52 ALL OCCASIONS GIFTS LOGIN SCREEN Page 53 ALL OCCASIONS GIFTS CUSTOMER REGISTRATION SCREEN Page 54 ALL OCCASIONS GIFTS SHOPPING CART SCREEN Page 55 ALL OCCASIONS GIFTS CUSTOMER CHECKOUT SCREEN Page 56 ALL OCCASIONS GIFTS INVENTORY STATUS REPORT Page 57 ALL OCCASIONS GIFTS REGIONAL SALES REPORT Page 58 ALL OCCASIONS GIFTS NATIONAL SALES REPORT Page 59 ALL OCCASIONS GIFTS SYSTEM ARCHITECTURE Page 60 ALL OCCASIONS GIFTS PROGRAM TEST DESIGN Testing is very important for any information systems development project. Testing helps to identify and eliminate bugs from the system, hence makes system robust. A thorough testing will be conducted for this information system which will consist of following stages of tests. Stage Type(s) of Test Details Unit Testing Black-box testing The test plan will be developed based on program specification. Each input data entry form will be checked to make sure that it accepts valid data and rejects invalid data. Also, all actions will be performed sequentially for that unit to see if expected results are getting delivered. Integration Testing User Interface testing Each user interface will be tested by moving through each and every link in top-down manner. Each use scenario will be tested to make sure that it produces expected results. E.g. entering search criteria, asking for product details, adding product to shopping cart, proceeding to checkout, checking order status, and generating reports. The data flow for each and every process will be tested to make sure that data is flowing correctly. The System Interface Testing will be conducted to make sure secure and correct credit card transactions between the gift store and credit card clearing house. Use Scenario testing Data flow testing System Interface testing Page 61 ALL OCCASIONS GIFTS Stage System Testing Type(s) of Test Requirements testing Usability testing Security testing Performance testing Documentation Acceptance Testing testing Alpha testing Beta testing Page 62 Details This will make sure that all the business requirements are fulfilled by the system. System Analyst will make sure that this system is convenient and intuitive to use for customers and management of the gift store. She will make sure the user interface is friendly. This testing will be done to make sure that the system does not allow any unauthorized access as well as if some disaster happens, it recovers from it. This will be done to make sure that website functions properly under high load i.e. when many customers are visiting the website. The system analyst will check the system against the documentation to make sure that it is written correctly. Alpha testing will be done by the users of the system with the test data. The users of the system are management staff and customers. But, as it is not possible to have real customer before launching the website, employee of gift store will pretend the role of customer and will carry out actions. The real data will be entered into the system and will be tested by the users. ALL OCCASIONS GIFTS TEST PLAN Test Plan Program ID: AOG-2.3 Tester: Priya Pradhan Results: Passed Version number: 1.0 Date Assigned: 05/01/2010 Date Conducted: Open Items: Test ID: 1 Requirements addressed: Customer should enter 16 digit credit card number. Objective: The customer enters valid information on the customer checkout form. Test Cases 1. 2. 3. 4. Interface ID Module 2.3 Module 2.3 Module 2.3 Module 2.3 Data Field Credit card number Credit Card Number Credit Card Number Credit Card Number Value Entered aaaaaaaaaaaa 12222 @****)))))) 123456781234 Script - None Expected Results/Notes – The test case 4 should be successful, rest of the test cases should fail. The customer should be able to enter credit card number which is 16 digits long. Actual Results/Notes - Page 63 ALL OCCASIONS GIFTS Test Plan Program ID: AOG-2.3 Tester: Priya Pradhan Results: Passed Test ID: 2 Version number: 1.0 Date Assigned: 05/01/2010 Date Conducted: Open Items: Requirements addressed: Customer should enter 3 digit credit card verification number. Objective: The customer enters valid information on the customer checkout form. Test Cases Interface ID 1. Module 2.3 2. Module 2.3 3. Module 2.3 4. Module 2.3 Data Field Credit card verification number Credit card verification number Credit card verification number Credit card verification number Value Entered uuu 6&a 123 67a Script - None Expected Results/Notes – The test case 3 should be successful, rest of the test cases should fail. The customer should be able to enter credit card verification number which is 3 digits long. Actual Results/Notes - Page 64 ALL OCCASIONS GIFTS Test Plan Program ID: AOG-2.3 Tester: Priya Pradhan Results: Passed Test ID: 3 Version number: 1.0 Date Assigned: 05/01/2010 Date Conducted: Open Items: Requirements addressed: phone number. Customer should enter 10 digit Objective: The customer enters valid information on the customer checkout form. Test Cases 1. 2. 3. 4. 5. Interface ID Module 2.3 Module 2.3 Module 2.3 Module 2.3 Module 2.3 Data Field Phone number Phone number Phone number Phone number Phone number Value Entered 122ooo2345 +++222 wqwewwrw 4GGGG# 1234567890 Script - None Expected Results/Notes – The test case 5 should be successful, rest of the test cases should fail. The customer should be able to enter phone number which is 10 digits long. Actual Results/Notes - Page 65