Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Aluminum Process

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Arab Open University- Lebanon

Faculty of Computer Studies

Information Technology and Computing Department

OACS
Optimum Aluminum Computer System

Zaher E. Hamza, ID: 008723


&
Haissam M. Hmaidan, ID: 006279

T471: Final Year Project, May 2010

Supervisor:

Dr. Ali Atieh


Acknowledgements

First and foremost I would like to thank the director of Arab Open University -
Lebanon branch, Mrs. Fairouz F. Sarkis and all IT departments’ directors, tutors, and
staff. AOU made it possible for me to acquire my bachelor degree in Information
Technology and Computing, without quitting my job!
Special thanks to Dr. Nuhad Aman Eddine, Dr. Ali Atieh and Dr. Ahmad Fadlallah
for their help and concern in better quality of teaching and respect for students.
My thanks and gratefulness for Mr. Ali Harb, Mr. Bassam Azoury, Mr. Nabil Rahal,
and Mr. Tarek Mahmoud for their valuable and supportive assistance which made it
possible to get over many obstacles.
Table of Contents
PREFACE ……………………………………………………………………………………………. 1

I: INTRODUCTION ………………………………………………………………….…. 2
1.1 Background of the Project …………………………………………….…………. 2
1.2 Purpose of the Project ……………………………………………………………. 2
1.3 Objectives of the Project …………………………………………………………. 2

1.3.1 General Objectives ………………………………………………….………. 2

1.3.2 Specific Objectives ……………………………………………………….…. 3

II: SYSTEM REQUIREMENTS AND SCOPE ………………………………….…… 3


2.1 Problem Specification ………………………………………………………..….3
2.2 Suggested Solution ……………………………………………………………….4
2.3 Target Customers or Beneficiaries ……………………………………….…….4
2.4 Project Deliverables ………………………………………………………….…. 4
2.5 Definition of Terms ………………………………………………………..…….5

III: PROJECT MANAGEMENT ……………………………………………………... 5


3.1 Management of Tasks …………………………………………………………. 5
3.2 Project Schedule: OACS Time-Management Schedule. ……………………..…… 7

IV: REVIEW OF RELATED LITERATURE ……………………………………….… 8


4.1 Related Literature ………………………………………………………….…. 8
4.2 Methods of search ………………………………………………………..….8
4.3 Evaluation of Related Literature ……………………………………………. 9

V: SPECIFICATIONS ANALYSIS …………………………………………………. 10


5.1 Data Gathering Instruments ……………………………………………….. 10
5.2 Functional Requirements and Use Cases ……………………………….… 10
5.3 Data Requirements ……………………………………………………….…. 13
5.4 System Requirements …………………………………………………….…. 13
5.5 Hardware Specifications ……………………………………………………..14
5.6 Modeling and Development Tools ………………………………………….14

VI: SYSTEM DESIGN …………………………………………………………….….15


6.1 System Architecture …………………………………………………………15
6.1.1 Profiling System ……………………………………………………..…..15
6.1.2 Solution Engine …………………………………………………….….…19
6.1.3 OACS SQL Database ………………………………………………….….20
6.2 Data Flow Diagram (DFD) …………………………………………….…….22
6.3 Program / System Flow Process / System Flowchart ……………….….25
6.3.1 System Flow Diagram ………………………………………………….25
6.3.2 System Flowcharts …………………………………………………....26
6.4 ER Diagrams ………………………………………………………………….28
6.5 Methods Used in Developing the System and Justifications ………….29

VII: SYSTEM DEVELOPMENT AND TESTING………………………………..30


7.1 Sample Output Screens/ Forms/ Reports with sample data …………30
7.2 System Testing ……………………………………………………………..31
7.3 Evaluation of the Testing Strategy ………………………………………31

VIII: CONCLUSION AND RECOMMENDATIONS ………………………….32


8.1 Conclusion ………………………………………………………………….32
8.2 Recommendations for Future Work …………………………………….32

Bibliography ……………………………………………………………………..33
Preface
Most of software application systems that were developed for industrial uses were
exclusively oriented towards computerized and automated machinery only. Hence, very
few software applications were developed for factories with non computerized
machineries.

In Lebanon, the major part of aluminum factories use non computerized machines,
where machines operators do all the cuttings for various parts of aluminum doors and
windows. In fact those machines operators are human workers, who have skills in
cutting and operating the machines.

In general most of the aluminum factories do not follow a systematic scheme for the
overall business procedures. So it is not strange to get lost in following up a pending
project, or some accounts of certain customers, but the worst part is the major loss of
valuable aluminum materials due to misunderstood measurements or calculation
mistakes. (Here it is “mistakes” not errors because they are committed by human
personnel rather than smart machines!)

The idea of OACS project is to approach this domain and see what could be offered
to facilitate-with-accuracy the production process of doors and windows, without
transferring the factory machines into computerized ones.

1
I: INTRODUCTION

1.1 Background of the Project

The industrial field in Lebanon, mainly house constructions of aluminum doors


and windows is approached either by computerized machinery factories, that are
not widely spread, or by most common non-computerized ones. For large
computerized machinery factories, it seems that the cutting process of various parts
of windows and doors is going well with high speed and precision.

On the other hand, non-computerized machinery factories still rely on manual


calculations of cut-lists for the various windows and doors parts to be cut. Inside
the factory human machinery operators are responsible for the cut-lists
calculations, which are considered to be a complex procedure with sharp
responsibilities.

Taking in consideration the previous facts, I tried to make a projection for the
non-computerized, non-systematic, and manually calculated lists into a computer
system that tries to trim most of the latter problems and to relief human operators
from the hard job of calculations.

1.2 Purpose of the Project


OACS will provide a helpful and efficient solution the non computerized
industrial domain. It is mainly oriented towards aluminum factories with non-
computerized cutting machineries that produce aluminum doors and windows for
different types of installments. (Such as houses and various kinds of huge
structures)

1.3 Objectives of the Project


1.3.1 General Objectives
OACS makes it possible for the industrial domain with non computerized
machineries to engage broader achievements and invest the conducted business
in a smarter and more efficient way. Its main objectives is to organize and
preserve various data related to the business domain, like data about customers,
managers, projects, accounts and all generated solutions. This process allows

2
the business owner or manager to control the production procedures in the
factory, and keep track of important data which is needed for current and future
work.
1.3.2 Specific Objectives

The core of OACS is the cutting lists engine that produces optimum cutting
lists for aluminum doors and windows for the different projects to be
constructed. The procedure of producing these lists is the most important part
in the aluminum factory. It is how fast and how accurate these lists are
generated. OACS cutting lists engine will generate lists in a very short time
with a very high precision of measurements for every related-cut-part of a
series of windows or doors.

II: SYSTEM REQUIREMENTS AND SCOPE

2.1 Problem Specification

Most aluminum factories, with non-computerized machineries, face many


problems in various processes of the business domain. These problems lead to
critical outcomes of performance, precision, and productivity.

 The main problem is producing aluminum doors and windows cutting lists
with precise measurements, which is the responsibility of each one of the
machine operators. (Human operators)
 Calculation mistakes always come up in the cutting lists, due to manual
calculations.
 A lot of operators and machines time, is wasted on the complex calculation
procedures.
 Due to some erroneous results of lists, many aluminum raw materials and
workers time are wasted out.
 The Over-All productivity of the aluminum factory is slowed down due to the
previously mentioned problems.
 There is no systemic and standard profiling for customers and their performed
projects.
 Finally, customers wouldn’t be satisfied due to all of mentioned problems.
(Project deficiencies, slow procedures, etc…)

3
2.2 Suggested Solution

Optimal Aluminum Computer System (OACS) suggests a reliable solution for


the manual generation of aluminum cutting lists problem. It is mainly used by
aluminum factories, with non computerized machineries. OACS proposes the
following:

 It will organize and preserve all data about customers, projects, aluminum profile
specifications, in a reliable and well defined database.

 It will provide monetary accounts and invoicing system for each customer.
(Accounts are generated according to charter fees and cost of materials in every
performed project)

 The main target of OACS is to produce a "Solution" for the required cutting lists,
for each project. The "Solution" part of OACS will contain the calculation
engine, which performs all mathematic operations, according to specific
business rules, that depend on different product types. (These specifications are
the core of this industry, where the list, contain precise measurements of every
part, out of many, that will produce a finished product, such as a window or
door. Detailed explanation of these specifications will be introduced in the
design stage)

2.3 Target Customers or Beneficiaries


OACS is mainly used by aluminum factories, with non computerized
machineries. Factory managers or any assigned computer operator in the factory
will run and maintain the software.
Nevertheless, OACS cutting engine could be adapted to suit other types of non-
computerized machinery factories that rely mainly on cutting lists. (Glass
factories, Wood factories, Metal works factories, and even Stone cutters factories)

2.4 Project Deliverables

OACS is a computer system, which delivers optimum solutions for the non-
computerized aluminum factories. OACS computer application will deliver the
following:

 Computerized cutting lists for aluminum doors and windows based on various
standards of aluminum profiles and the specified inputs from managers that
concern the specifications of different projects.

4
 Reports and printed out sheets of cutting lists for aluminum doors and
windows, to be used by aluminum factory machine operators and glass factory
cutters. (The glass cutting lists sheets of each project are just sent to the glass
factory)

 OACS will handle all the profiling operations that concern the business domain
(profiles for customers, projects, products, accounts, and factory managers.)

 OACS will preserve all the profiled operations data of the business domain
(profiles for customers, projects, products, accounts, and factory managers) in
a relational database.

2.5 Definition of Terms

Technical terms of various parts that are cut and assembled in the aluminum
factory to form an aluminum window or door of various types:

- Bottom Track: The part that constitutes the bottom frame of a door/window.
- Side Track: The part that constitutes one of the sides of a door/window frame.
- Bottom Panel: The bottom part of a sliding door/window panel.
- Side Panel: One of the side parts of a sliding door/window panel that usually
contains a handle and hook lock mechanism.
- Adapter: A small narrow rail to adapt double sided rails together.
- Screen: Identical sliding panel with aluminum net-wires. (Insect trap)

III: PROJECT MANAGEMENT


Project management is the key for success of every staged project. From the first
beginning we managed to set a detailed time scale for each of the project activities,
and we tried our best to stick to that schedule. The results were good, most activities
had a fair time but we trimmed some secondary activities of the system, like
“System Configurations” and “Payments” to keep on track with the time schedule.

3.1 Management of Tasks


While researching for systems or projects similar to ours (OACS), we
found that very little trials were made in the domain of aluminum factories with
non-computerized machineries. So, we had to depend on what most of business
experts we interviewed, and the analysis of their business problems (mainly how

5
to automate the generation of precise cutting lists), in setting the best outcomes
and targets for the OACS project.

Concerning system requirements and analysis, we gathered enough data


and evidences about the aluminum business rules and conducted procedures, in
relation to the role of the managers. Which gave us a solid ground to pin-point
most of the problems; like the generation of precise cutting lists in addition to
organizing and preserving data about customers, managers, projects, solutions,
and accounts.

The design of OACS came out to achieve the set aims and targets
mentioned above, and proposed a decent solution for each of the mentioned
problems. Customers, managers, projects, solutions, and accounts data is
organized and preserved in a related database, and the manual generation of
cutting lists is replaced with a cutting list engine that automates the procedure of
taking in all measurements data from managers, and producing high precision
cutting lists with all business rules covered according to the product profile
features and customers’ demands.

Initially, we proposed a “Payments – Receipt” for accounting module, and


a separate “System Configurations” module for the cutting list engine. But as we
went on with the design of the main modules, we found it time-inappropriate
and out of the main scope of the whole system.

As we mentioned before, we managed to set a detailed time scale schedule,


and we did our best to stick with it. Many reasons combined together to keep the
project on track:

 We conducted the interviews in synchronous separately, which gave us extra


time.
 We managed the various tasks and responsibilities in a way that dependent tasks
were done with higher priority, so no one of both of us was completely idle
waiting for the other one to finish up.
 We agreed to rid the project of some secondary activities (mentioned before) that
were rather time consuming than main targets.
 Best choice of modeling tools that made it easier and faster in most of the project
activities.
 When stuck with a design or development problem, we didn’t hesitate to seek
help from trusted sources (tutors, previous and current course references,
reference books and articles, etc…)

6
3.2 Project Schedule: OACS Time-Management Schedule. (Image is tilted for a better view)

7
IV: REVIEW OF RELATED LITERATURE
4.1 Related Literature
The related literature search is focused upon two different fields of sources:

1- Business domain references. Those are related to technical data dependent on


aluminum manufacturer’s specifications manual, and architectural standards
of constructions through the instructions of civil engineers. But the most
beneficial sources were the outcomes of business expert’s investigations.

2- References needed in the design and implementation of OACS application


and database. These references included guides and tutorials about the
modeling tools used (such as MS Office Visio Help contents), and further
knowledge and skills about the adopted programming language for
implementation of OACS program (such as guides and books about Visual
Basic language), and others about designing and building databases (such as
guides and books about building MS SQL databases).

4.2 Methods of search

1- Keyword(s) search
2- Search by Author's Name
3- Search by Title

All of the above search methods could be conducted by either crawler-based


search engines, or directory search engines.

Crawler-based search engines such as Google and Yahoo, compile their


listings automatically. They "crawl" the web and people search through their
listings. These listings are what make up the search engine's index or catalogue,
where directory search engines such as Open Directory depend on human editors
to compile their listings. Webmasters submit an address, title, and a brief
description of their site, and then editors review the submission.

Keywords search gives the largest number of search result links, which
consumes a lot of time to find a specific reference. On the other hand, search by
Author's Name or by Title, results in limited number of feedback links, which are
closely related to the desired reference. We used this method to conduct my
literature search.

8
4.3 Evaluation of Related Literature

An evaluation example of the chosen book “Practical Standards for Microsoft Visual
Basic ” by James D. Foxall. (See bibliography for further information about book publishers)

Presentation
The book is well structured and has an organized layout. All topics are well
indexed, which made it easy to find any topic of interest. I found most of the
book content suitable for both beginners and advance programmers who wish to
learn Microsoft Visual Basic.

Relevance
After reading the targeted parts of the book, I found it very useful. I aimed
to learn new programming techniques that I don't have yet, and reading the book
made it easy and clear to get them.

Objectivity
Since Visual Basic is a very popular programming language, many
developers extended its capabilities and functionalities. But the author had
specific objectives about the practical standards of this language, and those
objectives were made very clear.

Method
Basically, the book is a practical reference. Most of its methods rely on
developer teams at Microsoft and Tigerpaw Software:
- Development and Support for Tigerpaw Software.
- Microsoft Certified Solution Provider specializing in commercial database
applications.
- The Microsoft Windows and Microsoft Office environments teams.

Provenance
Since Microsoft is the exclusive inventor of Visual Basic, and James D.
Foxall is one of Microsoft developers' team leaders, the book is more than
reliable. In addition it is published by Microsoft press.

Timeliness
Most of the book content states the practical standards of Visual Basic,
which means that it applies to whatever version of this language. Also it is
mostly based on the final version of Microsoft Visual Basic 6. (No newer
versions of this language were released. A new approach is in place, VB.Net)

9
V: SPECIFICATIONS ANALYSIS

5.1 Data Gathering Instruments


Throughout the various stages of the project, we used different methods for
gathering the needed data about the system:

- Business expert’s interviews. It was the basic and richest method that provided
us with most of the business domain rules, procedures, standards, and
contracting details. Upon visiting different aluminum factories, we noticed
little variation in cutting methods among them. Also they were conducting the
other procedures in the same sense, procedures such as contracting projects,
registering needed data on papers, and even using the same aluminum profiles.
(Those are mostly common amongst all aluminum factories)

- Building constructions rules and measures. We consulted a civil engineer who


has a long experience in the domain of constructions and architectural designs.
He guided us to the correct rules that are used by aluminum factory
representatives who have the responsibility to get the measurements of width
and height of doors and windows in the real-time projects.

- Aluminum technical data and specifications from manufacturing industries


manuals. We used the standards of measurements and dimensions of aluminum
profiles from the manufacturing manuals of technical data and specifications of
the used aluminum profiles.

5.2 Functional Requirements and Use Cases


OACS is a complete package for aluminum sliding doors and windows
factories. Its main functions are introduced as the following:

 It will organize all data about customers, projects, aluminum specifications,


in a reliable and well defined database.

 It will introduce an invoice system for the customers (charter fees and cost
of materials for the performed projects.)
 The "Solution" part of OACS will contain the calculation engine, which
performs all mathematic operations, according to specific business rules, that

10
depend on different product types and produces precise cutting lists for each
project, ready to be used by machinery operators.

System Initialization Use Case Diagram and Functionality


