Friday, 19 October 2012

TrialExp Software Solutions - HRM System

Business Case:
TrialExp Software Solutions is a subsidiary of TrialExp Consulting Services. The primary purpose behind spinning off this company is to implement IT solutions for the customers of the Parent company.
It has been just a couple of weeks since the new company has been launched. The company is expecting to start work within a month and has embarked on an aggressive resource ramp up strategy.
   Being an independent company, TrialExp Software Solutions had to choose between implementing an ERP system provided by either an experienced vendor like SAP or opt for a lower cost option.
   Due to the high level of uncertainty regarding the business structure at present and a low pipeline forecast for the next few months, TrialExp Software Solutions decided to opt for an open source ERP system running on the cloud. TrialExp Software Solutions decided to focus on an effective HR system because:
i. Aggressive recruitment strategy
ii. A need to track current human resources
iii. No pipeline projects at the moment due to which setting up the Human Resources Infrastructure was given the highest priority.

    TrialExp evaluated several cloud offerings such as "Natural HR", "myERP" etc... but finally chose OrangeHRM because:
i. It is a specialized software for Human Resource Management 
ii. It is comprehensive
iii. It is flexible
when compared to the alternatives.

The link to the application is given below:

TrialExp



Wednesday, 19 September 2012


Here is the application I created for YNWA Sports Inc. This is an online Order to Cash system that will enable YNWA Sports Inc serve its customers better Online Form powered by You can access the complete application here:
ynwa-sports-inc 

Sunday, 9 September 2012

MIS - Assignment 1 - Zoho Application


CrestRider Computers:
CrestRider Computers is a dedicated retailer of AMZ laptops and has offices in Kolkata, Chennai and Bangalore. We now intend to serve our customers online via an online “Order to Cash” system. The purpose of this system is to facilitate our customers to order our products online without having to physically visit the store.
The scope of this project will include:
1.      Developing the Online Order to Cash portal with 6 tabs:
a.      A “New Customer Registration” tab for new customers
b.      A “View configurations” tab
c.       A “Place Order” tab so that customers can order the laptops they desire.
d.      A “Payment” tab.
e.      An “Order History” tab so that customers can view the orders they have already placed.
f.        An Inventory Manager tab
2.      The details of the individual tabs are as follows:
a.      “New Customer Registration” tab:
A customer should be able to register himself on this online application by entering the following details on the registration page:
i.                    First Name(mandatory)        -> Text field
ii.                  Middle Name                         -> Text field                                   
iii.                Last Name(mandatory)        -> Text field
iv.                 Gender                                    -> Radio Buttons
v.                   Date of Birth                           -> Calendar control popup
vi.                 Address                                    -> Multi line text box   
vii.               Mobile phone number          -> Number field (limit to 10 digits)  
viii.             Email address                          -> Email field
ix.                 Zoho id                                     -> Email field
                    The “New Customer Registration” tab should have a “Register” button which completes the registration process and a “Reset” button which resets the form.
               For each new customer registration a unique customer id has to be created. Since the application will be hosted on “Zoho” , it is assumed that each user will have a pre-existing user id. This piece of information must be highlighted on the registration form.
Once the customer clicks on the “Register button”, an email will be sent to the customer notifying him of his registration details as well as his/her unique customer id.
b.      “View configurations” tab:
This tab should contain the details of the 3 standard AMZ laptop configurations that we offer the customer.
The details are:
i.                    AMZ 101 -> 4GB RAM, 500 GB HD, Preloaded Windows 7 Home Basic OS   -> Price = Rs. 30000
ii.                  AMZ 201 -> 4GB RAM, 750 GB HD, Preloaded Windows 7 Home Basic OS, Microsoft Office 2010 Basic -> Price = Rs. 35000
iii.                AMZ 301 -> 6GB RAM, 1 TB HD, Preloaded Windows 7 Office OS, Microsoft Office 2010  -> Price = Rs. 45000



