Академический Документы
Профессиональный Документы
Культура Документы
Zeus Pvt Limited is a Small Medium Enterprise, which renounce for importing a very rare
“Power™” branded nutrition supplements for patients who are suffering from Diabetes in Sri
Lanka. Therefore, I had to create a transaction processing system for Zeus Pvt Ltd.
To complete the Task1 in this assignment, I have described the characteristics and principles
of Object Oriented Programming and provided a comprehensive report on how these
characteristics could apply in the required system.
For the Task 2, I have been identified the objects (Classes) from the scenario and list all the
attributes and methods of each object.
Within Task 3, I have drawn use case diagram, class diagram and sequence diagram for
Inventory System of Zeus Pvt Limited to create better and effective system solution.
To complete Task 4, I have designed and proposed an effective Inventory system solution for
Zeus Pvt Limited considering all functions should perform through the system by aid of the
Object Oriented solution using C#.Net.
In Task 5, I have provided the evidences of use of association, aggregation, composition and
generalization relationships from Inventory System of Zeus Pvt Limited.
There are two subtasks inside the Task 6 and within first subtask I have explain how the
concept of polymorphism used in Inventory System of Zeus Pvt Limited. In second subtask,
briefly explained about control structures and how those effectively have used in Inventory
System.
To complete Task 8, I had to prepare a test plan for Inventory System of Zeus Pvt Limited,
and then, I have critically reviewed and tested Inventory System according to the plan.
To complete the Task 10, I have to gather the independent feedbacks from different users on
Inventory System, which I have implemented. In order to gather feedbacks from users I used
interviews as a feedback collecting method. Using feedbacks, I was able to get more
recommendations and improvements about Inventory System.
To complete Task 11, I have to explain and prove the user friendliness of Inventory System
for Zeus Pvt Limited.
In final Task, I prepared technical documentation for the supporting and maintenance of the
Inventory System including an installation and maintenance guide.
Furthermore, The Authors, Publishers of Books, Journal Articles & Web pages appreciated
for keeping their precious pieces of works available for my references.
I have taken undertakings in this assignment. However, it might not have been possible
without the kind backing and help of many individuals and organizations. I might want to
develop my sincere thanks to staff of ESOFT. I am highly indebted to for their guidance and
constant supervision as well as for providing necessary information regarding the assignment
& for their backing in finishing the assignment.
I dedicate this dissertation to my family for their unconditional support and love given in
every way possible throughout the process of this degree program.
Thank You!
Acknowledgement ..................................................................................................................... 3
TASK 01 .................................................................................................................................... 6
Discuss the characteristics and principles of Object Oriented Programming and provide
a comprehensive report on how these characteristics could be apply in the required system.
................................................................................................................................................ 6
TASK 02 .................................................................................................................................. 13
Identifying the objects (Classes) from the scenario and list all the data and methods. ....... 13
TASK 03 .................................................................................................................................. 14
TASK 04 .................................................................................................................................. 17
Implement the Object Oriented solution using C#.Net for the proposed Design ................ 17
TASK 05 .................................................................................................................................. 27
TASK 06 .................................................................................................................................. 34
b) Explain briefly how effectively control structures have used in your system. ......... 39
TASK 07 .................................................................................................................................. 41
TASK 08 .................................................................................................................................. 50
Prepare a test plan, then critically review and test your solution according to the plan. ..... 50
TASK 09 .................................................................................................................................. 52
Analyze actual test results against expected results and identify inconsistencies. .............. 52
Get independent feedback on your solution (use surveys, questioners, interviews or any
other feedback collecting method) and suggest recommendations and improvements. ...... 57
TASK 11 .................................................................................................................................. 60
TASK 12 .................................................................................................................................. 69
Prepare the technical documentation for the support and maintenance of the software ...... 69
Conclusion ............................................................................................................................... 92
Self-Evaluation ........................................................................................................................ 93
References ................................................................................................................................ 95
1) Encapsulation
Encapsulation is the process of keeping or enclosing one or more items within a single
physical or logical package. In OOP the encapsulation mainly achieved by creating classes,
the classes expose public methods and properties.
Table1.1: Coding for Encapsulation
Code
class Rectangle{
public double length;
public double width;
The word Polymorphism means having many forms. In OOP the polymorphisms is achieved
by using many different techniques named method overloading, operator overloading, and
method overriding, The following example shows using function print () to print different
data types:
Table1.2: Coding example for Polymorphism
Code
classPrintData{
void print(int i){
Console.WriteLine("Printing int: {0}", i);}
void print(string s){
Console.WriteLine("Printing string: {0}", s);}
static void Main(string[] args){
PrintData p=newPrintData();
p.print(5);
p.print("Hello C++");
Console.ReadKey();}}
3) Inheritance
Inheritance allows us to define a class in terms of another class, which makes it easier to
create and maintain an application. This also provides an opportunity to reuse the code
functionality and speeds up implementation time.
Table1.3: Coding example for Inheritance
Code
class Shape{
public void setWidth(int w){
width=w;}
public void setHeight(int w){
height=h;}
protect dint width;
protect dint height;}
class Rectangle: Shape{
public int getArea(){
return(width * height);}}
classRectangleTester{
static void Main(string[] args){
Rectangle rect=new Rectangle();
rect.setHeight(5);
rect.setWidth(7);
Console.WriteLine("Total area: {0}", rect.getArea());
Console.ReadKey();}}
The abstract modifier can use with classes, methods, properties, indexers, and events.
Members marked as abstract or included in an abstract class, must implement by classes that
derive from the abstract class.
5) Interface
Interfaces define properties, methods, and events, which are the members of the interface. It
is the responsibility of the deriving class to define the members.
6) Collection
Collection classes are specialized classes for data storage and retrieval. Most collection
classes implement the same interfaces. The following are the various commonly used classes
of the System.Collection namespace.
Sorted List It uses a key as well as an index to access the items in a list.
Bit Array It represents an array of the binary representation using the values 1
and 0.
Constructors have the same name as the class or struct, and they usually initialize the data
members of the new object.
8) Destructor
As we all know, ‘Destructors’ are used to destruct instances of classes. When using
destructors in C#, keep in mind the following things:
9) Instant Variable
Instance variables declare in a class, but outside a method, constructor or any block. Instance
variables create when an object is created with the use of the keyword 'new' and destroyed
when the object destroys. Access modifiers can give for instance variables.
Instance methods in a class can make use of any of the public or private static data that
belongs to that class.
Dog.LastGuyThatBarked{get = this;
Classes that cooperate with each other, or are associated with each other through the model of
our problem, need each other’s names to message back and forth.
Identifying the objects (Classes) from the scenario and list all the data and
methods.
Table2.12: Attributes and Method of Classes
Zeus Pvt Limited Hospital
Company Name : varchar Name : varchar
Address : varchar Address : varchar
Sales Officer
Emp_ID : int
Name : varchar
Send_Order() : varchar
Make_Order(): varchar
Implement the Object Oriented solution using C#.Net for the proposed
Design
Table4.13: Login Form Interface and coding
Login Form Interface
txtSTotalPrice.Text = totalPrice.ToString();
}
Public void Update()
{
ClassConnection objConnection = new ClassConnection();
string getString = objConnection.conMethod();
SqlConnection con = new SqlConnection(getString);
try{
con.Open();
SqlCommand command = new SqlCommand("SELECT Quantity FROM [Product] WHERE PID ='"
+ cmbSPID.Text + "'", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList pQuantity = new ArrayList();
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT PID , ProductName, Price, Quantity
FROM [Product]", con);
DataTable ds = new DataTable();
adapter.Fill(ds);
dgvInventory.DataSource = ds;
Bitmap Btmap;
Private void btnPrint_Click(object sender, EventArgs e)
R.M. Sandali Geethma Rathnayake Page no 23
Object Oriented Programming
HND in Computing and System Development
{
//Add a Panel control
Panel panal = new Panel();
this.Controls.Add(panel);
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT PID, ProductName, Price, Quantity FROM
[Product] WHERE Quantity < 5", con);
DataTable ds = new DataTable();
adapter.Fill(ds);
dgvOrderingProduct.DataSource = ds;
Association
Association is a relationship between two classes. It allows one object instance to cause
another to perform an action on its behalf. In my system, I have provided best example for
Association. Within Table 5.20, it will display the coding for purchase product for the first
time in Zeus pvt limited. Then I created a class for purchase product and in which create the
product Id for each new product.
while (reader.Read()){
pid = reader[0].ToString();
}
if (pid == ""){
int newProdctId = 1;
txtPID.Text = newProdctId.ToString();
}
else{
int oldProductID = int.Parse(pid);
int newProductID = oldProductID + 1;
txtPID.Text = newProductID.ToString();
}
}
catch (Exception ex){
MessageBox.Show(ex.ToString());
}
finally{
con.Close();
}}
In Table 5.21, it will display the coding for selling product in Zeus pvt limited. In which I
have created a class, which is sell product. In order to sell product there should be product
R.M. Sandali Geethma Rathnayake Page no 27
Object Oriented Programming
HND in Computing and System Development
details such as product name, quantity and unit price. In that case, there should be a
relationship between purchase products class and selling product class. Because of products
can sell, if only Zeus pvt limited had purchased the relevant product.
try
{
con.Open();
SqlCommand command = new SqlCommand("SELECT PID FROM[Product]", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList productIDs = new ArrayList();
while (reader.Read())
{
productIDs.Add(reader[0].ToString());
}
cmbSPID.Items.Clear();
cmbSPID.Items.AddRange(productIDs.ToArray());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();}}
Aggregation is a weak type of Association with partial ownership. This is weak compared to
Composition. Then again, weak meaning the linked components of the aggregator may
survive the aggregations life cycle without the existence of their parent objects.
txtSTotalPrice.Text = totalPrice.ToString();
}
try
{
con.Open();
SqlCommand command = new SqlCommand("SELECT Quantity FROM [Product] WHERE PID ='"
+ cmbSPID.Text + "'", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList pQuantity = new ArrayList();
while (reader.Read())
{
productQty = reader[0].ToString();
R.M. Sandali Geethma Rathnayake Page no 29
Object Oriented Programming
HND in Computing and System Development
}
try
{
con.Close();
con.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
In this example, the method Update is responsible to update the product quantity for product
table. For the first time, the quantity should select from the product table then only it can
identified what about the current quantity.
Next time it means after selling products the quantity should reduce from the database. In that
case the same entity, which is Quantity, will works as its own. Here both entities meet for
some work and then get separated but here one entity has to be an owner and at a same time
they should be independent from each other (having own life time).
On the other hand, Composition is a strong type of Association with full ownership. This is
strong, compared to the weak Aggregation. For a Composition relationship, we can use the
term owns to imply a strong relationship.
try{
con.Open();
SqlCommand command = new SqlCommand("SELECT PID FROM[Product]", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList productIDs = new ArrayList();
while (reader.Read())
{
productIDs.Add(reader[0].ToString());
}
cmbSPID.Items.Clear();
cmbSPID.Items.AddRange(productIDs.ToArray());
}
catch (Exception ex){
MessageBox.Show(ex.ToString());
}
finally{
con.Close();
}
}
In Table 5.23, it will show how to get the product Id from database and in Table 5.24 will
show how to access the product details from the database. In order to perform these two
functions both classes should have interdependent from each other. It means to get the
product details there should be the product Id and vice versa, it can create a product Id if only
there are some product details.
try
{
con.Open();
SqlCommand command = new SqlCommand("SELECT ProductName, Price FROM [Product]
WHERE PID = " + int.Parse(cmbSPID.Text) + "", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList productItems = new ArrayList();
while (reader.Read())
{
productName = reader[0].ToString();
productPrice = reader[1].ToString();
}
txtSPName.Text = productName.ToString();
txtSPPrice.Text = productPrice.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}
In this example, the Table 5.25 displays the coding how to access the product details to
relevant product Id. It means according to the product Id it will display the product name and
the price. In which these entities are already created under first time purchasing of product
and in here, these entities derive from that purchase class. Therefore, this is how
generalization works in this program.
Polymorphism
Polymorphism is a generic term that means 'many shapes'. More precisely Polymorphism
means the ability to request that a wide range of different types of things perform the same
operations.
In OOP the polymorphisms is achieved by using many different techniques named method
overloading and method overriding,
Method overloading is the ability to define several methods all with the same name. In my
project solution for Zeus PVT Limited, I have done the Method over Loading for Selling
Product section. When, the products have ordered by hospital, the sales officer is responsible
to sell products and make invoices for ordered products to handover to warehouse in order to
deliver products to hospitals.
After entering the product details according to the order then sales officer is responsible to
save the data to the system database of Zeus pvt limited inventory control system. Then the
system will produce the Total Price of the relevant product and as well as updating the system
database.
txtSTotalPrice.Text = totalPrice.ToString();
}
try
{
con.Open();
SqlCommand command = new SqlCommand("SELECT Quantity FROM [Product] WHERE PID ='"
+ cmbSPID.Text + "'", con);
SqlDataReader reader;
reader = command.ExecuteReader();
ArrayList pQuantity = new ArrayList();
while (reader.Read())
{
productQty = reader[0].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
A subclass can give its own definition of methods but need to have the same signature as the
method in its super-class. This means that when overriding a method the subclass's method
has to have the same name and parameter list as the super-class' overridden method.
Here is the example from my project solution identifying how concept of Method overriding
is applicable.
In order to view current Product Inventory details of Zeus pvt limited there is function in the
system to Issue Officers. Using that function, they are able to check the current product
details as well as which product should order in the future. This is the system interface, in
order to check current product details for relevant date.
try
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT PID , ProductName, Price, Quantity
FROM [Product]", con);
DataTable ds = new DataTable();
adapter.Fill(ds);
dgvInventory.DataSource = ds;
dgvInventory.Columns[0].HeaderText = "Product ID";
dgvInventory.Columns[1].HeaderText = "Product Name";
dgvInventory.Columns[2].HeaderText = "Price";
dgvInventory.Columns[3].HeaderText = "Quantity";
Here is the system interface for checking which product should be purchase before it will
reduce from the current stock.
dgvOrderingProduct.DataSource = ds;
The following is example for how to apply a Sequence statement into Zeus pvt limited
Product Inventory System. When the products sell to hospital, the total price of the product
should calculate. This Update method will perform the calculating under Sequence statement.
First, I declared unit price of a product under data type, which called “Float” a well as how
much of quantity of product will buy from the hospital under “integer” data type. Then
declared another variable which is called “total Price” under string data type, in order to
multiply the values both unit price and quantity.
2) Selection
If – Else condition
In the IF Else statement in Selection constructor, it has two choices and the user must select a
choice from that selection which is preferred. In my project solution for Zeus pvt Limited, I
have created some If Else conditions to get some selections, to perform some methods. The
following are example for IF Else Condition:
While Loop
While loops in use, when the numbers of repeats are unknown and the while, statement
continuously executes a block of statements while a condition remains true.
while (reader.Read())
{
pQuantity = reader[0].ToString();
}
int currentQuantity = int.Parse(pQuantity.ToString());
if (currentQuantity <= 0)
{
MessageBox.Show("Product is out of stock !", "Product Inventory Control System, Zeus PVT
Limited", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Using an IDE will save you a lot of effort in writing a program. Some advantages
include:
By completing this walkthrough, you will become familiar with many of the tools, dialog
boxes, and designers that you can use when you develop applications with Visual Studio.
You will create a simple application, design the UI, add code, and debug errors, while you
learn more about working in the integrated development environment (IDE).
You can make additional customizations to Visual Studio, such as changing the font face and
size of the text in the editor or the color theme of the IDE, by using the Options dialog box.
To change the color theme of the IDE Open the Options dialog box by choosing
the Tools menu at the top and then the Options … item.
When you create an application in Visual Studio, you first create a project and a solution. For
this example, you will create a Windows Form Application project. Create a new project. On
the menu bar, choose File, New, and Project….
Choose the Visual Basic or the Visual C# WF Application template by choosing in the left
pane Installed, Templates, Visual C#, Windows,
In Solution Explorer, select Form1.cs You should see the Properties window, but if you do
not; choose the View menu and the Property Window item. Change the File Name property
frmMain. Solution Explorer shows that the name of the file is now frmMain.cs
We will add three types of controls to this application: a Text Box control, two Radio Button
controls, and a Button control.
Open the Toolbox window by choosing the View menu and the Toolbox item. In
the Toolbox, search for the Text Box control.
To add display text for each radio button change the display content from Property choosing
“Text”.
To add the button control, go to the Toolbox, search for the Button control, and then add it
to the design surface
When this application runs, a message box appears after a user first chooses a radio button
and then chooses the Display button. One message box will appear for Hello, and another
will appear for Goodbye. To create this behavior, you will add code to the Button_Click
event in frmMain.cs
Next, you will debug the application to look for errors and test that both Radio Buttons work
correctly. The following instructions tell you how to build and launch the debugger.
In the Main window, if you choose the Hello radio button, and click on Display button then
the text box will show “Hello” and if choose the Goodbye radio button the text will show
“Good Bye” inside the text box
Syntax Coloring Some syntax elements of code and markup files color differently to
distinguish them.
Error and You may see different-colored wavy underlines appearing in your
Warning Marks code that notify you problems has detected in your code.
Brace Matching When the insertion point place on an open brace in a code file, both it
and the closing braces will highlight
Line Numbers Line numbers can display in the left margin of the code window.
Virtual Space By default, lines in Visual Studio editors end after the last character,
so that the RIGHT ARROW key at the end of a line moves the cursor
to the beginning of the next line.
Automatic Code Generation features are IntelliSense features that sense locations for
standard code, and add code at the user's command. It can significantly increase your
productivity because you can select from a drop-down menu when you are coding and reduce
the time that you spend typing.
Prepare a test plan, then critically review and test your solution according
to the plan.
Table 8.35: Test Plan for Zeus Inventory System
Test Plan 1
Test Item Login Interface
Test Description Make a successful login and redirect to the Main window.
Test Data Username: Zeuspvt Password: inventory@zeus
Expected Output Redirect to the Main window.
Actual Output As expected.
Test Plan 2
Test Item Login Interface
Test Description Provide incorrect User Name and Password.
Test Data Username: zeuspvt Password: inventoryzeus
Expected Output Display Error Message
Actual Output As expected.
Test Plan 3
Test Item Purchase Product Interface
Test Description Make a successful product adding
Test Data Product Name Unit price
Product Quantity
Expected Output Add product.
Actual Output As expected.
Test Plan 4
Test Item Update Product Interface
Test Description Make a successful product updating.
Test Data Product Name Unit price
Product Quantity
Expected Output Update product.
Actual Output As expected.
Test Plan 6
Test Item Product Inventory Interface
Test Description Make a successful checking for current product inventory.
Test Data Click Current Product Inventory menu strip.
Expected Output Show product inventory.
Actual Output As expected.
Test Plan 7
Test Item Ordering Product Interface
Test Description Make a successful checking which products should be ordered
Test Data Click Ordering Product menu strip.
Expected Output Add product.
Actual Output As expected.
Test Plan 8
Test Item Delete Entry Interface
Test Description Make a successful deleing of existing products.
Test Data Product ID
Expected Output Delete product from inventory.
Actual Output As expected.
Test Plan 9
Test Item Help Interface
Test Description Make a successful access for getting help about Zeus Inventory System
Test Data Click Help menu strip.
Expected Output Show User Guide.
Actual Output As expected.
Actual Result
Test Case ID 02
Test Case Enter invalid username and password or leave empty & click on login.
Excepted Result Display error message.
Actual Result
Actual Result
Test Case ID 04
Actual Result
Actual Result
Test Case ID 06
Test Case Make a successful checking for current product inventory.
Excepted Result Can be seen the details of Product inventory.
Actual Result
Test Case ID 07
Test Case Make a successful checking which products should be ordered
Excepted Result Can be seen the details of Products which should be order.
Actual Result
Status
Actual Result
Test Case ID 09
Test Case Make a successful access for getting help about Zeus Inventory System
Can be seen the html document of support and maintenance about Zeus
Excepted Result
Inventory System
Actual Result
Status
Actual Result
Test Case ID 11
Test Case Print product details of relevant day.
Excepted Result Can be seen the Print Preview of product details.
Actual Result
1) What do you think about the speed and efficiency of Zeus Inventory Control
System?
i. Most of the users decision is this system is very user friendliness and easy to handle.
3) What do you think about the time efficiency of Zeus Inventory Control System?
i. With this inventory management system, the user can pull a report instantly and see
how many units are on the floor, how many have sold and which products are selling
the fastest.
4) What do you think about the security level of Zeus Inventory Control System?
i. The Zeus inventory management system will ask username and password when log
into the system.
ii. User Login is a kind of a security level that unauthorized users cannot access and
control the system.
5) What do you think about the document generation from Zeus Inventory Control
System?
Feedbacks from different users
i. Users can access to generate some kinds of documents such as current product
inventory.
6) Do you agree if some kind of failure such as system failure will affect to Zeus
Inventory System?
Feedbacks from different users
i. Outside factors like a power failure or the loss of Internet or network connectivity can
render the system temporarily useless.
7) Do you imagine that Zeus Inventory System will be affect from some risks?
Feedbacks from different users
i. Dishonest employees could hack the system to check the system, change the some
details of products and delete products from the system.
i. The idea of most of users say to implement the user mistake validation mechanism
should improve to this system.
1. No need to separate interfaces to add product, update product and delete product.
It can handle in one interface instead of three interfaces
2. Need more validations.
Proper training can make unfriendly more friendly. The difference between friendly and
unfriendly can also depend on attitude on the part of the user as well as the quality, conditions
and appearance of the software. Here are some characteristics of user friendly software and I
have explained and proved hose characteristics with Zeus Inventory Control System whether
I have achieved the goal or not
1. Simple to install
This applies to everything from operating systems to browser plug-ins. Installation is the first
point of contact for users, so it had better be a friendly process. Otherwise, they are going to
be fed-up using your tool. It does not matter whether it is an operating system or a single-
client user application, the installation should be simple and well documented.
To install the Zeus Inventory Control System I have chased the software, which calls Install
Shield Limited Edition. First, I downloaded the software and installed then I started to create
a setup wizard in order to install Zeus Inventory Control System.
Along with being easy to install and use, a piece of software should be easy to remove.
Without a simple removal process, that software becomes awkward.
Clarity is the most important element of user interface design. Indeed, the whole purpose of
user interface design is to enable people to interact with your system by communicating
meaning and function. If user cannot figure out how your application works, they will get
confused and frustrated.
Clarity in a user interface is great; however, I should be careful not to fall into the trap of
over-clarifying. It is easy to add definitions and explanations, but every time I do that, I add
mass. My interface grows. Add too many explanations and users will have to spend too much
time reading them. So keep things clear but also keep things concise is good user-friendly
thing.
Responsive means a couple of things. Firstly, responsive means fast. Waiting for things to
load and using awkward and slow interfaces is frustrating. Seeing things load quickly, or at
the very least, an interface that loads quickly improves the user experience.
Responsive also means the interface provides some form of feedback. The interface should
talk back to the user to inform them about what is happening.
Consistent interfaces allow users to develop usage patterns; they will learn what the different
buttons, tabs, icons and other interface elements look like and will recognize them and realize
what they do in different contexts. They will also learn how certain things work, and will be
able to work out how to operate new features quicker, extrapolating from those previous
experiences.
Attractive in a sense that makes the use of that interface enjoyable. Yes, I can make your UI
simple, easy to use, efficient and responsive, and it will do its job well. When your software
is pleasant to use, users will not simply be using it; user will look forward to using it.
8. Number of clicks
How many mouse clicks need to see all relevant data information screens, for say part
information? It is nice to have lots of detail to look at but only if it useful to user’s operation.
In the main window of the system, I have created menu items to access different functions.
When using this form, in order to access the menu bar, user has to press “Alt” on keyboard
and press “Enter” to access. As well as to move left or right menu items user can press left
and right arrow keys on keyboard. Therefore, here is no point to use the mouse.
9. Proofs of Transactions
The Zeus Inventory Control System is an automated system. User is enabling to enter data,
update data, check current values and delete data. Somehow if there any function to make
evidence of the daily transactions it means the system is really user friendly because if user
had a mistake the reports or documents can be preview as evidence. Therefore, I created a
print function for report generating.
Are the menus organized methodically in a way that relates to the way you do things, e.g.
from purchase to sales and orders in process?
Nobody is perfect, and people are bound to make mistakes when using your software. How
well I can handle those mistakes will be an important indicator of your software’s quality. Do
not punish the user and build a forgiving interface to remedy issues that come up.
In the Purchase Product form, user can add the details of purchased products to the system.
The Product ID will automatically generate to the text field.
Figure 12.63: Data Inserted Successfully Dialog Box for Purchase Product
If user added wrong product details to the system by mistakenly from the Purchase Product
form, those mistakes can be correct from this Update Purchase Product Details form. To
arrange those mistakes user can select the relevant Product ID from the Drop down List.
.
Figure 12.65: Update Purchase Details
.
Figure 12.66: Details from Product Table
Then user can input the correct details and click on Update button. Then updated successfully
message will display.
Figure 12.67: Update Purchase Details Figure 12.68: Updated Successfully Dialog
Box for Update Purchase details
If user wants to remove the products, which unwanted can be deleted by using Delete Product
form. As same as above, user can select the relevant Product ID I order to delete and data will
display on the fields.
When receiving the product invoice from the hospital the user is responsible to sell the
products to the hospital. It means the current inventory will reduce.
According to the invoice from hospital user should insert the data to the form. The current
data automatically generate to the form and user can select the product ID then automatically
Product Name and Price will display. However, user has to input the quantity according to
the invoice but no need to input Total Price.
In order to check the Current Inventory of the system user can select the Current Inventory
from the menu bar of main form. This is an important function of an Inventory System.
Therefore, there is function to print the details then user can make the proofs of the current
inventory. Click on the Print button on the form. Then the details are display on the Print
Preview as below.
The user who is operate the Zeus Inventory Control System, is responsible for checking the
products which are out of stock from the inventory. Using this form user is able to view only
the products, which are out of stock.
To develop the Zeus Inventory Control System I chased the software as Visual Studio 2012
Ultimate and system requirements are shown below:
Supported architectures:
1) 32-bit (x86)
2) 64-bit (x64)
Hardware requirements:
For the first time we need to download software, when we click on the "OK" button as in the
below screen.
Figure 12.95: Browse Destination File Figure 12.96: Browse Destination File 2
Figure 12.97: Browse Destination File 3 Figure 12.98: Browse Destination File 4
Here you can rename the application. If you want to create short cut key on desktop you can
click on check box items.
If your application requires you to change something in the registry then you can use this
option:
The setup wizard for Zeus Inventory System will preview as following.
Here you have to fill the customer information as following for your system.
If you click on Install, the wizard is ready to begin the installation. 12.
As same as installation if you want to uninstall the Zeus Inventory System you can follow
these steps.
After releasing, the earlier version of Zeus Inventory Control System and user want to
upgrade the existing system without manually installing the earlier version and then installing
the current version, use the Upgrade Path.
Firstly, I have described the characteristics and principles of Object Oriented Programming
providedexample coding on how these characteristics couldapply in the required system.
Next, I have been identifiedthe objects (Classes) according to the scenario and listed all
theirattributes and methods.After identifying the objects, I have drawnthe use case diagram,
class diagram and sequence diagram for Zeus Pvt Limited to create better and effective
system solution for anInventory System.
Next, I have proposed and designedan effective Inventory system for Zeus Pvt Limited
considering all functions should perform through the system by aid of the Object Oriented
solution using C#.Net. Then, I have provided the evidences of use of association,
aggregation, composition and generalization relationships from Inventory System of Zeus Pvt
Limited. Next, I explained how the concept of polymorphism used in Inventory System and
about control structures and how those effectively have used in Inventory System.
To design this system, I have chosen C#.Net as Object Oriented Programming and discussed
the advantages of using Integrated Development Environment when developing the system.
Next, I prepared a test plan for Inventory System of Zeus Pvt Limited, and next, I critically
reviewed and testedInventory System according to the plan. A well as, I have analyzedthe
actual test results against the expected results and there are no any inconsistencies in
Inventory System.
After completing the Test Plan, I gathered the independent feedbacks from different
interviewing some questionsas a feedback collecting methodand I was able to get more
recommendations and improvements about Inventory System.
Next, I explained and proved the user friendliness of Inventory System for Zeus Pvt Limited.
Finally, I prepareda technical documentation for the supporting and maintenance of the
Inventory System including an installation and maintenance guide.
2. Benefits
I got many benefits while doing this assignment. I have learned how to gather data for an
assignment, how to get help from the lecturers, how to write relevant contents according to
the tasks.
In addition, I have got the knowledge how to create an Inventory Processing System and its
functions.
To do the assignment within the timeline, I had to plan whole assignment and had to allocate
durations for every work. Sometime allocated time were not enough to do some work, so I
had to spend more time to complete the assignment before the deadline.
I tried to protect the quality of my assignment when I was completing. Therefore, I had to
edit assignment contents, page layouts several times.
Modi, M. (2014). Top 10 OOPS Concepts In C# .NET With Examples. (Online) Available
at:http://www.aspneto.com/oop-concepts-object-oriented-programming-concepts-with-
examples.html [Accessed 29thFebruary2016]
Nirosh. (2015). Introduction to Object Oriented Programming Concepts (OOP) and More.
(Online) Available at:http://www.codeproject.com/Articles/22769/Introduction-to-Object-
Oriented-Programming-Concep [Accessed 29thFebruary2016]
Lambert, S. (2012). Quick Tip: The OOP Principle of Encapsulation (Online) Available at:
http://gamedevelopment.tutsplus.com/tutorials/quick-tip-the-oop-principle-of-encapsulation--
gamedev-2187. [Accessed 10thMarch2016]
Lambert, S. (2012). Quick Tip: The OOP Principle of Encapsulation.(Online) Available at:
http://gamedevelopment.tutsplus.com/tutorials/quick-tip-the-oop-principle-of-encapsulation--
gamedev-2187. [Accessed 16thMarch2016]
Stack exchange inc. (2015). What is polymorphism, what is it for, and how is it used?(Online)
Available at: http://stackoverflow.com/questions/1031273/what-is-polymorphism-what-is-it-
for-and-how-is-it-used. [Accessed 16thMarch2016]