(The following numberings are related to System Initialization Use Case Diagram)

1. Create Manager Profile


- The manager inputs needed personal information about manager.
- The manager saves data to Manager Profile in the database.

2. Create Product Profile


- The manager inputs all needed information and specification about the product.
Such as: Product Code, Product Name, Product Color, Product Dimensions, and
Product Supplier. Etc…
- The manager saves data to Product Profile in the database.

11
Contracting and Solution Use Case Diagram and Functionality
(The following numberings are related to Contracting and Solution Use Case Diagram)

1- Create Customer Profile


- The manager inputs all needed information about the customer.
- The manager saves data to Customer Profile in the database.
2- Create Project Profile
- The manager inputs all needed information about the contracted project.
- The manager inputs all measurements of the project windows and doors.
- The manager saves data to Project Profile in the database.
3- Generate Solution for a Project
3.1- The system retrieves customer data from Customer Profile using Customer
ID.
3.2- The system retrieves project data from Project Profile using Project ID.
3.3- The system retrieves product data from Product Profile using Product Code.
3.4- The system retrieves all measurements of the project windows and doors
from the Project Profile using Project ID.
3.5- The cutting list engine takes the project windows and doors measurements,
and applies a set of business rules on them. After a chain of calculations, two
main categories of results are generated:
1- Cutting lists results: Those are the calculated measurements for the
machines operators to use, in order to produce the different parts of one
unassembled door or window. (About 28 parts for each unassembled
aluminum double-panels window need to be cut according to

12
mathematical calculations, based on the measured width and height of
every window or door, and the chosen type of an aluminum profile)
2- Total square area of aluminum and glass for all windows and doors of
one project solution.
3.5.1- The system saves automatically all of a solution results into the system
database.
3.5.2- The system prints out a hard copy of the "Cutting Lists Results" only that
will be used by machines operators.
4- Create Customer Account
- The manager creates an account for a customer upon contracting a project, using
Customer ID and Project ID.
- The manager sets the "Prices and Fees" per meter for the performed project.
- The manager saves data to Accounts Profile in the database.

4.1- The system generates an invoice after a solution for a project is generated,
acquiring total square area of aluminum and glass from the Cutting List
Engine results.
- The system will automatically saves data to Accounts Profile in the
database.
4.2- The system generates and prints out a predefined payments receipt.

5.3 Data Requirements


OACS requires three categories of data:
1- Personal data about customers and manager/managers, and general
information about projects.
2- Technical data about standards of aluminum products profiles that are
sourced from manufacturing manuals with technical data and
specifications of the used aluminum profiles.
3- Measurement data provided by the manager to the system based on the
measured width and height of every window or door, and the chosen
type of an aluminum profile.
5.4 System Requirements

 OACS is a Windows platform application system, which means that it is


suitable for all Microsoft Windows versions. (Starting from Windows95 till
the current version)

 OACS preserves all its data in a database run and maintained in MS SQL
server.

 To enhance the layout and output of some forms, OACS used ActiveX
controls like iGrid2.0 and some additional DLL library files that are

13
included with OACS package in addition to the installation instructions for
optimum performance. (In Readme.txt file)

 The cutting lists sheets for aluminum windows and doors (In addition to
glass cutting lists) will make use of Microsoft Excel as reports output and
for the hard copies printouts.

5.5 Hardware Specifications

OACS is a computer application that functions locally in an IBM clone


personal computer. It requires the following hardware specifications:
 PC unit (Desktop or laptop) with reasonable processing and storage
capabilities to run OACS software and the related MS SQL server database.
 Back-up DVD writer. For backup procedure.
 Laser Printer. For daily prints of cutting lists sheets, invoices, receipts, and
other needed printouts.

5.6 Modeling and Development Tools

During the various stages of the project, I used some tools that aided me in the;
management, design, and in development procedures of the project.

 Microsoft Office Visio 2007. It is a good modeling application used to


produce all kinds of diagrams, figures, and schedules that are needed in any
project.
 Microsoft Visual Studio IDE. An integrated development environment that
contains everything needed to build the graphical user interface, Visual Basic
language, editor to write program codes, compiler, linker, code and functions
libraries (VB MSDN), and debugger. In short, it has everything to accomplish
end-user software.
 Microsoft SQL server for Database design and creation. Microsoft SQL server
