Aleksey Burdakov: |
eng rus |
1. Introduction
The warehouse management system was designed and developed for VESCO Company (Moscow, Russia).
VESCO is a hole-sale trading company. This company sales spirits and wines for Moscow region and other regions of Russia. Company has 6 branches in Moscow, each with its storages and points of sale. All branches are bound to a central office (every day they send information to the central office and get information from the central office).
The system was developed on Centura Team Developer (Centura, formerly Gupta) platform as front-end of client-server architecture and on SQLBase (Centura) SQL-DBMS as a back-end. DBMS servers are installed on separate servers in the branches. Communication between computers in each branch is realized through Ethernet 10-Mbit network.
In the following table, you can see branches and spreading of software components over them:
Branch |
Server OS |
DBMS |
Client OS |
Clients |
# 1 |
NetWare 4.11 |
SQLBase 6.1.2 |
Windows 98 |
15 |
# 2 |
NetWare 4.11 |
SQLBase 6.1.2 |
Windows 98 |
5 |
# 3 |
Windows 9x |
SQLBase 6.1.2 |
Windows 9x |
1 |
# 4 |
NetWare 4.11 |
SQLBase 6.1.2 |
Windows 9x |
20 |
# 5 |
NetWare 4.10 |
SQLBase 6.1.0 |
Windows 9x |
15 |
# 6 |
Windows NT 4.0 |
SQLBase 6.1.2 |
Windows 9x |
5 |
Central |
Windows NT 4.0 |
SQLBase 6.1.2 |
Windows 9x |
30 |
Note: number of client workplaces is approximated.
I have been working on this project since forth quarter of 1995. The system was released and then installed in VESCO in January 1998 and since then, it has been used. Since 1998 it has been redesigned (some parts of it were added or changed) several times due to permanently changing law in Russia.
2. A warehouse management system design and development
This chapter describes stages of the software system design and development in details.
2.1. A Data Flow Diagram (DFD)
A DFD was designed as the results of analyze of the business structures and processes. The DFD represents processes and data themselves and relationships between them. Processes were realized as algorithms in application programs while data structures were reflected in the database schema.
For the DFD design the BPWin CASE-tool (Business processes design) was used.
2.2. Logical and physical database schema design
CASE-tool ERWin/ERX (Logic Works) was used for database schema design. Usage of this CASE-tool reduced database design cycle. This CASE-tool helps to draw an entity-relationship (ER) diagram and produces SQL-script that generates the following database objects:
The entity-relationship diagram includes about 60 several tables, views, and relationships between them used in the project (some of them are used in other projects too).
SQL-script was generated for SQLBase (Centura Software) DBMS.
2.3. System architecture
The designed information system had to be (first) multi-user capable and at the same time distributed (company has widely distributed net of branches and warehouses). Designed systems supposed to be tolerant to hardware and software faults and supposed to have good performance characteristics. For this project was selected the following architecture:
2.4. Design and development of applications
For an application development one of the most powerful fourth Generation Languages (4GL) - Centura Team Developer (Centura Software, formerly Gupta) was used. This development platform is similar to the following platforms: Visual Basic (Microsoft), PowerBuilder (Sybase), and Developer-2000 (ORACLE).
2.4.1. Object-oriented programming
One of the most powerful features of Centura Team Developer platform is Object Oriented Programming. OOP was widely used in application development especially in Quick-Objects design (hi-level components for application development). Quick Objects allows a developer save his (her) time.
In the framework of this project was developed about 15 several object classes that were used in applications. For example: one of the object classes is cListBoxStorage, which represents the hierarchy of companies, branches and warehouses in MS Windows 9x explorer style. The cListBoxStorage object class was inherited (derived) from cOutlineListBoxExplorer object class, which inherited from cOutline and cListBoxExtensions (here is implemented a multiply inheritance). The cListBoxStorage object class was used in several user interface forms: reports master, balance checking, price-list generator.
2.4.2. Libraries
Library mechanism was used for sharing an application code between several parts of this project. In this project the following application libraries were developed:
2.5. Report generation
A big part of this project is a reports part. For development of reports was used Seagate Crystal Reports 6.0 report generator. This is the most powerful report generator, which can be used with any ODBC-compatible database management system (i.e. Centura DBMS) and with several DBMS through native connection (ORACLE, Sybase, and others).
Communication with CRPE was implemented through its API.
The following part describes generation of reports in general:
In the framework of this project was written about 50 reports.
3. Project control and management
Centura Object Manager was used as CASE-tool for project management and control. The following features of Centura Object Manager were used: