POKKA Supply Chain Management System

advertisement
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?
Download