c.       “Place Order” tab:
This tab should allow the customer to select the desired laptop model(s) and the quantity of each of model. The price of each model should be displayed when the customer selects the particular model.
The total cost of the “Purchase Order” should also be displayed.
The “Place Order” tab must contain the following fields:
i.                    Laptop Order 1 Label for a dropdown listing the 3 models of laptops available.
ii.                  A “Price per unit” field below the “Laptop Order 1” dropdown list which states the unit cost of the selected model.
iii.                A “Quantity” field below the “”Price per unit” field
iv.                 A “Total cost of Laptop Order 1” field below the “Quantity field” which displays the total cost of the first order
v.                   Repeat steps i. To iv. For “Laptop Order 2” and “Laptop Order 3”
vi.                 Below the “Total cost of Laptop Order 3” field, there should a “Consolidated Cost” field which displays the grand total of the customer order.
vii.       The inventory count should be automatically tracked and updated,
viii.               Below the “Consolidated Cost” field, there should be a “customer id” field. The customer should enter his unique customer code in this field.
ix.             The customer should be able to place his order only if the customer id he enters matches the unique id assigned to him.
x.                 Once the order is placed, the customer should be directed to the payment screen.

d.      “Payment” tab:
i.                    The customer should have the option to pay by Cheque, Demand Draft or credit card. Use a dropdown/radio button as deemed appropriate.
ii.                  The customer has to key in the “Bank Name”, “Bank Account Number” and the “Cheque number” if he is paying by cheque.(all mandatory)
iii.                The customer has to key in the “Issuing Bank Branch Name”, “Target Bank Branch Name” and “Demand Draft Number” if he is paying by Demand Draft. (all mandatory)
iv.                 The customer needs to select the “Bank Name” a dropdown list -> HDFC or ICICI and enter his credit card number and the 3 digit number behind the credit card if he chooses to pay by credit card. (all mandatory)
v.                   Selecting at least one of the 3 modes of payment should be made mandatory.
vi.                 After the payment has been made, an invoice should be sent to the customer’s email id and the details of the “Purchase Order” should be visible in the Order History tab.
e.      “Order History” tab:
The customer should be able to view a summary of the list of orders placed by him and the current status -> whether the product is yet to be delivered or has been delivered successfully.

f.        “Inventory Manager” tab:
i.                    This tab should be visible only to the system administrator.
ii.                  The system administrator should have the option of adding new laptop model configurations in future, add or remove existing laptop models.
iii.                The system should be scalable i.e. in future, if we add more than 3 models to our inventory, the relevant details should reflect in all the related tabs.
iv.                 The system administrator should be able to alter the prices of the laptop models as well as update the laptop inventory count for each model.

3.      Documentation:
Kindly furnish all the necessary documentation along with the project.

4.      Timeline:
15th September 2012.

Saturday, 4 August 2012

Computer Architecture? Whats that?


Here is an imaginary conversation with a friend of mine, who happens to be a student of architecture.

Josh: Hey Vineeth! I have just completed my first “floor plan”.

Me: Wow!! Let me take a look. It looks like Greek and Latin to me apart from a few boxes which seem to depict rooms. Luckily for me, computer architecture diagrams are not drawn to that level of detail.

Josh: Computer Architecture? What on earth do you mean?

Me: Well, it might sound a bit strange, but then, computer architecture  relates to the manner in which a computer is organized and designed to work.
Buildings are designed in such a way that each room serves a specific purpose. Take the bedroom, kitchen, bathroom, dining room etc.  for instance. In the same way, a computer has various components and can perform various tasks like playing a movie, users can create/edit documents, browse the internet, upload and download data from the internet etc.
For a computer to function the way it does, it must have a brain that coordinates various functional components and processes data. This is done by the CPU. But below all of this, we have a computer floor plan which shows us how the core of the computer is organized.

Josh: Hmm a floor plan? Sounds interesting! Tell me more.