relational database management system software which is used to design and
build the OACS database.
 Backup application for database files. Such as Nero Backup utilities, to ensure
simultaneous backup of OACS data files, on secure media, such as CDs or
DVDs. We used Nero Burning ROM 7.0 in the testing procedure of OACS.

14
VI: SYSTEM DESIGN
6.1 System Architecture
OACS is composed of three main modules: (See the figure)

1- Profiling System
2- Solution Engine
3- OACS SQL Database

6.1.1 Profiling System

Profiling system module is composed of seven forms:

- Log-In Form
- Main Form
- Customers Form
- Customer Accounts Form
- Managers Form
- Aluminum Profiles Form
- Projects Form

15
- Log-In Form: A simple security measure that requires a user ID and a password to
allow the system user (A computer operator) to log-in and operate the system. No
need for user accounts and access control in OACS system.

- Main Form: After a successful login, the main form is displayed. The main form
contains all the links to the other forms, with a short explanation about the role of
each form.

- Customers Form: This form takes in all needed data about the customer, such as:
Customer ID, Customer Name, Customer Address, and Customer Phone, and stores
them in the related customer table of OACS relational database.

16
- Customer Accounts Form: It takes in all needed data about a Customer Account, such
as: Account ID, Customer ID (from Customers table) and Project ID (from related
Projects table). In addition to input Charter Fees, Total Square Area (from the related
project Solution table), Total Payment (calculated by multiplying input Charter Fees by
Total Square Area) and Number of Payments. All data of this form is stored in the
related customer accounts table of OACS relational database.

- Managers Form: Managers Form takes in all needed data about the
manager/managers, such as: Manager ID, Manager Name, Manager Address, and
Manager Phone. Data is stored in the related Managers table of OACS relational
database. Managers hold the responsibility of contracting projects with customers,
and taking the needed measurements for doors and windows in each projects, in the
form of width and height.

17
- Aluminum Profiles Form: This subsystem takes in all technical data about the
product, such as: Product ID, Product Name, Product Color, and Product
Dimensions (Width x Height x Length). Data is stored in the related Aluminum
Profiles table of OACS relational database.

- Projects Form: The Projects Form takes in needed data about the project, such as:
Project ID, Project Location, Project Description, Start Date and Finish Date. In
addition to ID of the manager assigned to the project and the ID of the project owner
customer. Data is stored in the related Projects table of OACS relational database.

18
6.1.2 Solution Engine

This is the core part of OACS. It is responsible of generation of doors


and windows cutting lists. The manager inputs width, height, quantity, type
(gate or window), and number of panels (2 panels or 4 panels) for every
measured door or window with different widths and heights. The solution
engine then computes the input data in a series of complex calculations
according to the business rules adopted in this domain. The output of these
calculations is to give precise values (measurements) for each of the parts to
be cut (Mentioned in details in section II, subsection 2.5: Definition of
Terms)

Also in this form the totals of square meters of aluminum and glass for
each project solution will be calculated and displayed. In addition the
solution engine will export the cutting lists of aluminum parts and glass
plates separately into MS Excel to be printed out as hard copies.

All the relevant results of cutting lists are stored in related table of
OACS database, and might be displayed or kept for future reference.

19
6.1.3 OACS SQL Database

OACS relational database is designed to preserve all the data in concern


from OACS program forms. Some of the preserved data will be related to
other data forms to maintain relationships; others are preserved for future
reference.

OACS relational database contains the following classes as shown in the


class diagram figure below:

Classes

 Alum: Short for Aluminum, this class is designed to hold related and technical
data about Aluminum such as: ID, Name, Color, Description, Width, Length,
Thick (short for Thickness) and Weight. One instance of this class is in
relationship with none or many instances of class Solution.

20
 Customer: The Customer class is designed to hold related data about customers
such as: ID, FName (First Name), LName (Last Name), Address, and Phone
number. One instance of this class is in relationship with none or many
instances of class Project.

 Manager: Class Manager is designed to hold related data about the


manager/managers, such as: ID, FName (First Name), LName (Last Name),
Phone, Username, Password and Role (Manager with full access or limited
access). One instance of this class is in relationship with none or many
instances of class Project.

 Invoice: The Invoice class is designed to hold related data about the customer
