SoftwareServant – Sample System Specification

SoftwareServant - Sample System Specification
1 of 27
SoftwareServant – Sample System Specification
Introduction:
This sample system is based on a mobile sales sytem that uses Windows Mobile devices to take
sales orders. It is a functional subset that has been modified to use a standard PC and some
internet functions instead of Windows Mobile devices but retains the same basic design. The
original system will also be available as a supplementary lesson for developing mobile systems.
In its original form, Windows Mobile devices are used to give field staff a fast, convenient means
of taking error-free orders at the customer site. Completed orders can be printed onsite and/or
immediately transmitted back to the office ready for invoicing and updating of customer, inventory
and accounting records.
The system provides immediate access to customer financials, stock availability and all product
and pricing options. It caters for backordering, standing orders and automated emailing of order
confirmations. Comprehensive sales history allows field staff to ask questions like:
-
what did this customer buy last time?
when did they last buy this product?
how many did they order?
how much did they pay?
Each field representative only needs to work with the customer and product information that is
relevant to him or her. Field staff can send orders and have their data automatically updated
from back office systems wherever they have access to a telephone service (fixed or mobile).
Management can monitor sales activity as its happening from anywhere and at anytime via the
internet.
The system eliminates error-prone data entry from hand-written orders. Order processing for field
staff is faster and more accurate. They no longer need to battle with paperwork to price, extend
and total orders. They can resolve stock availability and customer credit issues on-site prior to
placement of orders. Orders can be transmitted immediately from the customer's site to the office
for earlier shipment to the customer and faster invoicing and payment.
The elimination of transcription, pricing and extension errors together with on-site resolution of
stock availability and customer credit issues can release a large amount of resource from the
back office function and the sales team.
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
2 of 27
Host: PcClient
Start.Form
|SSample
{Sample Client/Server order taking system. This }
{system uses a shared database on a web server}
{for training purposes only. Training exercise data}
{will be updated in memory only; the database will}
{not be updated.
}
[
Take Order
]
[
Order Analysis
]
[
About CellSell
]
[
Finish
]
||
[Take Order]
>Customers.Form
[Order Analysis]
>OrderAnalysis.Form
[About CellSell]
>About.Form
[Finish]
>End
Select a customer to start the order
Go to Order Analysis form
End of sample application
End of Start.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
3 of 27
Customers.Form{NoEdit}
|Select Customer
!---Code---!!-------------Name------------------! Address:
Contact:
Phone:
Fax:
Email:
X---------------Address1-----------------X
X---------------Address2-----------------X
X---------------Suburb--------------------X
X----State------X X-PCode-X
X---------------------------------------------X
X---------------------------------------------X
X--------------------------------------------X
X--------------------------------------------X
Sales YTD: X--------------------------------------------X
Sales LYTD: X--------------------------------------------X
Balance:
X--------------------------------------------X
Credit Limit: X--------------------------------------------X
Terms:
X--------------------------------------------X
!End!
Notes: #--------------------------------------------------------------------------------------------------------------------#
#-------------------------------------------------------------------------------------------------------------------- #
[Find]
X--------Find-----------X
List each Customer by Code
Code : Customer.Code
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PCode : Customer.PostCode
Contact : Customer.Contact
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Sales YTD : Customer.SalesYTD
Sales LYTD : Customer.SalesLYYTD
Balance : Customer.Balance
Credit Limit : Customer.Limit
Terms : Customer.Terms
Notes : Customer.Notes
[New]
[Detail]
[Orders]
[Back]
>Create Customer
-Id = NewId
>NewCustomer.Form
-overlay
>Customer.Form
>Orders.Form
>Return
[ New ]
[Detail]
[Orders]
[Back]
||
Sequence is customer code
Create a new customer record
Enter details for a new customer
Keep this form and overlay the new form
Return to the prior form
End of Customers.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
4 of 27
NewCustomer.Form
|NewCustomer
Code:
X--------X
Name:
X-----------------------------------------------X
Address1: X-----------------------------------------------X
Address2: X-----------------------------------------------X
Suburb: X-----------------------------------------------X
State:
X-------X
PostCode: X-------X
Phone:
X-----------------------------------------------X
Fax:
X-----------------------------------------------X
Email:
X-----------------------------------------------X
Contact: X-----------------------------------------------X
Notes:
Code : Customer.Code
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PostCode : Customer.PostCode
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Contact : Customer.Contact
Notes : Customer.Notes
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
[ Ok ]
[Cancel]
[ Ok ]
>Return
[Cancel]
>Delete Customer
>Return
||
Cancel creation of new customer
End of NewCustomer.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
5 of 27
Customer.Form
|Customer Details
Code:
X---------X
Name:
X-------------------------------------------X
Address1: X-------------------------------------------X
Address2: X-------------------------------------------X
Suburb: X-------------------------------------------X
State:
X---------X
PostCode: X---------X
Phone:
X-------------------------------------------X
Fax:
X-------------------------------------------X
Email:
X-------------------------------------------X
Contact: X-------------------------------------------X
Notes:
Credit Limit: X-------------------------------------X
Balance:
X-------------------------------------X
Sales YTD: X-------------------------------------X
Sales LYTD: X-------------------------------------X
Terms:
X-------------------------------------X-
#----------------------------------------------------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------------------------#
#----------------------------------------------------------------------------------------------------------------- #
[Save]
[ Back ]
Code : Customer.Code{NoEdit}
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PostCode : Customer.PostCode
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Contact : Customer.Contact
Notes : Customer.Notes
Credit Limit : Customer.Limit
Balance : Customer.Balance
Sales YTD : Customer.SalesYTD
Sales LYTD : Customer.SalesLYYTD
Terms : Customer.Terms
Edit all fields except code
[Save] >Warn -Heading = 'Update Customer'
-Message = 'Changed customer details will be written to the database'
>Return
[Back] >Return
End of Customer.Form
Copyright 2009 SoftwareServant Pty Ltd
||
SoftwareServant - Sample System Specification
6 of 27
Orders.Form{NoEdit}
Displays all orders for this customer
|Orders
X---Code---X X-----------------Name--------------------------X
!-------Order---------!!----CustOrdNo----!!---OrderDate---!!----Delivery----!!--TotalValue--!!--Closed--!
!End!
[Details]
[New Order]
[Back]
Code : Customer.Code
Name : Customer.Name
List each Order for this Customer
Order : Order.Id
CustOrdNo : Customer.CustOrdNo
OrderDate : Order.OrdDate
Delivery : Order.DelDate
TotalValue : Order.Total
Closed : Order.Closed
[Details] >OrderSummary.Form
For the selected order
[New Order] >Customer.OrderCount + 1
Increment order count for this customer
>Create a new Order:
- Id = Customer.Code & Customer.OrderCount
- OrdDate = Today
- CustId = Customer.Id
- CustCode = Customer.Code
- CustName = Customer.Name
- CustAddr1 = Customer.Address1
- CustAddr2 = Customer.Address2
- Suburb = Customer.Suburb
- State = Customer.State
- PostCode = Customer.PostCode
- Nett = 0
- Total = 0
- DelAddr1 = Customer.DelAddress1
- DelAddr2 = Customer.DelAddress2
- DelAddr3 = Customer.DelAddress3
Copyright 2009 SoftwareServant Pty Ltd
||
SoftwareServant - Sample System Specification
- DelAddr4 = Customer.DelAddress4
- Closed = False
- Contact = Customer.Contact
- Phone = Customer.Phone
- DelDate = Today + 7 days
>Products.Form
7 of 27
Go to selection of products.
[Back] >Return to Customers.Form
End of Orders.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
8 of 27
Products.Form{NoEdit}
|Products
Ord: X---------X X---------CustomerName-----X
!-----Code------!!-------------ProductName------------!!-----Price-----!!--StockAvail--!!--ThisOrder--!
!End!
[Find] X---------------Find-------------------X
[OrderSummary]
Ord : Order.Id
CustomerName : Order.CustName
List each Product by Code
Code : Product.Code
ProductName : Product.Name
Price : Product.Price
StockAvail : Product.Available
ThisOrder : Product.ThisOrdQty
[New Line]
[Back]
||
List all products in code sequence
Displays stock available.
Displays quantity already ordered on this order
[OrderSummary] >OrderSummary.Form
[New Line] >Create a new OrderLine:
- OrderId = Order.Id
- ProdId = Product.Id
- CustId = Order.CustId
- ProdCode = Product.Code
- ProdName = Product.Name
- PackSize = Product.Pack
- Quantity = 0
- Price = CalculatedPrice(1)
Calulate the price for one unit
- Discount = CustomerDiscount + Product.Discount
- Amount = 0
- DiscAmt = 0
- GST = 0
- Total = 0
- SIS = 0
- Closed = False
>OldQty = 0
>OldAmount = 0
>OldTotal = 0
>OrderItem.Form
Go to form to complete order for selected item
-overlay
[Back]
>Return
End of Products.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
9 of 27
OrderItem.Form{NoEdit if Order.Closed = True}
|Order Item
Order:
X------------------X
Customer: X-------------------------------------------X
Order : Order.Id
Customer : Order.CustName
Product: X--Code-X
X--------------------Name-----------------------------X
#----------------Description--------------------------#
#---------------------------------------------------------#
Pack Size: X---------X
Code : OrderLine.ProdCode
Name : OrderLine.ProdName
Description : Product.Description_
for this OrderLine
Pack Size : OrderLine.PackSize
Avail: X--------X
Avail : Product.Available
From : Product.FromDate(d)
To : Product.ToDate(d)
Discount : OrderLine.Discount{Edit}
Price : OrderLine.Price{Edit}
Amount : OrderLine.Amount(000000.00)
Quantity:
Discount:
Price:
Amount:
X--From--X To: X---To---X
X------------X
X------------X
X------------X
X------------X
[Auto Price]
[ Calculate ]
StkInStore: X-----------X
[Ok]
[History]
[Delete]
[Back]
||
StkInStore : OrderLine.SIS{Edit}
Quantity : OrderLine.Quantity{Edit}
>Warn if Quantity > Product.Available
- Heading = 'Quantity Warning'
- Message = 'Stock Available = ' & Product.Available
Warn the user if the ordered quantity will exceed the stock available
[Auto Price] >Price = CalculatedPrice(Quantity)
>Discount = CustomerDiscount + Product.Discount
[Calculate] >Amount = (Quantity * Price) - (Quantity * Price * Discount / 100)
[Ok]
>Error if Order.Closed = True
-Heading = 'Error'
-Message = 'Order is closed!'
>UpdateOrder.Process
>OrderSummary.Form
Error message if order is closed
[History] >ProductHistory.Form for this Customer (Id = OrderLine.CustId)
-overlay
[Delete] >Error if Order.Closed = True
-Heading = 'Error'
-Message = 'Order is Closed!'
>Warn -Heading = 'Warning'
-Message = 'This order line will be deleted'
>Order.Total = Order.Total - OrderLine.Total
>Delete this OrderLine
>OrderSummary.Form
[Back] >Return to OrderSummary.Form
End of OrderItem.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
10 of 27
ProductHistory.Form{NoEdit}
|History
Cust: X-------------------------------------------------X
X-Code-X X-----------------Name-------------------X
!---Order----!!----Qty----!!----Price----!!-----Disc----!
!End!
[Detail]
[Back]
Cust : Customer.Name
Code : Product.Code
Name : Product.Name
Order : OrderLine.OrderId
Qty : OrderLine.Quantity
Price : OrderLine.Price
Disc : OrderLine.Discount
||
List each OrderLine for this Customer and Product
Order history for the requested customer
and product
[Detail] >HistoryDetail.Form
-overlay
[Back] >Return to OrderItem.Form
End of ProductHistory.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
11 of 27
HistoryDetail.Form{NoEdit}
|HistoryDetail
Customer: X--Code--X
X---------------------CustName------------------------X
Order No: X---------------------------X
Order Date: X-------------------X
Code : Order.CustCode for this OrderLine
CustName : Order.CustName
Order No : Order.CustOrdNo
Order Date : Order.OrdDate
Product:
X--------X
X----------------------ProdName-----------------------X
Product : OrderLine.ProdCode
ProdName : OrderLine.ProdName
Quantity:
Price:
Discount:
Amount:
GST:
Quantity : OrderLine.Quantity
Price : OrderLine.Price
Discount : OrderLine.DiscAmt
Disc : OrderLine.Discount
Amount : OrderLine.Amount
GST : OrderLine.GST
Total : OrderLine.Total
X------------X
X------------X
X------------X
X------------X
X------------X
Disc:
X-----------X
Total:
X-----------X
[Back]
[Back] >Return
||
Return to prior form
End of HistoryDetail.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
12 of 27
OrderSummary.Form{NoEdit}
|OrderSummary
OrderNumber:
CustomerCode:
CustomerName:
OrderValue:
X--------------------------X
X--------------------------X
X-------------------------------------------------X [more]
X--------------------------X
!--ProdCode--!!---------------ProdName----------------!!--PackSize--!!-----Qty-----!!------Value-----!
!End!
[Delete Order] [Review Line] [New Line]
OrderNumber : Order.Id
CustomerCode : Order.CustCode
CustomerName : Order.CustName
OrderValue : Order.Total
[Finish Order]
[Print]
[Orders]
[Back] ||
List each OrderLine for this Order
ProdCode : OrderLine.ProdCode
ProdName : OrderLine.ProdName
PackSize : OrderLine.PackSize
Qty : OrderLine.Quantity
Value : OrderLine.Total(heading = "MyTotal")
[more]
>OrderHeader.Form
-overlay
[Review Line]
>OldQty = OrderLine.Quantity
>OldAmount = OrderLine.Amount
>OldTotal = OrderLine.Total
>OrderItem.Form
-overlay
[New Line]
>Error if Order.Closed = True
- Heading = 'ERROR'
- Message = 'Order is Closed'
>Return to Products.Form
Display more order header details
Review or alter order line
Select more products for this order
[Delete Order] >Error if Order.Closed = True
- Heading = 'ERROR'
- Message = 'Order is Closed'
>Warn - Heading = 'WARNING'
- Message = 'This Order will be deleted'
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
13 of 27
>Delete each OrderLine
>Delete this Order
>Return to Start.Form
[Finish Order] >Error if Order.Closed = True
- Heading = 'ERROR'
- Message = 'Order is Closed'
>Error if this Order has no OrderLine
- Heading = 'ERROR'
- Message = 'This order has no order lines!'
>Order.Closed = True
>OrderLine.Closed = True for each OrderLine
>Return to Start.Form
Finish this order and return to Start screen
[Print] >Setup Printer
>Print 'SampleOrder'
[Orders] >Return to Orders.Form
[Back] >Return to previous form
End of OrderSummary.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
14 of 27
OrderHeader.Form{NoEdit if Order.Closed = True}
Displays order header details and total value. The Customer Order No and contact details for this
order can be changed. Closed orders can be reviewed but can’t be changed.
|OrderHeader
Ord: X------------X
Customer Order: X----------------------------------X
Ord : Order.Id
Date : Order.OrdDate
CustomerName : Order.CustName
Address1 : Order.CustAddr1
Address2 : Order.CustAddr2
Suburb : Order.Suburb
State : Order.State
PostCode : Order.PostCode
Customer Order : Order.CustOrdNo{Edit}
Contact: X---------------------------------------------X
Phone: X---------------------------------------------X
Contact : Order.Contact{Edit}
Phone : Order.Phone{Edit}
Order Total: X---------------X
Delivery:
X---------------X[d]
Order Total : Order.Total
Closed : Order.Closed{Edit}
Delivery : Order.DelDate{Edit}
Date: X-------------X
X-------------CustomerName-----------------------X
X-------------Address1-------------------------------X
X-------------Address2-------------------------------X
X-------------Suburb----------------------------------X
X--State--X X-PostCode-X
Closed: [x]
[OK]
||
[OK] >Return to OrderSummary.Form
End of OrderHeader.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
15 of 27
OrderAnalysis.Form
|Sales Order analysis
{This will be the subject of a separate reports and charts training exercise.}
[Back]
[Back] >Return
End of OrderAnalysis.Form
Copyright 2009 SoftwareServant Pty Ltd
||
SoftwareServant - Sample System Specification
16 of 27
About.Form
|About Cellsell
CellSell Order Taking System:
Copyright © CellSell Pty Ltd2009:
Sample Release 1-0:
[Back]
||
[Back] >Return to Start.Form
End of About.Form
UpdateOrder.Process
This is called from theOrderItem.Form when the [Ok} button is clicked. It updates the current
order information in local memory. This is not updating the database, see SSamplex
(UpdateDatabase.Process) for more information on database updating.
>OrderLine:
-Amount = (Quantity * Price) - (Quantity * Price * Discount/100)
-DiscAmt = Quantity * Price * Discount/100
-GST = Amount * 0.1
-Total = Amount + GST
>Order:
-Nett - OldAmount + OrderLine.Amount
-Total - OldTotal + OrderLine.Total
>Product:
-Available - OldQty + Quantity
-ThisOrdQty = Quantity
End of UpdateOrder.Process
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
17 of 27
SampleOrder.Document
See SampleOrder document
{CustomerName} : Order.CustName
{Address1} : Order.CustAddr1
{Address2} : Order.CustAddr2
{Suburb} : Order.Suburb
{State} : Order.State
{Pcode} : Order.PostCode
{654321} : Order.CustCode
{Abc45678} : Order.Id
{1/11/2009} : Order.OrdDate(d)
{12345} : OrderLine.ProdCode*
{Product Details} : OrderLine.ProdName
{Size} : OrderLine.PackSize
{99999} : OrderLine.Quantity(###0)
{1234.00} : OrderLine.Price(####0.00)
{123456.00} : OrderLine.Amount(###,##0.00)
{234567.00} : Order.Total($###,##0.00)
First Page = 'SampleOrder1'
Continuation = 'SampleOrder2'
Last Page = 'SampleOrder3'
Printer = 'HP OfficeJet W40'
See SampleOrder1
See SampleOrder2
See SampleOrder3
End of SampleOrder.Document
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
18 of 27
Calculations:
Returns a result and can include actions (>..)
May take the form CalculationName: or CalculationName(Parameter): or
CalculationName(Param1, Param2, Param3….)
When calculations are used in the specification, they must include all parameters in brackets in
the correct order.
CalculatedPrice(Quantity):
Returns the appropriate price based on quantity ordered.
Product.Price
Product.Price1 if Quantity > 19
Product.Price2 if Quantity > 99
End of CalculatedPrice
CustomerDiscount:
Returns the Discount %age appropriate to the type of Customer.
10 if Customer.Type = 1
20 if Customer.Type = 2
30 if Customer.Type = 3
End of CustomerDiscount
End of Calculations
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
19 of 27
Lexicon:
Substitutes specification statements for phrases that are more easily understood by the
stakeholders. Examples of Lexicon use in specification:
List each Order for this Customer
Code : Order.CustCode for this OrderLine
>Order.Category for this OrderLine = Product.Category
Order for this Customer : Order.CustId = Customer.Id
OrderLine for this Order : OrderLine.OrderId = Order.Id
Order for this OrderLine : Order.Id = OrderLine.OrderId
Order has no OrderLine : Order.Id = OrderLine.OrderId
OrderLine for this Customer and Product : OrderLine.CustId = Customer.Id and_
OrderLine.ProdCode = Product.Code
Product for this OrderLine : Product.Code = OrderLine.ProdCode
End of Lexicon
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
20 of 27
Data Storage and Access:
In this section, you need to specify each table that will be referenced in the specification but you
do not need to specify the columns for each table. The table content will be automatically picked
up from the database. You can specify the format of a numeric data field (eg. 00000.00) in the
specification but It is generally better to format money fields etc. in the database (typically as
numeric or decimal data types with 2 decimal places).
DBMS:
Name: Cellsell
Type: SqlServer
Connection: <http://sservant.com/sservice.asmx>Data Source=sqlsvr2.apexhost.net.au;User_
ID=sservant_NewUser;Password=welcome12;Initial Catalog=sservant_CellsellSQL;
Customer Table
Database Table = Cust
Select Command: SELECT * FROM Cust
Product Table
Database Table : Prod
Select Command: SELECT * FROM Prod
Order Table
Database Table : Ord
Select Command: SELECT * FROM Ord
OrderLine Table
Database Table : Line
Select Command: SELECT * FROM Line
End of Host
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
21 of 27
Host: Browser
Start.Form
|SSample
{This system uses a shared database on a hosted web server for training purposes only.}
{Training exercise data will be updated in memory only; the database will not be updated.}
{This browser sample enables review and maintenance of customer information only.
}
#----------------------------------------#
#
#
#
#
#
#
#
MyPicture
#
#
#
#
#
#
#
#----------------------------------------#
[ Customer Information ]
[
About Cellsell
]
[
Finish
]
||
MyPicture : File('Images\Sunset.jpg')
[Customer Information] >Customers.Form
[About Cellsell]
>About.Form
[Finish]
>End
Review a list of customers
End of Start.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
22 of 27
Customers.Form{NoEdit}
|Select Customer
!---Code---!!-------------------------Name----------------------------!
Address:
X---------------Address1---------------X
X---------------Address2---------------X
X---------------Suburb------------------X
X----State------X X-PCode-X
Contact:
Phone:
Fax:
Email:
X-------------------------------------------X
X-------------------------------------------X
X------------------------------------------X
X------------------------------------------X
Sales YTD: X------------------------------------------X
Sales LYTD: X------------------------------------------X
Balance:
X------------------------------------------X
Credit Limit: X------------------------------------------X
Terms:
X------------------------------------------X
!End!
Notes: #-------------------------------------------------------------------------------------------------------------------------------------#
#-------------------------------------------------------------------------------------------------------------------------------------#
[ New ]
List each Customer by Code
[Detail]
[Back]
||
Sequence is customer code
Code : Customer.Code
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PCode : Customer.PostCode
Contact : Customer.Contact
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Sales YTD : Customer.SalesYTD
Sales LYTD : Customer.SalesLYYTD
Balance : Customer.Balance
Credit Limit : Customer.Limit
Terms : Customer.Terms
Notes : Customer.Notes
[New]
>Create Customer
-Id = NewId
>NewCustomer.Form
[Detail]
>Customer.Form
[Back]
>Start.Form
Enter details for a new customer
Display selected customer details
End of Customers.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
23 of 27
NewCustomer.Form
|NewCustomer
Code*
X--------X
Name*
X-----------------------------------------------X
Address1: X-----------------------------------------------X
Address2: X-----------------------------------------------X
Suburb: X-----------------------------------------------X
State:
X-------X
PostCode: X-------X
Phone* X-----------------------------------------------X
Fax:
X-----------------------------------------------X
Email:
X-----------------------------------------------X
Contact: X-----------------------------------------------X
Notes:
Code : Customer.Code
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PostCode : Customer.PostCode
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Contact : Customer.Contact
Notes : Customer.Notes
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
[ Ok ]
[Cancel]
[ Ok ]
>Customers.Form
[Cancel]
>Delete Customer
>Customers.Form
||
End of NewCustomer.Form
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
24 of 27
Customer.Form
|Customer Details
Code*
X---------X
Name*
X-------------------------------------------X
Address1* X-------------------------------------------X
Address2: X-------------------------------------------X
Suburb* X-------------------------------------------X
State:
X---------X
PostCode* X---------X
Phone:
X-------------------------------------------X
Fax:
X-------------------------------------------X
Email:
X-------------------------------------------X
Contact: X-------------------------------------------X
Notes:
Credit Limit: X-------------------------------------X
Balance:
X-------------------------------------X
Sales YTD: X-------------------------------------X
Sales LYTD: X-------------------------------------X
Terms:
X--------------------------------------X
#----------------------------------------------------------------------------------------------------------------#
#----------------------------------------------------------------------------------------------------------------- #
#-----------------------------------------------------------------------------------------------------------------#
{* - required items}
[Save]
Code : Customer.Code{NoEdit}
Name : Customer.Name
Address1 : Customer.Address1
Address2 : Customer.Address2
Suburb : Customer.Suburb
State : Customer.State
PostCode : Customer.PostCode
Phone : Customer.Phone
Fax : Customer.Fax
Email : Customer.Email
Contact : Customer.Contact
Notes : Customer.Notes
Credit Limit : Customer.Limit
Balance : Customer.Balance
Sales YTD : Customer.SalesYTD
Sales LYTD : Customer.SalesLYYTD
Terms : Customer.Terms
[Back]
Edit all fields except code
[Save] >Customers.Form
[Back] >Error if Customer.Terms <> '30 days'
-Heading = Terms
-Message = 'Terms can only be "30 days"'
>Error if Customer.Limit < 1000 or Customer.Limit > 999999
-Heading = Credit Limit
-Message = 'Credit LImit must be more than 999 and less than 1000000'
>Customers.Form
End of Customer.Form
Copyright 2009 SoftwareServant Pty Ltd
||
SoftwareServant - Sample System Specification
About.Form
|About Cellsell
CellSell Order Taking System:
Copyright © CellSell Pty Ltd 2009:
Sample Release 1-0:
[Back]
||
[Back] >Start.Form
End of About.Form
Copyright 2009 SoftwareServant Pty Ltd
25 of 27
SoftwareServant - Sample System Specification
26 of 27
Calculations:
NewId:
>System.ObjId + 1
>Update System
System.ObjId
End of NewId
NewId = System.ObjId
End of Calculations
Data Storage and Access:
You do not need to specify the columns for each table. The table content will be automatically
picked up from the database. You can specify the format of a numeric data field (eg. 9999.99) in
the specification but It is generally better to format money fields etc. in the database (typically as
numeric or decimal data types with 2 decimal places).
DBMS:
Name: Cellsell
Type: SqlServer
Connection: <http://sservant.com/sservice.asmx>Data Source=sqlsvr2.apexhost.net.au;User_
ID=sservant_NewUser;Password=welcome12;Initial Catalog=sservant_CellsellSQL;
The Connection statement includes the <….> web service address before the database
connection string because it assumes that the generated ssample browser application will be run
on the local computer while the training database is located on the sservant.com remote server.
Customer Table
Database Table = Cust
Select Command: SELECT * FROM Cust
System Table
Database Table : ssSystem
Select Command: SELECT * FROM ssSystem
End of Host
End of Specification
Copyright 2009 SoftwareServant Pty Ltd
SoftwareServant - Sample System Specification
Sample Database Diagram
Copyright 2009 SoftwareServant Pty Ltd
27 of 27