Me: Okay. Assume that your computer is like a house which you might build in the future. A house will be incomplete without a bedroom, a labyrinth, kitchen, dining room, drawing etc, each of which serve a unique purpose but all of which are required together for a building to be considered as a house. Any of these rooms might serve a purpose on their own but individually they will not be very useful.
For a computer to function as it does, it needs hardware, an operating system and software. The computer hardware is comprised of visible physical components such as the cpu box, monitor, mouse etc.. as well as an operating system such as Windows 7. The hardware and operating system  go hand in hand and a computer would be useless unless both of these are present. Examples for software could be the MS office suite, the internet browser, a computer game etc..
A software application is basically a program that performs a specific/varied set of tasks depending on the requirement. A computer game is an example of such an application.
All the images, videos and text displayed in the game are essentially data stored on your computer which is retrieved when necessary by the software application, in this case, the computer game or by the end user if he is working on a document.
Josh:I already know most of this. What is so special about computer architecture? The real world building architecture which I study is the real deal. It is challenging and not as simple as the computer architecture you just spoke about.

Me: I am coming to that. Computer architecture refers to the pictorial representation of the manner in which the hardware and software are organized and linked to each other.
   In the above example of the computer game your application and data are separate entities, yet they are linked together in the game. How does this interaction of data and application take place? This is what the computer architecture indicates.
There are several types of computer architecture, each of which can be used to meet the objective of a specific requirement. What I have explained to you via the computer game example is the “Single Tier Architecture”. This type of architecture is used for personal computers which do not have to perform a lot of processing and data transfer.

Josh: Single tier architecture? It sounds queer. Do you guys have 2 tier, 3 tier, 4 tier, 5 tiers architectures for computers?

Me: Actually we do. Let me give you a brief overview on some of the different types of architecture that computers use.
A  single tier architecture works well when the computer serves a single user. However, when multiple users need to work on a single document at the same time, it does not make sense to have multiple copies of the same document on individual machines. It becomes very difficult to track all the changes and combine these documents. Thus we need an alternative which allows multiple users to work on the same document at the same time.
This led to the concept of the "Two Tier Architecture". Here, the data to be processed i.e. the document is placed on a single system called the server while all the users have their own individual systems from which they can access and modify the same document. Only the data is placed on the server machine while the software application is installed on each of the individual user machines. All the image processing is performed on the individual user machines too. Thus the workload is distributed across multiple computers rather than just one computer in the case of the single tier architecture.  
This greatly reduces the processing time of the computer and results in a faster response.




Josh: This sounds interesting, but how can multiple computers be made to work together and exchange data in the two tier architecture?

Me: I was coming to that. The various computers are connected together by a network which can be imagined as a group of wires connecting the various systems though this might not always be the case. The network could be a local area network or maybe even the internet.

For organizations, a three tier or a multiple tier architecture would be ideal since typically, these organizations would have to cater to hundreds or thousands of employees and a two tier architecture would not be ideal for such purposes due to a high bandwidth requirement and since software updates/version control would be difficult to track over hundreds of users distributed over multiple geographies.

The three tier architecture has one additional level of segregation in which, in addition to the data server and individual client machines, we have a server machine which controls the functionality of the applications used by the end users and which processes all the data. This server called the application server is placed between the data server and the client machines. The data server holds only the data while the end user client systems handle the user interface for each server.
Thus the distance of data traffic is reduced with an increase in processing speed and it becomes much easier to maintain software version control since any major software updates can be made just once on the application server system.



The 3 tier architecture requires that each end user system should have a client version of the software installed. However, if the internet is used as the network, we will just need to use a web browser, provided that a web server is included between the Application server and the client machines. This web server functions as a translator between the application server and the client machines. This is the multiple tier architecture. 

Josh:  Interesting. I just have one last doubt. The internet is open to the public. How can organizations rely on the internet as a part of the computer architecture?

Me: The internet may seem to be an insecure network since anyone can try to access protected company data, however, we have a software called a firewall which functions like an internet watchman by  preventing external users and hackers from accessing the data, provided ,the firewalls are configured right.

Josh: Cool. I was shocked when I heard that computers have architectures similar to buildings, but now, it starts to make sense. Oops, it is time for my next class. Bye.

Me: Bye