POKKA Supply Chain Management System CP 2013 – SOFTWARE ENGINEERING GROUP PROJECT GROUP 3 : •K E N N Y L O C K ( P R O J E C T M A N A G E R ) •G O D W I N W O N G •Y O H A N A P R I S C I L L I A PRESENTATION OUTLINE Project Overview Project Analysis Use Case & Walkthrough Code Analysis PROJECT PURPOSE STATEMENT Implement part of the Supply Chain Management System (SCMS) for Pokka Corp. Private Limited. It involves with creating a list of required Inventories for products to be manufactured. All data manipulated from a database. PROJECT SOLUTION This project developed as a software application. Database stored locally to provide rapid retrieval and recording information Point and click navigation Data entry will be added in a form and display on a list. Split 2 categories Inventories Products Front end – C++ Back end – SQLite(database) HIGH LEVEL DESIGN FRONT END (USER) BACK END CLASS DEFINITION Basically, there are 4 classes: DB connection Inventory Product Invoice I/O ERROR HANDLING using <QMessageBox> provided in Qt pop up error message and ask user to try again. Examples: 1) cannot create new product without existing inventory 2) cannot have empty fields when creating new inventory/product 3) no inventory/product selected either to edit, delete, produce product or order inventory 4) quantity required from inventory is not enough to produce product DATA DESIGN Inventory Integer: id, quantity String: rawMaterials, description, supplier Double: price Product Integer: id, quantity, pProdQty String: productName, Category, description, requiredInv, date Invoice Integer: id String: date, supplier Double: price DATABASE ORGANIZATION DATABASE ORGANIZATION Inventory table Store inventory details CREATE TABLE inventory (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, raw_material varchar(255), description varchar(500), quantity integer, price integer, supplier varchar(255)) ; Product table Store products details CREATE TABLE product (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255), category varchar(255), description varchar(500), reqinv1 varchar(30), reqinv2 varchar(30), reqinv3 varchar(30), quantity integer, distributor varchar(255)) ; Invoice Table Display invoice from Inventory CREATE TABLE order_invoice (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, date text, tot_price integer, supplier varchar(50), inv_id integer, FOREIGN KEY(inv_id) REFERENCES inventory(id) ON UPDATE SET DEFAULT) Godwin: Code review *)Just pick any classes/methods/examples you want to talk about. PLUS *)You demostrate our software according to Use Case. *)Display/talk related to language/environment #1 and language/environment #2 CODE REVIEW Class that can be improved : Inventory, by specifying the specific units on the quantity of the raw material. Because right now we don’t know the unit of a material type. Invocie, by implementing a checkout function, to mark that this invoice have been paid, right now we don’t know which one is paid or not. CODE REVIEW Function that can be improved : Order inventory, currently it only display one supplier for each order make, we can improve it by making it display different supplier (same item). Login, currently the way we implement it is hardcoded, we can improve it by storing the username and password into the database DEMONSTRATION OF PROGRAM ANY QUESTIONS?