account, such as: ID (account ID), ProjectID, CustID (Customer ID), InvDate
(Invoice Date), TotalSQ (Total square area), Total (total cost), and Payments.
One instance of this class is in relationship with none or many instances of
class Project.

 Project: Class Project is designed to hold related data about the project, such
as: ID (project ID), CustID (Customer ID), MgrID (manager ID), Location,
Description, SDate (start date) and EDate (end date). One instance of this class
is in relationship with none or many instances of class Solution.

 Solution: The Invoice class is designed to hold related data about the Solution,
such as: ID (solution ID), ProjectID, AlumID, Qty (quantity), Width, Height,
Total (total square area of every WxH of a door/window), Types (either gate or
window), Panels (either 2 or 4 panels), Base, Side, P_width (panel width),
P_height (panel height), Scr_w (screen width), Scr_h (screen height), Adapter,
G_width (glass height), G_Height (glass height) and G_Total (glass total).
None or many instances of class Solution is/are in relationship with one
instance of class Alum. Also none or many instances of class Solution is/are in
relationship with one instance of class Project.

Hint: For further details about the used term, review section 2: “SYSTEM
REQUIREMENTS AND SCOPE”, subsection 2.5: “Definition of Terms”.

21
6.2 Data Flow Diagram (DFD)

OACS has a main module that contains the cutting list engine; it is the "Solution"
module. The following DFDs shows input, storage, and output operations of the Solution
module in different levels.

 Level 0 DFD for Solution Process

22
 Level 1 DFD for Solution Data Input Process

23
 Level 1 DFD for Solution Data Output Process

24
6.3 Program / System Flow Process / System Flowchart

6.3.1 System Flow Diagram

First, customer, project, manager, and aluminum product profile provide the
solution module with the needed data, and then the cutting list engine in the solution
module generates the wanted lists through a series of inputs from the manager
(quantity, width, height, type, and number of panels of each door/window) and
calculations according to business rules.

Also the solution module generates total square area of the whole project and the
result sheets of cutting lists.

The generated total square area of one whole project is used in the invoice form
with the relevant data about the owner customer of the project to calculate the total
cost of the project according to charter fees set by factory manager in command.

25
6.3.2 SYSTEM FLOWCHARTS

o Project Contracting Flowchart:

26
o Project Solution Flowchart:

27
6.4 ER Diagrams

The following is an entity relationship diagram for OACS database,


designed and built with MS SQL Server, Express Edition.

Entities Details: (Bold underlined fields are primary key fields)

- Alum (ID, Name, Color, Description, Width, Height, Length, Thickness, Weight)

- Customer (ID, FName, LName, Address, Phone)

- Manager (ID, FName, LName, Address, Phone, UserName, Password, Role)

- Invoice (ID, CustID, ProjectID, InvID, TotalSQ, Total, Payments)

- Project (ID, CustID, MgrID, Name, Location, Description, sDate, eDate)

- Solution (ID, ProjectID, AlumID, Qty, Width, Height, Total, Type, Panels, Base, Side,
P_width, P_height, Scr_w, Scr_h, Adapter, G_width, G_Height, G_Total)

28
6.5 Methods Used in Developing the System and Justifications

As mentioned before, OACS is having specific tasks: Creating profiles


about customers, managers, and accounts, and generating the main task which is
the solution for the business domain (i.e. the full scale cutting lists and
measurements for a complete project). Each of these tasks either the application
or the database required more than one approach and method to reach its final
state.

First, we used the iteration model in the system requirements stage. The
data collection and interviews with business experts were done iteratively. We
investigated about one part of the system, let’s say the “Solution” module in
OACS, then after analysis, many gaps appeared and needed more investigation
again and again until those gaps were filled. For example, in the first two
interviews with two respectful business experts, many facts appeared about the
requirements for an aluminum project solution. As we tried to move on to other
modules of the system, we found out many missing requirements in the solution
module still needed more investigation to be done. So we interviewed more
business experts, and got all the answers.

Second, upon designing OACS, we rather used incremental approach in


designing each part of the system, one after another, where the nature of the
system allowed incremental approach. Although, the incremental process of the
design didn’t came out without some iterative approaches that was to ensure the
integration amongst all the parts.

At the first beginnings of the project, we tried to finish up each part of the
system completely, by adopting the waterfall method, but soon ran into a dead
end. During interviews, no one of the interviewees accepted to be interviewed
that way, I mean to extract every small detail about one part of his business from
the first time, which was impossible!

