Design Document

advertisement
Design Document
Rajiv Chalasani (Team Leader)
Mark Goesmann
Dave Nyman
Kevin Staake
Design Document
Table of Contents
1. 0 Vision Statement
2.0 System Requirements
3. 0 Design
3.1 Overall application layout
3.1.0 Inputs
3.1.1 Grouping
3.1.2 Menu
3.1.3 Summary
3.2 Login Screen Design
3.3 User Files Form Design
3.4 Labor Design
3.5 Depreciable Items Design
3.6 Supplies Design
3.7 Land Design
3.8 Package Design
3.9 Crop Design
3.10 Production Design
3.11 Sales Design
3.12 Revenue Distribution Design
4.0 Database
4.1 Database Elements
4.2 Database Relationships
2
Design Document
1. 0 Vision Statement
The purpose of our project, International Computerized Agricultural Budgeting (ICAB), is
to develop an application to aid farmers in lesser developed countries in Eastern Europe, South
America, and Central America. Our software will allow them to better estimate their budget
and foresee overhead costs, depreciation of value of equipment they own, and the amount of
revenue they can expect to have.
2.0 System Requirements
As determined by our client, the system requirements must not be very high. As such,
the hardware requirements are 64 MB of ram and 512 MHz processor. The operating system
requirements that our project will work on are those that support the Java Runtime
Environment 6 (JRE 6), specific versions of operating systems not supported are those before
Windows 2000, and the equivalent Linux and Apple operating systems. The user must have at
least 20 MB of free space on their hard drive in order to install our program.
3. 0 Design
3.1 Overall Application Layout
3.1.0 Inputs
3
Design Document
The main interface of our project will be a standalone application. It will
be comprised of a login screen followed by the main form. The main form will
have a series of buttons on the left side to help indicate which step the user is
currently performing. At first, only one button will be available, but as the user
completes a panel, access to a new panel will be granted and the previous ones
will be available for the user to revisit. We have chosen the order of panels to be
sequential because of the hierarchy of information needed to calculate parts of
later panels for the user and to calculate the overall summary at the end. The
order of completion of panels seemed to naturally follow: “Labor”, “Depreciable
Items”, “Supplies”, and “Land”. The top half of every panel requiring user input
is reserved solely for user input (in nearly every instance this is a set of
dropdown boxes) which allows users to add an item to the database. There will
be a ‘Submit’ button on the right hand side directly below the areas for user
input that actually performs the addition of the data to the database. In many
cases, directly below the input section of the panels will be a data grid view that
allows you to see the items in the data base that are relevant to the user’s
current position in our program. The users of this program will be able to modify
items in the database by clicking on the corresponding item in the data grid view,
making the desired changes, and then clicking the ‘Edit’ button.
4
Design Document
3.1.1 Grouping
The user will also be able to group items together to make packages and
enter the packages to easily fill out the panel where the user enters data about
his/her crops. The ability to do this greatly simplifies the actions of entering data
when filling out the ‘Crop’ panel, which eases the burden upon the user. Making
packages is not mandatory but heavily decreases repetitious actions in the ‘Crop’
panel. Crops are mandatory because the information from this panel will be
used to make the predictions about the expected yield and revenue for the user.
3.1.2 Menus
In the menu the user can access to four primary menu Items.
1. File
2. User
3. View
4. Help
1. File – Through file the user select user to start on a clean application.
Save to save the work into the database. Save as.. to save the work
into the database as a different file. Print will generate the summary
documentation for the farmers. To export the summary to a text file
or a PDF the user can go through the export submenu. Finally, the
user can quit the application which will ask the user to save the
information and logs the user out before quitting.
5
Design Document
2. User – The user will allow the user to logout from the application.
3. View – This allows the user to can view of the application. If the user
is new to the application then the user can select full view to access
everything openly.
4. Help – Allow will provide users to access the documentation of the
application. About will provide information about the application.
Finally Help can be used to access the user help document. The user
can search for the help about the specific item.
3.1.3 Calculations
Our project will include several different calculation functions, such as:
depreciation of equipment, expected yield, expected total labor, and the cost of
supplies.
3.1.1 Summary Panels
In our project there will be several different summaries the user can
view. One of the summaries produced is ‘Revenue’, the corresponding panel
allows the user to see their projected revenue for each crop by sales, weight,
and cost. Another summary created by our program is ‘Production’, this panel
allows the user to see where his money is going per crop, and how much he/she
will make in return. The last summary panel is ‘Sales’, this is a very simple way
for the user to compare crops and see the revenue generated.
6
Design Document
3.2 Login Screen Design
The login screen asks the user to input the user information and also users to
create accounts. New users can click on the new user button and create and account. If
the user is returning they have to provide a username and password. The user will be
forwarded to the User Files Form.
3.3 User Files Form Design
The User Files Form displays all the files saved by the returning User. If the user
is new or if the returning user wants to create new files then can click on the new user
button. The user can open the previously saved files by selecting the name from the List
box and clicking OK.
3.4 Labor Panel Design
The labor panel takes four inputs, the type of labor, the category of labor, the
average pay of a person doing that job, and the monetary units that the pay is in. These
inputs are added through editable drop down boxes. Like many of the other forms in
our project, there is a ‘Submit’ button that adds the data into the database. These items
are then viewable in the data grid viewer. Once an item is in the data grid view you can
select it and the items will appear in the combo box above. Then a user can change the
items and click ‘Edit’ and it will modify the item or the user can click the ‘Remove’
button to remove the item.
7
Design Document
3.5 Depreciable Items Panel Design
The Depreciable panel is very similar to the Labor panel. It takes eleven inputs,
among the more important inputs are: category (which is a way to group the items),
description (which is a brief description of the item to help identify it), salvage value
(which is how much the item is worth when it is useless to you), price (the amount you
played for the item and a monetary unit corresponding to it), life of the item (how long
the item will last and the corresponding unit), insurance (the amount if insurance the
item has and the corresponding unit), use (the amount of time spent using the item).
Below the input section is a data grid view which shows the items that have been input
so far.
3.6 Supplies Panel Design
The Supplies panel is similar to the previous panels. There is a ‘Category’ drop
down box that allows the user to choose the general category of the supply or create a
new category. The text displayed in the ‘Description’ drop down box is a brief
description to help the user recognize the item, which is also editable because of the
dynamic nature of farming equipment which is constantly changing. ‘Price’ is how much
the user paid for the item and there is also a corresponding monetary unit that the user
must enter. There are also ‘Remove’, ‘Edit’, and ‘Submit’ buttons which do actions
similar to those performed in the previous panels. A data grid view at the bottom of the
screen lets the user view the items that have been added.
8
Design Document
3.7 Land Panel Design
The ‘Land’ panel is also similar to the previous panels. There is a place to add the
name of the farm and the person who owns the farm. The user can input the total size
of the farm, total area for crops, and total area for pasture, since this program is to be
released internationally, the user must input his/her unit for area which may be a local
unit or an international standard unit. As per our user interface standards, there are
also ‘Submit’, ‘Edit’, and ‘Remove’ buttons and a data grid viewer that act in the same
way as those seen in the previous panels.
3.8 Package Panel Design
The ‘Package’ panel is the first of the grouping panels. Its use is simply to reduce
repetition for the user. The user can enter a name in the name field. The options for
the ‘Depreciable’, ‘Supply’, and ‘Labor’ drop down boxes are automatically pulled from
their corresponding panels. By clicking the ‘Submit’ button the user will add the name
to the list of packages in the ‘Package Name’ list box and it will also add any items
entered in the depreciable, supply, and labor drop down boxes in the ‘Package Content’
list box. The user can also add additional items to a package by clicking the ‘Add’ button
next to the item he/she wants to add.
3.9 Crop Panel Design
9
Design Document
The ‘Crop’ panel is very similar to the ‘Package’ panel, a slight difference is there
are tabs to the right of the navigation pane which let the user choose how to categorize
his/her crops, such as ‘Commercial’, ‘Non-commercial’, and ‘Green House’. When the
user enters the first crop name it changes the first tab’s name to that item and allows
the user to add packages, depreciable items and supplies. The user must also enter
three dates, the ‘Begin Crop Date’ which is the day the user plants the crop, the ‘Begin
Harvest Day’ which is the expected first day of harvest, and the ‘End Harvest Day’ which
is the expected last day of harvest. Then the user must enter the estimated average
price of the product and the type of monetary unit. As the user adds items to the crop
they will be available in the data grid view under the input panel. By clicking ‘New Crop’
a new tab will appear and you can add another crop. The ‘Remove’ button will delete
the currently selected tab.
3.10 Production Panel Design
The ‘Production’ panel is the first of the output panels. There are two tabs on
this panel dividing the input in to field and green house. It shows a large table that pulls
data from the previous forms. There are eight fields on this data grid view, they are:
Crop, Area, Days, Total Production, Price, Gross Sales, Production Cost, and Net Return
(of the crop), several of these fields are calculated based on information the user had
given earlier in the program.
3.11 Sales Panel Design
10
Design Document
The ‘Sales’ panel is another panel that performs calculations for the user. After
taking some user input, it makes predictions on the amount of money it will cost the
user to sell an item (also known as the cost to market). The user must enter the driver
pay per trip, pay per km, sales commission, average load hauled, average distance per
trip, and fuel consumption. Then, once the user presses the ‘Calculate’ button a chart is
filled in with the crop Name, Gross Sales (as shown on the Production panel),
Transportation Cost (which is calculated from the information the user just entered),
and Net Revenue.
3.12 Distribution of Revenue Panel Design
The ‘Distribution of Revenue’ panel gets its information from the ‘Crop’ panel. It
places each crop in the left data grid, directly across from that in the right data grid
view, the user is shown when he/she will be able to harvest and receive money for that
crop. There is also a tab allowing the user to view the data grids with the corresponding
local weight unit, letting the user view the data either by money or weight produced.
4.0 Database
11
Design Document
4.1 Database Elements
Our database will be comprised of several different items and relationships.
Land, Supplies, Depreciable Items, and Labor are the major inputs. Crops and Packages
take entries from these inputs and allow the user to group them. Land is an entity
which is comprised of registration, ownership, area, and type. Where registration is
simply an id, ownership is the person who owns the land, area is the size of the land,
and type is what the land is used for. Supplies are comprised of a description, category,
type, and value. The description gives a brief description of the item and what it is for.
The category helps the user later while group grouping items, and corresponds to the
type of the supply. The value of a supply is how much that item costs to buy.
Depreciable Items are large items, such as tractors and equipment, the value of these
items decreases over time. Depreciable Items are comprised of a description, category,
12
Design Document
type, depreciation rate, and value very similar to supplies, the main difference being
that depreciable items have a depreciation rate as well. The depreciation rate is how
quickly an item loses its value. Labor is another entity in our database, which is
comprised of cost, labor type, description, and category. The cost of labor is the
amount of money a person doing that job makes. Labor type is the job that person
holds, for example tractor diver. Description is what these people do for their job. And
category is a way to group jobs. The Package entity is a way to group the Supplies,
Labor, and Depreciation, which are different types of items, together to reduce user
repetition. Package is simply comprised of a name and description field. As an example,
many crops require plowing, so the user can make a plow package that consists of a
tractor driver, a tractor, and a plow. Crop is the final grouping method, it stores the
crop type, area, and all of the packages that it is made up of. Sales is a class which
stores the users input about the costs for the user to sell the crop. The class includes the
pay for the driver, load being shipped in tons, no. of trips, sales commission, pay by
distance and the average distance per trip.
4.2 Database Relationships
The relationships in our entity diagram would best be explained by starting with
the inputs: Supplies, Depreciable Items, and Labor all have a zero-to-many relationship
with the Package entity and a many-to-many relationship with the Crop entity. The
Package entity has a zero-to-many relationship with Crop and Crop has a one-to-many
relationship with package. The Package entity has many relationships with labor
13
Design Document
supplies and depreciable Items. The Land entity is set to the side in our diagram
because it only has a one-to-many relationship with the Crop entity and Crop has a oneto-many relationship with the Land entity. The sales panel connects to the crop with a
one to one and the crop has a one-one relationship with sales.
14
Download