Also while designing OACS; it was merely useless to try finishing up each
part of the system without the need to refine it again by adding new features or
removing inappropriate ones.

29
VII: SYSTEM DEVELOPMENT AND TESTING
7.1 Sample Output Screens/ Forms/ Reports with sample data

Sample1: New customer

Sample2: New project

Sample3: Generating a project solution

30
7.2 System Testing

Partitioning the system into tasks and sub-tasks helped a lot in the testing
procedures. When a sub-task is finished, we conducted some testing procedures
and debugged the errors if any and moved one to the next sub-task until all the
sub-tasks of a certain task were completely tested.

In the testing process, we used three types of testing that are:

a. Smoke testing: At the beginning we performed the smoke testing to check


whether there was missing code for any component. Since the Smoke
testing is a general testing method, as soon as the part being tested is OK,
we moved on to the second testing level. (No deep testing was conducted
at this time)

b. Black box testing: the important thing about the techniques of the black
box testing so it tests the system input data. We tested a random range of
input values, and then we used lower, upper, and middle bound values to
make sure that no errors will occur upon all types of input values users
might use.

c. White box testing: we selected testing cases inputs so that we can check
the paths in the code and find out the correct output. When any aspect of
the implementation is modified, we re-conducted the white box testing.

7.3 Evaluation of the Testing Strategy

As we advanced in the implementation process of the various tasks of


the system, we were satisfied of the testing strategies, and most of them
gave us good results and were successful. There were no critical errors
mentioned when the testing process for a certain task was over. Also the
testing strategies were a good match for the strategies of analyzing,
designing, and implementing.

As a real-time testing, we asked one of the business domain managers


to test the system for real-time values. At first many errors and bugs were
detected, after debugging most of the errors, the real-time users were
satisfied of the results and provided us with encouraging feedbacks.

31
VIII: CONCLUSION AND RECOMMENDATIONS
8.1 Conclusion

Writing this conclusion means that we finished OACS project report. We


tried to come out with a clear and well organized report by following a
carefully planned outline. Throughout the various parts of this report we
intended to provide various descriptive forms, like bulleted points to describe
long textual explanations of certain processes, or like descriptive diagrams of
various types.

Due to many tasks and procedures of the system as a whole, we couldn’t


provide all the diagrams, but we rather included the most important ones that
give the required details about the important system procedures.

On the other hand, OACS approaches a business domain where most of the
work and procedures are conducted in a non-systematic and non-organized
forma. In some of its aspects, we enjoyed work in some stages, specifically the
conducted investigations with business experts. That experience provided us
with lots of communication and interviewing skills. Other aspects of design
and coding urged us to push our abilities to the limit in order to come up with
the most suitable solution.

8.2 Recommendations for Future Work


OACS is a prototype application which covers all needed requirements for as
a senior project. OACS could be improved to a fully functional and reliable
application for non-automated cutting factories. Its design is ready to be slightly
modified to suit other types of cutting factories, than aluminum ones.

We included one profile of aluminum, which is being widely used in


Lebanon. As a fully functional application it would be refined to include all types
of aluminum profiles and the ability to add new ones without hard coding the
program.

Also a complete module for payments would be suitable for the non-prototype
system. In addition, a stock control module might be added to follow up the
aluminum inventory stock and the aluminum suppliers.

32
Bibliography

- Jason Charvat, Project Management Methodologies, Published by John Wiley &


Sons, Inc., Hoboken, New Jersey, Copyright © 2003 by John Wiley & Sons, Inc.

- Foxall, James D., Practical Standards for Microsoft Visual Basic, Published by
Microsoft Press, Redmond, Washington. Copyright © 2000 by James D. Foxall.

- Alan Beaulieu, Learning SQL, Second Edition, Published by O’Reilly Media, Inc., 1005
Gravenstein Highway North, Sebastopol, CA 95472., Copyright © 2009 O’Reilly
Media.

- Visio 2007 Automation Reference, Object Library Reference for the 2007 Microsoft
Office System. MS Office 2007 integrated help system.

- United States Aluminum, Commercial Products Group, SD series 2000 technical data
and specifications manual of aluminum sliding doors and windows. Release date
2009.

33

You might also like